Shell File Manager
2024-08-09 12:24:39 +0300 Aki Tuomi <[email protected]> (d492236fa0)
configure: Update version
M configure.ac
2024-08-08 15:13:19 +0300 Aki Tuomi <[email protected]> (9a69ceda23)
NEWS: Add news for 2.3.21.1
M NEWS
2024-04-24 10:45:46 +0000 Marco Bettini <[email protected]> (ce88c33abc)
lib-mail: message-parser - Limit headers total count to 50MB by default
(including top headers and all mime-sections headers)
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
2024-04-12 15:06:43 +0000 Marco Bettini <[email protected]> (f020e139c5)
lib-mail: message-header-parser - Limit header block to 10MB by default
M src/lib-mail/message-header-parser.c
M src/lib-mail/message-header-parser.h
M src/lib-mail/test-message-header-parser.c
2024-02-09 00:57:12 +0200 Timo Sirainen <[email protected]> (1481c04f02)
lib-mail, lib-imap: Optimize parsing large number of address headers
Every header was appended to a linked list by walking through the whole
list, causing excessive CPU usage when the list became large enough. Fixed
by changing struct message_part_envelope to use struct message_address_list,
which stores also linked list tail pointers. This allows quickly appending
to the end of the linked list.
M src/lib-imap/imap-envelope.c
M src/lib-mail/message-part-data.c
M src/lib-mail/message-part-data.h
M src/lib-storage/index/index-search-mime.c
2024-01-30 22:17:38 +0200 Timo Sirainen <[email protected]> (da61d20311)
lib-mail: Add message_address_parse_full() and struct message_address_list
M src/lib-mail/message-address.c
M src/lib-mail/message-address.h
M src/lib-mail/test-message-address.c
2024-02-04 00:26:57 +0200 Timo Sirainen <[email protected]> (a1c9b04094)
lib-mail: Change message_address to be doubly linked list
M src/lib-imap/imap-envelope.c
M src/lib-mail/message-address.c
M src/lib-mail/message-address.h
M src/lib-mail/test-message-address.c
2024-01-30 22:42:50 +0200 Timo Sirainen <[email protected]> (0bae091859)
lib-mail: test-imap-envelope - Use test_assert_idx() where possible
M src/lib-imap/test-imap-envelope.c
2024-02-09 00:33:00 +0200 Timo Sirainen <[email protected]> (cee08202c7)
lib: Add DLLIST2_JOIN()
M src/lib/llist.h
M src/lib/test-llist.c
2024-02-09 00:32:39 +0200 Timo Sirainen <[email protected]> (8e4c42dbb3)
lib: test-llist - Fix dllist2 test name
M src/lib/test-llist.c
2024-03-26 14:13:42 +0200 Aki Tuomi <[email protected]> (57ee018642)
auth: mech-oauth2 - Use the iterated passdb in oauth2_find_oidc_url()
Fixes a crash when oauth2 passdb is not first. Broken in
59647f483c49c9e54c43cade168bf10f44a49292
M src/auth/mech-oauth2.c
2024-03-13 13:08:18 +0200 Timo Sirainen <[email protected]> (b6f4074961)
login-common: Add client_vfuncs.iostream_change_pre/post()
M src/login-common/client-common.c
M src/login-common/client-common.h
2023-10-06 15:59:32 +0300 Timo Sirainen <[email protected]> (955bff2155)
lib: Fix sha2 functions to not produce wrong results with >500MB input
M src/lib/sha2.c
M src/lib/sha2.h
M src/lib/test-hash-method.c
2023-10-03 13:11:49 +0000 Marco Bettini <[email protected]> (ac2bc5da92)
oauth: Accept multiple entries in aud field
M src/auth/db-oauth2.c
M src/lib-oauth2/oauth2-jwt.c
2023-08-28 15:27:09 +0000 Marco Bettini <[email protected]> (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 <[email protected]> (aaaa810590)
NEWS: Update NEWS with changes
M NEWS
2023-09-06 08:34:51 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (34f597596e)
lib-sql: Disconnect SQL connection on error
M src/lib-sql/driver-mysql.c
2023-06-22 10:48:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (02bf7bd126)
configure: Update version
M configure.ac
2023-08-30 15:45:45 +0300 Aki Tuomi <[email protected]> (c658ae5288)
NEWS: Add news for 2.3.21
M NEWS
2023-06-15 13:32:11 +0200 Karl Fleischmann <[email protected]> (daff6f22c1)
stats: Allow empty event exporters when registering metrics
M src/stats/stats-metrics.c
2023-08-29 10:13:34 +0000 Marco Bettini <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (77e2d55092)
auth: db-oauth2 - Store request username
M src/auth/db-oauth2.c
2023-05-15 12:41:39 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (d8fdd193f0)
auth: Pass along final response with failure
M src/auth/auth-request-handler.c
2023-05-15 12:28:53 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (dbb801a8f0)
login-common: Ignore resp when present
M src/login-common/client-common-auth.c
2023-05-03 14:35:54 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (f2e50d5676)
lib-storage: Whitespace cleanup.
M src/lib-storage/list/mailbox-list-iter.c
2023-05-09 07:22:15 +0000 Marco Bettini <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (08528c38e1)
stats: stats_metrics_add_dynamic() - Validate event exporter
M src/stats/stats-metrics.c
2023-03-23 15:37:28 +0000 Marco Bettini <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7b60aa05af)
man: Add doveadm fts check fast/full
M doc/man/doveadm-fts.1.in
2023-02-09 17:04:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc1d871a38)
welcome-plugin: Remove welcome_open_box()
M src/plugins/welcome/welcome-plugin.c
2023-01-09 15:06:54 +0100 Markus Valentin <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (90ac2496ca)
NEWS: Update news
M NEWS
2022-12-28 12:19:11 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1f127c8a59)
NEWS: Update news
M NEWS
2022-11-14 23:27:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (300b5c257b)
dsync: Add more debug logging
M src/doveadm/dsync/dsync-mailbox-import.c
2022-06-16 10:55:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e65b925b86)
indexer: Fix memory leak on indexer timeout
M src/indexer/indexer-client.c
2022-02-04 01:28:45 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (c5ef0ce4b7)
replication: aggregator - Free replicator_connection content
M src/replication/aggregator/replicator-connection.c
2022-02-01 14:22:31 +0100 Marco Bettini <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3a25648a1d)
lib: add timeval_to_usecs()
M src/lib/time-util.h
2021-12-20 16:17:54 +0200 sergey.kitov <[email protected]> (578c5f4b8c)
lib: Whitespace cleanup
M src/lib/lib-event.c
2022-01-14 08:07:50 +0100 Markus Valentin <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b6465700f)
configure: Update version to 2.3.devel
M configure.ac
2021-11-30 12:47:52 +0200 Aki Tuomi <[email protected]> (51bb266887)
NEWS: Add news for 2.3.17.1
M NEWS
2021-09-28 12:40:29 +0300 Aki Tuomi <[email protected]> (3330f8f631)
NEWS: Add news for 2.3.17
M NEWS
2022-01-10 19:46:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (06f838091b)
lmtp: Reformat lmtp-proxy.c.
M src/lmtp/lmtp-proxy.c
2021-12-07 01:23:13 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (40666e3bca)
lib: pool_alloconly_destroy() - Deduplicate code
M src/lib/mempool-alloconly.c
2021-11-23 14:58:39 +0100 Timo Sirainen <[email protected]> (7c9ee911cf)
lib: Split off pool_alloconly_free_block()
M src/lib/mempool-alloconly.c
2021-11-23 14:56:10 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a92209788d)
auth: mech-scram - Amend comments.
M src/auth/mech-scram.c
2020-11-10 00:11:11 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (a164ea3786)
auth: mech-scram - Properly size temporary string buffers.
M src/auth/mech-scram.c
2020-11-10 00:11:03 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (6678648cfb)
auth: Reformat mech-scram.c.
M src/auth/mech-scram.c
2021-08-20 17:43:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (34f2fdeed5)
man: Add missing parameters to doveadm-sync
M doc/man/doveadm-sync.1.in
2021-11-30 18:02:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d0c28bba8b)
replicator: Move replicator_brain_timeout(()
M src/replication/replicator/replicator-brain.c
2021-04-19 18:48:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (27e371af06)
dsync: Improve bad namespace configuration related error messages
M src/doveadm/doveadm-dsync.c
2021-11-24 16:01:08 +0100 Marco Bettini <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (476990fffa)
stats: Whitespace cleanup.
M src/stats/stats-metrics.c
2021-11-09 14:12:18 +0200 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f01aec1f96)
lib-master: Whitespace cleanup.
M src/lib-master/master-service.c
2021-11-09 14:37:07 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5afea22757)
configure: Fix version macros to work with devel version
M configure.ac
2021-11-08 15:24:30 +0200 Aki Tuomi <[email protected]> (318f566fc4)
SECURITY.md: Add initial security policy
A SECURITY.md
2021-10-26 16:59:29 +0300 Timo Sirainen <[email protected]> (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", "[email protected]", "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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d199125cc5)
configure: Add DOVECOT_VERSION_MICRO
M configure.ac
2021-11-02 16:06:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (392d79bbd2)
fts: Whitespace cleanup.
M src/plugins/fts/fts-storage.c
2021-10-14 17:33:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a26f6160b)
imap: Move client_add_input() content to calling functions
M src/imap/main.c
2021-10-08 15:57:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4614c27f68)
lib: istream-chain - Optimize snapshot handling
M src/lib/istream-chain.c
2021-10-05 01:32:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7f752d77be)
lib: i_stream_try_alloc() - Add sanity check asserts
M src/lib/istream.c
2021-10-06 17:37:40 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f08703dae8)
stats: Add login/stats-writer socket
M src/stats/stats-settings.c
2021-10-04 02:58:15 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (47c7166b91)
lmtp: lmtp-proxy - Forward session ID towards backend.
M src/lmtp/lmtp-proxy.c
2021-10-02 00:21:06 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (44819f897c)
lib: connection - Drop useless newlines.
M src/lib/connection.c
2019-02-21 18:50:10 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b41e7198ad)
lib-test: fuzzer - Provide names for fuzzer streams.
M src/lib-test/fuzzer.c
2021-04-18 12:33:01 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5de8349891)
lib: macros.h - Fix #endif position
M src/lib/macros.h
2021-09-24 16:36:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4cd6999dd5)
driver-pgsql: Fix error leak
M src/lib-sql/driver-pgsql.c
2021-10-04 12:37:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a1729a72e8)
driver-cassandra: Fix prepared statement pool leak
M src/lib-sql/driver-cassandra.c
2021-09-30 18:42:08 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (231105a825)
stats: Improve error message for doveadm stats add.
M src/stats/client-reader.c
2021-09-29 14:57:34 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a90663e588)
driver-sqlpool: Implement sql_wait()
M src/lib-sql/driver-sqlpool.c
2021-09-27 11:59:09 +0100 Siavash Tavakoli <[email protected]> (8146312f9c)
driver-cassandra: Add wait() implementation
M src/lib-sql/driver-cassandra.c
2021-09-27 11:58:21 +0100 Siavash Tavakoli <[email protected]> (8981a97398)
driver-pgsql: Add wait() implementation
M src/lib-sql/driver-pgsql.c
2021-09-27 11:48:34 +0100 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e47c4a3ff7)
indexer: Abort requests if indexer-worker disconnects unexpectedly
M src/indexer/worker-connection.c
2021-04-19 21:43:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ebd660c594)
lmtp: Add reason_code=lmtp:cmd_<name>
M src/lmtp/main.c
2021-03-17 18:44:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0a57bd650e)
stats: Support group_by for string lists
M src/stats/stats-metrics.c
2021-01-27 13:10:07 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (775ddf19ed)
stats: Split off stats_metric_get_sub_metric()
M src/stats/stats-metrics.c
2021-03-19 13:05:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1411aaf4a4)
lib: Split off event_import_arg()
M src/lib/lib-event.c
2021-03-16 19:19:43 +0200 Timo Sirainen <[email protected]> (bb602382b9)
lib: Split off event_import_field()
M src/lib/lib-event.c
2021-09-24 18:21:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (26284cf6f7)
indexer-worker: Fix event leak on error handling
M src/indexer/master-connection.c
2021-07-13 04:15:14 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (90400db2d6)
lib-storage: Reformat mail-duplicate.c.
M src/lib-storage/mail-duplicate.c
2021-08-07 15:43:35 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (18e1eaf61e)
config: Add data stack frame
M src/config/config-request.c
2021-09-21 18:26:53 +0300 Timo Sirainen <[email protected]> (9055758361)
doveconf: Avoid unnecessary data stack use when writing output
M src/config/doveconf.c
2021-09-21 18:21:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ba465f3a04)
lib: Optimize str_tabescape()
M src/lib/strescape.c
2021-09-17 16:10:12 +0300 Timo Sirainen <[email protected]> (bcfc14fae3)
lib: Optimize p_strsplit_tabescaped()
M src/lib/strescape.c
2021-09-17 16:06:17 +0300 Timo Sirainen <[email protected]> (5615fa62db)
lib: Optimize t_strsplit_tabescaped()
M src/lib/strescape.c
2021-09-17 16:04:00 +0300 Timo Sirainen <[email protected]> (09b2f400d2)
lib: Optimize t_strsplit_tabescaped_inplace()
M src/lib/strescape.c
2021-09-17 16:02:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (6345e8f021)
lib: Optimize t_str_tabunescape()
M src/lib/strescape.c
2021-03-12 01:38:13 +0200 Timo Sirainen <[email protected]> (cd63b1eeea)
lib: Optimize str_tabunescape()
M src/lib/strescape.c
2021-03-12 01:27:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7371c1033e)
lib: Optimize buffer_append() and buffer_append_c()
M src/lib/buffer.c
2021-02-11 02:44:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (53adac82ea)
lib: buffer_append_zero() - Avoid unnecessary memset()
M src/lib/buffer.c
2021-02-11 02:21:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (4a2d3e3b30)
lib: buffer - Replace casts with container_of()
M src/lib/buffer.c
2021-08-12 10:02:55 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4ee8601abb)
NEWS: Add news for 2.3.16
M NEWS
2021-09-10 15:52:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (53eeb81a6d)
lib-dict: dict-lua - Add unset()
M src/lib-dict/dict-txn-lua.c
2021-09-07 17:00:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e7a3c48390)
lib: Remove connect_finished_time field from connection event.
M src/lib/connection.c
2021-09-10 19:00:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (4826b08c47)
doveadm: Flush data to server client asynchronously
M src/doveadm/doveadm-print-server.c
2021-07-13 13:32:09 +0200 Markus Valentin <[email protected]> (d89e8a5c3c)
virtual: Add storage flag for secondary index
M src/plugins/virtual/virtual-storage.c
2021-07-13 13:28:43 +0200 Markus Valentin <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a75724a2e)
lib-storage: Populate mailboxes_fs if needed
M src/lib-storage/mail-storage.c
2021-08-20 14:30:46 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (50f36bb1d2)
stats: Expose stats_metric_setting_parser_info
M src/stats/stats-settings.h
2021-04-20 17:06:26 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b997fc957e)
doveadm batch: Fix memory leak
M src/doveadm/doveadm-mail-batch.c
2021-08-17 11:06:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8939c30ce9)
master: Fix unfinished "time moved backwards" comment
M src/master/main.c
2021-08-04 19:54:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0f55dcb0bd)
lib-smtp: Reformat smtp-server.h.
M src/lib-smtp/smtp-server.h
2021-06-18 16:31:08 +0200 Stephan Bosch <[email protected]> (85669603b8)
submission: Reformat submission-client.h.
M src/submission/submission-client.h
2021-06-18 16:30:52 +0200 Stephan Bosch <[email protected]> (cf73c66df0)
submission: Reformat submission-client.c.
M src/submission/submission-client.c
2021-06-24 00:19:16 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (567d853885)
doveadm: Remove dead assignment
M src/doveadm/client-connection-tcp.c
2021-04-22 11:09:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (058f76650a)
doveadm proxy: Convert to v2 commands
M src/doveadm/doveadm-proxy.c
2021-06-10 01:03:46 +0300 Timo Sirainen <[email protected]> (871adaab1f)
doveadm oldstats: Convert to v2 commands
M src/doveadm/doveadm-oldstats.c
2021-06-10 00:59:53 +0300 Timo Sirainen <[email protected]> (3aef610846)
doveadm stop/reload: Convert to v2 commands
M src/doveadm/doveadm-master.c
2021-06-10 00:58:45 +0300 Timo Sirainen <[email protected]> (59087d1dad)
doveadm fs: Convert to v2 commands
M src/doveadm/doveadm-fs.c
2021-06-10 00:45:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (af1d3d37f1)
doveadm auth: Convert to v2 commands
M src/doveadm/doveadm-auth.c
2021-06-10 00:18:17 +0300 Timo Sirainen <[email protected]> (94734b9359)
doveadm instance: Convert to v2 commands
M src/doveadm/doveadm-instance.c
2021-06-10 00:05:28 +0300 Timo Sirainen <[email protected]> (fc0b20f702)
doveadm log: Convert to v2 commands
M src/doveadm/doveadm-log.c
2021-06-10 00:01:00 +0300 Timo Sirainen <[email protected]> (f8290ea73a)
doveadm replicator: Convert to v2 commands
M src/doveadm/doveadm-replicator.c
2021-06-09 23:48:10 +0300 Timo Sirainen <[email protected]> (f1524717c6)
doveadm config: Convert to v2 command
M src/doveadm/doveadm.c
2021-06-09 23:45:51 +0300 Timo Sirainen <[email protected]> (476dc132cb)
doveadm exec: Convert to v2 command
M src/doveadm/doveadm.c
2021-06-10 14:23:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b086c1a88b)
doveadm: Split off doveadm_cmd_process_options()
M src/doveadm/doveadm-cmd.c
2021-06-09 23:37:19 +0300 Timo Sirainen <[email protected]> (087ec4374b)
doveadm: Reformat doveadm-cmd.c
M src/doveadm/doveadm-cmd.c
2021-06-09 23:21:27 +0300 Timo Sirainen <[email protected]> (9f305a24c5)
doveadm help: Convert to v2 command
M src/doveadm/doveadm.c
2021-06-09 23:13:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (580b696a1f)
doveadm: Code cleanup - Add doveadm_cmdline_commands_ver2[]
M src/doveadm/doveadm.c
2021-06-10 16:56:06 +0300 Timo Sirainen <[email protected]> (3d52021b2d)
doveadm: Support building ARRAY type mail command parameters
M src/doveadm/doveadm-mail.c
2021-06-10 16:55:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (ce9ac4a9cc)
doveadm: Split off doveadm_cmd_parse_arg()
M src/doveadm/doveadm-mail.c
2020-12-03 19:20:32 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/plugins/acl/acl-lookup-dict.c
2021-06-02 00:40:19 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (88636cd5a1)
dict-redis: Remove unused redis_dict.username
M src/lib-dict/dict-redis.c
2021-05-24 11:57:18 +0100 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (42052d71f3)
dict: Initialize dict_op_settings for dict operations
M src/dict/dict-commands.c
2021-06-03 18:33:21 +0100 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f0256e3d60)
NEWS: Updates for v2.3.15
M NEWS
2021-05-24 14:03:57 +0300 Aki Tuomi <[email protected]> (7ad5753566)
NEWS: Add news for 2.3.14.1
M NEWS
2021-05-22 00:16:38 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b716828c4)
lib-oauth2: Improve identifier escaping function
M src/lib-oauth2/oauth2-jwt.c
2021-04-10 17:54:45 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8609b88e86)
plugins/fts: Use event logging
M src/plugins/fts/fts-indexer.c
2021-05-26 13:55:52 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (1510536887)
plugins/fts: fts-indexer - Use connection structures
M src/plugins/fts/fts-indexer.c
2021-05-06 14:55:55 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (0273caf1b9)
indexer: indexer-client - Use connection structure
M src/indexer/indexer-client.c
2021-05-06 12:08:39 +0300 Aki Tuomi <[email protected]> (0dfa2531ae)
indexer: indexer-worker - Use event logging
M src/indexer/master-connection.c
2021-05-06 12:03:16 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (2f5494df0a)
indexer: indexer-worker: Use connection structure
M src/indexer/master-connection.c
2021-05-06 11:21:43 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (57317458ce)
indexer: worker-pool - Use connection_list
M src/indexer/worker-pool.c
2021-05-06 10:49:23 +0300 Aki Tuomi <[email protected]> (61f8942012)
indexer: worker-pool - Remove unused last_use
M src/indexer/worker-pool.c
2021-05-06 10:29:23 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (9aadd7fa03)
Reformat worker-connection.c
M src/indexer/worker-connection.c
2021-05-25 10:38:46 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2dcb967ec1)
imap: Split client_add_input_capability() into two functions
M src/imap/main.c
2021-05-20 13:14:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (15773af5b3)
lib-lua: dlua-wrapper - Constify extra functions
M src/lib-lua/dlua-wrapper.h
2021-05-11 16:53:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e788a21940)
lib: array.h - Update array_foreach*() comments
M src/lib/array.h
2021-02-10 19:49:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (012a453862)
lib: Split off event_has_category_nonrecursive()
M src/lib/event-filter.c
2021-03-11 18:55:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (226d78ac75)
master: Notify systemd after we are really stopped
M src/master/main.c
2021-04-26 08:39:50 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (599271fcc1)
Makefile.am: Make systemd service file generation more readable
M Makefile.am
2021-04-26 09:38:44 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (641cfdb62a)
NEWS: Mention XZ/LZMA removal.
M NEWS
2021-03-02 10:55:53 +0200 Aki Tuomi <[email protected]> (b2f9c2f538)
NEWS: Update news for 2.3.14
M NEWS
2021-03-30 21:12:41 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (829b04676c)
lib: Add comment to CALLBACK_TYPECHECK() macro
M src/lib/macros.h
2021-03-31 03:08:26 +0100 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (21bb5d5224)
doveadm dict: Handle missing parameters without crashing
M src/doveadm/doveadm-dict.c
2021-04-01 12:20:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (250a7ea9db)
lib-compression: Add compression level range to handlers
M src/lib-compression/compression.h
2021-03-30 18:54:42 +0300 Aki Tuomi <[email protected]> (fa63cbcd70)
lib-compression: Use designated initializers for compression handlers
M src/lib-compression/compression.c
2021-04-01 09:51:09 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ca86ef368a)
lib: ioloop - Remove unused timer_is_larger() macro
M src/lib/ioloop.c
2021-03-01 12:56:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9c58ce8e50)
man: doveconf - Fix -P/ typo to just -P
M doc/man/doveconf.1.in
2021-03-23 12:31:46 +0200 Timo Sirainen <[email protected]> (c4d7aea669)
man: doveconf - Document -s parameter
M doc/man/doveconf.1.in
2021-01-27 20:26:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (afbc5c30e4)
auth: db-sql - Fill sql_settings.event_parent
M src/auth/db-sql.c
2021-02-04 01:16:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bcf502353d)
mail-lua: Use dlua_pcall
M src/plugins/mail-lua/mail-lua-plugin.c
2021-02-05 15:13:26 +0200 Aki Tuomi <[email protected]> (1265f55524)
auth: db-lua - Use dlua_pcall
M src/auth/db-lua.c
2021-02-16 09:21:58 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2c4ebe2cc7)
m4: want_lua - Check for lua_{resume,yieldk}
M m4/want_lua.m4
2021-02-24 14:53:59 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (df7fec2087)
doveconf: Add -s parameter to show also hidden settings
M src/config/doveconf.c
2020-04-15 17:50:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e0d7153999)
submission: Remove dead assignment
M src/submission/submission-client.c
2020-01-15 20:22:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (66fb224ce9)
lib: cpu-limit - Update comments related to nesting
M src/lib/cpu-limit.h
2021-03-15 15:42:56 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5cd4850716)
auth: authdb_event() - Use const pointer
M src/auth/auth-request.h
2019-10-31 16:14:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5fb3a030d7)
pop3: Improve "inactivity" disconnection reason log messages
M src/pop3/pop3-client.c
2021-03-01 16:46:16 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (28ac5a03c9)
imap: Improve "inactivity" disconnection reason log messages
M src/imap/imap-client.c
2021-02-03 21:13:13 +0200 Timo Sirainen <[email protected]> (e81273bac4)
imap: Improve client disconnection log line in APPEND
M src/imap/cmd-append.c
2021-02-03 17:47:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (453fd9e00e)
submission: Move client_connection_disconnect|free()
M src/submission/submission-client.c
2021-03-05 17:03:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (af819cd2f4)
m4: want_lua - Check for lua_isinteger
M m4/want_lua.m4
2021-03-04 15:35:37 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (f86a94015f)
m4: want_lua - Check for lua_tointegerx
M m4/want_lua.m4
2021-02-12 13:11:53 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (47097c6d27)
dict-sql: Add more comments
M src/lib-dict-backend/dict-sql.c
2021-02-26 16:05:47 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (576d40df2c)
Makefile: Always include dovecot.socket and dovecot.service
M Makefile.am
2021-02-23 12:52:29 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (6e811f1aec)
master: Improve systemd integration
M src/master/main.c
2021-02-22 15:29:48 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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/[email protected]/msg36890.html
M src/lib-master/master-service-haproxy.c
2021-02-16 16:40:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5510fd8854)
util: health-check - Consistent variable style
M src/util/health-check.sh
2021-01-23 11:07:36 +0100 Simon Rupf <[email protected]> (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 <[email protected]> (0650928f3e)
Makefile.am: fix typo and broken variable assignment
M Makefile.am
2020-05-24 22:05:42 +0200 Nis Martensen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4341feba66)
run-test-valgrind.supp: Add more suppressions
M run-test-valgrind.supp
2021-01-28 23:09:00 +0000 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b97fa96434)
login: login-proxy - Fix type conflict
M src/login-common/login-proxy.c
2021-02-04 08:54:59 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ac71cbbc9)
master: Fix reopening log files on SIGUSR1
M src/master/main.c
2021-01-19 19:11:20 +0100 Timo Sirainen <[email protected]> (34f7b38b50)
man: Clarify how doveadm log reopen works
M doc/man/doveadm-log.1.in
2021-01-28 16:45:45 +0100 Timo Sirainen <[email protected]> (260b49d7a3)
dovecot.service.in: Update documentation URL
M dovecot.service.in
2021-01-22 13:19:05 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4a1e9db35e)
lib-lua: Use dlua_register()
M src/lib-lua/test-lua.c
2020-12-17 16:41:21 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0a2428d9b1)
master: Split off service_log_drop_warning()
M src/master/service-monitor.c
2020-01-16 15:03:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2eec12bb32)
lib-storage: index-attribute: Fix typo
M src/lib-storage/index/index-attribute.c
2020-12-01 10:11:40 +0000 Siavash Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b95b0f34f7)
lib-lua: Warn if threading was detected
M src/lib-lua/dlua-script.c
2020-09-24 09:22:38 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (daea0c1078)
.gitignore: Ignore fuzzers
M .gitignore
2020-12-29 11:19:38 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (d1bfe5ff51)
AUTHORS: Add catena cyber
M AUTHORS
2020-03-20 16:00:21 +0100 Philippe Antoine <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (93ce6ac94e)
NEWS: Add news for 2.3.13
M NEWS
2020-09-11 10:57:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eea57c8683)
imap: Split off client_command_failed_early()
M src/imap/imap-client.c
2020-08-17 17:32:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (89179afd2e)
NEWS: Add NEWS for 2.3.11.3
M NEWS
2020-07-28 11:02:06 +0300 Aki Tuomi <[email protected]> (6d8f355105)
NEWS: Add NEWS for 2.3.11.2
M NEWS
2020-06-30 11:50:26 +0300 Aki Tuomi <[email protected]> (c837ead073)
NEWS: Add news for 2.3.11
M NEWS
2020-12-10 19:31:28 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1c6c689c1b)
lib: test-hmac - Add tests for hmac sha384
M src/lib/test-hmac.c
2020-12-02 14:53:55 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (c424c9054e)
lib: Fix whitespace in sha2.c
M src/lib/sha2.c
2020-11-24 10:20:05 -0500 Downtown Allday <[email protected]> (bcfd1071f3)
lib: test-hmac - Add HMAC 512 test
M src/lib/test-hmac.c
2020-12-03 16:33:06 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (512739f51f)
lib-oauth2: Remove unused include from oauth2.c.
M src/lib-oauth2/oauth2.c
2020-06-05 21:16:58 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (19dd872008)
lib-oauth2: Reformat oauth2-jwt.c.
M src/lib-oauth2/oauth2-jwt.c
2020-06-05 20:50:55 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (ec0ed35e30)
lib-oauth2: Reformat oauth2-request.c.
M src/lib-oauth2/oauth2-request.c
2020-06-05 20:49:34 +0200 Stephan Bosch <[email protected]> (e2e5d906dc)
lib-oauth2: Reformat oauth2.c.
M src/lib-oauth2/oauth2.c
2020-06-05 20:49:58 +0200 Stephan Bosch <[email protected]> (eba983d328)
lib-oauth2: Reformat oauth2-private.h.
M src/lib-oauth2/oauth2-private.h
2020-06-05 20:49:09 +0200 Stephan Bosch <[email protected]> (c599bd5cca)
lib-oauth2: Reformat oauth2.h.
M src/lib-oauth2/oauth2.h
2020-05-27 01:49:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aad5e2d5ec)
fs-compress: Use istream-decompress
M src/plugins/fs-compress/fs-compress.c
2020-10-01 15:59:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a13d1c6c23)
doveadm dict iter: Support printing multiple values
M src/doveadm/doveadm-dict.c
2020-11-17 14:41:31 +0200 Timo Sirainen <[email protected]> (bd6caf4f54)
dict-sql: Support dict_iterate_values()
M src/lib-dict-backend/dict-sql.c
2020-11-17 14:24:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4f4cb20134)
imap: Fix memory leak in get_expunges_fallback()
M src/imap/imap-fetch.c
2020-09-11 16:06:46 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0725865f9c)
.gitignore: Ignore coverage and temp files
M .gitignore
2020-11-05 12:08:38 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7c14211f94)
configure.ac: Finish removing vpopmail support
M configure.ac
2020-10-27 15:12:19 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (37af563917)
auth: Remove postmap socket type
M src/auth/main.c
2020-10-16 08:28:12 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3330dbe12b)
auth: db-oauth2 - Check active attribute by default
M src/auth/db-oauth2.c
2020-10-22 11:42:23 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (bec575990c)
auth: db-oauth2 - Allow active:false without username
M src/auth/db-oauth2.c
2020-10-13 17:34:12 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3698334932)
lib: macros - Add ENUM_NEGATE
Handles enumeration flag negation.
M src/lib/macros.h
2020-07-28 13:42:01 +0300 Aki Tuomi <[email protected]> (55c6d609aa)
configure: Add ubsan support
M m4/dovecot.m4
M src/lib/macros.h
2020-09-23 14:39:36 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7f1738a772)
doveadm-server: Fix STARTTLS support.
M src/doveadm/main.c
2020-10-13 22:56:25 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0f889378f5)
doveadm: Implement proxy kick -h <host>
M src/doveadm/doveadm-proxy.c
2020-09-15 15:51:26 +0300 sergey.kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a01eae05bb)
lib-http: Reformat http-client-host.c.
M src/lib-http/http-client-host.c
2020-09-28 15:26:27 -0400 ihsinme <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ffd2fdd8d8)
lib-compression: test-compression - Fix memory leak
M src/lib-compression/test-compression.c
2020-09-14 10:37:16 +0300 Timo Sirainen <[email protected]> (8655329e14)
lib: Add a comment about o_stream_create_buffer()
M src/lib/ostream.h
2020-09-14 10:28:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (16ab55427a)
lib: time-util - Use correct data types
M src/lib/time-util.c
2020-08-20 09:34:40 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5549aec84f)
lib: Add some helpers for random values
M src/lib/lib.h
2020-08-19 14:33:59 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (0589ced751)
lib: rand - Fix random number bounding
M src/lib/rand.c
2020-08-11 08:48:09 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f4f08ac194)
m4: Modernize want_cassandra.m4
M m4/want_cassandra.m4
2020-08-28 13:17:10 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (e1c3224a48)
lib-sql: Reformat driver-cassandra.c
M src/lib-sql/driver-cassandra.c
2020-09-09 12:08:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7a16c2e06d)
lib: test-istream-try - Fix test name
M src/lib/test-istream-try.c
2020-09-08 17:32:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d602274721)
man: doveadm-auth - List more -x fields
M doc/man/doveadm-auth.1.in
2020-08-06 14:13:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (29371f227e)
auth: Add more event fields
M src/auth/auth-request-fields.c
2020-08-04 17:34:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (68817df1ef)
auth: test-mech - Fix type mismatch
M src/auth/test-mech.c
2020-08-13 19:13:04 +0300 Aki Tuomi <[email protected]> (a744f28294)
auth: test-mech - Fix APOP challenge format
M src/auth/test-mech.c
2020-08-17 18:06:14 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fea1bacab9)
auth: mech-gssapi - GSSAPI can contain NUL.
M src/auth/mech-gssapi.c
2020-08-17 19:16:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ea836c9b0)
imap: Add imap_client_unhibernated event
M src/imap/imap-master-client.c
2020-08-17 14:48:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (36a255bb93)
imap: Add imap_client_hibernated event
M src/imap/imap-client-hibernate.c
2020-08-17 13:08:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (481e29adea)
imap-hibernate: Add imap_client.event
M src/imap-hibernate/imap-client.c
2020-08-17 13:07:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (716aab1678)
director: Add director_connection.event
M src/director/director-connection.c
2020-08-20 16:05:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (69ad3c902e)
auth: mech-rpa - Fail on zero len buffer
M src/auth/mech-rpa.c
2020-07-02 17:31:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e42b179cb8)
lib-fs: Free parent fs generically
M src/lib-fs/fs-api.c
2020-07-21 13:24:15 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a38eafa70)
lib: event-filter-lexer - Ignore unused parameters
M src/lib/event-filter-lexer.l
2020-05-19 22:08:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c703c8ff58)
pop3-login: Read command separately
Simplifies next commit
M src/pop3-login/client.c
2020-07-01 14:49:36 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (6e84cc3cd9)
auth: db-lua - Always set callback when iterating
M src/auth/db-lua.c
2020-06-26 18:31:11 +0300 Aki Tuomi <[email protected]> (c76a5af14a)
lib-lua: Register panic handler
M src/lib-lua/dlua-script.c
2020-06-26 18:27:18 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (21668efa7e)
auth: db-lua - Pop dovecot after registering
M src/auth/db-lua.c
2020-06-26 12:21:40 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9a6e303a95)
Ignore ylwrap
M .gitignore
2020-06-25 12:16:44 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a21b38c645)
lib: Better document event filter iteration behavior
M src/lib/event-filter.h
2020-05-29 09:53:53 +0300 Aki Tuomi <[email protected]> (225bbb2fa6)
auth: auth-worker-client - Fix whitespace formatting
M src/auth/auth-worker-client.c
2020-05-29 09:52:23 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (2937287a72)
dict: Delay uncorking ostream in iteration callback
M src/dict/dict-commands.c
2020-06-15 10:33:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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(©_ctx->saved_uids))
M src/imap/cmd-copy.c
2020-06-09 11:40:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a93c1dbfdf)
lib-oauth2: oauth2-jwt - Always uppercase algorithm
M src/lib-oauth2/oauth2-jwt.c
2020-05-27 15:41:22 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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ö <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (de757d9e27)
auth: db-oauth2 - Fix whitespace issue
M src/auth/db-oauth2.c
2020-05-26 21:22:51 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a077472e58)
lmpt: Reformat lmtp-proxy.c.
M src/lmtp/lmtp-proxy.c
2020-05-01 17:24:47 +0200 Stephan Bosch <[email protected]> (11b8a9512f)
lmtp: Reformat lmtp-commands.c.
M src/lmtp/lmtp-commands.c
2020-05-04 22:25:47 +0200 Stephan Bosch <[email protected]> (55b083e48b)
lmtp: Reformat lmtp-client.c.
M src/lmtp/lmtp-client.c
2020-05-02 02:34:34 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9a80c1fe66)
master: test-auth-master - Ignore SIGPIPE.
M src/master/test-auth-master.c
2020-04-13 18:30:54 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (581b5c0bc0)
master: test-auth-client - Ignore SIGPIPE.
M src/master/test-auth-client.c
2020-04-13 18:28:19 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b4ee4d3cdc)
master: Reformat test-auth-master.c.
M src/master/test-auth-master.c
2020-04-11 12:42:58 +0200 Stephan Bosch <[email protected]> (6e4d82c689)
master: Reformat test-auth-client.c.
M src/master/test-auth-client.c
2020-05-14 16:05:00 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a6af33a81)
login-proxy: proxy_fail_connect() - Add assert
M src/login-common/login-proxy.c
2020-05-03 17:02:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dffa391c77)
lib: Reformat lib-signals.h.
M src/lib/lib-signals.h
2020-04-12 16:40:13 +0200 Stephan Bosch <[email protected]> (0d5587e4d0)
lib: Reformat lib-signals.c.
M src/lib/lib-signals.c
2020-04-09 15:55:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (babf169197)
pop3: Split off pop3_search_build_seqset()
M src/pop3/pop3-commands.c
2020-05-11 18:50:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d262de1c61)
dict: Split off cmd_iterate_flush_finish()
M src/dict/dict-commands.c
2020-03-20 13:38:41 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (17fb6ecafb)
lib-smtp: Reformat smtp-syntax.c.
M src/lib-smtp/smtp-syntax.c
2020-03-24 20:45:21 +0100 Stephan Bosch <[email protected]> (5f620d6f3f)
lib-smtp: Reformat smtp-syntax.h.
M src/lib-smtp/smtp-syntax.h
2020-05-13 10:52:50 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f6bb82a222)
auth: test-mech - Rewrote test
M src/auth/test-mech.c
2020-05-08 13:12:39 +0300 Aki Tuomi <[email protected]> (5190cd7402)
auth: test-mock - Add credentials lookup support
M src/auth/test-mock.c
2020-05-08 13:08:19 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f9d4544577)
lda: Add protocol=lda to the root lda event
M src/lda/main.c
2020-04-26 21:42:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ceb42a75bf)
lda: main - Rename error variables in lda_do_deliver().
M src/lda/main.c
2020-04-15 20:47:11 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cde04d8b23)
submission: Use dns-client
M src/submission/main.c
2020-04-20 21:45:06 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fd02abf61b)
indexer-worker: Add PID to log prefix
M src/indexer/indexer-worker.c
2020-04-20 21:32:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a64d326b69)
login-common: Split off args_parse_user()
M src/login-common/sasl-server.c
2020-04-09 22:11:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (465a11c4f2)
stats: stats-service-openmetrics - Add histogram support.
M src/stats/stats-service-openmetrics.c
2019-11-22 19:55:48 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b185a0a6d0)
stats: Reformat stats-service-openmetrics.c.
M src/stats/stats-service-openmetrics.c
2020-03-12 11:48:28 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (521c615337)
stats: Export sub-metrics for openmetrics
M src/stats/stats-service-openmetrics.c
2020-02-17 13:19:16 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc1f5fa5b8)
lib-http: Reformat http-server.h.
M src/lib-http/http-server.h
2020-04-17 16:35:19 +0200 Stephan Bosch <[email protected]> (2d799bf3f5)
Add generated dovecot.service file to .gitignore.
M .gitignore
2020-04-16 15:59:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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ö <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (97cbe4b6d3)
lib-index: Add mail_cache_corrupted event
M src/lib-index/mail-cache.c
2020-04-03 00:18:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (888a5cffa5)
submission: Reformat submission-backend-relay.c.
M src/submission/submission-backend-relay.c
2020-04-08 07:55:31 +0000 michael.slusarz <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (48cc1a6394)
dict-client: Use event based logging
M src/lib-dict/dict-client.c
2018-06-11 16:35:25 +0300 Aki Tuomi <[email protected]> (f186fc0dcb)
dict-redis: Use event based logging
M src/lib-dict/dict-redis.c
2018-06-11 16:11:28 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (1523219834)
dict-file: Use event based logging
M src/lib-dict/dict-file.c
2018-06-11 15:25:54 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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ö <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b96c31c83d)
.gitignore: Fix bench-compression name
M .gitignore
2020-03-06 15:46:41 +0200 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (051641e0e8)
dict: Initialize verbose proctitle immediately.
M src/dict/main.c
2020-02-18 00:06:53 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (184fd917ac)
NEWS: Add news for 2.3.10
M NEWS
2020-02-13 12:54:45 +0200 Aki Tuomi <[email protected]> (267fea001f)
NEWS: Fix release date for 2.3.9.3
M NEWS
2020-03-04 20:39:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (440d9e3b0d)
m4: Fix typo
It's mitigation not migitation
M m4/dovecot.m4
2020-02-17 22:25:28 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c07eeb1a33)
example-config: Add oauth2 sample file
A doc/example-config/dovecot-oauth2.conf.ext
2020-02-10 14:56:34 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e90f906024)
lib: hash2 - Add string key helpers
M src/lib/hash2.h
2020-02-08 21:56:21 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (109612386c)
util: Cleanup whitespace in dovecot-sysreport
M src/util/dovecot-sysreport
2020-02-11 15:51:47 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8aa0d36822)
NEWS: Add news for 2.3.9.3
M NEWS
2020-01-15 22:10:08 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6ad3cf86af)
dovecot.m4: Bump serial
M m4/dovecot.m4
2020-01-17 09:42:07 +0200 Aki Tuomi <[email protected]> (090e162644)
dovecot.m4: Add --with-retpoline
Makes retpoline optional.
M m4/dovecot.m4
2020-01-17 09:35:44 +0200 Aki Tuomi <[email protected]> (cb598ea1a5)
dovecot.m4: Split retpoline check into parts
M m4/dovecot.m4
2020-02-04 12:32:59 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2add0b8589)
imap: move: Commit transactions every 1000 mails
M src/imap/cmd-copy.c
2020-02-04 17:20:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (7c5b1e1717)
imap: copy/move: Move copy_update_trashed() earlier
M src/imap/cmd-copy.c
2019-12-12 16:25:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (83093dfcfe)
acl: Improve attribute rights check error handling
M src/plugins/acl/acl-mailbox.c
2020-01-15 15:43:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (57f927fcf4)
submission-login: Reformat submission-proxy.c.
M src/submission-login/submission-proxy.c
2019-12-11 15:05:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a5165384a7)
m4: Always generate suppressions with valgrind
M m4/dovecot.m4
2019-12-20 12:31:17 +0200 Aki Tuomi <[email protected]> (ad2c50d54d)
stats: Output multi level sub-metrics correctly
M src/stats/client-reader.c
2019-12-09 19:57:32 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (408b92097d)
stats: Dump sub-metrics
M src/stats/client-reader.c
2019-12-01 18:24:01 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (616376b7f5)
stats: Move metric initialization to stats_metric_alloc()
M src/stats/stats-metrics.c
2019-12-04 14:00:37 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f9d3271ed6)
NEWS: Add news for 2.3.9.2
M NEWS
2019-12-13 13:35:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (62affa4ae1)
NEWS: Add news for 2.3.9.1
M NEWS
2019-11-28 21:23:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (d4468dbf35)
lib-smtp: Add smtp_address_case_equals().
M src/lib-smtp/smtp-address.h
2019-12-08 13:16:26 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (958c4e6748)
fs-posix: Use container_of()
M src/lib-fs/fs-posix.c
2019-12-04 12:30:26 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a61fb03c0a)
lib: hash-method: Adjust comment regarding helpers.
M src/lib/hash-method.h
2019-11-26 15:30:47 +0100 Markus Valentin <[email protected]> (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 <[email protected]> (4c232dc644)
README.md: Add RFC8457.
M README.md
2018-09-08 21:41:52 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (e9e27fe42f)
NEWS: Add news for 2.3.9
M NEWS
2019-11-29 12:06:37 +0200 Aki Tuomi <[email protected]> (f587a01eec)
NEWS: Sync missing news v2.3.7-v2.3.8
M NEWS
2019-10-31 10:49:52 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (649d56fa1a)
lib: connection: Add "dest_host" event field if given
M src/lib/connection.c
2019-11-22 16:59:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b7efa4a9f)
lmtp: lmtp-commands - Simplify lmtp_local_add_headers().
M src/lmtp/lmtp-local.c
2019-11-13 01:03:26 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (36ba6a8ddb)
gitignore: Add file and directories generated by clion and kde.
M .gitignore
2019-10-24 14:08:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (16be7d7e60)
doveadm: Fix doveadm_proxy_port alias
M src/doveadm/doveadm-settings.c
2019-11-13 11:49:23 +0200 Sina Tavakoli <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0b429ca721)
imap: client_args_finished() - support appending more args
M src/imap/imap-client.c
2019-11-07 14:26:40 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e8f75183f6)
lib-smtp: Reformat smtp-params.h.
M src/lib-smtp/smtp-params.h
2019-10-08 23:11:00 +0200 Stephan Bosch <[email protected]> (bd4916844b)
lib-smtp: Reformat smtp-params.c.
M src/lib-smtp/smtp-params.c
2019-10-31 09:07:42 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (93f6411424)
lib-http: Reformat http-url.c.
M src/lib-http/http-url.c
2019-10-30 00:38:43 +0100 Stephan Bosch <[email protected]> (2d5a332e1a)
lib-http: Reformat http-url.h.
M src/lib-http/http-url.h
2019-10-29 13:44:50 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c235790a54)
lib: test-backtrace - Remove unnecessary includes
M src/lib/test-backtrace.c
2019-06-13 16:37:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c307c1373c)
lda: Accept -f argument with broken sender address.
M src/lda/main.c
2019-09-14 17:59:08 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c3dce45973)
lib-smtp: Reformat smtp-address.h.
M src/lib-smtp/smtp-address.h
2019-09-13 01:35:56 +0200 Stephan Bosch <[email protected]> (9d556b9ff1)
lib-smtp: Reformat smtp-address.c.
M src/lib-smtp/smtp-address.c
2019-10-01 12:15:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0515a3cab6)
lib: base64 - Restructure base64_encode_get_size().
M src/lib/base64.c
2019-09-04 22:23:25 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (516c570294)
lib: Add comment to MAX_INT_STRLEN macro
M src/lib/strfuncs.h
2019-09-04 21:02:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9b0ac0b4e5)
lib-dcrypt: Free existing BIGNUMs in setters
M src/lib-dcrypt/dcrypt-openssl.c
2019-09-03 09:10:13 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7709047705)
auth: winbind - Make static analyzer happier
M src/auth/mech-winbind.c
2019-09-02 14:17:50 +0300 Aki Tuomi <[email protected]> (9dac4d7ab2)
lib-dcrypt: Ignore padding when decoding base64url
M src/lib-dcrypt/dcrypt-openssl.c
2019-09-02 12:54:12 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (258965073e)
lib-dcrypt: Add unit tests for changes
M src/lib-dcrypt/test-crypto.c
2017-01-23 14:56:38 +0200 Aki Tuomi <[email protected]> (d3377b1f36)
dcrypt-openssl: Implement signature API for OpenSSL
M src/lib-dcrypt/dcrypt-openssl.c
2017-01-23 17:40:01 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (473a91b3f5)
lib-dcrypt: Unit test for JWK keys
M src/lib-dcrypt/test-crypto.c
2019-08-21 16:16:22 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d3cc0dabdb)
m4: Check for BN_secure_new
M m4/ssl.m4
2019-08-28 23:21:31 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0c3e14d961)
lib: base64 - Reformat flag handling in base64_decode_more().
M src/lib/base64.c
2019-08-27 20:37:40 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (57340b129d)
lib: base64.h - Move size macros.
M src/lib/base64.h
2019-02-13 19:05:38 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (41e607b137)
lib: base64.c - Move mapping tables.
M src/lib/base64.c
2019-05-28 22:44:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dcbe94f833)
lib-dcrypt: Add tests for raw keys
M src/lib-dcrypt/test-crypto.c
2019-08-19 14:39:05 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa742e32fc)
lib-dcrypt: Symbolize maximum OID length
M src/lib-dcrypt/dcrypt-openssl.c
2019-08-23 13:46:33 +0300 Aki Tuomi <[email protected]> (bb46a06044)
lib-dcrypt: Use len instead of ln
M src/lib-dcrypt/dcrypt-openssl.c
2019-08-19 12:11:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9ccf6b1a4b)
run-test-valgrind.supp: Add libunwind supression
M run-test-valgrind.supp
2019-07-30 14:15:11 +0300 Timo Sirainen <[email protected]> (fea779697d)
lib-smtp: Fix encoding quoted localparts that end with "."
For example "[email protected]" or "[email protected]" 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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e9793fb39e)
lib: Allow event filtering with wildcarded integers
M src/lib/event-filter.c
2019-07-22 18:35:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (6ea365aefb)
lib: Correct comment typo (UIID -> UUID)
M src/lib/guid.h
2019-07-15 21:50:11 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (36727b25f6)
lib: test-ostream-multiplex - Test corking
M src/lib/test-ostream-multiplex.c
2019-07-10 11:25:14 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (f284865285)
lib: ostream-multiplex - Optimize writing
M src/lib/ostream-multiplex.c
2019-05-21 11:45:57 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (5c944db714)
lib: ostream-multiplex - Fix code format issue
M src/lib/ostream-multiplex.c
2019-05-21 13:34:57 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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
<[email protected]>
M src/auth/userdb-passwd.c
2019-07-10 02:09:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (455a1899e9)
lib: event-log - Reformat event_get_log_prefix().
M src/lib/event-log.c
2019-07-01 19:04:03 -0400 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4371fd5268)
auth: oauth2: set scope to passdb_oauth2_settings
M src/auth/db-oauth2.c
2019-06-24 16:03:37 +0200 Markus Valentin <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9b1638f24b)
script: extract message parsing to separate function
M src/util/script.c
2019-06-20 10:52:44 +0200 Markus Valentin <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e55a72ae3f)
doveadm-dsync: Handle NOREPLICATE error in client
M src/doveadm/doveadm-dsync.c
2019-05-28 10:40:15 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (d18b2b5cb0)
doveadm-cmd: Add NOREPLICATE error code
M src/doveadm/doveadm-cmd.c
2019-05-28 10:35:55 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (863887d427)
lib-dns: Remove unused Valgrind disable
M src/lib-dns/Makefile.am
2019-05-23 18:49:18 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f62954aaff)
lib: i_zero*() - Update comment, especially about arrays
M src/lib/macros.h
2019-05-13 15:57:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e15655db4e)
NEWS: Add news for 2.3.6
M NEWS
2019-04-24 10:37:55 +0300 John Fawcett <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (db365281ac)
fts: Enable turkish support
M src/lib-fts/fts-language.c
2019-04-29 13:08:34 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6503ff28c3)
submission-login: Remove unused client->pending_starttls.
M src/submission-login/client.h
2019-04-24 16:33:45 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f39ab32553)
NEWS: Update news with missing entries from other branches
M NEWS
2019-03-12 23:23:35 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a8a8480508)
lda: Add support for event API.
M src/lda/main.c
2019-03-04 01:08:21 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (404b4a20bc)
lda: Move mail_deliver() invocation to a separate function.
M src/lda/main.c
2019-03-04 01:19:05 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (051a718ed3)
lib-http: Fix comment typo
M src/lib-http/http-client.h
2019-03-25 11:58:00 -0600 Michael Slusarz <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a263db013e)
ipc-server: Reconnect on socket input error.
M src/lib-master/ipc-server.c
2019-03-21 15:29:20 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (34302d8cb6)
ipc: Terminate IPC process with master.
M src/ipc/main.c
2019-03-21 15:23:51 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/config/settings-get.pl
2019-03-20 14:20:44 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b2e90e731a)
lib: str - Add str_replace().
M src/lib/str.h
2019-03-14 23:55:00 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6bdeddc592)
auth: Fix deinitialization of multiple passdbs.
M src/auth/db-oauth2.c
2019-03-14 15:53:41 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (d90893ed15)
core: Update README.md to fix broken RFC links
M README.md
2019-03-07 12:48:05 -0500 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (622d67fdf0)
NEWS: Add v2.3.5
M NEWS
2018-12-09 21:18:22 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ab848ab7e4)
lib: Reformat connection.c.
M src/lib/connection.c
2019-02-27 20:58:38 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (db2b6666d4)
doc: Add Solr 7.7 configuration files
The schema for 7.7 is based on work by Daniel Miller <[email protected]>.
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f13b11a01d)
auth-policy: Emit event when report finishes
M src/auth/auth-policy.c
2019-02-25 20:55:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa3c6c784e)
auth: mech-gssapi - Fix compile problem.
M src/auth/mech-gssapi.c
2019-02-18 12:36:07 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (825242011c)
auth: auth-worker - Add event
M src/auth/auth-worker-client.c
2018-10-16 13:39:14 +0300 Aki Tuomi <[email protected]> (4b213e1ec9)
auth-policy: Use events
M src/auth/auth-policy.c
2019-02-18 13:26:18 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (e1fa1864b0)
auth-policy: Move callback to helper function
M src/auth/auth-policy.c
2018-11-26 14:23:11 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (916d9b4cbe)
auth: Add support for oauth2 password grant
M src/auth/db-oauth2.c
2019-02-05 09:45:07 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a1ffd0f520)
auth: Do not import empty certificate username
M src/auth/auth-request.c
2019-01-16 18:24:20 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ded79e9015)
master: Drop useless LDFLAGS for unit test.
M src/master/Makefile.am
2019-01-27 12:32:42 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (43162d987b)
lib-auth: auth-master - Define event category.
M src/lib-auth/auth-master.c
2019-01-26 19:07:37 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (8835539962)
lib: test-connection - Add no version sent test
M src/lib/test-connection.c
2019-01-28 15:42:44 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9fae1b38e9)
m4: Remove stray comma from want_lua.m4
M m4/want_lua.m4
2019-01-11 09:37:02 +0200 Aki Tuomi <[email protected]> (b2dca7ca58)
m4: Remove stray AC_ARG_WITH from arc4random.m4
M m4/arc4random.m4
2018-12-28 10:36:49 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3fd05597e9)
auth: Fix auth-policy log-only warning whitespace
M src/auth/auth-policy.c
2018-12-04 13:42:44 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (c57df24b54)
auth: Log policy decisions clearly
M src/auth/auth-request.c
2018-11-10 15:26:51 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e04982354f)
lmtp: Remove obsolete declaration from lmtp-common.h.
M src/lmtp/lmtp-common.h
2018-11-03 12:45:19 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (59d28142e1)
m4: dovecot.m4 - Bump serial
M m4/dovecot.m4
2018-11-26 12:45:52 +0200 Aki Tuomi <[email protected]> (192ad02eba)
m4: dovecot.m4 - Improve CC_CLANG
M m4/dovecot.m4
2018-11-26 12:38:25 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a50212d682)
dovecot.m4: Use dnl instead of hash for comments
M m4/dovecot.m4
2018-11-24 10:20:54 +0200 Aki Tuomi <[email protected]> (c967136e24)
configure: Use DC_DOVECOT_HARDENING
M configure.ac
2018-11-24 10:15:04 +0200 Aki Tuomi <[email protected]> (7802f72547)
dovecot.m4: Add DC_DOVECOT_HARDENING to check hardening options
M m4/dovecot.m4
2018-11-24 10:11:55 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (246f885cae)
lib: connection - Add tests for handshake failures
M src/lib/test-connection.c
2018-11-28 20:17:23 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (317cb8aa98)
auth: auth-worker-client - Use connection code
M src/auth/auth-worker-client.c
2018-11-20 14:28:23 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fd3a3af1dc)
lib: connection - Add some comments
M src/lib/connection.h
2018-11-27 12:28:12 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a0751eaece)
lib: connection - Require destroy vfunc
Prevents signal 11 crash
M src/lib/connection.c
2018-11-21 15:27:25 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (82e0878fc3)
Update NEWS to v2.2.36 and v2.3.4
M NEWS
2018-11-14 15:44:14 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fea1932bd7)
auth: test-lua - Fix inconsistent whitespace
M src/auth/test-lua.c
2018-10-29 09:52:37 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b25dbc2699)
lib-lua: Check number of arguments
M src/lib-lua/dlua-dovecot.c
2018-07-30 13:12:47 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (c9079c4d7a)
lib-lua: Add test for event framework
M src/lib-lua/test-lua.c
2018-10-11 19:10:17 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b6fcc187ed)
submission: recipient: Add field for associating backend context.
M src/submission/submission-recipient.h
2018-10-12 09:34:56 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fbe550d9e2)
stats: Use duration field from events
M src/stats/stats-metrics.c
2018-10-16 08:52:49 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (faf72e575b)
lmtp: Reformat commands.h.
M src/lmtp/commands.h
2018-10-05 00:26:56 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-fts/test-fts-tokenizer.c
2018-05-16 18:08:01 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-fts/test-fts-tokenizer.c
2018-05-16 17:57:14 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-fts/fts-tokenizer-generic.c
2018-05-16 16:32:35 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (64599a8260)
lib-fts/test-fts-tokenizer - have different possible test inputs
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-fts/test-fts-tokenizer.c
2018-05-11 13:34:40 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-fts/fts-tokenizer-generic.c
2018-05-16 17:11:27 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-fts/fts-tokenizer-generic.c
2018-05-16 17:04:35 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-fts/fts-tokenizer-generic.c
2018-04-28 15:46:54 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (a5550d93dd)
lib-fts/fts-tokenizer-generic - rename state variables - cosmetic
These contain types, not letters, no functional changes.
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (3cb8678634)
lib-fts/fts-tokeniser-generic: move to container_of() for type-safety
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-fts/fts-tokenizer-generic.c
2018-09-15 18:15:36 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1f6ddc6429)
submission: client: Simplifly calculation of max mail size.
M src/submission/submission-client.c
2018-09-15 13:17:11 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (8316a82c4b)
submission: Reformat submission-backend-relay.c.
M src/submission/submission-backend-relay.c
2018-07-15 21:42:17 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (840811bfdb)
util: Fix compile with tcpwrap
M src/util/tcpwrap.c
2018-07-18 00:51:56 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8606e1abb9)
stats: Wait for clients to disconnect at shutdown
M src/stats/main.c
2018-09-06 17:04:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (10307d4fe0)
lib: Test event category parent matching
M src/lib/test-event-filter.c
2018-09-05 08:34:28 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (7132beef00)
driver-cassandra: Add events
M src/lib-sql/driver-cassandra.c
2018-09-01 13:50:27 +0300 Aki Tuomi <[email protected]> (09cf741d66)
driver-pgsql: Add events
M src/lib-sql/driver-pgsql.c
2018-08-31 13:30:11 +0300 Aki Tuomi <[email protected]> (850f874971)
driver-sqlite: Add events
M src/lib-sql/driver-sqlite.c
2018-08-31 09:45:59 +0300 Aki Tuomi <[email protected]> (649a14fe0e)
driver-mysql: Add events
M src/lib-sql/driver-mysql.c
2018-08-31 09:31:48 +0300 Aki Tuomi <[email protected]> (f492f4a731)
driver-sqlpool: Add events
M src/lib-sql/driver-sqlpool.c
2018-08-30 14:23:10 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (9358d79299)
auth: Use sql_init_full
M src/auth/db-sql.c
2018-09-04 09:31:25 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (495ae02e61)
driver-cassandra: Add init_full
M src/lib-sql/driver-cassandra.c
2018-09-02 18:39:47 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (e3ecc5a13a)
driver-cassandra: Add driver_cassandra_free
M src/lib-sql/driver-cassandra.c
2018-09-01 13:43:19 +0300 Aki Tuomi <[email protected]> (25324b1aff)
driver-pgsql: Add init_full
M src/lib-sql/driver-pgsql.c
2018-09-04 09:39:06 +0300 Aki Tuomi <[email protected]> (d73c94edd4)
driver-pgsql: Add driver_pgsql_free
M src/lib-sql/driver-pgsql.c
2018-08-31 13:29:56 +0300 Aki Tuomi <[email protected]> (4e9b8b1fea)
driver-sqlite: Add init_full
M src/lib-sql/driver-sqlite.c
2018-09-03 12:17:40 +0300 Aki Tuomi <[email protected]> (cc5ff7352d)
driver-mysql: Add init_full
M src/lib-sql/driver-mysql.c
2018-08-31 14:07:44 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (79991d14a3)
driver-sqlpool: Use init_full when available
M src/lib-sql/driver-sqlpool.c
2018-08-30 14:18:41 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (cf79e9b6f7)
driver-sqlite: Whitespace fix
M src/lib-sql/driver-sqlite.c
2018-08-31 09:20:16 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f83a64ee5c)
lib: Make failure handler variables static
M src/lib/failures.c
2018-08-31 14:18:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (df9dee60c9)
lib: Implement vfuncs for logging to stderr
M src/lib/failures.c
2018-06-14 15:49:41 +0300 Sergey Kitov <[email protected]> (7b9c1bb8eb)
lib: Implement vfuncs for logging to syslog
M src/lib/failures.c
2018-08-05 04:00:17 +0300 Sergey Kitov <[email protected]> (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 <[email protected]> (8a14920f7d)
lib: Introduce abstraction for failure logging implementations.
M src/lib/failures.c
2018-08-30 11:38:41 +0300 Phil Carmody <[email protected]> (9d1c335716)
pop3: use array interface rather than internal buffer to access data
Signed-off-by: Phil Carmody <[email protected]>
M src/pop3/pop3-client.c
2018-08-30 11:36:08 +0300 Phil Carmody <[email protected]> (b8294e0c20)
lib: test-array - tests that freeing without data doesn't free the data
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-array.c
2018-08-29 15:28:31 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
2018-06-19 15:30:36 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M m4/dovecot.m4
2018-08-29 14:57:45 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M m4/dovecot.m4
2018-06-19 13:29:46 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-http/http-request-parser.c
2018-06-19 13:28:12 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-http/http-client.c
M src/lib-http/http-server.c
2018-06-14 08:51:37 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-http/test-http-payload.c
2018-08-30 11:54:29 +0300 Aki Tuomi <[email protected]> (0ad7ac26ac)
lib: Fix documentation on POINTER_CAST
M src/lib/macros.h
2018-08-29 22:09:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-dns/dns-lookup.c
2018-07-24 14:47:47 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1b72f71e3b)
fts: Optimize replacing NULs in header
M src/plugins/fts/fts-build-mail.c
2018-08-23 14:33:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f7ab09ba40)
lib: Add test for event_inc_int()
M src/lib/test-event-filter.c
2018-08-23 20:29:58 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (442800357c)
dns: Add event support
M src/dns/dns-client.c
2018-08-16 10:32:38 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (1dc0c3fd46)
lib: connection - Add and fix logging
M src/lib/connection.c
2018-08-02 17:22:37 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (107a201382)
lib-dns: Initialize lookup earlier
M src/lib-dns/dns-lookup.c
2018-08-17 10:55:39 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (e1e5057703)
lib-dns: Use connection with dns-client
M src/lib-dns/dns-lookup.c
2018-08-17 10:39:05 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (e5d0be54a5)
lib: Make io_loop_move_*(NULL) no-op
M src/lib/ioloop.c
2018-08-17 11:34:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bd91ae59af)
doveconf: Improve secret hiding
Hide with more wide filtering.
M src/config/doveconf.c
2018-08-14 15:24:56 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (23819c81c0)
lib-smtp: Include test-bin in dist
M src/lib-smtp/Makefile.am
2018-08-09 12:38:43 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ef260029d9)
man: Add missing commands to doveadm
M doc/man/doveadm.1.in
2018-07-31 08:45:29 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (efdab4d245)
lib: Document the unsafe datastack mempool
M src/lib/mempool-unsafe-datastack.c
2018-06-19 16:08:40 -0400 Josef 'Jeff' Sipek <[email protected]> (7d0b693c17)
lib: Document the system mempool
M src/lib/mempool-system.c
2018-06-20 07:50:38 -0400 Josef 'Jeff' Sipek <[email protected]> (fe151c8b27)
lib: Document datastack mempools
M src/lib/mempool-datastack.c
2018-06-19 15:36:43 -0400 Josef 'Jeff' Sipek <[email protected]> (a9edbaca2c)
lib: Document allocfree mempools
M src/lib/mempool-allocfree.c
2018-06-19 14:04:43 -0400 Josef 'Jeff' Sipek <[email protected]> (c9b13adc64)
lib: Document alloconly mempools
M src/lib/mempool-alloconly.c
2018-06-29 16:17:40 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dee975bfce)
lda: Deinitialize cleanly if mail delivery fails
M src/lda/main.c
2018-06-27 18:22:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (eed9a6cd9c)
lda: Cleanup - reorder code
Makes the next commit cleaner.
M src/lda/main.c
2018-05-24 12:48:58 +0000 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (571a8abd1e)
lib: str-sanitize: Use uni_utf8_data_truncate().
M src/lib/str-sanitize.c
2018-06-01 00:02:53 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7ddf62d2b2)
doveconf: Hide URL userpart
M src/config/doveconf.c
2018-06-19 14:26:29 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M m4/dovecot.m4
2018-06-20 10:49:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (63cda683f6)
doveadm log find: Fix memory leak
M src/doveadm/doveadm-log.c
2018-06-13 20:07:52 +0300 Timo Sirainen <[email protected]> (cc97031e06)
doveadm user: Fix memory leak
M src/doveadm/doveadm-auth.c
2018-06-13 20:07:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/str.h
2018-06-08 23:17:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (35d8a10d6f)
lib: Free global_event_stack array at deinit
M src/lib/lib-event.c
2018-06-12 18:01:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f7e6d9ceaa)
doveadm: Fix compiler warning
M src/doveadm/client-connection-tcp.c
2018-06-05 20:28:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/bits.h
M src/lib/test-bits.c
2018-05-18 12:47:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (968da88f2f)
systemd: Indicate where changes should be made
M dovecot.service.in
2018-04-24 11:45:36 +0300 Aki Tuomi <[email protected]> (d99151b4f5)
systemd: Increase file descriptors by default
M dovecot.service.in
2018-04-24 11:45:07 +0300 Aki Tuomi <[email protected]> (faa65a166e)
systemd: Allow writing to home by default
M dovecot.service.in
2018-04-24 11:44:33 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f9b9acdfc5)
submission: Substitute variables in settings.
M src/submission/main.c
2018-05-14 22:41:29 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e14d34fac6)
lmtp: Explicitly disable message size limit enforcement.
M src/lmtp/client.c
2018-04-07 01:08:11 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa2eb418d9)
man: Document doveadm mailbox cache commands
M doc/man/doveadm-mailbox.1.in
2018-04-26 09:48:39 +0300 Sergey Kitov <[email protected]> (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 <[email protected]> (36ec7f349c)
.gitignore: Ignore doc/man/doveadm-rebuild.1
M .gitignore
2018-01-11 15:35:42 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4bda91b764)
last-login: Remove superfluous semicolon
M src/plugins/last-login/last-login-plugin.c
2018-04-16 10:37:32 -0600 Michael Slusarz <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (42ac347496)
lib: Call module's preinit function, when loading
M src/lib/module-dir.c
2018-03-09 15:17:29 +0200 Sergey Kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (13f3f8e4db)
stats: Support dumping any given percentile
M src/stats/client-reader.c
2018-04-24 09:52:32 +0300 Timo Sirainen <[email protected]> (7bef878b14)
stats: Support dumping variance
M src/stats/client-reader.c
2018-04-24 18:01:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c9a39a92c8)
lib: rand - Fix potential modulo bias
M src/lib/rand.c
2018-04-22 13:11:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ab32237ffd)
lib: Improve str_append_n() comment
M src/lib/str.h
2018-04-11 14:41:45 +0300 Sergey Kitov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d3928f47e4)
lib: Added i_memdup().
M src/lib/imem.c
M src/lib/imem.h
2018-04-17 12:20:26 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ec60a15b1)
lib: unichar: Add Horizontal Ellipsis character.
M src/lib/unichar.h
2018-04-17 15:46:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fa4abf206a)
lda: Reformatted main.c.
M src/lda/main.c
2018-04-06 17:57:30 +0200 Fabian Freyer <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8c031232b2)
man: doveconf - Document -P flag
M doc/man/doveconf.1.in
2018-03-21 11:29:26 +0200 Arkadiusz Miśkiewicz <[email protected]> (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 <[email protected]> (64eb3f1d98)
NEWS: Add v2.3.1
M NEWS
2018-03-19 11:34:49 +0200 Aki Tuomi <[email protected]> (6a2d8d10f5)
NEWS: Update to 2.3.0.1
M NEWS
2018-02-17 21:51:00 +0100 Stephan Bosch <[email protected]> (bd3df76a59)
lib-dcrypt: Reformatted test-stream.c.
M src/lib-dcrypt/test-stream.c
2018-02-17 21:43:06 +0100 Stephan Bosch <[email protected]> (03ec33fb01)
lib-dcrypt: Reformatted test-crypto.c.
M src/lib-dcrypt/test-crypto.c
2018-02-17 21:10:17 +0100 Stephan Bosch <[email protected]> (0b2f84593f)
lib-dcrypt: Reformatted ostream-encrypt.h.
M src/lib-dcrypt/ostream-encrypt.h
2018-02-17 21:09:16 +0100 Stephan Bosch <[email protected]> (1f712a1f0d)
lib-dcryp: Reformatted ostream-encrypt.c.
M src/lib-dcrypt/ostream-encrypt.c
2018-02-17 20:49:14 +0100 Stephan Bosch <[email protected]> (51c3910e5f)
lib-dcrypt: Reformatted istream-decrypt.h.
M src/lib-dcrypt/istream-decrypt.h
2018-02-17 20:47:19 +0100 Stephan Bosch <[email protected]> (f2d3caf3e1)
lib-dcrypt: Reformatted istream-decrypt.c.
M src/lib-dcrypt/istream-decrypt.c
2018-02-17 20:24:42 +0100 Stephan Bosch <[email protected]> (f50597f6bd)
lib-dcrypt: Reformatted dcrypt-private.h.
M src/lib-dcrypt/dcrypt-private.h
2018-02-17 20:15:24 +0100 Stephan Bosch <[email protected]> (a03d476c22)
lib-dcrypt: Reformatted dcrypt-openssl.c.
M src/lib-dcrypt/dcrypt-openssl.c
2018-02-17 19:19:22 +0100 Stephan Bosch <[email protected]> (a942cc03ad)
lib-dcrypt: Reformatted dcrypt-iostream.h.
M src/lib-dcrypt/dcrypt-iostream.h
2018-02-17 19:18:28 +0100 Stephan Bosch <[email protected]> (1b517bc928)
lib-dcrypt: Reformatted dcrypt-gnutls.c.
M src/lib-dcrypt/dcrypt-gnutls.c
2018-02-17 19:01:48 +0100 Stephan Bosch <[email protected]> (e91c9116ad)
lib-dcrypt: Reformatted dcrypt.h.
M src/lib-dcrypt/dcrypt.h
2018-02-17 18:53:19 +0100 Stephan Bosch <[email protected]> (1d1c5f6ae7)
lib-drypt: Reformatted dcrypt.c.
M src/lib-dcrypt/dcrypt.c
2018-02-26 23:12:03 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (64bd49bb81)
lib: Reformat test-iostream-pump.c.
M src/lib/test-iostream-pump.c
2018-02-25 19:04:14 +0100 Stephan Bosch <[email protected]> (b056116e1b)
lib: Reformat iostream-pump.c.
M src/lib/iostream-pump.c
2018-02-25 19:03:49 +0100 Stephan Bosch <[email protected]> (9f67382489)
lib: Reformat iostream-pump.h.
M src/lib/iostream-pump.h
2018-03-15 22:36:45 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (98794428c6)
lib-ssl-iostream: Correctly build certificate chains
Prevents sending extraneous certificates when using alternative certs.
Reported by John Fawcett <[email protected]> and Peter Linss
<[email protected]>.
M m4/ssl.m4
M src/lib-ssl-iostream/iostream-openssl-context.c
2018-03-06 15:15:01 +0200 Aki Tuomi <[email protected]> (a118a3eb3c)
lib-master: Correctly match when local_name has multiple names
Reported by J. Nick Koston <[email protected]>
M src/lib-master/master-service-settings-cache.c
2018-03-06 10:33:27 +0200 Aki Tuomi <[email protected]> (dc67a88562)
lib-master: Reply from config process is tabescaped
Found by J. Nick Koston <[email protected]>
M src/lib-master/master-service-settings-cache.c
2018-03-10 19:43:27 +0200 Aki Tuomi <[email protected]> (d14694c8cf)
config: tabescape local name and service
M src/config/config-connection.c
2018-03-06 10:31:51 +0200 Aki Tuomi <[email protected]> (cecfc4e9df)
config: Make local_name comparison faster
Based on patch by J. Nick Koston <[email protected]>
M src/config/config-filter.c
2018-03-04 20:09:21 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ef983baa5f)
lda: Add -r parameter to usage help message.
M src/lda/main.c
2018-03-06 13:27:17 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc0e678314)
lib-dns: Move before lib-master
M src/Makefile.am
2018-02-26 12:53:19 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b104244a5)
config: Add command to request all filters
M src/config/config-connection.c
2017-11-30 15:46:40 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cc2b3aefaa)
lib: Fix buffer code to satisfy static analyzers
M src/lib/buffer.c
2018-02-08 11:56:08 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/ioloop.c
2017-12-13 19:05:30 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (2047bbce87)
master: Flip disallow_root in drop_privileges()
M src/master/service-process.c
2017-09-29 13:40:12 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (745d731554)
Add support for running valgrind tests with --trace-children=no.
M m4/dovecot.m4
2018-02-02 18:37:23 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c8177e49ca)
auth: Support standard auth variables in LDAP subqueries
M src/auth/db-ldap.c
2018-02-08 13:04:48 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (9eeaf4a8bb)
lib: Clarify restrict_access_allow_coredumps
M src/lib/restrict-access.h
2018-02-08 15:34:53 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a419baa1f4)
lib: str_free(NULL) should be a no-op
M src/lib/str.c
2018-01-30 14:14:42 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/randgen.c
2018-01-30 13:47:18 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/randgen.c
2018-01-30 18:48:51 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/randgen.c
2018-01-29 19:10:38 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (852804fa63)
auth: db-lua - Use luaL_error correctly
M src/auth/db-lua.c
2018-01-23 00:04:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c6d1318ff2)
auth: Ensure crypt schemes match with samples
M src/auth/password-scheme-crypt.c
2018-01-11 15:22:30 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/printf-format-fix.c
M src/lib/test-printf-format-fix.c
2018-01-02 09:49:40 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e5a90184be)
doveconf: add hostname to output
M src/config/doveconf.c
2017-12-01 13:49:31 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b0f52c573)
m4: Check for SSL_CIPHER_get_kx_nid
M m4/ssl.m4
2017-12-28 11:30:00 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/timing.c
M src/lib/timing.h
2017-12-15 00:44:51 +0200 Phil Carmody <[email protected]> (b0b9b292c7)
lib/data-stack - in panic scenarios, use the panic memory buffer
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/data-stack.c
2017-12-15 00:35:39 +0200 Phil Carmody <[email protected]> (4c9989b49c)
lib/datastack - remove useless thing
It was useless.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/data-stack.c
2017-12-25 11:10:19 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa8e45365f)
submission: Dropped unused field from struct client.
M src/submission/submission-client.h
2017-12-24 12:17:48 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2b2f0de75e)
configure: Switched version number to 2.4.devel
M configure.ac
2017-12-14 23:00:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (993b1b96f3)
fts: Code cleanup
M src/plugins/fts/fts-build-mail.c
2017-12-14 21:42:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (583c5314e4)
lib-master: Fix logging "Expected FILTER" error
M src/lib-master/stats-client.c
2017-12-13 15:54:11 +0200 Timo Sirainen <[email protected]> (db2d8dff7f)
stats: Fix logging unknown client command error
M src/stats/client-writer.c
2017-12-13 14:37:59 +0200 Martti Rannanjärvi <[email protected]> (0e8ff50d2f)
.gitignore: Ignore src/old-stats/old-stats
M .gitignore
2017-12-04 23:39:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4b51ecbac8)
lib: ioloop.h - improve ioloop context comments
M src/lib/ioloop.h
2017-12-12 01:20:52 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a3a483da7f)
m4: Add SSL_CTX_set_min_proto_version detection
M m4/ssl.m4
2017-11-28 12:02:08 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bb0a27c17c)
lmtp: proxy: Added structural comments.
M src/lmtp/lmtp-proxy.c
2017-09-18 21:14:05 +0200 Stephan Bosch <[email protected]> (1c1396ed2f)
lmtp: local: Added structural comments.
M src/lmtp/lmtp-local.c
2017-09-17 14:28:33 +0200 Stephan Bosch <[email protected]> (ebdfdb765f)
lmtp: commands: Added structural comments.
M src/lmtp/commands.c
2016-11-23 10:43:53 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (27d5414234)
lmtp: client: Moved client_state_reset().
M src/lmtp/client.c
2017-10-31 02:20:44 +0100 Stephan Bosch <[email protected]> (a33e180a60)
lmtp: proxy: Moved lmtp_proxy_connection_finish().
M src/lmtp/lmtp-proxy.c
2016-11-23 10:58:02 +0100 Stephan Bosch <[email protected]> (1b8cec4048)
lmtp: proxy: Moved lmtp_proxy_rcpt_cb().
M src/lmtp/lmtp-proxy.c
2017-10-31 02:29:54 +0100 Stephan Bosch <[email protected]> (b6e6966a2e)
lmtp: proxy: Moved lmtp_proxy_add_rcpt().
M src/lmtp/lmtp-proxy.c
2017-10-31 02:27:47 +0100 Stephan Bosch <[email protected]> (122323b8d5)
lmtp: proxy: Moved lmtp_proxy_data_cb().
M src/lmtp/lmtp-proxy.c
2017-10-31 02:26:12 +0100 Stephan Bosch <[email protected]> (65ff3f6ace)
lmtp: proxy: Moved lmtp_proxy_data_dummy_cb().
M src/lmtp/lmtp-proxy.c
2016-11-06 17:34:25 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (24afb81b5e)
lmtp: client: Use client_remote_id() to construct proctitle.
M src/lmtp/client.c
2017-10-10 00:19:02 +0200 Stephan Bosch <[email protected]> (0807987e82)
lmtp: client: Moved client_remote_id().
M src/lmtp/client.c
2017-10-10 02:36:34 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (7affd5e5e1)
lmtp: client: Restructured handling of verbose_proctitle setting.
M src/lmtp/client.c
2017-12-05 14:49:17 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (4a31bc0363)
pop3: Include mail user variables in logout format
M src/pop3/pop3-client.c
2017-12-04 11:01:05 +0200 Aki Tuomi <[email protected]> (ee1950c7d0)
imap: Include mail user variables in logout format
M src/imap/imap-client.c
2017-12-05 23:49:27 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2303cd3c6d)
lib-storage: Remove obsolete comment
M src/lib-storage/list/mailbox-list-index.c
2017-11-30 12:52:23 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (c9a7c4d243)
lib: murmurhash3 - Fix Aki's email address
M src/lib/murmurhash3.c
2017-12-01 18:15:18 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (df0eef65a5)
auth: test-lua - fix memory leaks
M src/auth/test-lua.c
2017-11-28 01:04:53 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (04e49d6224)
auth: userdb-lua - Fix typo in logging
M src/auth/userdb-lua.c
2017-11-28 16:51:06 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dbb1816a7a)
m4: Use CC, not CXX in ld_relro
M m4/ld_relro.m4
2017-11-27 17:42:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f0a21708f7)
director: DIRECTOR-LIST - Return results sorted by host
M src/director/doveadm-connection.c
2017-11-26 12:26:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (feaa7d3954)
configure: Detect lua
M configure.ac
A m4/want_lua.m4
2017-11-15 19:13:39 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1f8e934c62)
fts-lucene: Fix potential memory leak
M src/plugins/fts-lucene/lucene-wrapper.cc
2017-11-17 20:53:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b8f02c99e2)
doveadm: client - Cleanup: Simplify the input loop
M src/doveadm/server-connection.c
2017-11-08 14:39:06 +0200 Timo Sirainen <[email protected]> (4a913ff77a)
doveadm: client - Cleanup: Remove unnecessary stream_errno check
M src/doveadm/server-connection.c
2017-11-09 16:17:26 +0200 Timo Sirainen <[email protected]> (73d5397417)
doveadm: client - Cleanup: Remove unnecessary code indentation
M src/doveadm/server-connection.c
2017-11-08 14:35:31 +0200 Timo Sirainen <[email protected]> (9f869f9ab6)
doveadm: client - Cleanup: Handle input NULL first
M src/doveadm/server-connection.c
2017-11-09 16:18:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6f4c61d8ce)
m4: Refuse to build with OpenSSL version < 1.0.1
M m4/ssl.m4
2017-11-14 20:14:09 +0200 Timo Sirainen <[email protected]> (a0876e2bef)
lib: Add unit test for dec2str_buf()
M src/lib/test-strfuncs.c
2017-11-14 16:51:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (07ca0c75da)
lib: test-istream-jsonstr - Improve unit test
M src/lib/test-istream-jsonstr.c
2017-11-08 14:06:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (4addf3fa0e)
doveadm-server: Add client_connection_tcp.preauthenticated
M src/doveadm/client-connection-tcp.c
2017-11-08 02:31:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d9d28856f3)
lib: istream-jsonstr - Move length check to unescape
M src/lib/istream-jsonstr.c
2017-11-06 14:40:08 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (84703c2f19)
log: Fix log reopening on SIGUSR1
M src/log/main.c
2017-11-07 01:11:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2dfc39a560)
director: Log whenever HOST-RESET-USERS is used
M src/director/doveadm-connection.c
2017-11-05 22:38:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (c83e45c826)
director: Deduplicate code into director_connection_set_connected()
M src/director/director-connection.c
2017-11-05 22:27:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4039fdc265)
lib: str_parse/to_*int*() - minor optimization
M src/lib/strnum.c
2017-11-04 15:29:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8587f4288b)
lib: test-strfuncs - Improve *_strsplit*() unit tests
M src/lib/test-strfuncs.c
2017-11-04 01:39:38 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ba55ec8fdf)
lib: istream - Avoid panic in snapshot() with nonpersistent buffers
M src/lib/istream.c
2017-11-02 22:57:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (31281f7ff3)
imap: Fix spelling mistakes
Original work by @jsoref
M src/imap/cmd-urlfetch.c
2017-11-01 19:08:54 +0200 Aki Tuomi <[email protected]> (688653dfb5)
director: Fix spelling mistakes
Original work by @jsoref
M src/director/director-connection.c
2017-11-01 19:08:40 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d74c9f4bf7)
lib: istream-mmap - Use memarea API
M src/lib/istream-mmap.c
2017-10-26 17:12:04 +0300 Timo Sirainen <[email protected]> (448ab3576e)
lib: istream-seekable - Implement snapshot()
M src/lib/istream-seekable.c
2017-10-26 16:37:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5181e190e9)
lib-test: istream-test - use memarea API
M src/lib-test/test-istream.c
2017-09-08 14:25:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c141f3682c)
lib-ssl-iostream: Use named initializers
M src/lib-ssl-iostream/iostream-openssl.c
2016-09-26 13:55:17 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (32c7865781)
lib: Don't use NEEDS_LOCAL_CREDS undefined
M src/lib/net.c
2017-10-30 16:06:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (6a170d6d78)
lib: Improve i_stream_is_eof() comment
M src/lib/istream.h
2017-10-30 16:01:31 +0200 Timo Sirainen <[email protected]> (7b29ccd796)
lib: Update struct istream comments
M src/lib/istream.h
2017-10-30 16:00:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4805c8a7d4)
lib: Remove o_stream_nfinish()
M src/lib/ostream.h
2017-10-28 02:06:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2fc183541f)
configure: Add support for EXTRA_LDFLAGS
M configure.ac
2017-10-30 11:19:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0a8db75f72)
auth: Don't use undefined SASL_VERSION_MAJOR
M src/auth/db-ldap.c
2017-10-28 15:21:29 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2511999c93)
doveadm-server: http: Wrapped long code lines.
M src/doveadm/client-connection-http.c
2017-10-11 00:10:38 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ce916cf4c7)
doveadm-server: http: Renamed parse state enum.
M src/doveadm/client-connection-http.c
2017-10-07 22:33:26 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (14e38f2900)
doveadm-server: http: Added structural comments.
M src/doveadm/client-connection-http.c
2017-10-08 11:44:40 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cd13c18ef2)
doveadm-server: tcp: Moved client_connection_destroy().
M src/doveadm/client-connection-tcp.c
2017-10-07 16:55:01 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (df45032f2f)
doveadm-server: http: Cleaned up code formatting.
M src/doveadm/client-connection-http.c
2017-10-09 14:38:52 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9b26e0815d)
test-unichar: Add test for surrogate handling
M src/lib/test-unichar.c
2017-10-19 11:55:01 +0300 Aki Tuomi <[email protected]> (e7e451b7d9)
test-unichar: Update test to conform RFC3629
M src/lib/test-unichar.c
2017-10-19 11:54:20 +0300 Aki Tuomi <[email protected]> (dcd2bdbf74)
unichar: Do not accept invalid ranges
As per RFC3629
M src/lib/unichar.c
2017-10-20 14:36:32 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (c47167da2f)
unichar: Use surrogate macros in ucs4 validity check
M src/lib/unichar.h
2017-10-20 14:10:26 +0300 Aki Tuomi <[email protected]> (2bb5b6721e)
unichar: Add surrogate handling
M src/lib/unichar.h
2017-10-20 13:14:02 +0300 Aki Tuomi <[email protected]> (5fc1d7c7ca)
unichar: Add uni_is_valid_ucs4
M src/lib/unichar.h
2017-10-23 13:34:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6d1372638a)
quota-maildir: Improve error_r strings
M src/plugins/quota/quota-maildir.c
2017-10-16 14:50:34 +0300 Martti Rannanjärvi <[email protected]> (9a603e8651)
quota-fs: Improve error_r strings
M src/plugins/quota/quota-fs.c
2017-10-17 10:26:41 +0300 Martti Rannanjärvi <[email protected]> (3f0ef4a286)
quota-dirsize: Improve error_r strings
M src/plugins/quota/quota-dirsize.c
2017-10-16 14:05:00 +0300 Martti Rannanjärvi <[email protected]> (2b4e421b76)
quota-dict: Improve error_r strings
M src/plugins/quota/quota-dict.c
2017-10-17 11:57:29 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (b82a5c78f1)
quota-imapc: Improve error_r strings
M src/plugins/quota/quota-imapc.c
2017-10-16 12:38:32 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (626421c244)
configure: Detect libsodium presence
M configure.ac
A m4/want_sodium.m4
2017-10-11 16:33:57 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (95c4374dc6)
lib: ostream-multiplex - remove unnecessary flushes
M src/lib/ostream-multiplex.c
2017-10-10 12:33:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (4e68657155)
ostream-multiplex: Check flush return value
M src/lib/ostream-multiplex.c
2017-10-06 08:58:16 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b78f4649c2)
lib: istream-multiplex - remove dead assignment
M src/lib/istream-multiplex.c
2017-10-06 11:07:23 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (29a2904f62)
mail-crypt: Improve doveadm output
M src/plugins/mail-crypt/doveadm-mail-crypt.c
2017-10-05 15:40:45 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (740657494c)
doveadm-server: Use i_close_fd
M src/doveadm/client-connection.c
2017-08-24 14:59:07 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3d9b33dc01)
lib-lda: Use SMTP submit settings directly.
M src/lib-lda/mail-send.c
2017-10-04 22:41:14 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c79c8c1d0f)
dsync: Fix typo, it's ibc not icb
M src/doveadm/doveadm-dsync.c
2017-09-25 10:28:03 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9eec3f335b)
mail-crypt: Fix linking order
M src/plugins/mail-crypt/Makefile.am
2017-09-22 14:10:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (03b8e1b15f)
configure: Fix link order: libsmtp depends on libprogram-client
M configure.ac
2017-09-21 21:49:09 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (e3a3366eea)
lib-sql: Fix compiler warning with OSX
M src/lib-sql/sql-api.h
2017-09-21 17:53:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aec3f901e5)
auth: Expand %{ldap_dn} to ldap_get_dn().
M src/auth/db-ldap.c
2017-09-14 12:50:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (709ee5a909)
cassandra: Add support for prepared statements
M src/lib-sql/driver-cassandra.c
2017-08-22 13:55:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e6bff6f5fe)
dict-sql: Use sql_statement_bind_*()
M src/lib-dict/dict-sql.c
2017-08-15 15:37:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b082469aff)
lib: Warn if rand is used
M src/lib/compat.h
2017-08-23 12:59:42 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da32b4dc82)
configure: Check for getrandom
M configure.ac
A m4/random.m4
2017-03-02 23:13:48 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4e3be303f8)
lib: Preallocate output space for base64 encoding
M src/lib/base64.c
2017-08-31 01:25:22 +0300 compmaniak <[email protected]> (f117e28049)
lib: Reduced conditional logic in base64_encode
M src/lib/base64.c
2017-08-31 01:04:48 +0300 compmaniak <[email protected]> (24dfb49cf0)
lib: Fix MAX_BASE64_ENCODED_SIZE macro
M src/lib/base64.h
2017-08-30 13:51:20 +0300 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (820f4f32cb)
db-oauth2: Add some debugging
M src/auth/db-oauth2.c
2017-08-29 00:24:46 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d31018c559)
lib: Fix compiler warning about mixing boolean with multiplication
M src/lib/macros.h
2017-08-17 14:17:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b4d642a2e)
lib-sql: Remove duplicate Cassandra consistency names
M src/lib-sql/driver-cassandra.c
2017-07-20 11:01:37 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (debbc09b5f)
lib-http: server: Restructured http-server.h.
M src/lib-http/http-server.h
2017-07-03 22:06:21 +0200 Thomas Reifferscheid <[email protected]> (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", "[email protected]"
using strrch() however splits login and host at the last occurrence of '@'.
Signed-off-by: Thomas Reifferscheid <[email protected]>
M src/doveadm/doveadm-dsync.c
2017-07-03 18:40:47 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (9f0429766d)
quota-status: Use pooled memory for globals
M src/plugins/quota/quota-status.c
2017-07-03 18:27:53 +0300 Aki Tuomi <[email protected]> (133a609acd)
lmtp: Use message_detail_address_parse
M src/lmtp/commands.c
2017-07-03 19:00:14 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (00367aee8d)
director: Fix whitespace position in some log messages
M src/director/director-connection.c
2017-06-19 11:30:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c3785e2a56)
quota: Update comments in quota.h
M src/plugins/quota/quota.h
2017-06-08 20:25:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2e68d078bd)
lib: ioloop-kqueue - Improve kevent() panic log message
M src/lib/ioloop-kqueue.c
2017-06-08 01:03:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8322e7400b)
lib: Add unit tests for p_strdup*()
M src/lib/test-strfuncs.c
2017-05-30 18:25:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4c49732005)
dict-cdb: Add simple iteration support
M src/lib-dict/dict-cdb.c
2017-06-06 17:18:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (41b272000b)
lib-oauth2: Accept empty responses
M src/lib-oauth2/oauth2.c
2017-06-05 21:53:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bbcda8a2ea)
imap: Fix unhibernation after earlier change
M src/imap/imap-master-client.c
2017-05-22 10:13:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e031d9aaae)
imap: login reply should be sent sooner
M src/imap/main.c
2017-05-18 23:13:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/istream-concat.c
2016-03-30 09:29:51 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/istream-concat.c
2017-05-18 21:10:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (78c3c40ee0)
dovecot --build-options: Add missing linefeed
M src/master/main.c
2017-05-18 11:57:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c5e048964a)
Added doc/man/doveadm-save.1 to .gitignore.
M .gitignore
2017-05-11 09:24:57 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (df7ac49c9f)
remove mystery file that appears to be unused
D .inslog2
2017-05-02 18:40:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ae7c75f573)
lib: Add dec2str_buf()
M src/lib/strfuncs.c
M src/lib/strfuncs.h
2017-05-09 13:15:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-fs/Makefile.am
A src/lib-fs/test-fs-posix.c
2017-05-08 12:24:52 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (53e2b69540)
auth: Log reason for skipping passdb
M src/auth/auth-request.c
2017-04-28 12:49:37 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (474e9ae6ba)
*-login: Unload plugins at deinit.
M src/login-common/main.c
2017-04-19 15:01:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c6ae57a037)
auth: Check var_expand error in vpopmail
M src/auth/userdb-vpopmail.c
2017-04-11 20:32:19 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2656508b1a)
doveadm: Make doveadm_password safe against timing attacks.
M src/doveadm/client-connection.c
2017-04-09 00:50:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (353d9741cb)
Improve valgrind suppressions.
M run-test-valgrind.supp
2017-04-10 18:12:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (75a6a96fd5)
lib: Fix strcasecmp mistake in var-expand
M src/lib/var-expand.c
2017-03-31 16:42:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f9dad58173)
pop3: Start autoexpunging only after client is disconnected
M src/pop3/pop3-client.c
2017-03-23 15:17:44 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b8596c89dd)
lib: Add tests for extensions
M src/lib/test-var-expand.c
2016-11-18 14:47:05 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (0306a3100b)
lib: Check var_expand_long return value correctly
M src/lib/var-expand.c
2016-11-22 10:54:43 +0200 Aki Tuomi <[email protected]> (2c2bcffb5d)
lib: Fix whitespace in var-expand.c
M src/lib/var-expand.c
2017-02-25 23:34:03 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d42321abd7)
lib-dict: Fix test-dict linkage
M src/lib-dict/Makefile.am
2017-03-22 10:32:58 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (10f126b558)
dict: Update correct counter in dict_iterate_init
M src/lib-dict/dict.c
2017-03-22 10:32:04 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8e066cce95)
lib-dict: Ensure init returns dict
M src/lib-dict/dict.c
2017-03-10 10:05:14 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2461ec3b9c)
lib-oauth2: Add missing content-type header
M src/lib-oauth2/oauth2-introspect.c
2017-03-02 18:32:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (e0f82a1aa9)
imap-hibernate: Avoid using casts
M src/imap-hibernate/imap-client.c
2017-03-01 12:29:17 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (71cb0c7469)
imap-hibernate: Support userdb in var_expand
M src/imap-hibernate/imap-client.c
2017-02-27 20:40:43 +0200 Aki Tuomi <[email protected]> (1f58bee818)
doveadm: Add missing newline to proxy kick output
M src/doveadm/doveadm-proxy.c
2017-02-27 20:38:43 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e5d0656cb2)
master: add cassandra to printed build options
M src/master/main.c
2017-02-26 15:37:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (850778e1fc)
auth: Removed dead code from oauth2 mechanism
M src/auth/mech-oauth2.c
2017-02-24 12:13:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (d85468c008)
auth: Export oauth2 pass_attrs to passdb reply
M src/auth/db-oauth2.c
2017-02-23 12:41:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aee9f241f3)
mech-oauth2: Clarify logging
M src/auth/mech-oauth2.c
2017-02-17 15:45:34 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (8054b019bd)
mech-oauth2: Fix gs2-header parsing
M src/auth/mech-oauth2.c
2017-02-14 18:48:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (98d09d4454)
README: Add note that we support OAUTHBEARER and XOAUTH2
M README.md
2017-02-13 15:33:21 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b3523787a7)
lib-lda: Implement %{storage_id} correctly
M src/lib-lda/mail-deliver.c
2017-02-13 20:47:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ee92a55764)
TODO: Remove some of the implemented features
M TODO
2017-02-08 23:01:32 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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:[email protected]:8983/solr/dovecot/
M src/plugins/fts-solr/solr-connection.c
2017-02-06 14:05:47 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9aa91e371b)
imap: Free search updates on CLOSE
M src/imap/cmd-close.c
2017-02-05 16:10:44 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (2f2b1b7258)
auth: Handle delayed credentials identically in auth-workers
M src/auth/auth-request.c
2017-02-06 10:55:40 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da61fd89fa)
lib: Fix compiler warning with non-Linux
M src/lib/nfs-workarounds.c
2017-01-25 23:26:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9b5576a265)
lib: Fix -Wstrict-bool compiler warnings.
M src/lib/test-path-util.c
2017-01-30 19:45:28 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (edaf7b320f)
director: Add more debug logging for moving & killing users
M src/director/director.c
2017-01-20 16:06:48 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7c4ff436f9)
lib-dict: Compiler warning fix
M src/lib-dict/dict.h
2017-01-16 16:58:31 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (92b98c7ec5)
doveadm dict get: Support printing multiple values.
M src/doveadm/doveadm-dict.c
2017-01-09 20:32:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (769cbb608e)
cassandra: Add support for "bigint" value type.
M src/lib-sql/driver-cassandra.c
2017-01-09 22:39:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (96de40971a)
Fix link failure against libressl.
M src/lib-ssl-iostream/dovecot-openssl-common.c
2016-12-23 14:15:49 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (405fc7c0f9)
stats: use o_stream_nsend in client-export
M src/stats/client-export.c
2016-12-22 11:58:29 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b48648a49c)
lib: Remove dead code from unit test
M src/lib/test-malloc-overflow.c
2016-11-29 23:37:43 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (637ea12c03)
master: PROCESS-STATUS output was duplicated many times
M src/master/master-client.c
2016-12-15 17:43:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (5c0d3b064b)
imapc: Minor debug logging improvement
M src/lib-imap-client/imapc-connection.c
2016-12-15 17:36:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (ad5ece2a07)
lib: Compiler warning fix for 32bit systems
M src/lib/test-malloc-overflow.c
2016-12-12 07:28:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (182093c9a4)
sha3: Fix typo in ifdef
The code was supposed to be used with big endian machines.
Reported by [email protected]
M src/lib/sha3.c
2016-12-12 15:21:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b363b99361)
configure: Fix HAVE_MYSQL_SSL_CIPHER check
M m4/want_mysql.m4
2016-12-06 18:14:31 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/plugins/mail-crypt/doveadm-mail-crypt.c
2016-12-05 17:29:08 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/macros.h
2016-12-04 03:45:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ad3dea8cb)
man: Update doveadm director flush description
M doc/man/doveadm-director.1.in
2016-11-30 12:34:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (ceb2c6d913)
mail-crypt: Remove dead assigment
M src/plugins/mail-crypt/mail-crypt-key.c
2016-11-29 23:19:37 +0200 Aki Tuomi <[email protected]> (a62b4fb5f0)
lib: Add test for hmac helper
M src/lib/test-hmac.c
2016-11-29 23:18:56 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (be569425db)
autogen: Use HTTPS for wiki
M autogen.sh
2016-11-28 15:20:01 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9097643138)
acl: Fix compiler warning
M src/plugins/acl/acl-backend.c
2016-11-28 05:21:06 +0200 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (228765c459)
Add suppression for openssl leak
M run-test-valgrind.supp
2016-11-25 00:45:35 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3c503fa10d)
lib-dcrypt: Add assert that vfs is initialized
M src/lib-dcrypt/dcrypt.c
2016-11-24 19:53:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (7a73401fd0)
lib-index: Compiler warning fix
M src/lib-index/mail-transaction-log.c
2016-11-22 18:34:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (80528a9510)
lib-index: Compiler warning fix.
M src/lib-index/mail-transaction-log.c
2016-11-23 23:19:05 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0fd7143c38)
lib-index: Compiler warning fix
M src/lib-index/mail-index-map-read.c
2016-11-18 15:46:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2ba5c38d7b)
imap: Use correct format specifier for highestmodseq
M src/imap/imap-state.c
2016-11-16 13:29:49 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-ssl-iostream/dovecot-openssl-common.c
2016-11-15 12:55:44 +0100 Apollon Oikonomopoulos <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a253200318)
doveadm-director: Include tag in add line
M src/doveadm/doveadm-director.c
2016-11-15 09:33:15 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (321750ab6e)
director: Don't access freed memory during deinit
M src/director/mail-host.c
2016-11-10 18:24:46 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (3d2fe17f23)
director: remove unused variable from doveadm-connection
M src/director/doveadm-connection.c
2016-11-09 00:48:32 +0100 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4217dcdec0)
lib: Add test vectors for message digests
M src/lib/test-hash-method.c
2016-11-05 11:48:27 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e1d4f6f6ab)
auth: Use buffer_truncate_rshift_bits
M src/auth/auth-policy.c
2016-10-27 16:20:20 +0300 Aki Tuomi <[email protected]> (14c903cfef)
lib: Add tests for hashed var-expand
M src/lib/test-var-expand.c
2016-10-27 15:37:45 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (e0dddec702)
lib: Do not consume {} inside %{}
M src/lib/var-expand.c
2016-11-01 20:14:43 +0200 Aki Tuomi <[email protected]> (ef2bf290fe)
lib: Add unit test for buffer truncate
M src/lib/test-buffer.c
2016-11-01 20:06:46 +0200 Aki Tuomi <[email protected]> (e07b8f034b)
lib: Add buffer truncate
M src/lib/buffer.c
M src/lib/buffer.h
2016-11-02 23:00:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (243c1821db)
lib: Fixed net_str2port*() comments
M src/lib/net.h
2016-10-25 20:52:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b79120aa36)
doveadm director flush: Added --max-parallel parameter.
M src/doveadm/doveadm-director.c
2016-10-24 22:41:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cca98b5acc)
lib: Add test for ioloop fd polling
M src/lib/test-ioloop.c
2016-10-24 10:13:42 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e8a936d1e2)
lib: Added unit tests for string tabescaping.
M src/lib/test-strescape.c
2016-10-20 17:45:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f915d2f0b7)
lib: Added i_strchr_to_next()
M src/lib/strfuncs.h
2016-10-20 12:24:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (5e8e8fb013)
lib-ldap: Fixed compiling with OpenBSD
M src/lib-ldap/ldap-search.c
2016-10-20 16:30:49 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (de41dbb482)
doveadm service stop: Convert to doveadm v2 API
M src/doveadm/doveadm-master.c
2016-10-20 13:10:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b60f51bfcc)
lib-program-client: Linking fix.
M src/lib-program-client/Makefile.am
2016-10-19 23:07:58 +0200 Stephan Bosch <[email protected]> (3781fc206f)
Fixed copyright notice.
M src/lib/test-uri.c
2016-10-19 21:03:39 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7725d60aea)
lib: Add reference counting to child_wait_pid
M src/lib/child-wait.c
2016-10-17 12:34:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (46b0db4a0d)
lib: Add null_strcasecmp
M src/lib/strfuncs.c
M src/lib/strfuncs.h
2016-10-17 19:38:07 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (335ac4abc3)
INSTALL: Use markdown style
D INSTALL
A INSTALL.md
M Makefile.am
2016-10-12 09:08:51 +0300 Aki Tuomi <[email protected]> (73650a8873)
README: Use markdown style
D README
A README.md
2016-10-12 09:38:05 +0300 Aki Tuomi <[email protected]> (16d9e9dd87)
git: Ignore README and INSTALL
M .gitignore
2016-10-12 09:36:46 +0300 Aki Tuomi <[email protected]> (48e4a5c73f)
configure: Detect pandoc for building documentation
M Makefile.am
M configure.ac
2016-10-12 10:30:16 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (144e0b545e)
auth: Compiler warning fix
M src/auth/db-ldap.c
2016-09-21 10:55:47 +0300 Matwey V. Kornilov <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9fc9965693)
doveadm proxy kick: Support multiple user parameters.
M src/doveadm/doveadm-proxy.c
2016-10-06 14:53:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (151fc06a44)
doveadm-sync: Document end-date flag
M doc/man/doveadm-sync.1.in
2016-10-10 10:36:52 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0f27d0c933)
log: Minor error logging and comment improvement.
M src/log/log-connection.c
2016-10-06 13:09:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/plugins/fts/fts-storage.c
2016-10-04 17:31:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (85601125c9)
director: Ignore duplicates in director_servers setting.
M src/director/director-host.c
2016-09-30 12:36:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (042c55b2fd)
doveadm-import: Update manpage
M doc/man/doveadm-import.1.in
2016-09-29 10:17:05 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e5a55bb6b8)
lib: Add test for pending io without timeouts
M src/lib/test-ioloop.c
2016-09-22 14:13:43 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1d4f019ffe)
lib: test-istream-chain fixes
M src/lib/test-istream-chain.c
2016-09-20 18:08:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9a6fe61819)
imap-login: Add missing brace
M src/imap-login/imap-proxy.c
2016-09-20 18:51:18 +0300 Aki Tuomi <[email protected]> (c24150b68e)
imap-proxy: Fix typo in comment
M src/imap-login/imap-proxy.c
2016-09-20 15:02:42 +0300 Aki Tuomi <[email protected]> (abd4203d97)
imap-login: Honor nopipelining during preauth
M src/imap-login/imap-proxy.c
2016-09-20 08:51:29 -0400 Josef 'Jeff' Sipek <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (12f86e86d9)
doveconf: Hide any _api_key
M src/config/doveconf.c
2016-09-05 16:26:56 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d3cc15f20e)
lib-test: Added missing va_end() call.
M src/lib-test/test-common.c
2016-09-09 00:59:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4fca0e3056)
stats: Include PIDs in "Duplicate session ID" errors.
M src/stats/mail-session.c
2016-09-08 22:08:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f2ed47f806)
configure: Added --enable-static-checker parameter
M configure.ac
2016-09-07 11:52:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (af2cc755b9)
doveadm flags: Sync mailbox after committing transaction.
M src/doveadm/doveadm-mail-flags.c
2016-09-07 16:45:09 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7d0d1c5613)
dcrypt: Test for stream prefetch
M src/lib-dcrypt/test-stream.c
2016-08-25 12:26:55 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8cf55b1c05)
lib: Minor t_push() optimization - use unlikely()
M src/lib/data-stack.c
2016-08-29 00:03:54 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/director/login-connection.c
M src/lib/file-lock.c
2016-08-31 09:20:49 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (05069f025d)
doveadm-server: Reset error code between calls
M src/doveadm/client-connection.c
2016-08-28 19:55:29 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (16161da671)
lib-fts: Add missing include
M src/lib-fts/fts-filter-common.c
2016-08-23 14:08:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3764f786a6)
quota-dict: Make sure all transactions complete
M src/plugins/quota/quota-dict.c
2016-08-18 13:37:28 +0300 Aki Tuomi <[email protected]> (563c1e3b45)
systemd.service: Add required attributes
M dovecot.service.in
2016-08-18 14:48:50 +0300 Aki Tuomi <[email protected]> (7424d35ff1)
pop3: Fix deleted_count expansion
M src/pop3/pop3-client.c
2016-08-08 18:14:07 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-json-tree.c
2016-06-22 11:17:09 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (6b2b18f8bb)
lmtp: Support %{userdb:*} variables in mail_log_prefix
M src/lmtp/commands.c
2016-08-15 23:43:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e07ae96671)
md5: Initialize block
Makes static analysers happy
M src/lib/md5.c
2016-08-16 17:15:16 +0300 Timo Sirainen <[email protected]> (5641711845)
config: Fixed pkgsysconfdir path in ssl_dh warnings.
M src/config/Makefile.am
2016-08-16 12:41:00 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (ef55b15744)
doveconf: hide ssl_key and ssl_dh without -P
M src/config/doveconf.c
2016-08-16 14:53:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (902677f2ed)
dcrypt: Fix encrypted test keys
M src/lib-dcrypt/test-crypto.c
2016-08-15 11:32:31 +0300 Aki Tuomi <[email protected]> (8d9ee7e1c3)
dcrypt: Update v2 sample
M src/lib-dcrypt/sample-v2.asc
2016-08-15 11:27:04 +0300 Aki Tuomi <[email protected]> (36c6e4995b)
dcrypt: Retrieve key length correctly
M src/lib-dcrypt/dcrypt-openssl.c
2016-08-13 02:26:16 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (153e08d8f0)
lib-storage: remove obsolete constants
M src/lib-storage/mail-error.h
2016-08-13 02:10:52 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2511d4cccf)
doveadm-dump: Add missing include
M src/doveadm/doveadm-dump-dcrypt-key.c
2016-08-11 17:27:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cf1b9b686b)
dict-client: Improved timeout error message.
M src/lib-dict/dict-client.c
2016-08-10 17:54:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (22140eb9d0)
Fixed copyright notices.
M src/auth/password-scheme-pbkdf2.c
2016-08-10 23:53:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (accba2f170)
lmtp: Fixed using default port 24
Broken by dfe53c824.
M src/lmtp/commands.c
2016-08-08 19:25:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (60eebc543f)
doveadm: Removed unused code.
M src/doveadm/doveadm-mail-save.c
2016-08-08 16:15:26 +0300 Timo Sirainen <[email protected]> (94a1fedb51)
dsync: Fixed empty-header-workaround
M src/doveadm/dsync/dsync-mailbox-import.c
2016-08-08 16:06:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cde4b81189)
doveadm: Use str_append_tabescaped_n
M src/doveadm/doveadm-print-server.c
2016-08-08 11:23:02 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (9ca065aa3c)
doveadm: Streamline tabunescape
M src/doveadm/server-connection.c
2016-08-08 12:36:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2016-06-01 13:57:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4930d4fef1)
lib-dcrypt: Support nonblocking istreams.
M src/lib-dcrypt/istream-decrypt.c
2016-08-04 19:45:35 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b617e6cf36)
lib-dcrypt: Do not unref key twice
M src/lib-dcrypt/dcrypt-openssl.c
2016-08-03 10:14:35 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (feda872009)
lib-index: Fixed debug logging.
M src/lib-index/mail-cache-lookup.c
2016-07-29 01:02:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (350d6194f7)
doveadm proxy kick: Fixed output message.
M src/doveadm/doveadm-proxy.c
2016-08-02 21:10:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d0fa29db7d)
dict-client: Improved timeout error message
M src/lib-dict/dict-client.c
2016-08-02 01:02:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6c969ac21a)
auth: Remove i_assert for credentials scheme
M src/auth/auth-request.c
2016-07-14 20:53:46 +0200 Stephan Bosch <[email protected]> (49f2e4b6dd)
Added LIBDOVECOT_PUSH_NOTIFICATION_INCLUDE to dovecot.m4.
M m4/dovecot.m4
2016-07-14 16:16:52 -0500 Timo Sirainen <[email protected]> (ab2f731c44)
dict: Fixed crash on iteration handling.
M src/dict/dict-commands.c
2016-07-14 07:22:04 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (0d16e4b4ba)
doveadm fetch: Fixed body.snippet.
M src/doveadm/doveadm-mail-fetch.c
2016-07-13 15:10:57 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (e84ffebc21)
auth: Fail request if last passdb is noauthenticate
M src/auth/auth-request.c
2016-07-11 14:56:25 +0300 Aki Tuomi <[email protected]> (ec18e73789)
gssapi: Add missing PASSDB_RESULT_NEXT clause
M src/auth/mech-gssapi.c
2016-07-11 16:13:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (448e068f2f)
passdb: Skip credentials handling for noauthenticate
M src/auth/passdb.c
2016-07-07 08:59:18 +0300 Aki Tuomi <[email protected]> (85bc1cc40b)
lib-dovecot: Turn on RELRO
M src/lib-dovecot/Makefile.am
2016-07-11 11:28:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cbe62867ab)
Compiler warning fix
M src/doveadm/doveadm-zlib.c
2016-07-06 15:11:54 +0300 Aki Tuomi <[email protected]> (99c74b7e9d)
m4: Include BINARY_*
M m4/dovecot.m4
2016-04-19 16:02:38 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (35f48128b3)
fs-metawrap: Use fs_wrapper_*() wherever possible
M src/lib-fs/fs-metawrap.c
2016-07-05 17:55:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (87a6b7df39)
lib: Updated istream's stream_errno comments.
M src/lib/istream.h
2016-07-06 13:24:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (626098f335)
doveadm-pw: Use debug value when loading modules
M src/doveadm/doveadm-pw.c
2016-07-04 18:06:56 +0300 Aki Tuomi <[email protected]> (d6ff5e9d21)
configure: Fix static array check
M m4/static_array.m4
2016-07-04 11:57:43 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (78d3297718)
man: Provide usage for doveadm mailbox update
M doc/man/doveadm-mailbox.1.in
2016-07-01 12:23:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d82c8af717)
lib-dcrypt: Removed dead code.
M src/lib-dcrypt/ostream-encrypt.c
2016-07-01 01:11:15 +0300 Timo Sirainen <[email protected]> (f54d511597)
lib: Fix to compiling STATIC_ARRAY in C++ code
M src/lib/macros.h
2016-06-30 20:24:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (3ba8511f99)
lib-dcrypt: Compiling fix
M src/lib-dcrypt/dcrypt.c
2016-06-30 16:21:40 +0300 Timo Sirainen <[email protected]> (3dc508b528)
imap: Fixed reading LDA settings from config.
M src/imap/imap-settings.c
2016-06-30 14:08:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a29670d7a9)
lmtp: Removed assert, which triggers if anvil connect fails.
M src/lmtp/commands.c
2016-06-30 12:08:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (77bb5db43a)
auth-request: Whitespace fix
M src/auth/auth-request.c
2016-06-30 10:03:18 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (3a2f060811)
dcrypt: Free keys in test-stream
M src/lib-dcrypt/test-stream.c
2016-06-30 09:06:51 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (815fc205d6)
maildir: Code comment update
M src/lib-storage/index/maildir/maildir-sync.c
2016-06-29 18:33:27 +0300 Timo Sirainen <[email protected]> (034375aa3a)
dsync: Add session ID to log line prefix.
M src/doveadm/doveadm-dsync.c
2016-06-29 18:31:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5165bc0ffc)
auth: Avoid nonstandard #pragma once
M src/auth/auth-policy.h
2016-06-29 14:30:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (95087a44db)
auth-policy: Report success earlier
M src/auth/auth-request-handler.c
2016-06-29 00:37:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3b340beaa3)
dict-ldap: Fixed linking with OSX
M src/plugins/dict-ldap/Makefile.am
2016-06-28 10:15:02 +0300 Timo Sirainen <[email protected]> (afddc9e5e6)
auth: Compiler warning fixes
M src/auth/policy.c
2016-06-03 21:35:48 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bd5684768b)
lib-dcrypt: Make static analyzer happier
M src/lib-dcrypt/test-crypto.c
2016-06-27 14:43:58 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (000ac73575)
welcome plugin: -Wstrict-bool warning fix
M src/plugins/welcome/welcome-plugin.c
2016-06-21 22:06:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a18ba96c4e)
doveadm: Fixed --long-parameters handling
M src/doveadm/doveadm-cmd.c
2016-06-20 20:06:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (027f9b6159)
auth: passdb-ldap Logging message is modified.
M src/auth/passdb-ldap.c
2016-06-08 16:41:04 +0300 Baofeng Wang <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0d8dc754e9)
Makefile: Added run-test-valgrind.supp to EXTRA_DIST
M Makefile.am
2016-06-20 20:47:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (eda0261e75)
lib-settings: Minor error message fix.
M src/lib-settings/settings-parser.c
2016-06-20 18:46:04 +0300 Timo Sirainen <[email protected]> (7a6a11d7f5)
Updated run-test-valgrind.supp
M run-test-valgrind.supp
2016-06-20 17:52:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ff95c6488e)
lib-dcrypt: Added library dependencies to unit tests
M src/lib-dcrypt/Makefile.am
2016-06-20 12:58:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d470d4addd)
lib-dict-extra: Compiler warning fix
M src/lib-dict-extra/dict-fs.c
2016-06-13 17:10:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (763e74b20d)
doveadm dump: Updated obox's oid output.
M src/doveadm/doveadm-dump-index.c
2016-06-16 22:02:08 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d86910a956)
lib-dcrypt: Fix error_r pointer verification.
M src/lib-dcrypt/dcrypt.c
2016-06-14 22:32:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (f86bd28cf4)
dcrypt: Arm deinitialization code
M src/lib-dcrypt/dcrypt.c
2016-06-14 12:08:49 +0300 Aki Tuomi <[email protected]> (1471b42397)
dcrypt: Add test for public key loading
M src/lib-dcrypt/test-crypto.c
2016-06-14 12:08:34 +0300 Aki Tuomi <[email protected]> (5029a19465)
dcrypt-openssl: Pass pointer safely
M src/lib-dcrypt/dcrypt-openssl.c
2016-06-14 10:49:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a521f9352)
master: make setting listen empty an error
M src/master/master-settings.c
2016-06-06 10:28:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8266226f9a)
doveadm-server: Disable idle timeout for now
M src/doveadm/client-connection-http.c
2016-06-07 03:47:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (65c570f185)
dict: Fixed hang when pipelining multiple commands.
M src/dict/dict-connection.c
2016-06-06 00:07:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a21d4eb322)
lib-dcrypt: Fixed function return type.
M src/lib-dcrypt/dcrypt-openssl.c
2016-06-04 03:47:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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
<[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6f00b37199)
print CFLAGS on ./configure
M configure.ac
2016-05-09 15:24:28 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (98ff8998f6)
lib-fs: Added more asserts
M src/lib-fs/fs-api.c
2016-06-01 17:06:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b90dc2ae3d)
lib-dcrypt: Fixed check program dependencies
M src/lib-dcrypt/Makefile.am
2016-06-01 00:19:41 +0300 Timo Sirainen <[email protected]> (4372103cb6)
lib-dcrypt: Fixed dcrypt_openssl_generate_keypair()
M src/lib-dcrypt/dcrypt-openssl.c
2016-06-01 00:12:44 +0300 Timo Sirainen <[email protected]> (0f56c2ae33)
lib: Fixed file_copy() after recent changes.
M src/lib/file-copy.c
2016-05-31 17:16:17 +0300 Timo Sirainen <[email protected]> (567ace1f60)
dict-client: Fixed idle_msecs setting.
M src/lib-dict/dict-client.c
2016-05-31 17:06:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (e20f592075)
lib: iostream-temp: Fixed o_stream_send_istream()
M src/lib/iostream-temp.c
2016-05-30 22:39:39 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (99e5f462c7)
lib-dcrypt: Fix strict type-punning warning
M src/lib-dcrypt/dcrypt-openssl.c
2016-05-30 22:30:31 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (87abc256d6)
lib-dcrypt: Remove duplication of samples
M src/lib-dcrypt/Makefile.am
2016-05-30 21:41:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8d5a200b82)
lib-dcrypt: Compiler warning fixes
M src/lib-dcrypt/dcrypt-openssl.c
2016-05-27 13:01:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4673195d0f)
doveadm mailbox delete: Added --unsafe option.
M src/doveadm/doveadm-mail-mailbox.c
2016-05-27 22:15:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (9385b31756)
configure: Include lib-dcrypt in core
M configure.ac
2016-04-27 14:08:00 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (5d16ff58f9)
doveadm-director: Fix commands so that they compile
M src/doveadm/doveadm-director.c
2016-05-27 11:29:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (264a0f2420)
doveadm-director: Convert to ver2 infra
M src/doveadm/doveadm-director.c
2016-05-29 19:14:58 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (567d2fd59e)
lazy-expunge: Fixed error logging.
M src/plugins/lazy-expunge/lazy-expunge-plugin.c
2016-05-27 18:30:01 +0300 Timo Sirainen <[email protected]> (589bc28b54)
dsync: Debug logging improvement.
M src/doveadm/dsync/dsync-mailbox-import.c
2016-05-27 14:38:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4fecb0a09c)
doveadm: Fixed sending command -parameters to doveadm-server
M src/doveadm/doveadm-mail.c
2016-05-26 21:40:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (db0f43524a)
dict-sql: Fixed memory leak
M src/lib-dict/dict-sql-settings.c
2016-05-22 10:38:18 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2c2934e719)
dict: Added missing main.h from previous commit
A src/dict/main.h
2016-05-25 20:00:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c8920d5f3d)
lib: Minor panic message improvement.
M src/lib/ioloop-epoll.c
2016-05-19 23:19:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30be8c9bea)
lib: Compiler warning fix
M src/lib/process-title.c
2016-05-18 22:51:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a39c48f798)
lib: ostream-file unit test: Test sendfile()
M src/lib/test-ostream-file.c
2016-05-18 22:12:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (56f5cea321)
lib: istream-file: Fixed o_stream_send_istream()
M src/lib/ostream-file.c
2016-05-18 18:51:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bf87a5247c)
lib: Added comment to what ostream.offset actually is
M src/lib/ostream.h
2016-05-18 17:56:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a067446575)
lib: Don't set ostream buffer as blocking
M src/lib/ostream-buffer.c
2016-05-18 17:42:06 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (61d89b0ca0)
lmtp: Fixed error logging when writing to temp file
M src/lmtp/commands.c
2016-05-16 16:58:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (2fb246462d)
lib: istream-file: Code cleanup
No functional changes
M src/lib/ostream-file.c
2016-05-16 16:09:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4b5a2e923b)
doveadm-mailbox-delete: Restore recursive parameter
M src/doveadm/doveadm-mail-mailbox.c
2016-05-18 09:29:04 +0300 Aki Tuomi <[email protected]> (c7fd0af4fd)
dict: Fix crash when no dictionaries defined
M src/dict/dict-connection.c
2016-05-17 00:00:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (5f7f5baf6c)
doveadm-mail-mailbox: Whitespace fix
M src/doveadm/doveadm-mail-mailbox.c
2016-05-17 23:31:29 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/istream.h
2016-05-15 00:22:12 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (af53c056cf)
uri-util: Improved implementation of uri_data_encode().
M src/lib/uri-util.c
2016-05-08 23:12:07 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (62ed3307fb)
uri-util: Added complete syntax comment.
M src/lib/uri-util.c
2016-05-09 00:31:43 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (526af69146)
lib-fs: Minor code cleanup
M src/lib-fs/fs-api.c
2016-05-12 07:23:51 -0400 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d72603a00f)
README: Added missing supported RFCs
M README
2016-05-09 00:55:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b2d3b5298b)
dict-memcached-ascii: Fixed async commit
M src/lib-dict/dict-memcached-ascii.c
2016-05-06 13:42:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2ed05ea827)
config: Added support for SET_TIME_MSECS
M src/config/config-request.c
2016-05-06 21:45:44 +0300 Timo Sirainen <[email protected]> (7cd055a212)
cassandra: Support milliseconds for request/connect_timeout
M src/lib-sql/driver-cassandra.c
2016-05-06 21:44:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (04d809e945)
dict-ldap: Properly duplicate result
M src/lib-dict-extra/dict-ldap.c
2016-05-06 17:24:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c61779cfa4)
lib: Improved connection_disconnect_reason()
M src/lib/connection.c
2016-05-05 18:10:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b11876430f)
stats: Fixed ADD-USER stats tracking (auth stats)
M src/stats/mail-user.c
2016-05-04 18:34:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2fa41e3cd6)
doveadm who: Fixed listing LMTP sessions
M src/doveadm/doveadm-who.c
2016-05-03 20:17:12 +0300 Timo Sirainen <[email protected]> (56bcd695f9)
lib: Added more unit tests to str_*()
M src/lib/test-str.c
2016-05-03 20:15:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (88bcf81213)
lib: Optimize str_append_n()
M src/lib/str.c
2016-04-30 14:03:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (21c4d79377)
lib-ldap: Handle various LDAP failures correctly
M src/lib-ldap/ldap-connection.c
2016-05-02 16:21:27 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eaae346235)
.gitignore: Added *~
M .gitignore
2016-04-30 14:55:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3cd59a62af)
doveadm-server: Handle istream send error.
M src/doveadm/client-connection-http.c
2016-04-16 03:54:00 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a9c26c907e)
quota: Fixed debug logging for quota_over_flag
M src/plugins/quota/quota.c
2016-04-29 18:53:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2386c9f53c)
configure: Fixed (again) --with-ldap=plugin
M m4/want_ldap.m4
2016-04-29 12:34:23 +0300 Timo Sirainen <[email protected]> (f7ef214d77)
lib-index: Memory allocation optimization
M src/lib-index/mail-index-map.c
2016-04-29 10:53:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (26c0f5a54d)
lib-sql: Fixed building Cassandra as plugin
M src/lib-sql/Makefile.am
2016-04-25 20:14:19 +0300 Timo Sirainen <[email protected]> (9a85ec311d)
fts-lucene: Rescan skipped namespace roots.
M src/plugins/fts-lucene/lucene-wrapper.cc
2016-04-25 20:13:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (576326ec91)
.gitignore: Updated to include auto-added m4/*
M .gitignore
2016-04-22 22:36:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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" [email protected]
[email protected]'s home is /var/mail/[email protected]
M src/doveadm/doveadm-auth.c
2016-04-19 19:07:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (84f697c5e3)
lib: bits - GCC (and clang) provide bit-twiddle intrinsics, use them
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/bits.c
M src/lib/bits.h
2016-02-05 15:55:15 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-bits.c
2016-02-03 19:18:21 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-bits.c
2016-02-03 18:34:13 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/bits.h
2016-02-03 17:37:27 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2016-02-03 17:33:05 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
2016-04-08 13:34:59 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (84d2707fd6)
director: director_consistent_hashing=yes default
M src/director/director-settings.c
2016-04-18 21:52:37 +0300 Timo Sirainen <[email protected]> (c1d01419ff)
director: Compiler warning fix
M src/director/main.c
2016-04-14 14:12:08 +0300 Martti Rannanjärvi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (60c456353d)
configure: Fixed building lib-ldap / dict-ldap --with-ldap=plugin
M configure.ac
2016-04-13 17:17:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (592289f4d1)
configure: Switched version number to 2.3.devel
M configure.ac
2016-04-13 11:22:12 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dd8dbd10af)
lib-dict: Reuse LDAP connections
M src/lib-dict/dict-ldap.c
2016-04-11 17:29:02 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (d4a4ddf45c)
lib-ldap: Do not call NULL callback
M src/lib-ldap/ldap-connection.c
2016-04-12 21:22:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cc5493dc21)
dict-ldap: Compiler warning fix
M src/lib-dict/dict-ldap.c
2016-04-11 09:40:22 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (b4c47b7787)
configure: Add lib-ldap
M configure.ac
M src/Makefile.am
2016-04-11 09:37:39 +0300 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (76537b1991)
doveadm-proxy: Change to work with doveadm ver2
M src/doveadm/doveadm-proxy.c
2016-04-04 12:22:06 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (05e8b3e275)
lib: Updated fdpass.h comments.
M src/lib/fdpass.h
2016-04-03 22:54:17 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (4adefdb40c)
quota: Fix NetBSD build.
M src/plugins/quota/quota-fs.c
2016-03-31 12:41:25 +0300 Aki Tuomi <[email protected]> (9ba5c4965c)
doveadm-mail: Honor -u flag on v1 commands
M src/doveadm/doveadm-mail.c
2016-03-30 16:24:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (315aa3cca6)
doveadm: Fixed reading USER environment for v1 commands.
M src/doveadm/doveadm-mail.c
2016-03-29 20:38:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6f8d511666)
director: Fixed memory leak when killing a user.
M src/director/director.c
2016-03-24 10:00:00 +0900 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fcb8a4a04d)
doveadm-server: Fixed initializing username for mail commands.
M src/doveadm/client-connection.c
2016-03-23 10:08:06 +0900 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (20ad75b42d)
doveadm: Fix typos in error messages
M src/doveadm/client-connection-http.c
2016-03-11 18:01:33 +1300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 [email protected]
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2839c7cdfc)
doveadm who: Don't require mask parameter.
M src/doveadm/doveadm-who.c
2016-03-04 13:12:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (78d33b52c5)
fts: Added "doveadm fts tokenize" command.
M src/plugins/fts/doveadm-fts.c
2016-03-03 11:53:05 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (25df2d3b18)
doveadm-http: Drop surplus log prefix
M src/doveadm/client-connection-http.c
2016-03-02 16:08:06 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (2642aad18a)
doveadm-http: Improve authentication related code
M src/doveadm/client-connection-http.c
2016-03-02 11:04:35 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (19f03098ca)
doveadm-dict: Use ver2 structures
M src/doveadm/doveadm-dict.c
2016-02-29 17:13:32 +0200 Aki Tuomi <[email protected]> (aea3116a9a)
doveadm-dict: Remove i_fatal() usage
M src/doveadm/doveadm-dict.c
2016-02-29 16:46:02 +0200 Aki Tuomi <[email protected]> (967bcc77ff)
doveadm-fs: Use doveadm_print instead of printf
M src/doveadm/doveadm-fs.c
2016-02-29 13:23:56 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a81dccf320)
doveadm-mail-index: Use integer parameter type
M src/doveadm/doveadm-mail-index.c
2016-02-28 22:23:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5592b04741)
doveadm-fs: Use ver2 structures
M src/doveadm/doveadm-fs.c
2016-02-27 11:13:24 +0200 Aki Tuomi <[email protected]> (0746d8c498)
doveadm-cmd: Support non-strings in compat wrapper
M src/doveadm/doveadm-cmd.c
2016-02-28 18:33:01 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6ab6a7d1d8)
doveadm: Fixed command parameter handling for doveadm-server.
M src/doveadm/client-connection.c
2016-02-26 16:05:01 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (da7c6d7313)
doveadm: Fixed parsing field/flag/file parameters.
M src/doveadm/doveadm-mail.c
2016-02-26 15:25:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (76160a8259)
doveadm: Fully populate mail_cmd in ver2 wrapper
M src/doveadm/doveadm-mail.c
2016-02-25 10:34:34 +0200 Aki Tuomi <[email protected]> (e47f08b87b)
doveadm-fts: Use ver2 structures
M src/plugins/fts/doveadm-fts.c
2016-02-25 10:17:16 +0200 Aki Tuomi <[email protected]> (57a2881cb8)
doveadm-acl: Use ver2 structures
M src/plugins/acl/doveadm-acl.c
2016-02-25 09:58:55 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (949c3973ed)
doveadm-purge: Use ver2 structures
M src/doveadm/doveadm-mail.c
2016-02-25 09:53:37 +0200 Aki Tuomi <[email protected]> (f2c25ca2e1)
doveadm-force-resync: Use ver2 structures
M src/doveadm/doveadm-mail.c
2016-02-25 09:46:40 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ed5452f5f)
doveadm-log: Use ver2 structure
M src/doveadm/doveadm-log.c
2016-02-23 14:14:16 +0200 Aki Tuomi <[email protected]> (8fdbe2f47d)
doveadm-log: Use doveadm_print() for output
M src/doveadm/doveadm-log.c
2016-02-23 14:13:37 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (17bfcf534d)
doveadm: Code cleanup - remove duplicate code
M src/doveadm/client-connection-http.c
2016-02-22 22:10:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3fd8086f71)
doveadm-cmd: Add command flags
M src/doveadm/doveadm-cmd.h
2016-02-22 21:39:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (e6e5687226)
quota: Use doveadm ver2 structures
M src/plugins/quota/doveadm-quota.c
2016-02-22 21:28:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0d55fdfbc1)
doveadm: Added support for "file" parameters
M src/doveadm/doveadm-mail.c
2016-02-22 18:46:29 +0200 Timo Sirainen <[email protected]> (368ec06f20)
doveadm: Fixed memory leak at deinit
M src/doveadm/doveadm-cmd.c
2016-02-22 18:42:42 +0200 Timo Sirainen <[email protected]> (bce90a4f19)
doveadm: Fixed double-free when using -F parameter
M src/doveadm/doveadm-mail.c
2016-02-22 18:42:10 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b4a7ea605c)
doveadm-http: Correctly initialize parameters
M src/doveadm/client-connection-http.c
2016-02-21 18:37:24 +0200 Aki Tuomi <[email protected]> (f169d423d8)
doveadm: Fixed using array type parameters.
M src/doveadm/doveadm-cmd.c
2016-02-21 18:36:19 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (25f12bc904)
doveadm: Fixed support for --long-option arguments
M src/doveadm/doveadm-cmd.c
2016-02-21 18:32:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1f35f54096)
lib: Added unit test for t_strarray_join()
M src/lib/test-strfuncs.c
2016-02-21 17:44:38 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (bb5cede9c9)
doveadm: Compiler warning fix.
M src/doveadm/client-connection.c
2016-02-21 03:40:48 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d09af09678)
Makefile: Added missing client-connection-private.h
M src/doveadm/Makefile.am
2016-02-19 16:11:58 +0200 Timo Sirainen <[email protected]> (22d75d4709)
dovecot.service: Fixed PIDFile path
M Makefile.am
M dovecot.service.in
2016-02-19 16:03:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (53cc71cae8)
dovecot: improve systemd support
M Makefile.am
M dovecot.service.in
2016-02-16 18:34:19 +0200 Timo Sirainen <[email protected]> (ebcd7cf40e)
fts: When searching data headers, don't expand search keys to all languages.
For example "SEARCH HEADER Message-Id [email protected]" works better the less
expansion there is for "[email protected]".
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ec39e55c70)
Makefile: Added missing ostream-escaped.h
M src/lib/Makefile.am
2016-02-10 15:39:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (af3f70f21a)
Makefile: Added missing auth-request-stats.h
M src/auth/Makefile.am
2016-02-08 18:43:02 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6cda5e1a9b)
man: document dsync -m and -R options
M doc/man/doveadm-sync.1.in
2016-02-08 12:20:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0432583673)
stats: Removed accidentally commited i_panic() in abb242da
M src/stats/mail-session.c
2016-02-05 15:07:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fe5fcad061)
doveadm-print: Add flag indicating number-only field
M src/doveadm/doveadm-print.h
2016-01-29 17:47:52 +0200 Timo Sirainen <[email protected]> (589a288a09)
Compiler warning fix to previous commit
M src/lib-lda/smtp-client.c
2016-01-29 17:42:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d3a430481a)
lib: Add tests for str_is_float
M src/lib/test-strnum.c
2016-01-29 10:28:53 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f3b0efdcbd)
fts-solr: Changed default operator to AND to fix multi-word queries.
Previously for example searching from:[email protected] 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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/doveadm/Makefile.am
M src/doveadm/doveadm-pw.c
2016-01-22 17:14:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7ab22fc479)
lib-auth: Error message typofix
M src/lib-auth/auth-server-connection.c
2016-01-20 19:35:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c21ce74d57)
*-login: Typofix for login_plugins error messages.
M src/login-common/main.c
2016-01-18 14:59:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5c7c62f1e6)
ChangeLog: Generate mercurial style changelogs
M Makefile.am
M autogen.sh
2016-01-18 13:28:23 +0200 Timo Sirainen <[email protected]> (96c8008467)
lib-storage: Ignore ACLs when autoexpunging.
M src/lib-storage/mail-autoexpunge.c
2016-01-18 12:31:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f8567d8958)
stats: Added missing #include forgotten in 63393b70
M src/stats/client.c
2016-01-12 09:47:43 +0200 Aki Tuomi <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7d8862f4bb)
Added v2.2.21 to NEWS.
M NEWS
2016-01-15 15:55:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (513c91107a)
Removed now-unused is-tagged.py
M Makefile.am
D is-tagged.py
2016-01-08 18:12:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bdf3c77e72)
update-version.sh: Explicitly specify git directory.
M update-version.sh
2016-01-05 11:17:26 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (28b34f3caf)
imap: Make static analyzer happier.
M src/imap/imap-client.c
2015-12-16 15:37:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (88e0ac0d85)
configure: Minor cleanup - avoid code duplication.
M configure.ac
2015-12-11 17:39:05 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (be16427f44)
Switched .hgignore to .gitignore
R052 .hgignore .gitignore
2015-12-09 19:40:10 +0200 Timo Sirainen <[email protected]> (bafa9906e7)
Removed .hgsigs and .hgtags
D .hgsigs
D .hgtags
2015-12-09 18:38:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (da1515d5bb)
TODO updated
M TODO
2015-12-09 17:36:49 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fae14d3ca9)
Added signature for changeset f833b8160e39
M .hgsigs
2015-12-07 21:09:38 +0200 Timo Sirainen <[email protected]> (08672b1604)
Added tag 2.2.20 for changeset f833b8160e39
M .hgtags
2015-12-07 21:09:35 +0200 Timo Sirainen <[email protected]> (5124ce635d)
Released v2.2.20.
M NEWS
M configure.ac
2015-12-07 16:06:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (63964d0943)
Added signature for changeset c35e62a9e710
M .hgsigs
2015-12-03 15:31:41 +0200 Timo Sirainen <[email protected]> (b96c3a910b)
Added tag 2.2.20.rc1 for changeset c35e62a9e710
M .hgtags
2015-12-03 15:31:39 +0200 Timo Sirainen <[email protected]> (732f68ad37)
Released v2.2.20.rc1.
M NEWS
M configure.ac
2015-12-03 14:24:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0f9c90871e)
director: Minor code cleanup - removed unnecessary code.
M src/director/mail-host.c
2015-11-30 21:39:34 +0200 Timo Sirainen <[email protected]> (d9218b8c5d)
director: Include tag also in the hosts_hash.
M src/director/mail-host.c
2015-11-30 21:39:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9de023162f)
Makefile: Added missing mail-autoexpunge.h
M src/lib-storage/Makefile.am
2015-11-27 15:50:44 +0200 Timo Sirainen <[email protected]> (c2cda8cd00)
lib: Added extra assert to i_stream_read()
M src/lib/istream.c
2015-11-27 15:49:58 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (422af31adb)
Compiler warning fix for 32bit systems
M src/lib-storage/mail-autoexpunge.c
2015-11-27 15:24:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (31493ba1b6)
fts plugin: Install fts-storage.h
M src/plugins/fts/Makefile.am
2015-11-19 14:46:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a5b6819fac)
stats: Improved logging on invalid CONNECT input.
M src/stats/mail-session.c
2015-11-18 19:15:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (431eebad01)
dovecot.m4: Added --leak-check=full to valgrind
M dovecot.m4
2015-11-16 12:29:51 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/str-table.c
2015-11-16 12:29:09 +0200 Phil Carmody <[email protected]> (fddfa139c8)
lib: make test-istream-failure-at not leak memory This permits Valgrind to
run without complaint.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-istream-failure-at.c
2015-11-16 12:27:03 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/istream-failure-at.c
M src/lib/ostream-failure-at.c
2015-11-16 12:26:50 +0200 Phil Carmody <[email protected]> (ded6d68208)
lib-master: stop tests from leaking memory This permits Valgrind to run
without complaint.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-master/test-master-service-settings-cache.c
2015-11-16 12:26:32 +0200 Phil Carmody <[email protected]> (5968fa8151)
lib-http: free resources used in the tests Signed-off-by: Phil Carmody
<[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-http/http-message-parser.c
2015-11-16 12:24:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2f57edb011)
push-notification: Removed unused code.
M src/plugins/push-notification/push-notification-events.h
2015-11-09 14:49:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-istream-crlf.c
2015-10-27 21:54:26 -0600 Michael M Slusarz <[email protected]> (1265ab7fdd)
push-notification: Fix linking against notify plugin
M src/plugins/push-notification/Makefile.am
2015-10-29 15:29:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3cad7d3634)
auth: Typofix for error message.
M src/auth/auth-master-connection.c
2015-10-28 12:25:08 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b0e35b29f)
quota-dict: Added "no-unset" parameter.
M src/plugins/quota/quota-dict.c
2015-10-21 19:12:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6477a2edb6)
dict: Show number of clients in process title
M src/dict/main.c
2015-10-20 18:43:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e180615c1d)
mysql: Fixed client_flags parameter
M src/lib-sql/driver-mysql.c
2015-10-20 16:56:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a03a29b0b1)
lib: net_gethostbyname() now supports [ipv6] style bracketed addresses.
M src/lib/net.c
2015-10-19 14:04:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (47dba7db73)
lib-mail: fix html2text parser Silly typo. Fixes bug reported on dovecot
list by Akash on Oct 14.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-mail/mail-html2text.c
2015-10-14 17:34:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1126bfe4eb)
fs-dict: Implemented hex-encoding for values.
M src/lib-fs/fs-dict.c
2015-10-12 15:57:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (417885782e)
director: Added another debug log message.
M src/director/director-request.c
2015-10-11 18:45:58 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (568920fe55)
Added signature for changeset d7e14d388a7e
M .hgsigs
2015-10-02 19:02:43 +0300 Timo Sirainen <[email protected]> (487191a51e)
Added tag 2.2.19 for changeset d7e14d388a7e
M .hgtags
2015-10-02 19:02:42 +0300 Timo Sirainen <[email protected]> (bff2170a92)
Released v2.2.19.
M NEWS
M configure.ac
2015-10-02 18:30:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7d56dc75f7)
doveadm fetch: Added "storageid" field.
M src/doveadm/doveadm-mail-fetch.c
2015-09-30 18:49:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d228839c19)
Added signature for changeset 7a5726201e40
M .hgsigs
2015-09-28 17:26:00 +0300 Timo Sirainen <[email protected]> (93ca503c99)
Added tag 2.2.19.rc2 for changeset 7a5726201e40
M .hgtags
2015-09-28 17:25:59 +0300 Timo Sirainen <[email protected]> (d664d6bfe4)
Released v2.2.19.rc2.
M configure.ac
2015-09-28 16:37:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (563b8bb42d)
dict: Include PID in the log prefix.
M src/dict/main.c
2015-09-23 23:00:30 +0300 Timo Sirainen <[email protected]> (2333ef65e4)
dict-client: Improved broken iterate reply logging.
M src/lib-dict/dict-client.c
2015-09-23 22:59:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (7e74fadc66)
dict-client: Catch more invalid protocol replies.
M src/lib-dict/dict-client.c
2015-09-23 22:49:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (76f6d8b6ca)
Added signature for changeset 60057d955db3
M .hgsigs
2015-09-23 16:10:24 +0300 Timo Sirainen <[email protected]> (18ceb7ad36)
Added tag 2.2.19.rc1 for changeset 60057d955db3
M .hgtags
2015-09-23 16:10:24 +0300 Timo Sirainen <[email protected]> (782ad0e4b9)
Released v2.2.19.rc1.
M NEWS
M configure.ac
2015-09-23 16:09:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bda082b4c7)
imap: Fix typo in error message.
M src/imap/imap-state.c
2015-09-22 14:32:51 +0300 Teemu Huovila <[email protected]> (ab0eb4b10d)
auth: Remove redundant if
M src/auth/auth-request.c
2015-09-22 14:26:25 +0300 Timo Sirainen <[email protected]> (9549f50a9d)
Make static analyzer happier.
M src/lib/test-timing.c
2015-09-22 14:26:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d9e3a9484e)
Makefile: Added missing sort.h
M src/lib/Makefile.am
2015-09-21 19:52:32 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f56f01d9c1)
Compiler warning fix.
M src/imap/imap-commands.c
2015-09-21 14:02:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4db61af2cf)
cassandra: Added delete_consistency parameter.
M src/lib-sql/driver-cassandra.c
2015-09-13 16:42:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-strnum.c
2015-09-08 19:12:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0348cf6844)
lib: Added assert to Solaris sendfile() return value.
M src/lib/sendfile-util.c
2015-09-08 00:51:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ffe2ea0465)
dovecot.m4: Added LIBDOVECOT_ACL_INCLUDE
M dovecot-config.in.in
M dovecot.m4
2015-09-07 14:08:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7b31f9fe68)
acl: Install most of the header files.
M src/plugins/acl/Makefile.am
2015-09-04 13:00:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (40f7b31e69)
login proxy: Small code cleanup
M src/login-common/login-proxy.c
2015-09-03 22:12:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d206a491a5)
dsync: Crashfix in certain situation.
M src/doveadm/dsync/dsync-mailbox-import.c
2015-09-03 19:58:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/strnum.c
2015-08-31 22:31:19 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (84b2c459e4)
dict-sql: Fixed iteration with blob fields.
M src/lib-dict/dict-sql.c
2015-09-02 19:46:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (61f39b0358)
cassandra: Implemented support for binary values.
M src/lib-sql/driver-cassandra.c
2015-09-02 19:41:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fa04cb1e62)
dict-sql: Added support for async operations.
M src/lib-dict/dict-sql.c
2015-09-02 17:36:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (08c518f050)
lib-master: Compiler warning fix
M src/lib-master/master-service.c
2015-04-25 11:42:06 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (89f9c7bf3c)
doveadm fs delete: Support giving multiple filename parameters.
M src/doveadm/doveadm-fs.c
2015-08-27 17:38:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (36f8309eee)
dsync: Fixed running with tcp/tcps destination.
M src/doveadm/doveadm-dsync.c
2015-08-27 15:28:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b9a69edc1)
imap: Compiler warning fix to imap-hibernate commit
M src/imap/imap-state.c
2015-08-24 14:13:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f1306b3d24)
lib-fts: Install headers on make install.
M src/lib-fts/Makefile.am
2015-08-10 15:39:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cd889f59cd)
pop3-migration: Compiling fix in some systems
M src/plugins/pop3-migration/Makefile.am
2015-07-19 10:57:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d03ffc6497)
indexer: Reverted 5945ba000a45 - it didn't really help
M src/indexer/indexer.c
2015-06-29 11:44:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cc7e2c3903)
virtual: Added more asserts.
M src/plugins/virtual/virtual-storage.c
2015-06-17 14:04:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-data-stack.c
2015-06-17 11:42:30 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-data-stack.c
2015-06-17 11:31:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-stats/stats.c
2015-06-15 14:55:01 +0300 Phil Carmody <[email protected]> (085a87d32b)
lib-fts: use NULL rather than 0 to shut up sparse Signed-off-by: Phil
Carmody <[email protected]>
M src/lib-fts/fts-tokenizer.c
2015-06-15 14:54:58 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/director/director-connection.c
2015-06-15 14:51:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2015-06-15 14:31:19 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2015-06-15 14:31:19 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
2015-06-15 14:25:07 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
2015-06-13 17:05:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e1ba963457)
doveadm fetch: Added "refcount" field.
M src/doveadm/doveadm-mail-fetch.c
2015-06-11 16:19:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f0e811f0e3)
cassandra: Don't crash on failed queries.
M src/lib-sql/driver-cassandra.c
2015-06-09 19:32:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (091932d9b9)
man: doveadm-pw.1: Fix typo.
M doc/man/doveadm-pw.1.in
2015-06-04 21:03:42 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3b02371c12)
lib: Added UTF8_IS_START_SEQ() helper macro
M src/lib/unichar.h
2015-06-03 00:46:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7a0d717739)
lib-fts: Compiling fix without libicu
M src/lib-fts/fts-filter.c
2015-06-02 23:28:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b5440e0ae7)
lib-fts: Fixed compiling without libicu
M src/lib-fts/fts-filter-lowercase.c
2015-06-02 22:16:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (093e68f3c0)
lib-fts: Call libicu u_cleanup.
M src/lib-fts/fts-filter.c
2015-06-01 22:16:19 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/unichar.c
M src/lib/unichar.h
2015-06-01 22:08:27 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/test-unichar.c
2015-06-01 22:06:44 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-unichar.c
2015-06-01 21:59:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 [email protected] 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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da3aebb676)
log: read() errors weren't logged.
M src/log/log-connection.c
2015-05-25 14:27:22 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (091a2dea9d)
lib: Cork connection output while handling input
M src/lib/connection.c
2015-05-21 06:35:59 -0400 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c8b84f03c7)
lib: Added UNICODE_REPLACEMENT_CHAR_UTF8
M src/lib/unichar.h
2015-05-16 12:51:08 +0300 Timo Sirainen <[email protected]> (04e66ac3d0)
lib: Added p_memdup()
M src/lib/strfuncs.c
M src/lib/strfuncs.h
2015-05-16 12:46:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8065a71a0a)
Added signature for changeset 917d027836d0
M .hgsigs
2015-05-15 14:02:58 +0300 Timo Sirainen <[email protected]> (6673337cc9)
Added tag 2.2.18 for changeset 917d027836d0
M .hgtags
2015-05-15 14:02:58 +0300 Timo Sirainen <[email protected]> (f2a1dbe029)
Released v2.2.18.
M NEWS
M configure.ac
2015-05-15 13:55:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b9495c944b)
lib-fts: Makefile compiling dependency fix
M src/lib-fts/Makefile.am
2015-05-13 19:45:11 +0300 Timo Sirainen <[email protected]> (642f95b813)
Added signature for changeset 166106aaefc5
M .hgsigs
2015-05-13 19:45:07 +0300 Timo Sirainen <[email protected]> (28ce7d89c8)
Added tag 2.2.17 for changeset 166106aaefc5
M .hgtags
2015-05-13 19:45:07 +0300 Timo Sirainen <[email protected]> (17c41e50cd)
Released v2.2.17.
M NEWS
M configure.ac
2015-05-13 19:36:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4ae5f4a10f)
director: Removed accidentally committed debug log message
M src/director/main.c
2015-05-13 15:47:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (447653aca1)
director: Improved debug logging about connecting to another director.
M src/director/director.c
2015-05-13 00:33:18 +0300 Timo Sirainen <[email protected]> (ac393b4b88)
Make static analyzer happier.
M src/doveadm/doveadm-dict.c
2015-05-12 23:06:33 +0300 Timo Sirainen <[email protected]> (0ac5243480)
Added signature for changeset 2c1ce55de520
M .hgsigs
2015-05-12 23:06:30 +0300 Timo Sirainen <[email protected]> (331e44985f)
Added tag 2.2.17.rc2 for changeset 2c1ce55de520
M .hgtags
2015-05-12 23:06:30 +0300 Timo Sirainen <[email protected]> (adaa511dff)
Released v2.2.17.rc2.
M NEWS
M configure.ac
2015-05-12 21:58:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (f79ba7136a)
doveadm fs: Improved error message logging.
M src/doveadm/doveadm-fs.c
2015-05-12 19:43:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eee3785740)
doveadm: Register builtin dict drivers always at init
M src/doveadm/doveadm.c
2015-05-12 19:12:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (412bd45e0c)
Makefile: Fixed build concurrency issues with lib-fts
M src/lib-fts/Makefile.am
2015-05-11 22:37:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (47fb62a010)
lmtp: Earlier compiler warning fix broke compiling completely..
M src/lmtp/commands.c
2015-05-11 14:10:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b9e2a7ec6)
Added signature for changeset da685736985a
M .hgsigs
2015-05-09 20:29:52 +0300 Timo Sirainen <[email protected]> (157db8463b)
Added tag 2.2.17.rc1 for changeset da685736985a
M .hgtags
2015-05-09 20:29:52 +0300 Timo Sirainen <[email protected]> (44a0465edd)
Released v2.2.17.rc1.
M NEWS
M configure.ac
2015-05-09 20:26:06 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bfcd430292)
lib-compression: Fixed dependency tracking in Makefile
M src/lib-compression/Makefile.am
2015-05-09 15:29:21 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (868aa947ba)
lib-fts: Fixed token truncation.
M src/lib-fts/fts-tokenizer-generic.c
2015-05-09 17:07:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5916f19b49)
lib-fts: Minor unit test cleanups
M src/lib-fts/test-fts-filter.c
2015-05-09 13:57:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2f41b2ceff)
example-config: s/Recipient:/Received:/
M doc/example-config/conf.d/20-lmtp.conf
2015-05-07 17:29:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 [email protected] Tue Jan 13 10:18:16 2015
a
From [email protected] 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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7439b55b88)
script: Updated comment to describe the current script protocol.
M src/util/script.c
2015-05-05 23:07:03 +0300 Timo Sirainen <[email protected]> (ab1e085cf1)
doveadm fs delete: Fixed function return type
M src/doveadm/doveadm-fs.c
2015-05-05 16:24:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f98a079691)
doveadm fs delete: Recent changes broke it completely.
M src/doveadm/doveadm-fs.c
2015-05-04 23:27:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e88b20c658)
lib: Added numpack_decode32()
M src/lib/numpack.c
M src/lib/numpack.h
2015-04-24 16:03:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a32b055a1a)
fts: Minor error messagage prefix change.
M src/plugins/fts/fts-build-mail.c
2015-04-24 14:08:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (36723229d5)
fts: Install fts-user.h header
M src/plugins/fts/Makefile.am
2015-04-24 13:10:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (78278319a2)
lib-storage: Makefile fixes for previous test programs
M src/lib-storage/Makefile.am
2015-04-23 19:37:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4bf6941ccd)
lib-fts: Added PropList.txt to EXTRA_DIST
M src/lib-fts/Makefile.am
2015-04-20 18:08:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (556c189ce6)
lib-fts: Fixed using FTS_NORMALIZER_CFLAGS/LIBS.
M src/lib-fts/Makefile.am
2015-04-20 17:44:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30106a5a9f)
configure: Fixed building without textcat.
M configure.ac
2015-04-20 17:08:42 +0300 Timo Sirainen <[email protected]> (44f6dba7ab)
configure: Added Debian Wheezy workaround for finding textcat.h
M configure.ac
2015-04-20 17:01:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ead160b74d)
dovecot-config: Added lib-stats to LIBDOVECOT_INCLUDE
M dovecot-config.in.in
2015-04-16 18:20:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2015-04-15 21:01:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e94ce0c7fb)
configure: Added --with-textcat parameter
M configure.ac
2015-04-02 08:12:41 +0900 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (50e06c056c)
configure: Add missing (auto) to autodetected options.
M configure.ac
2015-03-27 18:04:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dce8b33992)
imapc: Ignore \Muted GMail label
M src/lib-storage/index/imapc/imapc-mailbox.c
2015-03-22 20:54:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/buffer.c
2015-03-18 17:10:03 +0200 Phil Carmody <[email protected]> (62684181bd)
lib: bits - improve bits_required to recurse downwards, not sideways Ooops.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/bits.h
2015-03-18 17:09:30 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/bits.h
2015-03-18 13:43:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b0a06fd1ca)
dsync: Added an extra assert.
M src/doveadm/dsync/dsync-mailbox-export.c
2015-03-13 20:03:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c999c1f500)
Added signature for changeset 0f8f0d8ee607
M .hgsigs
2015-03-12 17:41:05 +0200 Timo Sirainen <[email protected]> (c512970717)
Added tag 2.2.16 for changeset 0f8f0d8ee607
M .hgtags
2015-03-12 17:41:05 +0200 Timo Sirainen <[email protected]> (c087194944)
Released v2.2.16.
M NEWS
M configure.ac
2015-03-12 15:50:59 +0200 Timo Sirainen <[email protected]> (55171d0298)
rawlog: Updated -i -> -I also in usage string.
M src/util/rawlog.c
2015-03-12 15:50:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eda647108a)
imapc: Use GUIDs from cache.
M src/lib-storage/index/imapc/imapc-mail.c
2015-03-11 17:54:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (737c22276f)
lib: And another module_dir_load() bugfix..
M src/lib/module-dir.c
2015-03-09 17:15:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (2e429f7932)
indexer-worker: Added missing error logging.
M src/indexer/master-connection.c
2015-03-09 15:32:23 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cc8bf5e5bc)
Added signature for changeset a3c27cec4112
M .hgsigs
2015-03-06 17:47:34 +0200 Timo Sirainen <[email protected]> (50ed84230e)
Added tag 2.2.16.rc1 for changeset a3c27cec4112
M .hgtags
2015-03-06 17:47:34 +0200 Timo Sirainen <[email protected]> (3dad5b157b)
Released v2.2.16.rc1.
M NEWS
M configure.ac
2015-03-06 17:46:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c793a28b3a)
lib-fs: struct fs_stats comment updates
M src/lib-fs/fs-api.h
2015-03-06 11:51:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a0d0650370)
lib-fs: Added FS_ITER_FLAG_NOCACHE
M src/lib-fs/fs-api.h
2015-03-02 21:14:55 +0200 Timo Sirainen <[email protected]> (ddc8fe2638)
rawlog: Removed double '.' chars from log filenames
M src/util/rawlog.c
2015-03-02 15:07:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5dcaffaa31)
Makefile: Added run-test.sh to be cleaned by distclean
M Makefile.am
2015-02-19 13:05:49 +0200 Timo Sirainen <[email protected]> (d47bd663de)
lib: Make static analyzer happier
M src/lib/test-istream.c
2015-02-19 13:05:31 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fb10881ee5)
doveadm fetch: Removed unused code.
M src/doveadm/doveadm-mail-fetch.c
2015-02-17 20:43:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fc63bad6ab)
configure: Removed unnecessary lines left by the previous commit.
M configure.ac
2015-02-13 16:38:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (bd5b580c07)
dovecot-config: Added LIBDOVECOT_NOTIFY_INCLUDE
M dovecot-config.in.in
M dovecot.m4
2015-02-12 13:29:23 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fd2ede339d)
dovecot-config: Added lib-sasl path into LIBDOVECOT_INCLUDE.
M dovecot-config.in.in
2015-02-10 13:12:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/istream.h
2015-02-09 21:58:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cca8abdc46)
lib: array - test count/isempty/nonepty Signed-off-by: Phil Carmody
<[email protected]>
M src/lib/test-array.c
2015-02-02 10:24:42 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
2015-01-31 01:10:56 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/array.h
M src/lib/test-array.c
2015-01-23 23:19:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b2f82c7ed)
plugins/fts: use common guid_128 helpers Signed-off-by: Phil Carmody
<[email protected]>
M src/plugins/fts/fts-expunge-log.c
2015-01-21 01:52:59 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/plugins/fts/fts-expunge-log.c
2015-01-21 01:47:25 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/plugins/fts/fts-expunge-log.c
2015-01-21 01:44:31 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> Signed-off-by: Phil
Carmody <[email protected]>
M src/lib/data-stack.c
2015-01-21 00:19:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (845bac8afd)
dsync: Crashfix to -F parameter handling.
M src/doveadm/dsync/dsync-mailbox-import.c
2015-01-20 04:30:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da215fe5cd)
dsync: Added more debug logging.
M src/doveadm/dsync/dsync-mailbox-import.c
2015-01-19 23:43:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ed897f9e09)
doveadm fetch: Added body.snippet field.
M src/doveadm/doveadm-mail-fetch.c
2015-01-17 00:31:35 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fdf8020fad)
lib-imap-client: Compiler warning fixes
M src/lib-imap-client/imapc-connection.c
2015-01-08 22:52:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (fea5323480)
lib: Defined array type for guid_128_t
M src/lib/guid.h
2015-01-06 03:15:11 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/guid.h
M src/lib/test-guid.c
2015-01-05 22:15:31 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/guid.h
2015-01-05 22:15:07 +0200 Phil Carmody <[email protected]> (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 <[email protected]> Signed-off-by: Phil
Carmody <[email protected]>
M src/lib/array.h
2015-01-05 22:13:59 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2015-01-05 22:12:48 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.c
M src/lib/array.h
2014-12-26 17:28:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (acab9b293b)
lib: Small optimization / unnecessary code removal from array_*() functions.
M src/lib/array.c
2014-12-05 05:50:19 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2014-12-01 12:11:54 -0800 Timo Sirainen <[email protected]> (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 <[email protected]> (842f5a5ebf)
lib: array - array_foreach_idx is just a generic ptr_to_idx helper
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/array.h
2014-11-28 10:57:43 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
M src/lib/test-array.c
2014-11-28 10:57:43 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
2014-11-25 03:48:42 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
2014-11-25 03:45:35 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2014-11-25 03:44:55 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/test-array.c
2014-11-25 03:43:02 +0200 Phil Carmody <[email protected]> (0f111ddfcb)
lib: array - element-wise comparison via callback 2 are provided - with and
without a context pointer.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/array.c
M src/lib/array.h
2014-11-25 03:43:02 +0200 Phil Carmody <[email protected]> (afb48f82b9)
lib: test-array - test array_cmp() Signed-off-by: Phil Carmody
<[email protected]>
M src/lib/test-array.c
2014-11-25 03:31:34 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/guid.c
M src/lib/guid.h
2014-11-25 03:12:25 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3217ecd2d7)
stats: Removed extra TAB from global stats exporting.
M src/stats/client-export.c
2014-11-20 15:15:20 +0900 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (11a418b123)
lib-fs: Added FS_PROPERTY_ASYNC.
M src/lib-fs/fs-api.h
2014-11-15 02:39:04 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/array.h
M src/lib/hash.h
2014-11-15 00:06:09 +0200 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/array.h
M src/lib/hash.h
2014-11-14 00:59:57 -0800 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9803c762c1)
Added signature for changeset e8b793f2c409
M .hgsigs
2014-10-25 06:57:11 +0300 Timo Sirainen <[email protected]> (1234a3f0e6)
Added tag 2.2.15 for changeset e8b793f2c409
M .hgtags
2014-10-25 06:57:11 +0300 Timo Sirainen <[email protected]> (6ba458d40a)
Released v2.2.15.
M NEWS
M configure.ac
2014-10-25 06:40:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (baca4c4509)
lmtp: Added missing session_id to mail_user
M src/lmtp/commands.c
2014-10-25 06:19:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (46453c751e)
lib-fs: Improved error logging
M src/lib-fs/fs-api.c
2014-10-24 22:18:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (9e406b04bb)
lib: Added "istream-seekable: " error message prefixes.
M src/lib/istream-seekable.c
2014-10-24 04:24:40 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7fbd5e7cee)
doveadm fetch: Use doveadm_print_istream()
M src/doveadm/doveadm-mail-fetch.c
2014-10-23 06:37:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8562f8de46)
lib: Added guid_128_copy()
M src/lib/guid.h
2014-10-21 23:34:50 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (74fe10b32e)
lib: test-buffer was randomly crashing with SIGFPE
M src/lib/test-buffer.c
2014-10-20 08:54:27 -0700 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa21a546ce)
lib-lda: And fixed the earlier commit.
M src/lib-lda/duplicate.c
2014-10-17 09:59:21 -0700 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3cd3140707)
Compiling fix for some systems.
M src/lib-storage/list/mailbox-list-index.h
2014-10-14 10:17:26 -0700 Timo Sirainen <[email protected]> (d4f80a4e2c)
auth: Minor fix to previous commit.
M src/auth/auth-request.c
2014-10-14 10:16:03 -0700 Timo Sirainen <[email protected]> (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 <[email protected]> (d6ecafb8be)
Added signature for changeset 6dad1f6e8930
M .hgsigs
2014-10-14 19:49:55 +0300 Timo Sirainen <[email protected]> (9d128253a4)
Added tag 2.2.14 for changeset 6dad1f6e8930
M .hgtags
2014-10-14 19:49:55 +0300 Timo Sirainen <[email protected]> (0ec69c4f27)
Released v2.2.14.
M NEWS
M configure.ac
2014-10-14 09:39:50 -0700 Timo Sirainen <[email protected]> (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 <[email protected]> (74c09aceb0)
Compiler warning fix
M src/lib-http/http-client.h
2014-10-14 09:22:40 -0700 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2e29c5838d)
Compile fix for systems without dlopen()
M src/lib/module-dir.c
2014-10-12 08:58:40 -0700 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1837e13636)
lib-lda: Compiler warning fix
M src/lib-lda/smtp-client.c
2014-10-09 21:22:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d77fb3be55)
lib: Updated comment to o_stream_send_istream()
M src/lib/ostream.h
2014-10-09 18:40:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e19e36fc3b)
lib-storage: Small comment update
M src/lib-storage/mail-storage.h
2014-10-09 16:42:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (02d8f3457e)
lib-mail: Added asserts
M src/lib-mail/message-parser.c
2014-10-07 20:13:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (6a53a51834)
lib-fs: struct fs_file's write_pending is a flag Signed-off-by: Phil Carmody
<[email protected]>
M src/lib-fs/fs-api-private.h
2014-10-07 19:07:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (620b5ed416)
lib-index: Code cleanup - avoid code duplication.
M src/lib-index/mail-cache.c
2014-10-07 02:35:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (01a486e33a)
dsync: Fixed linking with some systems.
M src/doveadm/dsync/Makefile.am
2014-10-05 13:24:02 +0300 Timo Sirainen <[email protected]> (75fe5f1b40)
doveadm sync/backup: Updated usage string
M src/doveadm/doveadm-dsync.c
2014-10-04 17:48:03 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8abfdb77da)
Added signature for changeset 34e52cbeb837
M .hgsigs
2014-10-03 18:18:41 +0300 Timo Sirainen <[email protected]> (823190efd7)
Added tag 2.2.14.rc1 for changeset 34e52cbeb837
M .hgtags
2014-10-03 18:18:41 +0300 Timo Sirainen <[email protected]> (4c808c48d9)
Released v2.2.14.rc1.
M NEWS
M configure.ac
2014-10-03 17:36:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (61f258ff61)
dsync: Debug message fix
M src/doveadm/dsync/dsync-mailbox-import.c
2014-10-02 19:43:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (de39002e8e)
dsync: Improved debug logging.
M src/doveadm/dsync/dsync-mailbox-import.c
2014-10-02 12:56:30 +0300 Timo Sirainen <[email protected]> (3df1930bcd)
dsync: Added more debug logging.
M src/doveadm/dsync/dsync-mailbox-import.c
2014-10-02 12:48:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/bsearch-insert-pos.h
2014-09-18 17:46:18 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (260faead60)
lib: test-var-expand - disambiguate tests Two test cases had the same name.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-var-expand.c
2014-09-16 20:29:04 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/hash-format.c
2014-09-16 15:43:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b800cdab69)
lib: test-strnum - fix format size mismatch Signed-off-by: Phil Carmody
<[email protected]>
M src/lib/test-strnum.c
2014-09-16 13:38:30 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-strnum.c
2014-09-16 13:38:30 +0300 Phil Carmody <[email protected]> (bee4935fb1)
lib: remove uintmax tests from uint64 tests These log a warning on OSX with
clang.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-strnum.c
2014-09-16 13:38:30 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/strnum.c
2014-09-16 12:32:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a7f818f531)
Makefile: Fixed linking libdovecot-dsync
M src/doveadm/dsync/Makefile.am
2014-09-16 01:09:53 +0300 Timo Sirainen <[email protected]> (c32552ea7d)
Compiler warning fix
M src/lib-storage/mail-namespace.c
2014-09-16 00:43:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (42882b9aa1)
replication plugin: Added replication_disabled setting.
M src/plugins/replication/replication-plugin.c
2014-09-10 14:48:58 +0300 Pascal Volk <[email protected]> (5bfb64d91f)
man: doveadm-director man page updated
M doc/man/doveadm-director.1.in
2014-09-10 14:42:34 +0300 Pascal Volk <[email protected]> (96e19b9caa)
man: doveadm-auth man page updated
M doc/man/doveadm-auth.1.in
2014-09-10 14:37:50 +0300 Pascal Volk <[email protected]> (66ac9aee05)
man: doveadm-dump man page updated
M doc/man/doveadm-dump.1.in
2014-09-10 14:08:58 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
2014-09-10 14:08:58 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/test-seq-range-array.c
2014-09-10 14:08:58 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-aqueue.c
2014-09-10 14:08:58 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-istream-concat.c
2014-09-10 13:59:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f7b1126cec)
pop3: Fixed potential assert-crash on disconnect.
M src/pop3/pop3-client.c
2014-08-20 15:32:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/pop3/pop3-commands.c
2014-08-15 15:02:59 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/pop3/pop3-commands.c
2014-08-15 14:48:08 +0300 Timo Sirainen <[email protected]> (a69dfb7f6f)
Compiling fix for previous change..
M src/lib-storage/mail-error.h
2014-08-15 14:41:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (33326dbee4)
Compiler warning fix
M src/lib-storage/mail-storage.c
2014-08-12 19:24:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (36ec5b36b6)
Compiler warning fix
M src/lib/ostream-file.c
2014-08-11 15:55:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (8bec19723b)
lib: test fatal cases for printf_format_fix Signed-off-by: Phil Carmody
<[email protected]>
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 <[email protected]> (8b2839664b)
lib: test-lib - add a real fatal test for mempool-alloconly Crazily huge
memory allocation must fail.
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2014-07-29 17:27:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c35c0f7225)
lib-http: http-server-connection - don't resume closed connections
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-http/http-server-connection.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/imap-utf7.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/imap-utf7.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/imap-utf7.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/test-imap-utf7.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (68828bda5c)
lib-imap: test-imap-utf7 - migrate to test_assert_idx Signed-off-by: Phil
Carmody <[email protected]>
M src/lib-imap/test-imap-utf7.c
2014-07-28 16:49:47 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-str-sanitize.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (c447f89850)
lib-test: quieten the random seed printfs We only need to know the seed
once.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib-test/test-common.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/buffer.c
M src/lib/buffer.h
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/data-stack.c
2014-07-28 16:45:33 +0300 Phil Carmody <[email protected]> (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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ee60381fec)
lib-http: Fixed linking test programs.
M src/lib-http/Makefile.am
2014-07-21 10:54:05 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2290ecac1a)
lib: Compiler warning fixes for 32bit systems
M src/lib/test-istream-tee.c
2014-07-10 15:59:53 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-istream-tee.c
2014-07-10 15:59:53 +0300 Phil Carmody <[email protected]> (5e821185cb)
lib: test-istream-tee - more randomisation to the tests Signed-off-by: Phil
Carmody <[email protected]>
M src/lib/test-istream-tee.c
2014-07-10 15:59:53 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-istream-tee.c
2014-07-10 15:59:53 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-istream-concat.c
2014-07-10 15:59:53 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-istream-concat.c
2014-07-10 15:40:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/failures.c
2014-07-04 14:18:25 +0300 Phil Carmody <[email protected]> (f34e5fbfc0)
config: parser - trivial error message typo Signed-off-by: Phil Carmody
<[email protected]>
M src/config/config-parser.c
2014-07-04 14:17:54 +0300 Timo Sirainen <[email protected]> (0c7087c650)
lmtp: Small code cleanup
M src/lmtp/client.h
M src/lmtp/commands.c
2014-07-04 14:16:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8d834fd101)
acl: Oops, ignore_acls check was reversed.
M src/plugins/acl/acl-mailbox.c
2014-07-03 21:55:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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
<[email protected]>
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-imap/test-imap-url.c
2014-07-03 12:42:11 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/test-imap-url.c
2014-07-03 12:42:11 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2014-07-03 12:42:11 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/test-imap-url.c
2014-07-03 11:37:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/pop3/pop3-commands.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (7943dd081e)
lib: strnum - add permissive str_parse_uint() helper Signed-off-by: Phil
Carmody <[email protected]>
M src/lib/strnum.c
M src/lib/strnum.h
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/uri-util.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-http/test-http-url.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/uri-util.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-http/test-http-url.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/imap/imap-fetch-body.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/strnum.c
M src/lib/strnum.h
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-strnum.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/strnum.c
M src/lib/strnum.h
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/imap-url.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/strnum.c
2014-07-02 18:21:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (552a9b01e9)
lib: test-var-expand - use test_assert_idx() inside loops It helps narrow
down which test has failed.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-var-expand.c
2014-07-02 00:10:16 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (e3734a6606)
doveadm fs delete: Added -n to usage text.
M src/doveadm/doveadm-fs.c
2014-07-01 00:10:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a095363e41)
lib: istream-concat read() returned -2 too early.
M src/lib/istream-concat.c
2014-06-27 16:20:25 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/rand.c
2014-06-27 16:17:50 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/test-buffer.c
M src/lib/test-istream-concat.c
2014-06-27 16:17:07 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
2014-06-27 16:16:16 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/lib.c
M src/lib/randgen.c
2014-06-27 16:15:24 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/file-dotlock.c
M src/lib/test-buffer.c
2014-06-27 16:13:09 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib/printf-format-fix.c
2014-06-27 16:12:40 +0300 Phil Carmody <[email protected]> (1d940afbc0)
lib: test printf_format_fix() Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (95be1d8991)
lib: test-istream-concat - early abort test loop on failure No point in
continuing past the first failure.
Signed-off-by: Phil Carmody <[email protected]>
M src/lib/test-istream-concat.c
2014-06-27 16:10:27 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2014-06-27 14:23:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aaa5d94933)
Compiler warning fix
M src/lib/istream.c
2014-06-19 13:52:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b43bbd3922)
auth: Fixed wrong assert added by recent commit.
M src/auth/auth-request.c
2014-06-14 11:58:57 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/plugins/fts-lucene/Snowball.cc
2014-06-13 15:14:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0abbd167fe)
Compiler warning fix
M src/lib/ioloop-notify-inotify.c
2014-06-13 02:19:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/test-bits.c
2014-06-10 16:40:46 +0200 Timo Sirainen <[email protected]> (552487e70a)
rawlog: Buffer writing to rawlog files to improve performance.
M src/util/rawlog.c
2014-06-09 23:08:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib/numpack.c
M src/lib/test-numpack.c
2014-06-09 23:02:52 +0300 Phil Carmody <[email protected]> (9fe0778049)
lib: unit tests for lib/bits Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-test/test-common.c
M src/lib-test/test-common.h
2014-06-09 23:02:52 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/macros.h
2014-06-09 22:53:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-strmap.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-view-sync.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-view.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-private.h
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 14:50:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-index/mail-index-sync-update.c
2014-06-02 04:16:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ffcd975744)
Compiler warning fix
M src/stats/main.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/auth/passdb-checkpassword.c
M src/auth/userdb-checkpassword.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/imap/imap-fetch-body.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/imap/cmd-idle.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/imap/cmd-getmetadata.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/indexer/indexer-queue.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/auth/auth-master-connection.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/auth/auth-request.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-otp/otp-hash.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/imap/imap-client.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-imap/imap-url.c
M src/lib-imap/imap-url.h
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/auth/auth.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (c2d398246d)
various - 'static' sparse cleanup Signed-off-by: Phil Carmody
<[email protected]>
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 <[email protected]> (5a09d089b6)
lib-mail: tests - trivial sparse cleanups One static const, and one more
obviously not-an-int integer.
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (e9c433c5b8)
lib-imap: tests - trivial static and const sparse cleanups Signed-off-by:
Phil Carmody <[email protected]>
M src/lib-imap/test-imap-url.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (ba592dc74a)
lib-http: trivial sparse cleanups - statics and explicit NULLs
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (ba5c8b0ae7)
various - trivial NULL-related sparse cleanups These zero-alikes are all
pointers, so should explicitly be NULL.
Signed-off-by: Phil Carmody <[email protected]>
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 <[email protected]> (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 <[email protected]>
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 <[email protected]> (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 <[email protected]>
M src/lib/str.c
M src/lib/strfuncs.c
M src/master/main.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]>
M src/lib-storage/index/mbox/mbox-mail.c
2014-05-27 21:17:34 +0300 Phil Carmody <[email protected]> (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 <[email protected]>
M src/lib-storage/index/mbox/mbox-lock.c
2014-05-27 17:01:15 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (948a14de71)
lib-mail: Compiler warning fix
M src/lib-mail/message-header-encode.c
2014-05-11 22:33:21 +0300 Timo Sirainen <[email protected]> (4a723b1e71)
Added signature for changeset c55c660d6e9d
M .hgsigs
2014-05-11 22:33:08 +0300 Timo Sirainen <[email protected]> (37e437f4ec)
Added tag 2.2.13 for changeset c55c660d6e9d
M .hgtags
2014-05-11 22:33:08 +0300 Timo Sirainen <[email protected]> (dc95c51f74)
Released v2.2.13.
M NEWS
M configure.ac
2014-05-11 22:32:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (ff2619b17b)
doveadm penalty: Fixed using -a parameter
M src/doveadm/doveadm-penalty.c
2014-05-11 22:15:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2be0260dec)
Added signature for changeset 791ec610422c
M .hgsigs
2014-05-08 18:07:23 +0300 Timo Sirainen <[email protected]> (afde22a2fa)
Added tag 2.2.13.rc1 for changeset 791ec610422c
M .hgtags
2014-05-08 18:07:23 +0300 Timo Sirainen <[email protected]> (c4d59dcd70)
Released v2.2.13.rc1.
M Makefile.am
M NEWS
M configure.ac
2014-05-08 15:53:27 +0300 Phil Carmody <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d8fc51fca3)
Make static analyzer happier
M src/lib-mail/test-message-part.c
2014-05-08 11:29:34 +0300 Timo Sirainen <[email protected]> (258fd0e4b4)
Fixed compiling when building without SSL support.
M src/login-common/ssl-proxy.c
2014-05-08 10:21:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (ea918d503a)
dsync: Make static analyzer happier (hopefully)
M src/doveadm/dsync/dsync-mailbox-import.c
2014-05-07 23:26:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a8672a757f)
auth: Minor code cleanup
M src/auth/mech-rpa.c
2014-05-07 20:24:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (8208398b7f)
pop3: Remove dead assignment detected by scan-build.
M src/pop3/pop3-commands.c
2014-05-07 20:14:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (108340ffac)
lib-mail: test-istream-attachment updated
M src/lib-mail/test-istream-attachment.c
2014-04-29 16:15:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b9ec0443d7)
lib-index: Small code cleanup
M src/lib-index/mail-index-sync-update.c
2014-04-29 12:35:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d5e839aea2)
iostream-temp: Improved stream naming.
M src/lib/iostream-temp.c
2014-04-25 17:29:18 +0300 Timo Sirainen <[email protected]> (cd8a262bdd)
Compiler warning fixes
M src/doveadm/dsync/dsync-mailbox-import.c
2014-04-25 17:28:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cac19595c3)
doveadm director map: Show also the username hash.
M src/doveadm/doveadm-director.c
2014-04-23 22:13:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5b59eecbc2)
dsync: Added assert
M src/doveadm/dsync/dsync-ibc-stream.c
2014-04-23 19:20:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b13a8e19e0)
safe_memset() wasn't safe with modern compilers anymore. Another try based
on David Jacobson's code in
https://www.mail-archive.com/[email protected]/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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3e7c452d73)
lib-mail: Compile fix for last change..
M src/lib-mail/message-part.c
2014-04-17 16:12:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f8e6a1246e)
fts: Free fts-parser on failures.
M src/plugins/fts/fts-build-mail.c
2014-04-16 18:19:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b20018e457)
fts-solr: Removed unnecessary code
M src/plugins/fts-solr/solr-connection.c
2014-04-16 10:40:28 +0200 Timo Sirainen <[email protected]> (8af300dd69)
replicator: Improve logging import/export errors.
M src/replication/replicator/replicator-queue.c
2014-04-16 00:13:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9e6bc7ee1f)
Removed unused code.
M src/lib/primes.c
2014-04-15 15:21:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a14a28af03)
Compiler warning fix
M src/doveadm/dsync/dsync-mailbox-tree-sync.c
2014-04-08 00:20:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (e569900bba)
dsync: Fixed using -n "" parameter
M src/doveadm/dsync/dsync-brain.c
2014-04-04 01:23:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d6691198d1)
lib-imap-storage: Minor code cleanup
M src/lib-imap-storage/imap-msgpart.c
2014-04-04 00:14:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (890217a922)
dovecot.m4: Minor message improvement.
M dovecot.m4
2014-03-27 15:39:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ee3c2fb2eb)
lib-http: Added debug logging.
M src/lib-http/http-client-queue.c
2014-03-25 19:59:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (65c7451e48)
passdb-imap: Fixed reference counting.
M src/auth/passdb-imap.c
2014-03-19 09:45:15 +0200 Timo Sirainen <[email protected]> (eb2091a2de)
lib-dns: Fixed handling failed DNS lookups.
M src/lib-dns/dns-lookup.c
2014-03-18 16:49:10 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (432f2b63d3)
imap: Return SPECIAL-USE flags for LSUB command.
M src/imap/cmd-list.c
2014-02-19 14:54:16 -0800 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1d099cf310)
Added signature for changeset 8e4433702920
M .hgsigs
2014-02-13 23:36:09 +0200 Timo Sirainen <[email protected]> (fc1dcbfe30)
Added tag 2.2.12 for changeset 8e4433702920
M .hgtags
2014-02-13 23:36:03 +0200 Timo Sirainen <[email protected]> (c98761ca2f)
Released v2.2.12.
M NEWS
M configure.ac
2014-02-13 05:33:13 +0200 Teemu Huovila <[email protected]> (905320d3d4)
pop3: Access sequence numbers correctly.
M src/pop3/pop3-commands.c
2014-02-12 00:51:17 +0200 Timo Sirainen <[email protected]> (d5e2885810)
Added signature for changeset 6b96eb75ded2
M .hgsigs
2014-02-12 00:51:10 +0200 Timo Sirainen <[email protected]> (d693a428b1)
Added tag 2.2.11 for changeset 6b96eb75ded2
M .hgtags
2014-02-12 00:51:10 +0200 Timo Sirainen <[email protected]> (bd387922b1)
Released v2.2.11.
M NEWS
M configure.ac
2014-02-12 07:14:58 +0900 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (58f5b4641f)
doveadm fetch: Added pop3.order field.
M src/doveadm/doveadm-mail-fetch.c
2014-02-07 17:17:25 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bf43cf378f)
dsync: Added extra asserts
M src/doveadm/dsync/dsync-mailbox-tree-sync.c
2014-02-03 11:38:40 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (77bd459e2d)
stats plugin: Fixed updating clock_time
M src/plugins/stats/stats-plugin.c
2014-01-15 15:54:14 -0500 Timo Sirainen <[email protected]> (12af04ac6f)
stats: Also export the clock_time to doveadm.
M src/stats/client-export.c
2014-01-15 15:50:38 -0500 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (463d5291a5)
Makefile: Added missing iostream-lz4.h
M src/lib-compression/Makefile.am
2014-01-15 00:57:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fb176cdc12)
iostream-temp: Support o_stream_pwrite()
M src/lib/iostream-temp.c
2014-01-13 20:57:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (18b13ba3b5)
Added signature for changeset 614bd6600011
M .hgsigs
2013-12-20 04:57:19 +0200 Timo Sirainen <[email protected]> (4cfd0f6bef)
Added tag 2.2.10 for changeset 614bd6600011
M .hgtags
2013-12-20 04:57:19 +0200 Timo Sirainen <[email protected]> (16af02ab08)
Released v2.2.10.
M NEWS
M configure.ac
2013-12-20 04:25:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b866325bc5)
fs-sis: Memory leak fix.
M src/lib-fs/fs-sis.c
2013-12-19 21:25:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (792afd1686)
Compiler warning fix.
M src/imap/cmd-getmetadata.c
2013-12-19 04:18:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1c0462c156)
Compiler warning fix
M src/lib-master/master-auth.c
2013-12-13 13:44:32 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9ff8e48276)
quota: Fix to previous wildcard change
M src/plugins/quota/quota.c
2013-12-09 00:02:58 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (42afa2a761)
Added signature for changeset 2852a7c55fc7
M .hgsigs
2013-11-25 01:24:32 +0200 Timo Sirainen <[email protected]> (308457ee65)
Added tag 2.2.9 for changeset 2852a7c55fc7
M .hgtags
2013-11-25 01:24:32 +0200 Timo Sirainen <[email protected]> (c552ee5266)
Released v2.2.9.
M NEWS
M configure.ac
2013-11-25 00:46:40 +0200 Timo Sirainen <[email protected]> (5ce940d276)
Makefile: Added missing \
M src/plugins/mail-filter/Makefile.am
2013-11-25 00:44:21 +0200 Timo Sirainen <[email protected]> (24fb580bdc)
Makefile: Added missing header files
M src/plugins/mail-filter/Makefile.am
2013-11-24 23:02:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (deab624f18)
replicator: Memory leak fix for previous commit
M src/replication/replicator/dsync-client.c
2013-11-23 21:12:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (19db4c57fd)
lib-http: Compiler warning fix
M src/lib-http/http-client-request.c
2013-11-23 00:38:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (02076e0665)
doveadm acl debug: Improved output
M src/plugins/acl/doveadm-acl.c
2013-11-22 13:47:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a601cdf615)
doveadm: Added "fs metadata" command
M src/doveadm/doveadm-fs.c
2013-11-20 22:20:06 +0200 Timo Sirainen <[email protected]> (8601cb6daf)
dsync: Fix to 128bit GUID syncing
M src/doveadm/dsync/dsync-mailbox-import.c
2013-11-20 21:25:19 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2651a7e21a)
Added signature for changeset 095a777edc26
M .hgsigs
2013-11-19 23:18:01 +0200 Timo Sirainen <[email protected]> (75e6aeabbc)
Added tag 2.2.8 for changeset 095a777edc26
M .hgtags
2013-11-19 23:18:01 +0200 Timo Sirainen <[email protected]> (4d66e427c4)
Released v2.2.8.
M NEWS
M configure.ac
2013-11-19 23:17:07 +0200 Timo Sirainen <[email protected]> (92bb5db335)
auth: Fixed potential crash.
M src/auth/auth-request-handler.c
2013-11-19 17:21:21 +0200 Timo Sirainen <[email protected]> (0cb546628b)
lmtp: Make sure output is flushed before disconnection.
M src/lmtp/client.c
2013-11-19 16:13:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (5fb679bef4)
doveadm user: Fixed printing multiple users
M src/doveadm/doveadm-auth.c
2013-11-18 16:18:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0d29e73260)
lib-storage: API comment update
M src/lib-storage/mail-storage.h
2013-11-16 19:34:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b8545883e3)
zlib: Give a name to zlib istreams
M src/plugins/zlib/zlib-plugin.c
2013-11-08 14:44:57 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b5b10e2ffa)
Added signature for changeset b5b118701aa8
M .hgsigs
2013-11-03 22:04:50 +0200 Timo Sirainen <[email protected]> (1942cd7a96)
Added tag 2.2.7 for changeset b5b118701aa8
M .hgtags
2013-11-03 22:04:50 +0200 Timo Sirainen <[email protected]> (2cb0477b47)
Released v2.2.7.
M NEWS
M configure.ac
2013-11-03 21:48:24 +0200 Timo Sirainen <[email protected]> (d34f3ccf92)
Make static analyzer happier
M src/lib-http/test-http-response-parser.c
2013-11-03 21:47:46 +0200 Timo Sirainen <[email protected]> (b7dabf89bf)
Make static analyzer happier.
M src/doveadm/dsync/dsync-mailbox-tree-sync.c
2013-11-03 21:45:37 +0200 Timo Sirainen <[email protected]> (a355fad576)
auth-worker: Potential crashfix at deinit
M src/auth/auth-worker-client.c
2013-11-03 21:44:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (4981c1da73)
auth: Potential crashfix
M src/auth/auth-request-handler.c
2013-11-03 20:56:25 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (580ba11d9d)
auth: passdb shadow supports now lookup_credentials() API
M src/auth/passdb-shadow.c
2013-11-02 12:42:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (daaf3908ad)
Compiling fix for old GCC
M src/lib-http/test-http-server.c
2013-10-29 21:11:10 +0200 Timo Sirainen <[email protected]> (3fe2850e38)
lib-storage: Allow storage name to contain '_'
M src/lib-storage/mail-storage.c
2013-10-29 21:10:33 +0200 Timo Sirainen <[email protected]> (ed9535bb5d)
configure: Added mdbox_deleted storage.
M configure.ac
2013-10-29 21:08:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1edfe8b0da)
mbox: Added extra assert
M src/lib-storage/index/mbox/mbox-sync-rewrite.c
2013-10-29 19:42:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e67a891ef1)
doveadm-server: Minor error message improvement.
M src/doveadm/client-connection.c
2013-10-28 11:50:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1d00bd0bf4)
ioloop-kqueue: Added extra assert.
M src/lib/ioloop-kqueue.c
2013-10-22 19:12:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b6540ed0dc)
imap: Improved "EOF while appending" disconnect log message.
M src/imap/cmd-append.c
2013-10-11 19:17:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fe145bd9fb)
lib-http: 32bit system fix.
M src/lib-http/http-header-parser.c
2013-09-25 10:06:19 +0300 Timo Sirainen <[email protected]> (4036973f88)
Added signature for changeset 1de9a494cb25
M .hgsigs
2013-09-25 10:06:08 +0300 Timo Sirainen <[email protected]> (dd4eafd393)
Added tag 2.2.6 for changeset 1de9a494cb25
M .hgtags
2013-09-25 10:06:08 +0300 Timo Sirainen <[email protected]> (ca287f3b01)
Released v2.2.6.
M NEWS
M TODO
M configure.ac
2013-09-23 04:25:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (835f2fce04)
i_getpw*(): Added OpenBSD workaround.
M src/lib/ipwd.c
2013-09-22 07:20:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (31d32d39dd)
dsync: Added some more debug logging.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-09-21 02:55:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9d2575d99e)
director: Fix & improvement to debug logging.
M src/director/director-connection.c
2013-09-20 10:00:48 +0300 Timo Sirainen <[email protected]> (7e656f6f50)
director: Added more debug logging.
M src/director/director-connection.c
2013-09-20 09:46:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3eb142b996)
ioloop-kqueue: Added assert
M src/lib/ioloop-kqueue.c
2013-09-20 00:22:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ded5763b4e)
uri-util: Improved authority 'host' parse error.
M src/lib/uri-util.c
2013-09-18 23:24:11 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (47f00ff24a)
imap: Fixed/improved error logging for FETCH
M src/imap/imap-fetch-body.c
2013-09-17 02:40:17 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (3ec5378aad)
Fixed uri_parse_slashslash_authority() to skip over "//".
M src/lib/uri-util.c
2013-09-16 01:02:03 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b4a7dbfb42)
Comment update.
M src/lib/connection.h
2013-09-14 00:26:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (66d84e6f0a)
istream: Improved "stream not seekable" panic message.
M src/lib/istream.c
2013-09-12 02:32:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (61f018f5b4)
Minor code cleanup.
M src/lib/ostream-hash.h
2013-09-08 19:20:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (1c1ded8e94)
auth: Removed unnecessary NULL check.
M src/auth/auth-request.c
2013-09-06 18:28:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (72e15c62aa)
Avoid doing side effects in assert.
M src/lib-imap-client/imapc-connection.c
2013-09-06 02:39:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (5e93930ec6)
And removed accidentally committed nbsp.
M src/lib-storage/mailbox-uidvalidity.c
2013-09-04 22:41:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0de730a46c)
master: Fix to previous pre-forking change.
M src/master/service-monitor.c
2013-09-02 17:37:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30a5cfac4d)
Fixed compiling with old gcc.
M src/log/log-error-buffer.c
2013-08-27 04:06:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (96581b0553)
imap: Fixed potential assert crash in APPEND.
M src/imap/cmd-append.c
2013-08-17 15:01:25 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7ec4907a59)
lib-http: Removed more code duplication
M src/lib-http/http-client-request.c
2013-08-10 15:00:36 +0300 Timo Sirainen <[email protected]> (8608ffb77a)
lib-http: Removed duplicated code
M src/lib-http/http-client-request.c
2013-08-08 22:37:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a23cb9e675)
imap: Fixed memory leak on APPEND error conditions.
M src/imap/cmd-append.c
2013-08-07 19:40:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc6a2a935b)
master: Added --hostdomain to the help message.
M src/master/main.c
2013-08-06 18:35:02 +0000 Pascal Volk <[email protected]> (3813074b3f)
man: dovecot.1: Added description of option --hostdomain.
M doc/man/dovecot.1.in
2013-08-06 18:28:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (cf91aa1a3b)
dsync: Stream disconnection error message improvement
M src/doveadm/dsync/dsync-ibc-stream.c
2013-08-06 17:06:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f5fa1c506e)
dsync: Memory leak fix at deinit.
M src/doveadm/dsync/dsync-ibc-stream.c
2013-08-06 16:07:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c6c08650b0)
master: Added --hostdomain setting to show the current hostdomain.
M src/master/main.c
2013-08-06 14:25:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1e0df4f191)
Added signature for changeset 71f0696749ab
M .hgsigs
2013-08-05 22:22:47 +0300 Timo Sirainen <[email protected]> (c50e67fe8a)
Added tag 2.2.5 for changeset 71f0696749ab
M .hgtags
2013-08-05 22:22:47 +0300 Timo Sirainen <[email protected]> (29b63e9d9b)
Released v2.2.5.
M NEWS
M configure.ac
2013-08-05 22:21:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (68e8c4ace2)
net_gethosterror(): Never return NULL.
M src/lib/net.c
2013-08-05 16:58:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2f45711505)
Makefile: Fixed previous commit.
M doc/man/Makefile.am
2013-08-02 19:03:32 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (209335fbc1)
doveadm flags: Fixed help text for subcommands.
M src/doveadm/doveadm-mail-flags.c
2013-08-02 15:19:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c5acac1fd4)
quota-status: Keep the config connection open.
M src/plugins/quota/quota-status.c
2013-07-30 13:26:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c6a5305674)
director: Fixes to handling users near expiration.
M src/director/director-connection.c
2013-07-29 22:10:01 +0300 Timo Sirainen <[email protected]> (06fc824305)
director: Log director disconnection errno correctly.
M src/director/director-connection.c
2013-07-29 22:08:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (be240f6731)
man: Updated doveadm-director man page.
M doc/man/doveadm-director.1.in
2013-07-12 01:36:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (524d89a405)
lib-http: Minor comment update.
M src/lib-http/http-client-private.h
2013-07-06 14:46:16 +1000 David Hicks <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4ee385fb4e)
imapc: Minor code cleanup.
M src/lib-storage/index/imapc/imapc-storage.c
2013-07-10 05:37:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fc5b80dc1f)
dsync: Recent changes broke remote dsync
M src/doveadm/dsync/dsync-ibc-stream.c
2013-06-26 21:35:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (579bd263cb)
Added signature for changeset 4b3c9c3e4fb8
M .hgsigs
2013-06-25 02:22:59 +0300 Timo Sirainen <[email protected]> (940095f1ca)
Added tag 2.2.4 for changeset 4b3c9c3e4fb8
M .hgtags
2013-06-25 02:22:58 +0300 Timo Sirainen <[email protected]> (483b379a43)
Released v2.2.4.
M NEWS
M configure.ac
2013-06-25 01:24:51 +0300 Timo Sirainen <[email protected]> (3605fb862d)
Make static analyzer happier.
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
2013-06-25 01:23:17 +0300 Timo Sirainen <[email protected]> (fad1d96662)
doveadm deduplicate: Fixed error handling.
M src/doveadm/doveadm-mail-deduplicate.c
2013-06-25 00:10:39 +0300 Timo Sirainen <[email protected]> (bc278f2c03)
quota: Fixed quota_rule with non-uppercase INBOX.
M src/plugins/quota/quota.c
2013-06-24 23:33:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d581fad4d4)
lib-sasl: API usage comment update
M src/lib-sasl/sasl-client.h
2013-06-18 11:59:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (4e4c91642c)
pop3: Fixed crash at deinit
M src/pop3/pop3-client.c
2013-06-17 14:39:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (e6eefacd1a)
Added signature for changeset 5d9f52c9a287
M .hgsigs
2013-06-17 00:31:18 +0300 Timo Sirainen <[email protected]> (8bdb49cc61)
Added tag 2.2.3 for changeset 5d9f52c9a287
M .hgtags
2013-06-17 00:31:18 +0300 Timo Sirainen <[email protected]> (dc4d2077ac)
Released v2.2.3.
M NEWS
M TODO
M configure.ac
2013-06-16 23:56:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (917f556f14)
fts-lucene: Fixed building without libstemmer
M src/plugins/fts-lucene/lucene-wrapper.cc
2013-06-16 21:15:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d39ea6eeb3)
Compiler warning fix.
M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
2013-06-14 00:23:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c8fff8f35c)
quota-status: Fixed log prefix.
M src/plugins/quota/quota-status.c
2013-06-13 23:22:20 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3ea055b5ae)
solr-schema.xml: Replaced EnglishPorterFilterFactory with
SnowballPorterFilterFactory
M doc/solr-schema.xml
2013-06-13 06:07:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a6cbb69f1)
acl: Crashfix
M src/plugins/acl/acl-backend-vfile.c
2013-06-09 14:53:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5ef75c870a)
var_expand(): Fixed initializing variable to %N
M src/lib/var-expand.c
2013-06-06 12:42:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5c69525684)
imapc: Minor code cleanup
M src/lib-storage/index/imapc/imapc-list.c
2013-06-06 10:52:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3874d5db41)
Reverted previous wrong commit.
M src/auth/auth-worker-server.c
2013-05-30 22:26:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3d027f3539)
lib-storage: Reverted previous change after all.
M src/lib-storage/mailbox-list.c
2013-05-29 03:23:40 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7606d44ea3)
auth: Fixed caching empty userdb result.
M src/auth/auth-request.c
2013-05-28 16:30:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2194c73cdf)
Added signature for changeset 7aa929edd551
M .hgsigs
2013-05-20 02:25:23 +0300 Timo Sirainen <[email protected]> (2235f9ba57)
Added tag 2.2.2 for changeset 7aa929edd551
M .hgtags
2013-05-20 02:25:23 +0300 Timo Sirainen <[email protected]> (3da6df0648)
Released v2.2.2.
M NEWS
M configure.ac
2013-05-20 02:01:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b3b55a84b1)
Makefile: Removed dovecot-db.conf.ext
M doc/example-config/Makefile.am
2013-05-15 12:50:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4f0ea8daa8)
configure: Fixed checking for struct sockpeercred with OpenBSD <5.3
M configure.ac
2013-05-14 14:02:36 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (ea954a624a)
Fix out of source build of manpages
M doc/man/Makefile.am
2013-05-06 23:59:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (7b6cc2bca3)
imap: URLFETCH leaked istream on failures.
M src/imap/cmd-urlfetch.c
2013-05-06 20:15:58 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (693e839fb9)
imap: Fixed assert-crash on invalid APPEND parameters.
M src/imap/cmd-append.c
2013-05-06 19:49:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (047f632330)
imap: Don't allow empty CATENATE () list.
M src/imap/cmd-append.c
2013-05-02 18:11:56 +0300 Timo Sirainen <[email protected]> (6c3a5f03aa)
imap: Fixed using literals for URLs in CATENATE.
M src/imap/cmd-append.c
2013-05-02 16:20:02 +0300 Timo Sirainen <[email protected]> (e3d7df2094)
example-config: Typofix
M doc/example-config/dovecot.conf
2013-04-23 21:32:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (3b09ea6d85)
hash_table_clear(): Added a comment about API usage.
M src/lib/hash.h
2013-04-23 21:06:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ec383c7840)
lib-http: Makefile fix
M src/lib-http/Makefile.am
2013-04-23 13:47:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (066595d486)
master: Fixed warning log message.
M src/master/master-settings.c
2013-04-23 13:28:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (96b8965a96)
Fixed a memory leak.
M src/lib-mail/istream-attachment-connector.c
2013-04-20 20:58:06 +0300 Timo Sirainen <[email protected]> (e2854843b2)
stats plugin: Fixed memory leak.
M src/plugins/stats/stats-plugin.c
2013-04-19 14:29:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (03a5062175)
Added signature for changeset 6fcf060b50f1
M .hgsigs
2013-04-19 00:38:00 +0300 Timo Sirainen <[email protected]> (16b277741e)
Added tag 2.2.1 for changeset 6fcf060b50f1
M .hgtags
2013-04-19 00:38:00 +0300 Timo Sirainen <[email protected]> (c4d85d3de0)
Released v2.2.1.
M NEWS
M TODO
M configure.ac
2013-04-18 18:49:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6766440ffd)
doveadm fs: Set base_dir.
M src/doveadm/doveadm-fs.c
2013-04-16 20:08:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a6a9e537d8)
auth: Fixed multiple master passdbs.
M src/auth/auth-request.c
2013-04-16 15:54:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eed1ec3ac9)
Linking error fix.
M src/doveadm/doveadm-mail.h
2013-04-12 21:19:38 +0300 Timo Sirainen <[email protected]> (c92163a6f8)
Added tag 2.2.0 for changeset 1c8e7a295d4b
M .hgtags
2013-04-11 22:38:59 +0300 Timo Sirainen <[email protected]> (e81127c921)
Added signature for changeset e2cd03cc9c69
M .hgsigs
2013-04-11 22:38:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5fb80928bb)
Fixed getmntinfo() usage with NetBSD. Patch by Emmanuel Dreyfus
M src/lib/mountpoint.c
2013-04-10 22:31:53 +0300 Timo Sirainen <[email protected]> (2a7f9672ca)
Added signature for changeset d7f29af73468
M .hgsigs
2013-04-10 22:31:41 +0300 Timo Sirainen <[email protected]> (81e86d1ea9)
Added tag 2.2.rc7 for changeset d7f29af73468
M .hgtags
2013-04-10 22:31:41 +0300 Timo Sirainen <[email protected]> (c21978afb4)
Released v2.2.rc7.
M NEWS
M TODO
M configure.ac
2013-04-10 22:11:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3ba55a69a6)
lib-master: Ignore mountpoints with type cgroup.
M src/lib-master/mountpoint-list.c
2013-04-08 14:43:09 +0300 Timo Sirainen <[email protected]> (a1ac79f52b)
doveadm replicator: Fixed showing over 1h old timestamps.
M src/doveadm/doveadm-replicator.c
2013-04-08 14:38:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a74bc46dde)
checkpasword: Don't set AUTH_PASSWORD environment.
M src/auth/db-checkpassword.c
2013-04-08 13:09:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b09cf319d0)
Added signature for changeset ae4341d0e83b
M .hgsigs
2013-04-08 02:06:25 +0300 Timo Sirainen <[email protected]> (f6ce79f874)
Added tag 2.2.rc6 for changeset ae4341d0e83b
M .hgtags
2013-04-08 02:06:25 +0300 Timo Sirainen <[email protected]> (0d511a2ded)
Released v2.2.rc6.
M NEWS
M configure.ac
2013-04-08 01:56:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6759ba36f2)
ostream-metawrap: Copy parent ostream's errors.
M src/lib-fs/ostream-metawrap.c
2013-04-07 20:32:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1c31ad9a2e)
lib-fs: Added debug setting.
M src/lib-fs/fs-api.h
2013-04-07 19:50:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30a12782a7)
Added signature for changeset 9446df6da5a8
M .hgsigs
2013-04-05 21:03:16 +0300 Timo Sirainen <[email protected]> (c367727853)
Added tag 2.2.rc5 for changeset 9446df6da5a8
M .hgtags
2013-04-05 21:03:16 +0300 Timo Sirainen <[email protected]> (ed930763ab)
Released v2.2.rc5.
M NEWS
M configure.ac
2013-04-05 19:27:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2a80aa687a)
quota-status: Unknown recipients caused a crash.
M src/plugins/quota/quota-status.c
2013-04-05 12:26:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (23d09920ee)
dsync: Fixes to location parameter handling.
M src/doveadm/dsync/doveadm-dsync.c
2013-04-05 00:24:39 +0300 Timo Sirainen <[email protected]> (d25c1c36c3)
Added signature for changeset 92c88eca562d
M .hgsigs
2013-04-05 00:24:36 +0300 Timo Sirainen <[email protected]> (92170d845d)
Added tag 2.2.rc4 for changeset 92c88eca562d
M .hgtags
2013-04-05 00:24:36 +0300 Timo Sirainen <[email protected]> (89d992b7a3)
Released v2.2.rc4.
M NEWS
M TODO
M configure.ac
2013-04-05 00:13:16 +0300 Timo Sirainen <[email protected]> (47cf35bf36)
Merged changes from v2.1 tree.
2013-04-05 00:08:40 +0300 Timo Sirainen <[email protected]> (284aa558c9)
Added signature for changeset 582108c190f8
M .hgsigs
2013-04-05 00:08:37 +0300 Timo Sirainen <[email protected]> (8be1363072)
Added tag 2.1.16 for changeset 582108c190f8
M .hgtags
2013-04-05 00:08:36 +0300 Timo Sirainen <[email protected]> (e062b1ad61)
Released v2.1.16.
M NEWS
M configure.in
2013-04-04 23:58:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (8761e72624)
replicator: If replicator is unconfigured, fail at startup.
M src/replication/replicator/replicator.c
2013-04-04 23:35:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1a3254b83b)
istream-chain: Final fixes to handling merged streams.
M src/lib/istream-chain.c
2013-04-04 21:46:59 +0300 Timo Sirainen <[email protected]> (76f0cc074e)
istream-chain: More fixes to handling merged streams.
M src/lib/istream-chain.c
2013-04-04 21:23:49 +0300 Timo Sirainen <[email protected]> (5d3e31cae6)
istream-chain: Fixed memory leak.
M src/lib/istream-chain.c
2013-04-04 21:18:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (7af4788b40)
i_stream_read(): Added assert.
M src/lib/istream.c
2013-04-04 21:18:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3da95d05df)
lib-http: Crashfix for previous change.
M src/lib-http/http-client-peer.c
2013-04-04 17:39:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (692ab2d0ea)
lib-http: Removed unused code.
M src/lib-http/http-client-peer.c
2013-04-04 13:20:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (29658a7e7a)
dovecot.m4: Reverted last change with added comments.
M dovecot.m4
2013-04-02 23:32:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0c7ccf0dba)
auth: Fixed ANONYMOUS mechanism to work again.
M src/auth/mech-anonymous.c
2013-03-31 19:02:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (789cb161ef)
dsync: Fixed syncing without GUIDs.
M src/doveadm/dsync/dsync-mailbox-export.c
2013-03-31 18:35:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (401bacb360)
dsync: Don't access uninitialized variable
M src/doveadm/dsync/doveadm-dsync.c
2013-03-27 09:16:42 +0200 Timo Sirainen <[email protected]> (faccb8e514)
Compiler warning fix
M src/replication/replication-common.h
2013-03-26 22:41:43 +0200 Timo Sirainen <[email protected]> (c161661e74)
lib-storage: Added assert.
M src/lib-storage/mail.c
2013-03-26 22:41:32 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8d8dc14bf9)
ldap: Another fix to sub-dn-lookup.
M src/auth/db-ldap.c
2013-03-26 10:36:49 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (872521e5ee)
ldap: Compiling fix to previous change
M src/auth/db-ldap.c
2013-03-26 10:25:50 +0200 Timo Sirainen <[email protected]> (f30ab1a83f)
ldap: Improved sub-dn-lookup error message.
M src/auth/db-ldap.c
2013-03-25 18:10:16 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (861f4c69f2)
dsync: Fixed syncing attribute streams.
M src/doveadm/dsync/dsync-ibc-stream.c
2013-03-25 13:55:41 +0200 Timo Sirainen <[email protected]> (b32b2375b6)
imap: Fixed more URL escaping in URLFETCH replies.
M src/imap/cmd-urlfetch.c
2013-03-24 19:04:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e36574dadc)
lib-storage: Compiling fix
M src/lib-storage/mailbox-list.c
2013-03-22 17:43:52 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (44a529ca5a)
dsync: Use fcntl() locking instead of flock().
M src/doveadm/dsync/dsync-brain.c
2013-03-22 11:17:14 +0200 Timo Sirainen <[email protected]> (5e32f3d9e2)
Compiler warning fix
M src/doveadm/dsync/dsync-mailbox-import.c
2013-03-22 10:29:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (adc403868c)
Added signature for changeset 11bd79bf4866
M .hgsigs
2013-03-20 22:05:53 +0200 Timo Sirainen <[email protected]> (33158cf33a)
Added tag 2.2.rc3 for changeset 11bd79bf4866
M .hgtags
2013-03-20 22:05:53 +0200 Timo Sirainen <[email protected]> (e33ff0746d)
Released v2.2.rc3.
M NEWS
M configure.ac
2013-03-20 21:44:48 +0200 Timo Sirainen <[email protected]> (afaf4f2939)
Merged changes from v2.1 tree.
2013-03-20 21:13:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (005eb7a9e9)
imap: Fixed RESETKEY assert-crashing
M src/imap/cmd-resetkey.c
2013-03-20 17:44:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ab3c52cff4)
dsync: Fixed attribute value comparisons.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-03-19 23:31:41 +0200 Timo Sirainen <[email protected]> (3b1f449bb7)
Compiler warning fix.
M src/doveadm/dsync/dsync-mailbox.c
2013-03-19 19:08:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c2bae70e86)
ldap auth: Fix to previous change.
M src/auth/db-ldap.c
2013-03-18 20:51:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (31a9637b38)
Compiling fix for Solaris
M src/lib-master/master-service.h
2013-03-18 15:47:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9a5980c7bb)
Compile fix on non-gcc/clang.
M src/lib/istream-chain.c
2013-03-14 15:41:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b3bf71e0c9)
istream-dot unit test updated.
M src/lib-mail/test-istream-dot.c
2013-03-13 22:11:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (42d2fdfbe4)
lib-fs: Fixed fs_delete() API description.
M src/lib-fs/fs-api.h
2013-03-11 14:44:48 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (293b45b56b)
fts-solr: Removed unnecessary code.
M src/plugins/fts-solr/solr-connection.c
2013-03-10 20:49:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (667de5cf29)
lib-http: Added assert.
M src/lib-http/http-client-request.c
2013-03-10 20:37:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d48e40d6c7)
connection: Give input/output streams a name.
M src/lib/connection.c
2013-03-05 14:31:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1a9a35a6b3)
lib-http: Fixed http_client_wait() assert.
M src/lib-http/http-client.c
2013-03-05 11:45:10 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1e83f6804a)
tcpwrap: Fixed crash at startup.
M src/util/tcpwrap.c
2013-03-04 15:53:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (79a9e6bc57)
doveadm: Fixed connecting to UNIX sockets.
M src/doveadm/doveadm-util.c
2013-02-27 14:26:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4ddc84facf)
timeout_add_short(1) may have caused infinite looping.
M src/lib/ioloop.c
2013-02-27 12:34:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d687a91469)
Added signature for changeset e62fa121f4a2
M .hgsigs
2013-02-25 20:40:12 +0200 Timo Sirainen <[email protected]> (0b04c1969c)
Added tag 2.2.rc2 for changeset e62fa121f4a2
M .hgtags
2013-02-25 20:40:09 +0200 Timo Sirainen <[email protected]> (1653d12e3f)
Released v2.2.rc2.
M NEWS
M configure.ac
2013-02-25 20:20:18 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9bb59af420)
configure: Fixed plugins when compiling --with-shared-libs
M configure.ac
2013-02-25 17:33:16 +0200 Timo Sirainen <[email protected]> (8bbd9bb4c6)
Added signature for changeset 508d46f85815
M .hgsigs
2013-02-25 17:33:13 +0200 Timo Sirainen <[email protected]> (8212f944df)
Added tag 2.2.rc1 for changeset 508d46f85815
M .hgtags
2013-02-25 17:33:02 +0200 Timo Sirainen <[email protected]> (c03f054ea4)
Released v2.2.rc1.
M NEWS
M configure.ac
2013-02-25 17:29:28 +0200 Timo Sirainen <[email protected]> (94b62bea1d)
Merged changes from v2.1 tree.
2013-02-25 17:25:10 +0200 Timo Sirainen <[email protected]> (3e15508a14)
TODO updated
M TODO
2013-02-25 17:23:25 +0200 Timo Sirainen <[email protected]> (a2667c4d6b)
Fixed checking UTF8 input validity.
M src/lib/unichar.c
2013-02-25 17:23:25 +0200 Timo Sirainen <[email protected]> (6db7f0b2f1)
Fixed checking UTF8 input validity.
M src/lib/unichar.c
2013-02-25 17:07:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (7cd527fb71)
dsync: Minor code cleanup.
M src/doveadm/dsync/doveadm-dsync.c
2013-02-25 16:58:02 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a55ac839a0)
configure: Removed accidentally enabled clang -fsanitize options for now.
M configure.ac
2013-02-24 19:48:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (10a245789f)
doveadm: If doveadm-server sends broken input, disconnect.
M src/doveadm/server-connection.c
2013-02-24 19:37:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d707f37a05)
dsync: Always skip alias namespaces.
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
2013-02-24 16:43:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4f993cf1cb)
imap: Don't leak mailboxes on CATENATE errors.
M src/imap/cmd-append.c
2013-02-24 15:52:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (3e3045fa02)
Compiler warning fix.
M src/lib-storage/index/index-mail.c
2013-02-24 15:02:44 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc21f1dd37)
Avoid overflow error from clang -fsanitize=integer.
M src/lib/istream-crlf.c
2013-02-24 10:49:38 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (71fbc9af42)
Compiler warning fix.
M src/doveadm/doveadm-mail-fetch.c
2013-02-24 08:54:58 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (025e4dfc23)
Minor code cleanup
M src/lib-storage/mail-search-register-human.c
2013-02-24 08:44:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (cd62b99969)
Compiler warning fix.
M src/lib/test-json-parser.c
2013-02-24 08:06:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1df1abcfee)
auth: Use real_lip for proxy_maybe checks.
M src/auth/auth-request.c
2013-02-22 13:04:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (53febe0236)
quota-status: Fixed compiling with older autotools.
M src/plugins/quota/Makefile.am
2013-02-21 19:58:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (ffa32909ff)
Added signature for changeset 018de2aa893a
M .hgsigs
2013-02-21 17:09:02 +0200 Timo Sirainen <[email protected]> (e87dcdb048)
Added tag 2.2.beta2 for changeset 018de2aa893a
M .hgtags
2013-02-21 17:07:55 +0200 Timo Sirainen <[email protected]> (784762b5f7)
Released v2.2.beta1.
M configure.ac
2013-02-21 17:06:27 +0200 Stephan Bosch <[email protected]> (c367bee430)
lib-http: Fixed hanging on errors
M src/lib-http/http-client-connection.c
2013-02-21 14:16:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (96f7cae325)
quota-status: Fixed compiling
M src/plugins/quota/Makefile.am
2013-02-21 13:22:33 +0200 Timo Sirainen <[email protected]> (7bf25e7b9f)
TODO updated
M TODO
2013-02-21 13:21:18 +0200 Timo Sirainen <[email protected]> (09baabc97c)
Merged changes from v2.1 tree.
2013-02-21 10:23:08 +0200 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a42fa06d62)
lib-index: Added assert.
M src/lib-index/mail-index-sync.c
2013-02-19 17:36:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (241c0b8f9a)
auth: Fix to previous change.
M src/auth/userdb-passwd-file.c
2013-02-19 11:22:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9ed42a54be)
dsync: Improved debug output.
M src/doveadm/dsync/dsync-brain-mailbox.c
2013-02-19 09:45:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9c50c41ab7)
my_hostname was broken because of recent change.
M src/lib/hostpid.c
2013-02-18 08:46:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (add74aa767)
dsync: Fixed infinite loop in importer.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-02-17 10:14:49 +0200 Timo Sirainen <[email protected]> (9bbfe7f5ff)
dsync: Improved unexpected error logging.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-02-17 10:11:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c3fcfca0df)
Merged changes from v2.1 tree.
2013-02-16 18:24:28 +0200 Timo Sirainen <[email protected]> (4927162e7b)
NEWS file updated.
M NEWS
2013-02-16 18:22:23 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d52f5dcb05)
dsync: Avoid possibly long function recursion.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-02-16 08:00:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fee8ee58c0)
lib-storage: Minor code cleanup
M src/lib-storage/fail-mailbox.c
2013-02-11 00:24:56 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9aac330837)
Added signature for changeset fc75811f3c08
M .hgsigs
2013-02-08 15:05:37 +0200 Timo Sirainen <[email protected]> (154dd25b4c)
Added tag 2.1.15 for changeset fc75811f3c08
M .hgtags
2013-02-08 15:05:36 +0200 Timo Sirainen <[email protected]> (b2aa4eabd7)
Released v2.1.15.
M NEWS
M configure.in
2013-02-06 19:00:52 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0e6e2c5ca5)
fs-metawrap: Memory leak fixes
M src/lib-fs/fs-metawrap.c
2013-02-05 03:23:30 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5ca0738418)
fs-metawrap: Error handling fixes
M src/lib-fs/fs-metawrap.c
2013-02-04 20:14:16 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5b7cf8d961)
fts-solr: Compile warning fix
M src/plugins/fts-solr/fts-solr-plugin.c
2013-02-02 17:02:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5c88745f67)
replicator: Use locking when running dsync.
M src/replication/replicator/doveadm-connection.c
2013-01-31 21:01:09 +0200 Timo Sirainen <[email protected]> (3edcc1d78b)
replicator: Crashfix at deinit
M src/replication/replicator/replicator-brain.c
2013-01-31 19:58:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (5e46f82843)
doveadm fetch: Added "modseq" field.
M src/doveadm/doveadm-mail-fetch.c
2013-01-31 19:45:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (59bf1df595)
dsync: Fixed syncing keyword removals.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-01-31 18:27:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (70d732b529)
Added signature for changeset b314c97d4bbf
M .hgsigs
2013-01-30 23:45:06 +0200 Timo Sirainen <[email protected]> (4b1041c273)
Added tag 2.1.14 for changeset b314c97d4bbf
M .hgtags
2013-01-30 23:45:06 +0200 Timo Sirainen <[email protected]> (e9cbc7950c)
Released v2.1.14.
M NEWS
M configure.in
2013-01-30 23:24:20 +0200 Timo Sirainen <[email protected]> (8521def0d8)
auth: Fixed compiling GSSAPI after recent changes.
M src/auth/mech-gssapi.c
2013-01-30 22:44:48 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c2a800e3d0)
README: Added RFC 6851
M README
2013-01-28 14:37:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (63f01d5e4c)
dsync: Error handling crashfix
M src/doveadm/dsync/dsync-brain-mailbox.c
2013-01-22 12:59:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f86f5b0a32)
dict-cdb: Handle cdb_read() errors.
M src/lib-dict/dict-cdb.c
2013-01-21 18:31:08 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cd70f7aec3)
dsync: Verify messages' GUIDs better.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-01-21 16:44:33 +0200 Timo Sirainen <[email protected]> (a0b769af89)
dsync: Fixed syncing to non-remote locations.
M src/doveadm/dsync/doveadm-dsync.c
2013-01-21 14:43:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2a15ce3abe)
doveadm: Compiling fix
M src/doveadm/doveadm-mail.h
2013-01-16 12:02:18 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (612c4777cc)
dovecot-config: Removed unnecessary/duplicate ssl library links.
M Makefile.am
M configure.ac
2013-01-15 08:30:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (4b6ec040fd)
lib-index: Added asserts.
M src/lib-index/mail-index-transaction-finish.c
2013-01-14 17:58:09 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (00ad194782)
imap: Improved unexpected FETCH error messages.
M src/imap/imap-fetch-body.c
2013-01-10 14:20:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b991ad9a6e)
dsync server: Fixed crash at deinit
M src/doveadm/dsync/doveadm-dsync.c
2013-01-10 12:12:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (dbc8674893)
lib-storage: Improved "Using permissions" debug message.
M src/lib-storage/mailbox-list.c
2013-01-10 10:21:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (97ad3cac32)
replicator: doveadm connections weren't reset properly
M src/replication/replicator/doveadm-connection.c
2013-01-10 07:39:02 +0200 Timo Sirainen <[email protected]> (200c47440b)
dsync: Fixed parsing state string.
M src/doveadm/dsync/dsync-mailbox-state.c
2013-01-10 07:31:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (9269bbf0d2)
doveadm: Added assert.
M src/doveadm/doveadm-print.c
2013-01-09 11:03:43 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (c45baa0238)
dsync: Mailbox syncing fix
M src/doveadm/dsync/dsync-mailbox-import.c
2013-01-09 07:53:53 +0200 Timo Sirainen <[email protected]> (91ec3b77f0)
dsync: Error handling fix.
M src/doveadm/dsync/dsync-mailbox-import.c
2013-01-09 07:02:28 +0200 Timo Sirainen <[email protected]> (631913684c)
Merged changes from v2.1 tree.
2013-01-09 07:01:41 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d488609221)
lib-index: Comment update
M src/lib-index/mail-index.h
2013-01-09 05:38:13 +0200 Timo Sirainen <[email protected]> (61279c3c77)
Merged changes from v2.1 tree.
2013-01-08 16:24:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bfdef55e14)
DEBUG: buffer_verify_pool() crashed with empty buffer.
M src/lib/buffer.c
2013-01-08 05:23:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b16de4d0b7)
dsync: Avoid infinite looping.
M src/doveadm/dsync/dsync-brain-mails.c
2013-01-08 04:00:04 +0200 Timo Sirainen <[email protected]> (a5bf21895b)
dsync: Assert-crashfix for handling keywords.
M src/doveadm/dsync/dsync-mailbox-export.c
2013-01-08 03:44:14 +0200 Timo Sirainen <[email protected]> (6e37fcb7fe)
DEBUG: buffer_verify_pool() crashed with static sized buffers.
M src/lib/buffer.c
2013-01-08 03:39:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3f8cd756f3)
Added signature for changeset 86bccdf46d17
M .hgsigs
2013-01-07 12:24:58 +0200 Timo Sirainen <[email protected]> (2bf81fc7e5)
Added tag 2.2.beta1 for changeset 86bccdf46d17
M .hgtags
2013-01-07 12:24:58 +0200 Timo Sirainen <[email protected]> (1b48b9102e)
Released v2.2.beta1.
M configure.ac
2013-01-07 12:24:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (6fa505bf33)
Added signature for changeset cf9d62fd0b14
M .hgsigs
2013-01-07 10:55:17 +0200 Timo Sirainen <[email protected]> (4a8d76f01e)
Added tag 2.1.13 for changeset cf9d62fd0b14
M .hgtags
2013-01-07 10:55:17 +0200 Timo Sirainen <[email protected]> (8c46dcd6ba)
Released v2.1.13.
M NEWS
M configure.in
2013-01-05 01:14:11 +0200 Timo Sirainen <[email protected]> (70a2782edc)
Merged changes from v2.1 tree.
2013-01-05 00:50:04 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0cc3ea4982)
DEBUG: Call buffer_verify_pool() on str_c*()
M src/lib/str.c
2013-01-04 03:50:18 +0200 Timo Sirainen <[email protected]> (a94f166ade)
Added buffer_verify_pool()
M src/lib/buffer.c
M src/lib/buffer.h
2013-01-04 01:43:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c5c51ded95)
configure: Use -lrt for check_gettime() only if needed.
M configure.ac
2012-12-19 23:34:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (f06cc4cb65)
json-parser: Fixed infinite looping in some situations.
M src/lib/json-parser.c
2012-12-19 14:39:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e65600bfe1)
dsync: Fixed hangs with remote dsyncing
M src/doveadm/dsync/dsync-ibc-stream.c
2012-12-13 12:24:32 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (406ea4e54d)
quota: Fixed quota calculation with mailbox_move().
M src/plugins/quota/quota-storage.c
2012-12-08 09:37:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 [email protected] <[email protected]> (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 [email protected] <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dafbec2c6b)
fts-solr: Fixed memory leak
M src/plugins/fts-solr/solr-connection.c
2012-12-07 05:53:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8bfb2ecbe6)
lib-fs: Comment update
M src/lib-fs/fs-api.h
2012-12-03 02:21:54 +0200 Timo Sirainen <[email protected]> (3a916a3c77)
Makefile: Added missing \
M src/Makefile.am
2012-12-02 02:35:05 +0200 Timo Sirainen <[email protected]> (32f0278969)
Makefile: Reordered directories to fix build failure
M src/Makefile.am
2012-12-01 06:56:02 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (37de9a0b60)
Added signature for changeset 75bfda4a7c6c
M .hgsigs
2012-11-30 08:56:44 +0200 Timo Sirainen <[email protected]> (d5aeb2b76c)
Added tag 2.1.12 for changeset 75bfda4a7c6c
M .hgtags
2012-11-30 08:56:44 +0200 Timo Sirainen <[email protected]> (ab932cc0bc)
Released v2.1.12.
M NEWS
M configure.in
2012-11-30 03:14:10 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (5c11e02669)
Makefile: dovecot-config was missing quotes in LIBDOVECOT_LOGIN
M Makefile.am
2012-11-29 10:29:19 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (41c6bfad3b)
Added signature for changeset 741d800a192f
M .hgsigs
2012-11-29 08:41:21 +0200 Timo Sirainen <[email protected]> (e976194db6)
Added tag 2.1.11 for changeset 741d800a192f
M .hgtags
2012-11-29 08:41:21 +0200 Timo Sirainen <[email protected]> (efdf7a064e)
Released v2.1.11.
M NEWS
M configure.in
2012-11-29 08:35:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4e22f1ec83)
fts_parser: Minor error logging improvement
M src/plugins/fts/fts-parser-script.c
2012-11-27 10:39:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (691759a455)
NEWS updated
M NEWS
2012-11-27 09:53:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bf5015e723)
Added libhttp to libdovecot.so
M configure.ac
M src/lib-dovecot/Makefile.am
2012-11-26 23:11:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6937ddd8bd)
lib-fs: Fixed iteration with POSIX backend.
M src/lib-fs/fs-posix.c
2012-11-26 23:01:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c61b8f90a4)
bsdauth: Use "auth-<service>" as the auth type.
M src/auth/passdb-bsdauth.c
2012-11-23 08:52:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4e9410678e)
Makefile: Build lib-ssl-iostream before lib-http
M src/Makefile.am
2012-11-06 01:40:17 +0200 Timo Sirainen <[email protected]> (bc64a795f4)
Makefile: Fixed building libdovecot.so
M src/lib-dovecot/Makefile.am
2012-11-06 01:16:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (12b1956587)
Added signature for changeset f5941f3ac762
M .hgsigs
2012-10-29 22:47:32 +0200 Timo Sirainen <[email protected]> (be061d4055)
Added tag 2.2.alpha1 for changeset f5941f3ac762
M .hgtags
2012-10-29 22:47:32 +0200 Timo Sirainen <[email protected]> (5ae069c932)
Released v2.2.alpha1.
M NEWS
M TODO
M configure.ac
2012-10-29 22:42:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (45d2975c61)
doveadm user -m: Show all returned userdb fields.
M src/doveadm/doveadm-auth.c
2012-10-29 20:06:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c25dfa96bc)
Merged changes from v2.1 tree.
2012-10-29 16:51:46 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa767dbd15)
TODO updated
M TODO
2012-10-29 15:30:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (01e3a9b57a)
NEWS updated
M NEWS
2012-10-24 12:47:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (38eee54ced)
director: Minor code cleanup
M src/director/director-connection.c
2012-10-22 15:29:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (98811ad98a)
director: Log more clearly why a request timeouts.
M src/director/director-request.c
2012-10-22 15:20:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ad8fdcb7e3)
Makefile: Added cc-wrapper.sh.in missing from last commit
M Makefile.am
2012-10-12 03:08:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (14ee25b3a5)
imap: Don't waste data stack memory at startup.
M src/imap/main.c
2012-10-12 01:17:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2b01d76300)
Compiler warning fix.
M src/lib-http/http-url.c
2012-10-10 23:59:12 +0300 Stephan Bosch <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da5bcae5bb)
doveadm: Fixed printing large input from doveadm-server.
M src/doveadm/server-connection.c
2012-10-02 21:56:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a092650c6e)
Compiling fix for HURD
M src/lib/compat.h
2012-09-28 15:11:30 +0300 Timo Sirainen <[email protected]> (cf9abf15ed)
Avoid using PATH_MAX.
M src/lib-storage/index/dbox-common/dbox-storage.c
2012-09-28 15:07:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b5bdc43c49)
auth: passdb imap assert-crashed always
M src/auth/passdb-imap.c
2012-09-24 14:16:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e8694bd462)
lmtp: RSET/LHLO should reset any pending proxy connections.
M src/lmtp/client.c
2012-09-21 09:22:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8c5eeb1ab1)
imap: Fixed partial FETCHes.
M src/lib-imap-storage/imap-msgpart.c
2012-10-03 02:28:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3f1d004a63)
Added signature for changeset 1a6c3b4e92e4
M .hgsigs
2012-09-18 21:42:27 +0300 Timo Sirainen <[email protected]> (54955c2bc9)
Added tag 2.1.10 for changeset 1a6c3b4e92e4
M .hgtags
2012-09-18 21:42:27 +0300 Timo Sirainen <[email protected]> (01ebee3689)
Released v2.1.10.
M NEWS
M configure.in
2012-09-18 20:53:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fca7aa88ab)
Merged changes from v2.1 tree.
2012-09-26 17:17:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c9160ac09e)
lib-fs: Fix to previous change
M src/lib-fs/fs-api.c
2012-09-25 21:45:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4630728250)
lib-fs: Minor code cleanup
M src/lib-fs/fs-api.c
2012-09-25 17:42:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cf1b789e26)
doveadm: Install doveadm-settings.h header
M src/doveadm/Makefile.am
2012-09-22 19:23:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (533bf074af)
lib-fs: Fix to previous API change
M src/lib-fs/fs-api.c
2012-09-17 18:13:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1c522e0fcb)
Makefile: Fixed building fts-squat
M src/plugins/fts-squat/Makefile.am
2012-09-16 16:42:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5ee7c64918)
Makefile: Fixed dependencies for imap-urlauth
M src/imap-urlauth/Makefile.am
2012-09-16 01:08:11 +0300 Timo Sirainen <[email protected]> (22186f0044)
Makefile: Fixed imap-urlauth library dependencies
M src/imap-urlauth/Makefile.am
2012-09-16 01:06:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (53ba38f771)
imap: Assert-crashfix for URLFETCH command.
M src/imap/imap-client.c
2012-09-16 00:56:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ebe49ef9cc)
imap-bodystructure.h comment fix
M src/lib-imap/imap-bodystructure.h
2012-09-15 19:08:11 +0300 Timo Sirainen <[email protected]> (a32e42550e)
imap-bodystructure.h comment update
M src/lib-imap/imap-bodystructure.h
2012-09-15 19:06:37 +0300 Timo Sirainen <[email protected]> (7717e3cd13)
lib-imap: Updated test-imap-bodystructure
M src/lib-imap/test-imap-bodystructure.c
2012-09-15 19:00:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (49d9165e32)
buffer_create_data(): Clear the memory area immediately.
M src/lib/buffer.c
2012-09-06 01:04:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (9a6409b557)
TODO updated
M TODO
2012-09-04 19:05:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (edb39c4e2b)
Minor code cleanup
M src/lib-mail/istream-attachment-extractor.c
2012-09-04 16:22:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3a85bb8129)
Comment update.
M src/lib-storage/mail-storage.h
2012-09-02 19:22:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d163fac99c)
Merged changes from v2.1 tree.
2012-08-30 21:12:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (5d84dfbcfd)
imap: Fixed MULTIAPPEND CATENATE that contained only URLs
M src/imap/cmd-append.c
2012-08-29 23:16:05 +0300 Timo Sirainen <[email protected]> (f16414db98)
Minor code cleanup
M src/imap/cmd-append.c
2012-08-29 23:15:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (63ea4ca540)
NEWS updated
M NEWS
2012-08-29 21:08:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (29d6ddd378)
imap: Fixed crashes in THREAD=ORDEREDSUBJECT
M src/imap/cmd-thread.c
2012-08-29 20:00:03 +0300 Timo Sirainen <[email protected]> (7d3aac4c79)
imap: CATENATE fix
M src/imap/cmd-append.c
2012-08-29 19:59:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (59fde98aaf)
imap: More APPEND error handling fixes.
M src/imap/cmd-append.c
2012-08-29 18:34:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (2db714ba6e)
imap: Various fixes to APPEND error handling.
M src/imap/cmd-append.c
2012-08-29 18:32:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (22c1ec434d)
str_*printfa(): Avoid growing underlying buffer if possible.
M src/lib/str.c
2012-08-29 08:56:40 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (531ddc880d)
dict-redis: Fixed infinite looping
M src/lib-dict/dict-redis.c
2012-08-25 12:05:34 +0300 Timo Sirainen <[email protected]> (548d8f6272)
istream-concat: Bugfix
M src/lib/istream-concat.c
2012-08-24 19:44:43 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (98950c9167)
Compiler warning fix
M src/lib/istream-concat.c
2012-08-23 11:54:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (c6f644533e)
Increased initial memory pool size
M src/lib-mail/istream-attachment-extractor.c
2012-08-22 16:55:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a91f2c465f)
istream-concat bugfixes
M src/lib/istream-concat.c
2012-08-22 11:44:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fcc905a7e9)
istream-concat bugfixes
M src/lib/istream-concat.c
2012-08-22 07:49:55 +0300 Timo Sirainen <[email protected]> (81419a8dd6)
auth: Unregister SCRAM-SHA-1 at deinit.
M src/auth/mech.c
2012-08-21 10:02:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (c395e7d730)
i_stream_create_seekable_path() created memory corruption
M src/lib/istream-seekable.c
2012-08-20 11:09:42 +0300 Timo Sirainen <[email protected]> (59153e6c62)
Merged changes from v2.1 tree.
2012-08-20 10:54:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (b171ffe6e7)
Fixed some aliasing warnings with hash table API.
M src/lib/hash.h
2012-08-20 10:01:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30f8c62534)
replicator: Crashfix
M src/replication/aggregator/replicator-connection.c
2012-08-19 07:20:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a2ecf3b488)
ostream-file: Fixed writing with zero buffer size.
M src/lib/ostream-file.c
2012-08-18 10:31:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (3a8c3cd184)
doveadm: Improved "passdb lookup failed" error message.
M src/doveadm/doveadm-mail-server.c
2012-08-17 11:15:21 +0300 Timo Sirainen <[email protected]> (0169161bcd)
Makefile: Install the useful doveadm*.h headers.
M src/doveadm/Makefile.am
2012-08-17 09:17:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8ac890ce54)
dovecot-config: Added LIBDOVECOT_DOVEADM_INCLUDE
M dovecot-config.in.in
M dovecot.m4
2012-08-16 14:25:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (3d95a75a81)
dict memcached-ascii bugfixes
M src/lib-dict/dict-memcached-ascii.c
2012-08-15 16:56:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bfa87344a8)
dict server: Implemented APPEND command.
M src/dict/dict-commands.c
2012-08-15 09:35:21 +0300 Timo Sirainen <[email protected]> (e4f236f772)
imap: Fixed assert-crash on FETCH error disconnections.
M src/imap/imap-client.c
2012-08-14 23:09:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eb493a9993)
Memory leak fix
M src/lib/ioloop.c
2012-08-13 05:45:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (85ee28daca)
imap: Code cleanup
M src/imap/imap-sync.c
2012-08-13 02:51:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b09e282875)
FETCH BINARY fix.
M src/lib-storage/index/index-mail-binary.c
2012-08-12 04:54:54 +0300 Timo Sirainen <[email protected]> (0d20bb8f13)
imap: More fixes to fetching messages.
M src/lib-imap-storage/imap-msgpart.c
2012-08-12 03:28:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fc0b202db2)
imap: Fixed FETCHing nonexistent parts.
M src/lib-imap-storage/imap-msgpart.c
2012-08-11 07:48:04 +0300 Timo Sirainen <[email protected]> (83fb4a1bc4)
Added BINARY to IMAP capabilities.
M configure.in
2012-08-11 07:47:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (12467c3e1d)
Previous istream-base64 changes broke compilation
M src/lib-mail/istream-attachment-connector.c
2012-08-10 07:00:20 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6c94ba9653)
doveadm: Renamed "auth" command to "auth test".
M src/doveadm/doveadm-auth.c
2012-08-10 05:24:07 +0300 Timo Sirainen <[email protected]> (1d2c463d23)
Merged changes from v2.1 tree.
2012-08-10 04:56:56 +0300 Timo Sirainen <[email protected]> (0a35e44976)
TODO updated
M TODO
2012-08-10 02:34:34 +0300 Timo Sirainen <[email protected]> (2df335f17a)
Removed accidentally committed debug code
M src/lib-master/master-service-settings-cache.c
2012-08-10 02:33:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3f878e1442)
login: s/succesful/successful/
M src/login-common/client-common.c
2012-08-03 17:39:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (49d0c4cb38)
Makefile: Fixed -ldovecot-compression name
M Makefile.am
2012-08-02 23:56:09 +0300 Timo Sirainen <[email protected]> (95eb893b9f)
Makefile: Added missing headers
M src/lib-compression/Makefile.am
2012-08-02 23:38:30 +0300 Timo Sirainen <[email protected]> (1ece673f81)
Makefile: Added missing headers to tarball
M src/lib-ssl-iostream/Makefile.am
2012-08-01 23:14:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (d05e9a7a1c)
fts: Fixed crash on error handling
M src/plugins/fts/fts-search.c
2012-08-01 21:14:30 +0300 Timo Sirainen <[email protected]> (7a3d16456e)
auth: Minor code cleanup
M src/auth/auth-cache.c
2012-08-01 20:37:05 +0300 Timo Sirainen <[email protected]> (d52705589a)
Added signature for changeset bc86680293d2
M .hgsigs
2012-08-01 20:36:53 +0300 Timo Sirainen <[email protected]> (39d4d5ffb0)
Added tag 2.1.9 for changeset bc86680293d2
M .hgtags
2012-08-01 20:36:53 +0300 Timo Sirainen <[email protected]> (b070884125)
Released v2.1.9.
M NEWS
M configure.in
2012-08-01 20:25:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (a9c3b57f98)
auth: winbind mechanism supports now spaces in filenames.
M src/auth/mech-winbind.c
2012-08-01 20:24:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cd2fc7dd28)
fts-solr: Compiler warning fix
M src/plugins/fts-solr/solr-connection.c
2012-07-31 23:02:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (9fc96ee0e4)
lib-storage: Improved missing namespace error messages.
M src/lib-storage/mail-namespace.c
2012-07-31 22:30:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fde095c17b)
lib-master: Assert-crashfix
M src/lib-master/master-service-ssl.c
2012-07-30 19:49:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (64347267ce)
dovecot.m4: Export also LIBDOVECOT_IMAP_INCLUDE
M dovecot.m4
2012-07-28 21:55:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0f43a3eb3d)
dovecot.m4: Updates from Pigeonhole
M dovecot.m4
2012-07-28 17:55:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c48b861822)
Comment update.
M src/lib-mail/istream-attachment-connector.h
2012-07-25 19:30:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c8750d1836)
lib-storage: Search crashfix.
M src/lib-storage/index/index-search.c
2012-07-16 16:49:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e771c83f8d)
lib-storage: Minor code cleanup
M src/lib-storage/index/index-search.c
2012-07-05 16:08:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (277c552d3e)
doveadm auth cache flush usage string updated
M src/doveadm/doveadm-auth.c
2012-07-07 14:37:54 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8b4bc126e4)
Added signature for changeset 7e5f36fd989d
M .hgsigs
2012-07-03 05:15:04 +0300 Timo Sirainen <[email protected]> (953c20fae6)
Added tag 2.1.8 for changeset 7e5f36fd989d
M .hgtags
2012-07-03 05:15:04 +0300 Timo Sirainen <[email protected]> (4f1789fddd)
Released v2.1.8.
M NEWS
M configure.in
2012-07-03 04:23:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (2d1892aaeb)
doveadm server: Keep config socket open while running.
M src/doveadm/main.c
2012-07-03 01:52:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ceb43cc04e)
o_stream_nsend() comment update
M src/lib/ostream.h
2012-06-29 09:15:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (807332e489)
imap: If selected mailbox is DELETEd, disconnect client.
M src/imap/cmd-delete.c
2012-06-28 03:20:34 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (caa3e6bc65)
Merged changes from v2.1 tree.
2012-06-24 20:52:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (efd9d73a7f)
dict file: Don't ignore write failures.
M src/lib-dict/dict-file.c
2012-06-24 19:35:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (8a71f94b2a)
imap: CATENATE error handling fix
M src/imap/cmd-append.c
2012-06-24 18:58:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (bef515a6f5)
director: Fix to handling duplicate USER-WEAK event.
M src/director/director-connection.c
2012-06-24 03:02:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9272316aea)
Makefile: Removed unnecessary code
M doc/man/Makefile.am
2012-06-22 18:51:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (24107b28cc)
imap: Compile fix due to recent changes
M src/imap/cmd-fetch.c
2012-06-21 22:50:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (94517d98f1)
imap: Removed unnecessary code.
M src/imap/imap-fetch-body.c
2012-06-21 21:52:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (807b064856)
quota: Ignore quota when handling mailbox_move().
M src/plugins/quota/quota-storage.c
2012-06-20 06:17:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5efe153308)
imap: Fixes to handling BINARY APPENDs.
M src/imap/cmd-append.c
2012-06-20 05:39:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (f5c82a830d)
imap: Implemented BINARY extension support for APPEND/CATENATE.
M src/imap/cmd-append.c
2012-06-20 02:44:57 +0300 Timo Sirainen <[email protected]> (8ae78760de)
lib-test: Fixed test istream
M src/lib-test/test-common.c
2012-06-20 02:44:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ad456029ce)
doveadm: Fixed crash with proxying some commands.
M src/doveadm/doveadm-print.c
2012-06-16 02:06:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (d3034da435)
doveadm log errors: Usage text update
M src/doveadm/doveadm-log.c
2012-06-15 23:44:53 +0300 Timo Sirainen <[email protected]> (8f0c238dcb)
doveadm log errors: Added -s <min_timestamp> parameter
M src/doveadm/doveadm-log.c
2012-06-15 17:12:24 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c88275be7f)
director: Fixed working as standalone.
M src/director/director.c
2012-06-11 16:30:58 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (0bf95c4bd6)
Makefile: Added more missing dsync*.h files
M src/doveadm/dsync/Makefile.am
2012-06-04 23:33:40 +0300 Timo Sirainen <[email protected]> (8f7ac4c092)
Makefile: Added missing dsync-mail.h
M src/doveadm/dsync/Makefile.am
2012-06-04 22:15:46 +0300 Timo Sirainen <[email protected]> (9228135b8f)
Makefile: Added missing dsync-mailbox.h
M src/doveadm/dsync/Makefile.am
2012-06-04 21:58:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c33807e1fc)
Added signature for changeset c92fb8b928f6
M .hgsigs
2012-05-29 22:22:10 +0300 Timo Sirainen <[email protected]> (02abbed308)
Added tag 2.1.7 for changeset c92fb8b928f6
M .hgtags
2012-05-29 22:22:10 +0300 Timo Sirainen <[email protected]> (b9969cfc3b)
Released v2.1.7.
M NEWS
M configure.in
2012-05-29 20:51:14 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bc5d21b587)
TODO updated
M TODO
2012-05-22 23:17:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aba6eb200e)
lib-master: Added more default ignore prefixes
M src/lib-master/mountpoint-list.c
2012-05-10 11:26:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f0dd98bc02)
Compiler warning fixes
M src/lib/test-bsearch-insert-pos.c
2012-05-08 08:31:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6649f0e3fd)
Added signature for changeset 7c249e2a82a9
M .hgsigs
2012-05-07 08:36:43 +0300 Timo Sirainen <[email protected]> (571fd5fafb)
Added tag 2.1.6 for changeset 7c249e2a82a9
M .hgtags
2012-05-07 08:36:43 +0300 Timo Sirainen <[email protected]> (1db226ccb8)
Released v2.1.6.
M NEWS
M configure.in
2012-05-07 04:06:49 +0300 Timo Sirainen <[email protected]> (9242477aa6)
Makefile: Remove dovecot-config on make uninstall
M Makefile.am
2012-05-06 06:44:04 +0300 Timo Sirainen <[email protected]> (593d271490)
auth: Previous change caused crashing with userdb lookups
M src/auth/auth-request.c
2012-05-05 00:01:32 +0300 Timo Sirainen <[email protected]> (6a2e678026)
auth: Added %{session} variable for passdb/userdb queries.
M src/auth/auth-request.c
2012-05-04 23:56:51 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (6b3f3a6561)
mail-log: Memory leak fix
M src/plugins/mail-log/mail-log-plugin.c
2012-05-04 22:55:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ed16ab579b)
Merged changes from v2.1 tree.
2012-05-19 22:40:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1cd4894c59)
Increased initial memory pool size.
M src/lib-storage/index/index-status.c
2012-04-30 22:53:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aefe174248)
auth: Minor code cleanup.
M src/auth/auth-request-handler.c
2012-04-25 16:44:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9c5e665ccc)
Added signature for changeset 469cee314d9c
M .hgsigs
2012-04-23 16:35:37 +0300 Timo Sirainen <[email protected]> (e01fbf3f8a)
Added tag 2.1.5 for changeset 469cee314d9c
M .hgtags
2012-04-23 16:35:37 +0300 Timo Sirainen <[email protected]> (e2a6a21a6a)
Released v2.1.5.
M NEWS
M TODO
M configure.in
2012-04-23 16:18:36 +0300 Timo Sirainen <[email protected]> (89b3a2a06a)
Make static analyzer happier.
M src/lib/test-strfuncs.c
2012-04-23 14:50:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (8f70c97f7a)
listescape: Don't unescape namespace prefix.
M src/lib-storage/mailbox-list.c
2012-04-23 13:19:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b37fabed27)
director: Minor error message fix
M src/director/director-connection.c
2012-04-20 01:35:06 +0300 Timo Sirainen <[email protected]> (f45e50990a)
director: And crashfix for previous change..
M src/director/director-connection.c
2012-04-20 01:32:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (484324f08a)
director: Removed unnecessary error messages.
M src/director/director-connection.c
2012-04-20 00:49:29 +0300 Timo Sirainen <[email protected]> (f37684a44c)
director: Another fix for stuck handshake.
M src/director/director-connection.c
2012-04-20 00:42:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (4847d74a74)
director: Fixed protocol error detection/handling.
M src/director/director-connection.c
2012-04-20 00:32:34 +0300 Timo Sirainen <[email protected]> (3a12bf3abc)
director: Improved debug handshake message.
M src/director/director-connection.c
2012-04-20 00:13:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (cc22ca265b)
director: Improved error message
M src/director/director-connection.c
2012-04-19 23:51:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4865df74da)
director: Decreased timeout for resending lost SYNC request.
M src/director/director.c
2012-04-19 23:06:55 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fe7f9298fb)
director: Increased timeouts.
M src/director/director-connection.c
2012-04-19 18:59:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8000687bd8)
trash plugin fixes
M src/plugins/trash/trash-plugin.c
2012-04-18 18:33:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (238ef5001d)
Added signature for changeset 2c21c940e19d
M .hgsigs
2012-04-09 13:13:26 +0300 Timo Sirainen <[email protected]> (b95459cff1)
Added tag 2.1.4 for changeset 2c21c940e19d
M .hgtags
2012-04-09 13:13:24 +0300 Timo Sirainen <[email protected]> (494a594e99)
Released v2.1.4.
M NEWS
M configure.in
2012-04-09 13:12:29 +0300 Timo Sirainen <[email protected]> (4926d904d3)
director: Fixed disconnecting unwanted connection.
M src/director/director-connection.c
2012-04-09 13:04:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (eea8f295ef)
lib-index: Minor code cleanup.
M src/lib-index/mail-transaction-log-file.c
2012-04-09 11:53:46 +0300 Timo Sirainen <[email protected]> (013a8a91c8)
lib-storage: Set mail_user.service earlier.
M src/lib-storage/mail-user.c
2012-04-09 09:53:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d2d5871fa9)
lib-storage: Minor code cleanup.
M src/lib-storage/mail-user.c
2012-04-04 11:07:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (049da065aa)
pop3-migration: Error message improvement.
M src/plugins/pop3-migration/pop3-migration-plugin.c
2012-04-04 07:46:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1111aa8d6a)
dsync: Fixed handling messages without GUID.
M src/doveadm/dsync/dsync-brain-msgs.c
2012-03-29 01:58:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (22d0c231a4)
lib-settings: Make static analyzer happier.
M src/lib-settings/settings-parser.c
2012-03-26 20:39:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (494f41aab3)
Compiling fix for building without SSL.
M src/login-common/ssl-proxy.c
2012-03-23 14:37:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (9ecdbb80d2)
Fixed compiling without SSL.
M src/login-common/ssl-proxy.c
2012-03-23 13:46:27 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1a30613e63)
net_getunixcred(): Fixed Solaris to use getpeerucred() properly.
M src/lib/network.c
2012-03-23 12:26:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b6b7a17731)
imap-login: Memory leak fix.
M src/login-common/client-common.c
2012-03-22 16:03:04 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (297901b5b6)
config: Added a comment
M src/config/config-filter.c
2012-03-21 18:58:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c9fda71ccf)
doveadm import: Copy also message flags.
M src/doveadm/doveadm-mail-import.c
2012-03-19 15:53:25 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (83d4817679)
Added signature for changeset b9adfd52cb66
M .hgsigs
2012-03-16 18:48:40 +0200 Timo Sirainen <[email protected]> (d24adb7642)
Added tag 2.1.3 for changeset b9adfd52cb66
M .hgtags
2012-03-16 18:48:40 +0200 Timo Sirainen <[email protected]> (d9036e5190)
Released v2.1.3.
M NEWS
M configure.in
2012-03-16 18:45:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1c7e30f8cf)
Added signature for changeset 744e0d7f1b25
M .hgsigs
2012-03-15 16:42:18 +0200 Timo Sirainen <[email protected]> (39b72f1dd3)
Added tag 2.1.2 for changeset 744e0d7f1b25
M .hgtags
2012-03-15 16:42:18 +0200 Timo Sirainen <[email protected]> (f3e30d31cb)
Released v2.1.2.
M NEWS
M configure.in
2012-03-15 16:39:38 +0200 Timo Sirainen <[email protected]> (77ba9626cb)
example-config: Added auth_proxy_self setting.
M doc/example-config/dovecot.conf
2012-03-15 14:18:55 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5d370784b3)
test-primes: Fixed undefined behavior.
M src/lib/test-primes.c
2012-03-14 13:14:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (009ec18ed6)
fts: Another crashfix for recent changes.
M src/plugins/fts/fts-storage.c
2012-03-13 15:11:13 +0200 Timo Sirainen <[email protected]> (75c2291370)
director: Compiler warning fix
M src/director/director-request.c
2012-03-12 17:36:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a6099cd9ad)
director: Improved request timeout error more.
M src/director/director-request.c
2012-03-12 13:15:26 +0200 Timo Sirainen <[email protected]> (c3c9d0258e)
director: If request times out, log more information.
M src/director/director-request.c
2012-03-12 12:59:54 +0200 Timo Sirainen <[email protected]> (1dc155e0d6)
Makefile: Delete dovecot-config on distclean
M Makefile.am
2012-03-11 14:50:05 +0200 Timo Sirainen <[email protected]> (34a4888653)
Makefile: Fixed header filename.
M src/replication/aggregator/Makefile.am
2012-03-11 12:42:53 +0200 Timo Sirainen <[email protected]> (40df892802)
Makefile: Fixed compiling with automake 1.11.2+
M Makefile.am
2012-03-11 09:08:08 +0200 Timo Sirainen <[email protected]> (290ad6b6b5)
checkpassword: Compiling fix for some systems
M src/auth/db-checkpassword.c
2012-03-10 18:32:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da11064e81)
checkpassword: Set CREDENTIALS_LOOKUP=1 for passdb lookups
M src/auth/db-checkpassword.c
2012-03-10 14:17:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (026647687a)
checkpassword: Error handling fix
M src/auth/db-checkpassword.c
2012-03-10 13:47:16 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c36b65f278)
imap: Crashfix when running standalone.
M src/imap/main.c
2012-03-08 10:21:09 +0200 Timo Sirainen <[email protected]> (150d8a71e9)
Makefile: s/MKDIR_P/mkdir_p/ to make it actually work
M Makefile.am
2012-03-07 20:16:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ae8191728b)
pop3: Added assert.
M src/pop3/pop3-client.c
2012-03-05 18:09:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (595f6a9754)
aggregator: Fixed leaking connections to replicator.
M src/replication/aggregator/replicator-connection.c
2012-03-05 13:08:14 +0200 Timo Sirainen <[email protected]> (8d8591411a)
Makefile: Fixed compiling lmtp with some SSL_LIBS options.
M src/lmtp/Makefile.am
2012-03-05 11:54:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (01c9d35af9)
Makefile: Fixed dovecot-config installation
M Makefile.am
2012-03-04 14:33:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (db75f60fce)
imap: Fixed error handling in APPEND parameters.
M src/imap/cmd-append.c
2012-03-04 12:31:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a88f3271dd)
replicator: Another deinit crashfix
M src/replication/replicator/replicator-queue.c
2012-03-04 12:07:21 +0200 Timo Sirainen <[email protected]> (64a81f5573)
replicator: Fixed crash on deinit
M src/replication/replicator/replicator-queue.c
2012-03-04 12:04:46 +0200 Timo Sirainen <[email protected]> (b4fe950568)
replicator: Queue handling was pretty broken
M src/replication/replicator/replicator-queue.c
2012-03-04 11:23:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (a3d6dc6445)
Makefile: Added missing replication plugin directory
M src/plugins/Makefile.am
2012-03-04 11:17:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (3330317049)
replicator: Crashfix
M src/replication/replicator/doveadm-connection.c
2012-03-04 10:35:25 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fd6012467e)
Makefile: Fixed compiling with automake 1.11.2+
M Makefile.am
2012-03-02 19:24:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (01c1406abb)
Compiler warning fixes
M src/doveadm/dsync/doveadm-dsync.c
2012-02-28 04:29:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bf99ab4e51)
dsync: Removed accidentally committed debug code.
M src/doveadm/dsync/doveadm-dsync.c
2012-02-27 14:38:05 +0200 Timo Sirainen <[email protected]> (69f200bc92)
dsync: Fixes to handling legacy dsync parameters.
M src/doveadm/dsync/doveadm-dsync.c
2012-02-27 14:37:45 +0200 Timo Sirainen <[email protected]> (290ce42a1a)
doveadm: Allow subcommands to specify '+' getopt parameter.
M src/doveadm/doveadm-mail.c
2012-02-27 13:34:20 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (73f021723b)
Merged fixes from v2.1 tree.
2012-02-25 07:29:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a55a990bf5)
Added signature for changeset 04b0acc03f1e
M .hgsigs
2012-02-23 10:35:24 +0200 Timo Sirainen <[email protected]> (ca1f191aa6)
Added tag 2.1.1 for changeset 04b0acc03f1e
M .hgtags
2012-02-23 10:35:24 +0200 Timo Sirainen <[email protected]> (4a9e1ff0df)
Released v2.1.1.
M NEWS
M configure.in
2012-02-22 22:34:47 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (aa01480188)
Compiler warning fix.
M src/lib-storage/index/dbox-single/sdbox-sync.c
2012-02-21 22:50:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa4682f84b)
Increased initial memory pool size.
M src/lib-storage/index/shared/shared-list.c
2012-02-17 01:13:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (f55fac3b38)
login: Added comment.
M src/login-common/main.c
2012-02-17 00:34:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f40aa1311c)
Messed up with v2.1 release, merging changes that were supposed to be there.
2012-02-16 18:40:29 +0200 Timo Sirainen <[email protected]> (50823df071)
Added signature for changeset e2cd03cc9c69
M .hgsigs
2012-02-16 18:40:25 +0200 Timo Sirainen <[email protected]> (a438a4d371)
Added tag 2.1.0 for changeset e2cd03cc9c69
M .hgtags
2012-02-16 18:40:25 +0200 Timo Sirainen <[email protected]> (0e39414409)
Released v2.1.0.
M NEWS
M configure.in
2012-02-16 18:31:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (41ed5e83a8)
Added signature for changeset 736f1b7af190
M .hgsigs
2012-02-15 05:49:17 +0200 Timo Sirainen <[email protected]> (a49877a253)
Added tag 2.1.rc7 for changeset 736f1b7af190
M .hgtags
2012-02-15 05:49:17 +0200 Timo Sirainen <[email protected]> (57281a721b)
Released v2.1.rc7.
M NEWS
M configure.in
2012-02-15 05:12:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5979c7d699)
TODO updated
M TODO
2012-02-13 14:34:31 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (03c15b6426)
README: Added missing RFC to list.
M README
2012-02-12 23:03:55 +0200 Timo Sirainen <[email protected]> (ec1b8dd5ed)
TODO updated
M TODO
2012-02-12 22:35:54 +0200 Timo Sirainen <[email protected]> (309c4ae2eb)
Added signature for changeset 481860782250
M .hgsigs
2012-02-12 22:35:52 +0200 Timo Sirainen <[email protected]> (e09de8aa8a)
Added tag 2.1.rc6 for changeset 481860782250
M .hgtags
2012-02-12 22:35:52 +0200 Timo Sirainen <[email protected]> (c75f35b0df)
Released v2.1.rc6.
M NEWS
M TODO
M configure.in
2012-02-12 22:34:33 +0200 Timo Sirainen <[email protected]> (899ebc9257)
IMAP capabilities: s/FUZZY/SEARCH=FUZZY/ I mistakenly used wrong one..
M configure.in
2012-02-12 22:16:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (328501937a)
example-config: Updated instance_name setting's comments.
M doc/example-config/dovecot.conf
2012-02-12 07:12:41 +0200 Timo Sirainen <[email protected]> (5aa7c8cccd)
Make static analyzer happier.
M src/lib-storage/index/index-thread-finish.c
2012-02-12 07:05:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4a3610a21c)
lib-storage: Error handling fix.
M src/lib-storage/fail-mailbox.c
2012-02-12 05:44:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (efa7704816)
doveadm acl: Added "add" and "remove" commands.
M src/plugins/acl/doveadm-acl.c
2012-02-12 04:12:44 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c529313e1c)
Increased initial memory pool size.
M src/plugins/virtual/virtual-storage.c
2012-02-09 20:38:16 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa03893382)
imap: Handle invalid APPEND parameters a little nicer.
M src/imap/cmd-append.c
2012-02-09 15:53:18 +0200 Timo Sirainen <[email protected]> (3cd0737a67)
configure: Avoid some unnecessary warnings with clang.
M configure.in
2012-02-09 05:33:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (2321e7b7c0)
doveadm pw: Minor code cleanups.
M src/doveadm/doveadm-pw.c
2012-02-09 05:25:17 +0200 Timo Sirainen <[email protected]> (aecea0d23c)
doveadm pw: Improved error messages.
M src/doveadm/doveadm-pw.c
2012-02-09 05:21:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (31663a43ed)
INSTALL: Updated outdated documentation.
M INSTALL
2012-02-09 05:04:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (db45f46288)
doveadm force-resync: Support wildcards in mailbox names.
M src/doveadm/doveadm-mail.c
2012-02-09 04:13:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5f252b9777)
doveadm instance list: Show the last used field.
M src/doveadm/doveadm-instance.c
2012-02-06 21:45:49 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5214b67a7d)
lib-storage: Crashfix to previous change.
M src/lib-storage/mailbox-list.c
2012-02-01 20:30:18 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (10e6b320fe)
doveadm mount: Renamed "status" command to "list".
M src/doveadm/doveadm-mount.c
2012-02-01 20:21:06 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4894f02037)
configure: Added getmntinfo() check for BSD mountpoint iteration.
M configure.in
2012-02-01 20:10:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eab3cb1db0)
Makefile: Added UnicodeData.txt dependency to unicodemap.c.
M src/lib/Makefile.am
2012-01-26 00:44:41 +0200 Timo Sirainen <[email protected]> (21c2eb82a9)
Added signature for changeset 0f10b3ed5c18
M .hgsigs
2012-01-26 00:44:04 +0200 Timo Sirainen <[email protected]> (dccd61960e)
Added tag 2.1.rc5 for changeset 0f10b3ed5c18
M .hgtags
2012-01-26 00:44:04 +0200 Timo Sirainen <[email protected]> (b97b9b7d4e)
Released v2.1.rc5.
M NEWS
M configure.in
2012-01-26 00:37:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (69b602ccbc)
Added signature for changeset a20a99b8815d
M .hgsigs
2012-01-24 17:28:10 +0200 Timo Sirainen <[email protected]> (eb8bdbb83f)
Added tag 2.1.rc4 for changeset a20a99b8815d
M .hgtags
2012-01-24 17:28:10 +0200 Timo Sirainen <[email protected]> (5956aa5604)
Released v2.1.rc4.
M NEWS
M TODO
M configure.in
2012-01-24 16:37:24 +0200 Timo Sirainen <[email protected]> (df3977bb1e)
Dead code removal.
M src/lib-storage/list/mailbox-list-index.c
2012-01-24 15:30:47 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9e291f6a7c)
Typofix.
M src/master/service-process.c
2012-01-20 18:09:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1bb1570606)
lmtp: Removed unnecessary code.
M src/lmtp/lmtp-proxy.c
2012-01-17 23:34:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (967561920e)
configure: Add -fno-builtin-strftime flag with gcc to avoid warning.
M configure.in
2012-01-10 23:34:43 +0200 Timo Sirainen <[email protected]> (1f696b6f36)
Compiler warning fix.
M src/lib/iostream-rawlog.c
2012-01-10 23:30:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (39dc1412c1)
s/Fallbacking/Falling back/
M src/auth/auth-request.c
2012-01-10 02:27:26 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f571a68a00)
Removed unnecessary code.
M src/auth/auth-request.c
2012-01-06 21:34:36 +0200 Timo Sirainen <[email protected]> (33e6cf3a27)
Added signature for changeset 5398bdb8613f
M .hgsigs
2012-01-06 21:34:33 +0200 Timo Sirainen <[email protected]> (566856debd)
Added tag 2.1.rc3 for changeset 5398bdb8613f
M .hgtags
2012-01-06 21:34:33 +0200 Timo Sirainen <[email protected]> (a246e7eb8d)
Released v2.1.rc3.
M NEWS
M TODO
M configure.in
2012-01-06 20:39:48 +0200 Timo Sirainen <[email protected]> (44d230b62b)
Compiler warning fix.
M src/lib-storage/mail-storage.c
2012-01-06 19:54:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b951c707c9)
Makefile: added missing file
M src/doveadm/dsync/Makefile.am
2012-01-06 16:02:36 +0200 Timo Sirainen <[email protected]> (c7a44fd90e)
Added signature for changeset a14b7333ae45
M .hgsigs
2012-01-06 16:02:33 +0200 Timo Sirainen <[email protected]> (eb274150f1)
Added tag 2.1.rc2 for changeset a14b7333ae45
M .hgtags
2012-01-06 16:02:33 +0200 Timo Sirainen <[email protected]> (7069d9d6a9)
Released v2.1.rc2.
M NEWS
M TODO
M configure.in
2012-01-06 16:00:45 +0200 Timo Sirainen <[email protected]> (a7908708f2)
log: Removed unnecessary code.
M src/log/log-connection.c
2012-01-06 15:23:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e7f1fd99f7)
doveadm: Renamed dsync commands.
M src/doveadm/dsync/doveadm-dsync.c
2012-01-06 13:50:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f323e3f0de)
dict-file: Updated dotlock settings.
M src/lib-dict/dict-file.c
2011-12-19 09:10:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1d9ecfa7f0)
--enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
M configure.in
2011-12-16 12:43:51 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (633c4c09d8)
imapc: Assert crashfix.
M src/lib-imap-client/imapc-connection.c
2011-12-14 14:29:07 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5f9300cbf5)
passdb imap: Log about failures.
M src/auth/passdb-imap.c
2011-12-10 08:44:33 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d758298b3b)
var_expand(): Added %{uid} and %{gid} variables.
M src/lib/var-expand.c
2011-12-09 17:49:13 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (14a717c960)
imapc: Crashfix on error conditions.
M src/lib-storage/index/imapc/imapc-storage.c
2011-12-08 09:30:14 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a3786abd0e)
lib-storage: Removed unnecessarily duplicated code.
M src/lib-storage/index/index-transaction.c
2011-12-08 07:36:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (f55d355a54)
fts-lucene: Fixed Makefile.am
M src/plugins/fts-lucene/Makefile.am
2011-12-08 07:02:03 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (acf8ab052a)
stats: Chroot to empty directory by default.
M src/stats/stats-settings.c
2011-12-08 05:12:12 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (263fa7b43f)
director: chroot to base_dir by default.
M src/director/director-settings.c
2011-12-08 05:02:15 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (caf33f5b3c)
README: Added SPECIAL-USE RFC
M README
2011-12-02 17:05:31 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aa43e22ff2)
NEWS, README: Added SCRAM-SHA-1 support.
M NEWS
M README
2011-11-24 02:36:32 +0200 Timo Sirainen <[email protected]> (af2ba58266)
Added signature for changeset 18f32bf70fac
M .hgsigs
2011-11-24 02:36:29 +0200 Timo Sirainen <[email protected]> (16c77a6fa7)
Added tag 2.1.rc1 for changeset 18f32bf70fac
M .hgtags
2011-11-24 02:36:29 +0200 Timo Sirainen <[email protected]> (832f5c58c1)
Released v2.1.rc1.
M NEWS
M configure.in
2011-11-24 02:21:08 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (d8fc47550f)
Makefile: Added missing hmac-sha1.h
M src/lib/Makefile.am
2011-11-24 02:06:45 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (f187a8c7e5)
TODO updated
M TODO
2011-11-24 01:53:04 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (726e5e8086)
auth: Don't leak memory in deinit.
M src/auth/main.c
2011-11-23 21:14:11 +0200 Timo Sirainen <[email protected]> (82883d006c)
Compiler warning fix
M src/master/master-settings.c
2011-11-23 20:31:40 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ad0df8e7d7)
Compile fix for some compilers.
M src/anvil/anvil-connection.c
2011-11-23 19:10:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bce078c0b3)
Compiling fix for non-gcc.
M src/lib-imap-client/imapc-connection.c
2011-11-22 11:29:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (88c92ce2ca)
login: Show empty username in disconnect message.
M src/login-common/client-common.c
2011-11-19 23:14:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (074014565e)
Compile fix for OSX.
M src/lib/env-util.c
2011-11-19 05:06:10 +0200 Timo Sirainen <[email protected]> (8fab907f3c)
doc: Removed auth-protocol.txt from Makefile.
M doc/Makefile.am
2011-11-18 22:14:02 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2cbef6f99f)
login: Added assert.
M src/login-common/main.c
2011-11-18 16:16:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fdfb2153df)
checkpassword: Export all auth %variables to AUTH_* environment.
M src/auth/db-checkpassword.c
2011-11-16 20:24:07 +0200 Timo Sirainen <[email protected]> (d16cbc7557)
lmtp: Include local/remote port in userdb lookups.
M src/lmtp/commands.c
2011-11-16 20:23:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (aecb97354b)
Added signature for changeset 437ae2c24872
M .hgsigs
2011-11-09 00:10:04 +0200 Timo Sirainen <[email protected]> (5c63c7f576)
Added tag 2.1.beta1 for changeset 437ae2c24872
M .hgtags
2011-11-09 00:10:04 +0200 Timo Sirainen <[email protected]> (25af25293b)
Released v2.1.beta1.
M NEWS
M configure.in
2011-11-09 00:09:35 +0200 Timo Sirainen <[email protected]> (93b7a21779)
Make static analyzer happier.
M src/lib-storage/list/mailbox-list-index-sync.c
2011-11-08 23:45:05 +0200 Timo Sirainen <[email protected]> (97fb0af494)
TODO updated
M TODO
2011-11-08 23:44:31 +0200 Timo Sirainen <[email protected]> (6a40392701)
README: Added FUZZY RFC.
M README
2011-11-08 23:40:54 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (74ec4fe074)
eacces_error_get*(): Crashfix for recent change.
M src/lib/eacces-error.c
2011-11-08 22:38:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (97daba8222)
quota: Ignore quota limits for admin users.
M src/plugins/quota/quota.c
2011-11-05 19:17:59 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2e5d624013)
fts-lucene: Added whitespace_chars subsetting to fts_lucene. A value of "@."
could be useful so that [email protected] 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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (34228421f2)
login: Increased client's initial memory pool size.
M src/login-common/main.c
2011-10-20 18:37:09 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b2048c45f6)
imapc: Mailbox reopening fix.
M src/lib-storage/index/imapc/imapc-storage.c
2011-10-09 19:04:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (922fc890d7)
imapc: Fixes to sending commands.
M src/lib-imap-client/imapc-connection.c
2011-10-09 17:15:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4552316c45)
lib-storage: Compile fix for recent change.
M src/lib-storage/mail-storage.c
2011-10-02 18:54:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0daea62c19)
mailbox list indexes: Added comment.
M src/lib-storage/list/mailbox-list-index.h
2011-10-02 18:12:05 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (accc2e8b50)
lda: Code cleanups
M src/lda/main.c
2011-10-02 16:35:22 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b7fa2a0167)
ioloop: Memory leak fix on ioloop destroy.
M src/lib/ioloop.c
2011-10-02 16:32:59 +0300 Timo Sirainen <[email protected]> (c1d4780bc0)
istream-seekable: Memory leak fix.
M src/lib/istream-seekable.c
2011-10-02 16:03:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (269f798982)
doveadm: Compile fix for previous auth change.
M src/doveadm/doveadm-pw.c
2011-10-01 16:48:17 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d93f51bbd9)
pop3: Fixed POP3-order sorting.
M src/pop3/pop3-client.c
2011-09-27 00:44:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (f928262648)
stats: Error message fix.
M src/stats/mail-stats.c
2011-09-27 00:12:49 +0300 Timo Sirainen <[email protected]> (28aa68ccba)
Compile fix for Solaris.
M src/lib/network.c
2011-09-26 21:55:10 +0300 Timo Sirainen <[email protected]> (ae1636c09e)
sdbox: Memory leak fix.
M src/lib-storage/index/dbox-single/sdbox-sync.c
2011-09-26 15:36:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9757435c46)
file_dotlock: And fix to previous change..
M src/lib/file-dotlock.c
2011-09-23 15:01:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (30eb745a4f)
doveadm server: Previous non-authentication fix broken authentication.
M src/doveadm/server-connection.c
2011-09-23 00:04:11 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (88013ee6d4)
fts: Fixed running attachment decoder scripts.
M src/plugins/fts/fts-parser-script.c
2011-09-22 14:31:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bb55679b0c)
Compile fix for OpenBSD.
M src/lib/network.c
2011-09-19 14:25:29 +0300 Timo Sirainen <[email protected]> (3b1c8905fd)
doveadm: Typofix s/messsage/message/
M src/doveadm/doveadm-mail-move.c
2011-09-16 17:00:30 +0300 Timo Sirainen <[email protected]> (2275a3963e)
Added signature for changeset f9e744ffe021
M .hgsigs
2011-09-16 17:00:24 +0300 Timo Sirainen <[email protected]> (6e3522ab43)
Added tag 2.1.alpha2 for changeset f9e744ffe021
M .hgtags
2011-09-16 17:00:24 +0300 Timo Sirainen <[email protected]> (5966e40faf)
Released v2.1.alpha2.
M configure.in
2011-09-16 16:59:10 +0300 Timo Sirainen <[email protected]> (dc912088f8)
Merged changes from v2.0.15.
2011-09-16 16:45:25 +0300 Timo Sirainen <[email protected]> (006be1e12f)
Added signature for changeset 11ef52450096
M .hgsigs
2011-09-16 16:45:22 +0300 Timo Sirainen <[email protected]> (75a59166f8)
Added tag 2.0.15 for changeset 11ef52450096
M .hgtags
2011-09-16 16:45:22 +0300 Timo Sirainen <[email protected]> (cf2c26df7c)
Released v2.0.15.
M NEWS
M configure.in
2011-09-16 16:40:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (35fab6939a)
TODO updated
M TODO
2011-09-16 16:01:53 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (cccfb98c53)
lib-storage: Improved debug logging messages.
M src/lib-storage/mail-storage.c
2011-09-16 14:52:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2e79bf72c2)
man: Escape fix.
M doc/man/dsync.1.in
2011-09-15 23:39:33 +0300 Timo Sirainen <[email protected]> (eaec182b6f)
stats: Export also username for commands.
M src/stats/client-export.c
2011-09-15 19:51:27 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (9eb6f0bd16)
auth: Use auth-worker(pid) prefix for auth processes.
M src/auth/main.c
2011-09-13 11:55:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a64a89aba)
Removed unnecessary code.
M src/lib-storage/mail-storage-service.c
2011-09-13 02:08:15 +0300 Timo Sirainen <[email protected]> (f92db0bb4d)
dsync: Ignore SIGHUP
M src/dsync/dsync.c
2011-09-13 02:07:30 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (37cd04fc1d)
fts-squat: Crashfixes on indexing.
M src/plugins/fts-squat/fts-backend-squat.c
2011-09-12 16:18:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (3967d4d921)
stats: Increased idle timeout to 15 minutes.
M src/stats/mail-session.c
2011-09-12 14:43:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b5a36d9a04)
lmtp: Improved "DATA output timeout" error message.
M src/lmtp/lmtp-proxy.c
2011-09-08 12:39:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c175b26270)
auth: Don't crash when using default static userdb.
M src/auth/auth.c
2011-09-07 16:10:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da4baa95cb)
lib-ssl-iostream: Compiler warning fix.
M src/lib-ssl-iostream/ostream-openssl.c
2011-09-06 17:29:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (47ca156ced)
stats: Add stats_ prefix to all settings.
M src/stats/stats-settings.c
2011-09-04 19:00:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (b0b14c64cc)
imapc: Another compiler warning fix.
M src/lib-storage/index/imapc/imapc-mailbox.c
2011-09-04 18:46:20 +0300 Timo Sirainen <[email protected]> (b0cfc1ced6)
imapc: Compiler warning fix.
M src/lib-storage/index/imapc/imapc-mailbox.c
2011-09-04 18:29:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (faa489c310)
imapc: Syncing fixes
M src/lib-storage/index/imapc/imapc-mailbox.c
2011-09-04 17:59:58 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6021cfec08)
imapc: Fixed IDLE handling.
M src/lib-storage/index/imapc/imapc-storage.c
2011-09-04 10:40:58 +0300 Timo Sirainen <[email protected]> (f1fe62b690)
stats: Minor error message fix.
M src/stats/mail-session.c
2011-09-04 10:30:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b57c175e5f)
Added signature for changeset 8ae243558677
M .hgsigs
2011-09-01 11:59:16 +0300 Timo Sirainen <[email protected]> (ad938d6505)
Added tag 2.1.alpha1 for changeset 8ae243558677
M .hgtags
2011-09-01 11:59:14 +0300 Timo Sirainen <[email protected]> (eee5eaaf3a)
Released v2.1.alpha1.
M configure.in
2011-09-01 11:57:59 +0300 Timo Sirainen <[email protected]> (febbbf90eb)
Make static analyzer happy.
M src/lib/network.c
2011-09-01 11:50:49 +0300 Timo Sirainen <[email protected]> (55342cbdfb)
doveadm: Error handling fix
M src/doveadm/doveadm-stats.c
2011-09-01 11:02:30 +0300 Timo Sirainen <[email protected]> (89723511c5)
NEWS updated
M NEWS
2011-09-01 10:59:50 +0300 Timo Sirainen <[email protected]> (31dcba2278)
TODO updated
M TODO
2011-09-01 10:58:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3f0f905830)
Increased initial memory pool size.
M src/doveadm/doveadm-print-table.c
2011-09-01 10:37:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (292381600a)
stats: Fixed dumping command stats.
M src/stats/client-export.c
2011-09-01 07:21:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (64d3d21a70)
Merged changes from v2.0 tree.
2011-08-29 07:08:04 +0300 Timo Sirainen <[email protected]> (f50ad7cae9)
Added signature for changeset aa68f38c04f0
M .hgsigs
2011-08-29 07:08:02 +0300 Timo Sirainen <[email protected]> (15ebb73a53)
Added tag 2.0.14 for changeset aa68f38c04f0
M .hgtags
2011-08-29 07:08:02 +0300 Timo Sirainen <[email protected]> (f7dadfb70d)
Released v2.0.14.
M NEWS
M TODO
M configure.in
2011-08-29 07:04:49 +0300 Timo Sirainen <[email protected]> (7f3e6cdc00)
doveadm: Proxying fix
M src/doveadm/doveadm-mail-server.c
2011-08-29 07:03:26 +0300 Timo Sirainen <[email protected]> (3c6807cf41)
doveadm: Fixed authentication with remote doveadm server.
M src/doveadm/server-connection.c
2011-08-29 06:18:26 +0300 Timo Sirainen <[email protected]> (d3af904383)
doveadm: Added "director ring status" command.
M src/doveadm/doveadm-director.c
2011-08-29 06:18:16 +0300 Timo Sirainen <[email protected]> (4fda77c9e9)
director: Updated DIRECTOR-LIST doveadm command.
M src/director/doveadm-connection.c
2011-08-29 05:36:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (bd83e16fd3)
configure: Added --with-stemmer and output which fts backends are compiled.
M configure.in
2011-08-28 08:15:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (2120346ee2)
stats plugin: Fixed stats connection reference counting.
M src/plugins/stats/stats-plugin.c
2011-08-28 06:20:46 +0300 Timo Sirainen <[email protected]> (7f44ba28ed)
doveadm dump: Updated fts_index_header.
M src/doveadm/doveadm-dump-index.c
2011-08-28 06:19:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6140ef2418)
fts-lucene: Error logging fix.
M src/plugins/fts-lucene/lucene-wrapper.cc
2011-08-26 05:20:01 +0300 Timo Sirainen <[email protected]> (3809ed86f7)
stats: Refresh idle timeout whenever session is updated.
M src/stats/mail-session.c
2011-08-26 05:15:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da4e1efd78)
NEWS updated
M NEWS
2011-08-24 21:24:59 +0300 Timo Sirainen <[email protected]> (d6f592b6aa)
configure: Removed accidentally committed stats directory.
M configure.in
2011-08-24 21:07:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b74cef81f5)
rawlog: Use the lib-master API calls.
M src/util/rawlog.c
2011-08-23 22:14:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (f45038537a)
zlib: Fixed reading concatenated .gz files.
M src/plugins/zlib/istream-zlib.c
2011-08-23 21:20:13 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0575fb5446)
Increased initial memory pool size.
M src/lib-storage/mail-storage-service.c
2011-08-18 17:59:52 +0300 Timo Sirainen <[email protected]> (6f7b4a6773)
indexer: Code cleanup
M src/indexer/worker-pool.c
2011-08-16 23:37:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (015523cce5)
Compiler warning fix.
M src/lib-storage/mail-storage.c
2011-08-15 14:48:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6c1a5346fe)
Compiler warning fix.
M src/lib-storage/mail.c
2011-08-15 00:34:45 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2a47231657)
indexer: Potential crashfix on deinit.
M src/indexer/worker-connection.c
2011-08-14 20:55:12 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a7061727e8)
fts: Memory leak fix
M src/plugins/fts/fts-storage.c
2011-08-14 20:41:06 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (3dfa8c7075)
fts: Added "doveadm fts rescan" command.
M src/plugins/fts/doveadm-fts.c
2011-08-12 17:33:29 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e2e55583ad)
fts-squat: Assert-crashfix on indexing
M src/plugins/fts-squat/squat-trie.c
2011-08-10 17:47:50 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a5e89374cb)
fts: Increased initial memory pool size
M src/plugins/fts/fts-storage.c
2011-08-10 17:02:18 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (1994ae2ac8)
fts-lucene: Added missing textcat.conf
A src/plugins/fts-lucene/textcat.conf
2011-08-10 16:16:57 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (947e4e68bb)
indexer: Deinitialize without crashing when there are requests.
M src/indexer/indexer.c
2011-08-10 15:16:44 +0300 Timo Sirainen <[email protected]> (7fdc192eec)
indexer: Fix to handling disconnected worker.
M src/indexer/worker-connection.c
2011-08-10 15:03:59 +0300 Timo Sirainen <[email protected]> (451d1a0cec)
fts: Assert-crashfix to HTML parsing.
M src/plugins/fts/fts-parser-html.c
2011-08-10 14:56:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b24870f2d4)
indexer: Handle unexpected worker disconnections better.
M src/indexer/worker-connection.c
2011-08-10 14:19:00 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6e52ab024c)
script: Comment update
M src/util/script.c
2011-08-09 20:05:38 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (212fbaebed)
fts: Data stack access fix.
M src/plugins/fts/fts-search.c
2011-08-09 19:50:02 +0300 Timo Sirainen <[email protected]> (fe9fb910df)
indexer: Read configuration earlier while we still have privileges.
M src/indexer/indexer.c
2011-08-09 19:42:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4029539739)
decode2text: Ignore any errors from pdftotext
M src/plugins/fts/decode2text.sh
2011-08-09 12:48:15 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0950aed81d)
doveadm index -q: Delay connecting to indexer.
M src/doveadm/doveadm-mail-index.c
2011-08-07 20:47:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1925b60ed6)
pop3: Fixed RETR/TOP commands.
M src/pop3/pop3-commands.c
2011-08-04 16:45:02 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (97c4e232e3)
fts-lucene: Fixed handling expunges
M src/plugins/fts-lucene/fts-backend-lucene.c
2011-08-04 15:40:30 +0300 Timo Sirainen <[email protected]> (cea6742c34)
fts: Clear updating flag on update deinit.
M src/plugins/fts/fts-api.c
2011-08-04 15:08:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f94e1eb89b)
fts-lucene: Delete stale write locks.
M src/plugins/fts-lucene/lucene-wrapper.cc
2011-08-04 13:42:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4dd0cbd517)
Merged changes from v2.0 tree.
2011-08-03 18:59:07 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a34f47ba8d)
fts: Crashfix.
M src/plugins/fts/fts-parser-script.c
2011-08-02 13:29:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (da700813da)
lib-storage: Unit test fix
M src/lib-storage/test-mail.c
2011-07-29 13:41:04 +0300 Timo Sirainen <[email protected]> (647e66ca07)
dsync: Crashfix
M src/dsync/dsync-worker-local.c
2011-07-29 12:25:52 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e638c0d059)
lmtp: Crashfix
M src/lmtp/client.c
2011-07-28 16:59:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (ec089b730e)
mdbox: Crashfix
M src/lib-storage/index/dbox-multi/mdbox-map.c
2011-07-28 12:08:10 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0ae79eb8ff)
fts-lucene: Added fuzzy search support.
M src/plugins/fts-lucene/lucene-wrapper.cc
2011-07-26 14:10:41 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4fd7afd15c)
doveadm dump: Added fts support.
M src/doveadm/doveadm-dump-index.c
2011-07-22 13:52:16 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (88311240b8)
Added uni_utf8_strlen().
M src/lib/unichar.c
M src/lib/unichar.h
2011-07-22 13:11:26 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (461c2a454b)
lmtp: Error message update
M src/lmtp/client.c
2011-06-30 08:34:28 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (674b589b87)
doveadm acl: Updated usage string.
M src/plugins/acl/doveadm-acl.c
2011-06-28 02:49:46 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (4669fc293c)
mdbox: Minor code cleanup.
M src/lib-storage/index/dbox-multi/mdbox-mail.c
2011-06-28 02:22:58 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (437a8b0fe2)
Merged changes from v2.0 tree.
2011-06-26 19:11:52 +0300 Timo Sirainen <[email protected]> (45d178e578)
doveadm: Minor code cleanup
M src/doveadm/doveadm-mail-index.c
2011-06-23 20:00:16 +0300 Timo Sirainen <[email protected]> (bf37278dc7)
lib-storage: Error message fix.
M src/lib-storage/mail-storage.c
2011-06-23 20:00:04 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (737561538a)
Merged changes from v2.0 tree.
2011-06-13 17:17:59 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b65c4243b2)
lib-signals: Removed unnecessary code.
M src/lib/lib-signals.c
2011-06-03 18:54:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (80b837ed54)
eaccess_get_error(): Show also directory mode.
M src/lib/eacces-error.c
2011-06-03 17:07:37 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dea871a9bb)
.hgignore updated
M .hgignore
2011-06-03 15:49:30 +0300 Timo Sirainen <[email protected]> (373734a6c7)
Compiler warning fix.
M src/director/director-connection.c
2011-06-03 15:27:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (90da9c1767)
configure: Added missing ipc
M configure.in
2011-05-23 16:12:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (d0b929d5f8)
doveadm: Compile fix for recent auth change.
M src/doveadm/doveadm-pw.c
2011-05-23 15:45:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (66ed2ab523)
doveadm: Set service=doveadm for userdb lookup.
M src/doveadm/doveadm-mail.c
2011-05-16 17:34:42 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (33efc9521e)
imap: Changed default imap_logout_format.
M src/imap/imap-settings.c
2011-05-16 17:02:56 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a543ac63ec)
imapc: Fix for 32bit systems.
M src/lib-storage/index/imapc/imapc-connection.c
2011-05-11 22:34:27 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (0027dcd5b8)
doveadm search crashfix
M src/doveadm/doveadm-mail-search.c
2011-05-11 22:29:48 +0300 Timo Sirainen <[email protected]> (b3feec992a)
Compiler warning fixes
M src/lib-storage/list/index-mailbox-list.c
2011-05-11 18:49:44 +0300 Timo Sirainen <[email protected]> (d9866dbc6d)
doveadm: Code correctness fix.
M src/doveadm/doveadm-mail-index.c
2011-05-11 17:59:59 +0300 Timo Sirainen <[email protected]> (3acfd3a5ee)
Added signature for changeset aa8dfa085a99
M .hgsigs
2011-05-11 17:59:56 +0300 Timo Sirainen <[email protected]> (2e6d6c01ba)
Added tag 2.0.13 for changeset aa8dfa085a99
M .hgtags
2011-05-11 17:59:56 +0300 Timo Sirainen <[email protected]> (ba130dc5b3)
Released v2.0.13.
M NEWS
M configure.in
2011-05-11 17:56:25 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (bafecbae4e)
man: Added doveadm director dump.
M doc/man/doveadm-director.1.in
2011-05-11 17:00:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (6a9ecc62c9)
Compile fix for HP-UX
M src/lib/compat.h
2011-05-11 16:28:32 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (e4ff3c71af)
config: Updated obsolete protocol warning messages.
M src/config/old-set-parser.c
2011-05-11 15:57:47 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (317beb7d08)
man: Updated doveconf.
M doc/man/doveconf.1.in
2011-05-11 15:20:19 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (11eee3491c)
script-login: Reverted last change.
M src/util/script-login.c
2011-05-09 19:59:21 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (e586724482)
Minor typofix.
M src/plugins/lazy-expunge/lazy-expunge-plugin.h
2011-05-09 19:25:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (d779da03fd)
auth: Added assert.
M src/auth/db-ldap.c
2011-05-09 18:43:35 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (100c33c293)
TODO updated
M TODO
2011-04-30 16:24:42 +0300 Timo Sirainen <[email protected]> (3df398a463)
Merged changes from v2.0 tree.
2011-04-30 15:55:08 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (09d81c57dc)
Compile fix for previous change.
M src/lib-ssl-iostream/Makefile.am
2011-04-30 13:18:31 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ce05b1406e)
Compiler warning fix.
M src/lib-settings/settings-parser.c
2011-04-28 21:11:23 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1b85e6aaae)
i_getgr*(): OpenBSD workaround.
M src/lib/ipwd.c
2011-04-20 18:55:39 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (60bdf7c042)
Compiling fix for Solaris.
M src/lib/ipwd.c
2011-04-12 20:10:17 +0300 Timo Sirainen <[email protected]> (288c572ef5)
Added signature for changeset 606faab2b896
M .hgsigs
2011-04-12 20:10:14 +0300 Timo Sirainen <[email protected]> (2a50cac6af)
Added tag 2.0.12 for changeset 606faab2b896
M .hgtags
2011-04-12 20:10:14 +0300 Timo Sirainen <[email protected]> (10ef96a23b)
Released v2.0.12.
M NEWS
M configure.in
2011-04-12 20:09:44 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7feee845ad)
doveadm import: Initialize the import user properly.
M src/doveadm/doveadm-mail-import.c
2011-04-08 17:26:49 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0622f54c06)
eperm_error_get_chgrp(): Changed wiki link.
M src/lib/eacces-error.c
2011-04-08 16:05:03 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (fc3197e148)
Updated main documentation.txt index.
M doc/documentation.txt
2011-04-08 15:39:43 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (a2aa37d224)
lib-index: Fix to previous check.
M src/lib-index/mail-index-map.c
2011-04-05 19:07:01 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (bf190046cf)
imapc: Minor code cleanup.
M src/lib-storage/index/imapc/imapc-mailbox.c
2011-04-04 15:27:33 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e4c43c353f)
Compile warning fix.
M src/plugins/autocreate/autocreate-plugin.c
2011-04-03 06:42:48 +0300 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (8a97355c39)
Merged changes from v2.0 tree.
2011-03-17 16:21:00 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (ba55f12488)
master: Don't close stderr if logging goes there.
M src/master/main.c
2011-03-16 19:17:57 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (882eb22534)
eacces_error_get*(): Handle errors to / directory better.
M src/lib/eacces-error.c
2011-03-16 18:20:47 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (276c4d0d9a)
dsync: Avoid hanging when saving messages.
M src/dsync/dsync-proxy-client.c
2011-03-07 01:00:28 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ff4312f392)
Added signature for changeset 3355b4bbd4ac
M .hgsigs
2011-03-07 00:35:20 +0200 Timo Sirainen <[email protected]> (29593f3429)
Added tag 2.0.11 for changeset 3355b4bbd4ac
M .hgtags
2011-03-07 00:35:20 +0200 Timo Sirainen <[email protected]> (13aeac6ac3)
Released v2.0.11.
M NEWS
M configure.in
2011-03-07 00:31:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (baa6930bf0)
auth: Fixed ldap assert-crash.
M src/auth/db-ldap.c
2011-03-04 21:21:37 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (b9139dca17)
Added signature for changeset 755c63ff089f
M .hgsigs
2011-03-04 20:59:28 +0200 Timo Sirainen <[email protected]> (43effe8e5a)
Added tag 2.0.10 for changeset 755c63ff089f
M .hgtags
2011-03-04 20:59:24 +0200 Timo Sirainen <[email protected]> (48dd81bbf0)
Released v2.0.10.
M NEWS
M TODO
M configure.in
2011-03-04 20:54:29 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (515ec47755)
example-config: Added import_environment.
M doc/example-config/dovecot.conf
2011-03-04 18:52:17 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7ce0510a53)
doveadm: Added acl delete command.
M src/plugins/acl/doveadm-acl.c
2011-03-04 17:56:11 +0200 Timo Sirainen <[email protected]> (3aa600b846)
doveadm: Added acl delete command.
M src/plugins/acl/doveadm-acl.c
2011-03-04 17:51:46 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (db654c757e)
doveadm import: Fixed potential memory corruption.
M src/doveadm/doveadm-mail-import.c
2011-02-28 18:57:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (218153e0aa)
doveadm: Memory leak fix.
M src/doveadm/doveadm-mail.c
2011-02-28 17:34:24 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (fafe153465)
lib-storage: Crashfix on thread handling.
M src/lib-storage/index/index-thread.c
2011-02-28 16:33:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ad99e7b93f)
ioloop: Memory leak fix.
M src/lib/ioloop.c
2011-02-24 11:27:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (40b9f641a1)
NEWS updated with initial list of new features.
M NEWS
2011-02-22 15:49:04 +0200 Timo Sirainen <[email protected]> (e686128093)
TODO updated
M TODO
2011-02-22 15:44:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (072f06b60d)
Merged changes from v2.0 tree.
2011-02-22 15:02:23 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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) <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ebc49d9236)
Compiler warning fix.
M src/plugins/zlib/doveadm-zlib.c
2011-02-18 05:55:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (c2d29d9a1b)
Makefile: Added missing imapc-client*.h
M src/lib-storage/index/imapc/Makefile.am
2011-02-17 15:30:46 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6df2db16b3)
pgsql: Added assert.
M src/lib-sql/driver-pgsql.c
2011-02-17 08:41:46 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (303afe90f2)
master: Change stderr to /dev/null just before forking.
M src/master/main.c
2011-02-10 02:51:22 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (76ed4f853c)
doveadm: Fixed giving parameters to mail commands.
M src/doveadm/doveadm-mail.c
2011-02-09 02:26:44 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (dae6f47569)
lmtp: Fixed crash at startup.
M src/lmtp/client.c
2011-02-09 01:54:34 +0200 Timo Sirainen <[email protected]> (828a1be476)
lda: Fixed crash at startup.
M src/lda/main.c
2011-02-09 01:31:40 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7eb799cd84)
imapc: Avoid hanging with SSL
M src/lib-storage/index/imapc/imapc-connection.c
2011-01-31 19:01:58 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (de0170faf6)
imapc: Fixed LIST/LSUB handling.
M src/lib-storage/index/imapc/imapc-list.c
2011-01-31 19:00:57 +0200 Timo Sirainen <[email protected]> (5235a79ca4)
imapc: Fixed sending STATUS command.
M src/lib-storage/index/imapc/imapc-storage.c
2011-01-31 18:46:42 +0200 Timo Sirainen <[email protected]> (bec25e9161)
Makefile: Build lib-ssl-iostream earlier
M src/Makefile.am
2011-01-31 18:41:04 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d164cc33d4)
imapc: Minor code cleanup
M src/lib-storage/index/imapc/imapc-search.c
2011-01-31 00:27:53 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (6facdb0511)
lib-sql: Install libdovecot-sql.so as well.
M src/lib-sql/Makefile.am
2011-01-30 23:16:46 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (83a03a417e)
imapc: Added support for keywords.
M src/lib-storage/index/imapc/imapc-mailbox.c
2011-01-25 00:32:50 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (13b4ea0201)
auth: Logging improvement for nopassword=y.
M src/auth/auth-request.c
2011-01-17 21:25:01 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (c04d269955)
man: Updated dsync.1's -o parameter description.
M doc/man/dsync.1.in
2011-01-16 21:25:34 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (520be643c4)
Added signature for changeset 440fcf8cb338
M .hgsigs
2011-01-13 13:18:17 +0200 Timo Sirainen <[email protected]> (8bc7dd1150)
Added tag 2.0.9 for changeset 440fcf8cb338
M .hgtags
2011-01-13 13:18:17 +0200 Timo Sirainen <[email protected]> (66281cd930)
Released v2.0.9.
M NEWS
M TODO
M configure.in
2011-01-13 13:08:40 +0200 Timo Sirainen <[email protected]> (6dcea8fd7e)
TODO updated
M TODO
2011-01-13 13:08:21 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (97ee61d723)
cydir: Minor fix.
M src/lib-storage/index/cydir/cydir-mail.c
2011-01-09 23:39:00 +0200 Timo Sirainen <[email protected]> (2524ef7b34)
i_stream_read(): Added extra assert.
M src/lib/istream.c
2011-01-09 23:38:49 +0200 Timo Sirainen <[email protected]> (1567369100)
istream-seekable: Minor code cleanup.
M src/lib/istream-seekable.c
2011-01-09 22:01:36 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (06c5f34853)
cydir: Minor code fix.
M src/lib-storage/index/cydir/cydir-mail.c
2011-01-08 21:03:15 +0200 Timo Sirainen <[email protected]> (5297aa3ced)
istream-seekable: Minor code cleanup.
M src/lib/istream-seekable.c
2011-01-05 20:21:38 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5f41bf551b)
IDLE was listed twice in capabilities.
M configure.in
2011-01-04 12:04:42 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6f83ab655a)
configure: Added a note that this is the UNSTABLE branch.
M configure.in
2011-01-01 15:59:02 +0200 Timo Sirainen <[email protected]> (e1f21d05a1)
Merged fixes from v2.0 tree.
2011-01-01 15:56:37 +0200 Timo Sirainen <[email protected]> (c8af325a62)
TODO updated.
M TODO
2011-01-01 15:52:39 +0200 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (31ed209b28)
imap: Fixed a memory leak in ESEARCH
M src/imap/imap-search.c
2010-12-09 11:16:24 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (90c636fc0a)
TODO updated.
M TODO
2010-12-06 03:58:17 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (14609d1c87)
Removed unused BITS_IN_UINT and CLAMP macros.
M src/lib/macros.h
2010-12-05 23:53:25 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a45730106f)
Compiler warning fix.
M src/lib-storage/index/maildir/maildir-sync.h
2010-12-03 23:16:26 +0000 Timo Sirainen <[email protected]> (5226c54b85)
lib-master: Error message typofix.
M src/lib-master/master-login-auth.c
2010-12-03 19:38:02 +0000 Timo Sirainen <[email protected]> (a763b99a58)
Added signature for changeset 51e41fcc7856
M .hgsigs
2010-12-03 19:37:58 +0000 Timo Sirainen <[email protected]> (70be0d5b7c)
Added tag 2.0.8 for changeset 51e41fcc7856
M .hgtags
2010-12-03 19:37:56 +0000 Timo Sirainen <[email protected]> (a0a488f68b)
Released v2.0.8.
M NEWS
M TODO
M configure.in
2010-12-03 19:25:04 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (00a570d09d)
Dead code removal.
M src/lib/test-istream-base64-encoder.c
2010-12-03 10:43:03 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7992630160)
ioloop log: Added asserts
M src/lib/ioloop.c
2010-12-03 07:00:17 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0b47e0098e)
lib_init(): Call srand() with a bit better seed.
M src/lib/lib.c
2010-12-02 21:42:30 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eadbe304f7)
askpass: Removed unnecessary code.
M src/lib/askpass.c
2010-11-30 00:17:20 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (66a164c358)
fs-sis: Memory leak fix.
M src/lib-fs/fs-sis.c
2010-11-29 19:08:37 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (20fec0142e)
TODO updated
M TODO
2010-11-26 18:19:16 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b918f91cec)
auth: Minor error message fix.
M src/auth/main.c
2010-11-25 17:44:02 +0000 Pascal Volk <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (c9775dea8c)
man: *roff syntax-fix.
M doc/man/doveadm-import.1.in
2010-11-23 17:04:07 +0000 Pascal Volk <[email protected]> (1add53ffbc)
doveadm: Added -s parameter to the usage message.
M src/doveadm/doveadm.c
2010-11-23 17:05:04 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e170e0d6db)
doveadm-server: Fixed command parameter handling.
M src/doveadm/client-connection.c
2010-11-19 21:08:37 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (85bb9e3d44)
configure: And small fix to previous --with-systemdsystemunitdir fix.
M configure.in
2010-11-18 18:49:34 +0000 Timo Sirainen <[email protected]> (ee043005e6)
configure: --with-systemdsystemunitdir wasn't working right.
M configure.in
2010-11-18 18:38:08 +0000 Timo Sirainen <[email protected]> (54f17c2209)
configure: Use AS_HELP_STRING() macro.
M configure.in
2010-11-18 18:28:40 +0000 Timo Sirainen <[email protected]> (061758633f)
master: Compiling fix when systemd is enabled.
M src/master/service-listen.c
2010-11-17 18:40:52 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (71c5cba2a1)
configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary.
M configure.in
2010-11-17 18:10:46 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (334fcad698)
istream-file: Minor error message fix.
M src/lib/istream-file.c
2010-11-15 16:22:08 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (feba01f33c)
NEWS: Split too long line.
M NEWS
2010-11-08 19:45:17 +0000 Timo Sirainen <[email protected]> (ea6a5c12b9)
Added signature for changeset d0d3aca1c958
M .hgsigs
2010-11-08 19:45:14 +0000 Timo Sirainen <[email protected]> (6371b34fc0)
Added tag 2.0.7 for changeset d0d3aca1c958
M .hgtags
2010-11-08 19:45:14 +0000 Timo Sirainen <[email protected]> (45ed2663d7)
Released v2.0.7.
M NEWS
M TODO
M configure.in
2010-11-08 18:38:31 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (170d90af13)
istream-attachment: Error handling improvements.
M src/lib-storage/index/istream-attachment.c
2010-11-04 16:25:18 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (f98cd3b7cc)
lmtp: Minor code cleanup: s/lmtp_login_/lmtp_/
M src/lmtp/lmtp-settings.c
2010-11-03 15:27:40 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (361c90a103)
auth workers: Don't unnecessary connect to anvil.
M src/auth/main.c
2010-11-03 13:33:02 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (cbb5c7abec)
imap: Removed accidentally commited debug code.
M src/imap/imap-client.c
2010-11-02 18:21:05 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dc8ba4890b)
sql auth: Fixed using password_noscheme
M src/auth/passdb-sql.c
2010-11-02 17:31:14 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (7c6b8ca035)
dbox: Comment update.
M src/lib-storage/index/dbox-common/dbox-file.h
2010-11-02 15:32:47 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (ed7dbb42dd)
file_preallocate(): Added support for OS X.
M src/lib/file-set-size.c
2010-10-21 22:45:27 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (3649d7f1f1)
NEWS: mdbox_preallocate_space is for ext4, not ext3.
M NEWS
2010-10-21 22:09:08 +0100 Timo Sirainen <[email protected]> (62c635c766)
configure: Use sdbox name instead of dbox in the help.
M configure.in
2010-10-21 19:07:18 +0100 Timo Sirainen <[email protected]> (d8346a7411)
Added signature for changeset 8a838dcf8e76
M .hgsigs
2010-10-21 19:07:15 +0100 Timo Sirainen <[email protected]> (f29623651f)
Added tag 2.0.6 for changeset 8a838dcf8e76
M .hgtags
2010-10-21 19:07:14 +0100 Timo Sirainen <[email protected]> (9b9d8e095e)
Released v2.0.6.
M NEWS
M TODO
M configure.in
2010-10-21 19:03:39 +0100 Timo Sirainen <[email protected]> (0b7d39288e)
Static analyzer warning fix.
M src/doveadm/doveadm-sis.c
2010-10-21 18:59:22 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (cb51bd2396)
Compiler warning fix.
M src/lib-master/master-login-auth.c
2010-10-21 17:11:02 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (64055bc6d2)
istream-concat: Avoid assert-crashing.
M src/lib/istream-concat.c
2010-10-20 17:51:07 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (dd350fbefc)
acl: Recent change broke setting acls.
M src/plugins/acl/acl-mailbox.c
2010-10-18 18:30:42 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (0678d7e4c3)
pop3: Recent corking change caused hangs.
M src/pop3/pop3-client.c
2010-10-16 00:49:35 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (5a0ac2e5ef)
istream-concat: Fixed another memory leak.
M src/lib/istream-concat.c
2010-10-16 00:21:35 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (fa0762ecd4)
Compiler warning/error fix to recent logging API changes.
M src/master/main.c
2010-10-15 19:30:04 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (979b2a063f)
lmtp: Don't allow saving zero byte sized messages.
M src/lmtp/commands.c
2010-10-15 19:04:42 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (7823ef73e5)
istream-concat: Fixed a memory leak.
M src/lib/istream-concat.c
2010-10-15 18:50:44 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (51a9c44bea)
master: Parse and check full config at startup.
M src/master/main.c
2010-10-06 19:35:06 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (de62479933)
imap search: Fixed YOUNGER/OLDER
M src/lib-storage/mail-search-register-imap.c
2010-10-06 19:02:20 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (a3d1e23660)
auth: Added lookup_credentials() support for passdb static
M src/auth/passdb-static.c
2010-10-05 22:53:58 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fdeb669a3a)
configure: Added IDLE to banner CAPABILITY to make Blackberry happy.
M configure.in
2010-10-04 14:45:25 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (6524d72370)
Added signature for changeset 2690facaa927
M .hgsigs
2010-10-01 22:09:44 +0100 Timo Sirainen <[email protected]> (e5d067329d)
Added tag 2.0.5 for changeset 2690facaa927
M .hgtags
2010-10-01 22:09:43 +0100 Timo Sirainen <[email protected]> (3b5fd54da6)
Released v2.0.5.
M NEWS
M TODO
M configure.in
2010-10-01 21:42:18 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fa8f3c6818)
mail-storage.h comments updated.
M src/lib-storage/mail-storage.h
2010-10-01 16:14:08 +0100 Timo Sirainen <[email protected]> (b9e5738976)
pop3: Code cleanup for mailbox opening code.
M src/pop3/pop3-client.c
2010-10-01 15:37:19 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (1f792fb84e)
doveadm fetch: Fixed fetching uid field.
M src/doveadm/doveadm-mail-fetch.c
2010-09-30 17:49:17 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6340dee9c3)
pop3: Fixed virtual plugin when compiling --without-shared-libs
M src/pop3/Makefile.am
2010-09-29 16:32:47 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (03a2840ef6)
zlib: dbox storage is now called sdbox.
M src/plugins/zlib/zlib-plugin.c
2010-09-26 18:47:56 +0100 Timo Sirainen <[email protected]> (a2d9acbdda)
Added signature for changeset 7f5c5778c4b9
M .hgsigs
2010-09-26 18:47:51 +0100 Timo Sirainen <[email protected]> (ec4755b908)
Added tag 2.0.4 for changeset 7f5c5778c4b9
M .hgtags
2010-09-26 18:47:51 +0100 Timo Sirainen <[email protected]> (f70467fbff)
Released v2.0.4.
M NEWS
M TODO
M configure.in
2010-09-26 18:36:14 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (fd420c6457)
mdbox: Removed unused code.
M src/lib-storage/index/dbox-multi/mdbox-storage.c
2010-09-24 18:36:22 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (e0923dd55d)
Attempt to fix vpopmail support.
M configure.in
M src/auth/passdb-vpopmail.c
2010-09-22 18:11:03 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (db87703884)
doveadm-expire: Improved debug logging.
M src/plugins/expire/doveadm-expire.c
2010-09-21 14:55:22 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6d65b53479)
Added signature for changeset a475e8d4eb21
M .hgsigs
2010-09-17 20:20:48 +0100 Timo Sirainen <[email protected]> (57df7292e8)
Added tag 2.0.3 for changeset a475e8d4eb21
M .hgtags
2010-09-17 20:20:48 +0100 Timo Sirainen <[email protected]> (66347046d3)
Released v2.0.3.
M NEWS
M TODO
M configure.in
2010-09-17 18:38:47 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (703c03f7cf)
dsync: Fixed creating \noselect mailboxes.
M src/dsync/dsync-worker-local.c
2010-09-14 16:20:18 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (d4fe93a9c2)
istream-crlf: Fixed assert-crash.
M src/lib/istream-crlf.c
2010-09-14 14:45:01 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (02aa666f8d)
Added signature for changeset f4eb53065879
M .hgsigs
2010-09-08 17:38:41 +0100 Timo Sirainen <[email protected]> (1e0a22958c)
Added tag 2.0.2 for changeset f4eb53065879
M .hgtags
2010-09-08 17:38:41 +0100 Timo Sirainen <[email protected]> (af7e6e2fa1)
Released v2.0.2.
M NEWS
M TODO
M configure.in
2010-09-08 17:02:48 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (1d23a49264)
dovecot.m4: Added --with-moduledir and export dovecotdir
M configure.in
M dovecot.m4
2010-09-08 15:11:03 +0100 Timo Sirainen <[email protected]> (ac5acc5f53)
lmtp: Read initial settings with service=lmtp
M src/lmtp/main.c
2010-09-08 15:02:18 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (d656ea2323)
maildir: uidlist code cleanup.
M src/lib-storage/index/maildir/maildir-uidlist.c
2010-12-05 21:05:40 +0000 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (eedc9de82f)
maildir: Minor code cleanup.
M src/lib-storage/index/maildir/maildir-sync-index.c
2010-09-06 15:41:25 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (42d16c8fa2)
lib-storage: Minor namespace error handling cleanup.
M src/lib-storage/mail-namespace.c
2010-09-02 17:04:15 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (b7651d283c)
i_stream_next_line(): Fix for the previous optimization.
M src/lib/istream.c
2010-09-01 16:55:14 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (8ad2759cf4)
istream-crlf optimization. Based on patch by Len7hir
M src/lib/istream-crlf.c
2010-09-01 16:22:00 +0100 Timo Sirainen <[email protected]> (7b42d6cbee)
istream_next_line() optimization. Based on patch by Len7hir
M src/lib/istream.c
2010-09-01 16:21:30 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (661614ab9f)
configure: vpopmail is broken, fail configure if --with-vpopmail is used.
M configure.in
2010-08-31 17:06:20 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (7e93a7bd47)
Added signature for changeset 8baa8ccb4021
M .hgsigs
2010-08-24 18:10:27 +0100 Timo Sirainen <[email protected]> (b86c22983b)
Added tag 2.0.1 for changeset 8baa8ccb4021
M .hgtags
2010-08-24 18:10:27 +0100 Timo Sirainen <[email protected]> (b4dc8d930f)
Released v2.0.1.
M NEWS
M configure.in
2010-08-24 18:07:48 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (17bb9b0a1e)
dsync: Assert-crashfix with remote dsyncing.
M src/dsync/dsync-proxy-client.c
2010-08-23 16:09:11 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (2cbe7654b7)
imap: Fixed parsing SELECT QRESYNC parameters
M src/imap/cmd-select.c
2010-08-23 15:28:55 +0100 Timo Sirainen <[email protected]> (46bcd670b1)
imap: Fail if QRESYNC seqset parameters use '*'
M src/imap/cmd-select.c
2010-08-23 15:28:35 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (05c64024e5)
man: Updated dsync man page.
M doc/man/dsync.1.in
2010-08-23 14:35:50 +0100 Timo Sirainen <[email protected]> (25ef927189)
dsync: If worker fails, abort earlier.
M src/dsync/dsync-brain.c
2010-08-23 14:30:08 +0100 Timo Sirainen <[email protected]> (e4e9e0dcb2)
dsync: Execute remote dsync binary before dropping privileges.
M src/dsync/dsync.c
2010-08-23 00:26:39 +0100 Timo Sirainen <[email protected]> (b24e8c89eb)
configure: --with-ssl=gnutls gives error now immediately
M configure.in
2010-08-20 20:38:26 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b955a1c1b6)
master: Fixed log_path=/dev/stderr
M src/master/service-process.c
2010-08-20 19:49:42 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (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 <[email protected]> (6b4c4d92d2)
UTF-8 string validity was checked incorrectly.
M src/lib/unichar.c
2010-08-17 19:16:03 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (873286c865)
auth: Added more master user login debugging.
M src/auth/auth-request.c
2010-08-16 20:35:26 +0100 Timo Sirainen <[email protected]> (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 <[email protected]> (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 <[email protected]> (b1f6c5bdea)
configure: v2.0.0 is no longer UNSTABLE development branch.
M configure.in
2010-08-16 15:35:16 +0100 Timo Sirainen <[email protected]> (1f1ce1097f)
Added signature for changeset d0d3ba81d205
M .hgsigs
2010-08-16 15:35:13 +0100 Timo Sirainen <[email protected]> (d009ccd4fb)
Added tag 2.0.0 for changeset d0d3ba81d205
M .hgtags
2010-08-16 15:35:11 +0100 Timo Sirainen <[email protected]> (5d5c4f2bfb)
Released v2.0.0.
M NEWS
M configure.in
Shell File Manager Version 1.1, Coded By Shell
Email: [email protected]