]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Mon, 10 Feb 2020 15:55:13 +0000 (17:55 +0200)]
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)
Timo Sirainen [Mon, 10 Feb 2020 15:44:29 +0000 (17:44 +0200)]
lib-index: Add mail_index_cache_optimization_settings.max_size
This can be used to limit the cache file's maximum size.
Martti Rannanjärvi [Tue, 11 Feb 2020 13:26:35 +0000 (15:26 +0200)]
util: Change interpreter in dovecot-sysreport to /usr/bin/env bash
This is more portable.
Martti Rannanjärvi [Tue, 11 Feb 2020 13:11:46 +0000 (15:11 +0200)]
util: Cleanup whitespace in dovecot-sysreport
Timo Sirainen [Tue, 11 Feb 2020 13:51:47 +0000 (15:51 +0200)]
lib-mail: Improve test-message-decoder unit test
Timo Sirainen [Tue, 11 Feb 2020 13:11:14 +0000 (15:11 +0200)]
lib-mail: message-decoder - Remove unnecessary encoding_buf
Timo Sirainen [Tue, 11 Feb 2020 13:08:22 +0000 (15:08 +0200)]
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
Aki Tuomi [Thu, 23 Jan 2020 18:26:29 +0000 (20:26 +0200)]
NEWS: Add news for 2.3.9.3
Timo Sirainen [Wed, 15 Jan 2020 20:10:08 +0000 (22:10 +0200)]
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
Timo Sirainen [Wed, 15 Jan 2020 19:38:26 +0000 (21:38 +0200)]
lib-mail: test-message-snippet - Test for invalid and truncated UTF-8
Timo Sirainen [Wed, 15 Jan 2020 19:09:34 +0000 (21:09 +0200)]
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.
Timo Sirainen [Wed, 15 Jan 2020 19:07:05 +0000 (21:07 +0200)]
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.
Stephan Bosch [Tue, 14 Jan 2020 09:54:34 +0000 (10:54 +0100)]
lib-smtp: test-smtp-command-parser - Add tests for incomplete UTF-8 characters.
Stephan Bosch [Tue, 14 Jan 2020 09:49:16 +0000 (10:49 +0100)]
lib-smtp: smtp-command-parser - Fix infinite loop occurring when command stream ends in UTF-8 character.
Broken by
8f08f1944be438a2422b604c08e5060b5c7bd72f .
Uli Martens [Thu, 30 Jan 2020 15:34:35 +0000 (16:34 +0100)]
man: doveadm-sync - Fix message UID in example
Aki Tuomi [Fri, 7 Feb 2020 09:42:37 +0000 (11:42 +0200)]
m4: dovecot.m4 - It's Schridde, not Schridded
Mistakenly changed in
a50212d6827
Aki Tuomi [Fri, 17 Jan 2020 07:42:51 +0000 (09:42 +0200)]
dovecot.m4: Bump serial
Aki Tuomi [Fri, 17 Jan 2020 07:42:07 +0000 (09:42 +0200)]
dovecot.m4: Add --with-retpoline
Makes retpoline optional.
Aki Tuomi [Fri, 17 Jan 2020 07:35:44 +0000 (09:35 +0200)]
dovecot.m4: Split retpoline check into parts
Josef 'Jeff' Sipek [Tue, 4 Feb 2020 17:32:59 +0000 (12:32 -0500)]
imap: expunge: Expunge \Deleted mails in batches of 1000
Josef 'Jeff' Sipek [Tue, 4 Feb 2020 17:10:45 +0000 (12:10 -0500)]
imap: expunge: Collect all \Deleted mails' seqs and then expunge them
This makes the following commit much more understandable.
Timo Sirainen [Fri, 24 Jan 2020 09:43:56 +0000 (11:43 +0200)]
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.
Timo Sirainen [Fri, 24 Jan 2020 09:43:20 +0000 (11:43 +0200)]
imap: copy/move: Move code to cmd_move_send_untagged()
Timo Sirainen [Mon, 16 Dec 2019 12:08:58 +0000 (14:08 +0200)]
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.
Timo Sirainen [Mon, 16 Dec 2019 11:51:50 +0000 (13:51 +0200)]
imap: Add client_send_error()
Timo Sirainen [Mon, 16 Dec 2019 09:38:04 +0000 (11:38 +0200)]
imap: move: Commit transactions every 1000 mails
Timo Sirainen [Tue, 4 Feb 2020 15:20:15 +0000 (17:20 +0200)]
imap: Add imap_search_seqset_iter_*() API for batched iteration of a seqset
Timo Sirainen [Thu, 12 Dec 2019 14:36:13 +0000 (16:36 +0200)]
imap: copy/move: Handle transaction commit changes within fetch_and_copy()
This prepares to support multiple destination transactions.
Timo Sirainen [Thu, 12 Dec 2019 14:35:46 +0000 (16:35 +0200)]
imap: copy/move: Move copy_update_trashed() earlier
Timo Sirainen [Thu, 12 Dec 2019 14:25:30 +0000 (16:25 +0200)]
imap: copy/move: Refactor to use struct cmd_copy_context
Timo Sirainen [Thu, 23 Jan 2020 16:31:01 +0000 (18:31 +0200)]
lib: Add seq_range_array_merge_n()
Josef 'Jeff' Sipek [Mon, 13 Jan 2020 13:34:44 +0000 (08:34 -0500)]
lib-storage: Autoexpunge mails in batches of 1000
Josef 'Jeff' Sipek [Tue, 14 Jan 2020 22:27:37 +0000 (17:27 -0500)]
lib-storage: Move mail autoexpunge loop into a helper function
This makes the next commit easier.
Stephan Bosch [Mon, 27 Aug 2018 21:39:02 +0000 (23:39 +0200)]
imap: Implement the STATUS=SIZE capability.
Coexists with the existing proprietary X-SIZE status, which is to be deprecated
in the future.
Stephan Bosch [Mon, 27 Aug 2018 21:28:58 +0000 (23:28 +0200)]
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.
Timo Sirainen [Mon, 20 Jan 2020 14:03:01 +0000 (16:03 +0200)]
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.
Aki Tuomi [Mon, 3 Feb 2020 10:15:49 +0000 (12:15 +0200)]
plugins: push-notification: Include mailbox field
Aki Tuomi [Mon, 3 Feb 2020 08:59:45 +0000 (10:59 +0200)]
plugins: push-notification: Only emit event if something was triggered
Otherwise events would be sent from non-push transactions, such
as mail searches.
Aki Tuomi [Sun, 2 Feb 2020 18:40:32 +0000 (20:40 +0200)]
push-notification: Don't send event on failure
If transaction was rolled back, don't send event.
Aki Tuomi [Sun, 2 Feb 2020 18:09:03 +0000 (20:09 +0200)]
push-notification: Use transaction event in HTTP request
Stephan Bosch [Sun, 1 Dec 2019 10:32:24 +0000 (11:32 +0100)]
plugins: push-notification: Reformat push-notification-txn-msg.h.
Stephan Bosch [Sun, 1 Dec 2019 10:32:17 +0000 (11:32 +0100)]
plugins: push-notification: Reformat push-notification-txn-msg.c.
Stephan Bosch [Sun, 1 Dec 2019 10:32:09 +0000 (11:32 +0100)]
plugins: push-notification: Reformat push-notification-txn-mbox.h.
Stephan Bosch [Sun, 1 Dec 2019 10:32:04 +0000 (11:32 +0100)]
plugins: push-notification: Reformat push-notification-txn-mbox.c.
Stephan Bosch [Sun, 1 Dec 2019 10:31:48 +0000 (11:31 +0100)]
plugins: push-notification: Reformat push-notification-triggers.h.
Stephan Bosch [Sun, 1 Dec 2019 10:31:44 +0000 (11:31 +0100)]
plugins: push-notification: Reformat push-notification-triggers.c.
Stephan Bosch [Sun, 1 Dec 2019 10:31:25 +0000 (11:31 +0100)]
plugins: push-notification: Reformat push-notification-plugin.c.
Stephan Bosch [Sun, 1 Dec 2019 10:30:32 +0000 (11:30 +0100)]
plugins: push-notification: Reformat push-notification-events.h.
Stephan Bosch [Sun, 1 Dec 2019 10:30:27 +0000 (11:30 +0100)]
plugins: push-notification: Reformat push-notification-events.c.
Stephan Bosch [Sun, 1 Dec 2019 10:30:14 +0000 (11:30 +0100)]
plugins: push-notification: Reformat push-notification-events-rfc5423.h.
Stephan Bosch [Sun, 1 Dec 2019 10:30:09 +0000 (11:30 +0100)]
plugins: push-notification: Reformat push-notification-events-rfc5423.c.
Stephan Bosch [Sun, 1 Dec 2019 10:29:44 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messagetrash.h.
Stephan Bosch [Sun, 1 Dec 2019 10:29:41 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messagetrash.c.
Stephan Bosch [Sun, 1 Dec 2019 10:29:28 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messageread.h.
Stephan Bosch [Sun, 1 Dec 2019 10:29:23 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messageread.c.
Stephan Bosch [Sun, 1 Dec 2019 10:29:10 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messagenew.h.
Stephan Bosch [Sun, 1 Dec 2019 10:29:06 +0000 (11:29 +0100)]
plugins: push-notification: Reformat push-notification-event-messagenew.c.
Stephan Bosch [Sun, 1 Dec 2019 10:28:46 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-messageexpunge.h.
Stephan Bosch [Sun, 1 Dec 2019 10:28:42 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-messageexpunge.c.
Stephan Bosch [Sun, 1 Dec 2019 10:28:27 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-messageappend.h.
Stephan Bosch [Sun, 1 Dec 2019 10:28:22 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-messageappend.c.
Stephan Bosch [Sun, 1 Dec 2019 10:28:07 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-message-common.h.
Stephan Bosch [Sun, 1 Dec 2019 10:28:02 +0000 (11:28 +0100)]
plugins: push-notification: Reformat push-notification-event-message-common.c.
Stephan Bosch [Sun, 1 Dec 2019 10:27:35 +0000 (11:27 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxunsubscribe.h.
Stephan Bosch [Sun, 1 Dec 2019 10:27:29 +0000 (11:27 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxunsubscribe.c.
Stephan Bosch [Sun, 1 Dec 2019 10:27:17 +0000 (11:27 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxsubscribe.h.
Stephan Bosch [Sun, 1 Dec 2019 10:27:05 +0000 (11:27 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxsubscribe.c.
Stephan Bosch [Sun, 1 Dec 2019 10:26:41 +0000 (11:26 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxrename.h.
Stephan Bosch [Sun, 1 Dec 2019 10:26:35 +0000 (11:26 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxrename.c.
Stephan Bosch [Sun, 1 Dec 2019 10:26:18 +0000 (11:26 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxdelete.h.
Stephan Bosch [Sun, 1 Dec 2019 10:26:13 +0000 (11:26 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxdelete.c.
Stephan Bosch [Sun, 1 Dec 2019 10:25:55 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxcreate.h.
Stephan Bosch [Sun, 1 Dec 2019 10:25:50 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-mailboxcreate.c.
Stephan Bosch [Sun, 1 Dec 2019 10:25:31 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-flagsset.h.
Stephan Bosch [Sun, 1 Dec 2019 10:25:22 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-flagsset.c.
Stephan Bosch [Sun, 1 Dec 2019 10:25:09 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-flagsclear.h.
Stephan Bosch [Sun, 1 Dec 2019 10:25:03 +0000 (11:25 +0100)]
plugins: push-notification: Reformat push-notification-event-flagsclear.c.
Stephan Bosch [Sun, 1 Dec 2019 10:24:28 +0000 (11:24 +0100)]
plugins: push-notification: Reformat push-notification-drivers.h.
Stephan Bosch [Sun, 1 Dec 2019 10:24:19 +0000 (11:24 +0100)]
plugins: push-notification: Reformat push-notification-drivers.c.
Stephan Bosch [Sun, 1 Dec 2019 10:24:04 +0000 (11:24 +0100)]
plugins: push-notification: Reformat push-notification-driver-ox.c.
Stephan Bosch [Sun, 1 Dec 2019 10:23:55 +0000 (11:23 +0100)]
plugins: push-notification: Reformat push-notification-driver-lua.c.
Stephan Bosch [Sun, 1 Dec 2019 10:23:39 +0000 (11:23 +0100)]
plugins: push-notification: Reformat push-notification-driver-dlog.c.
Timo Sirainen [Tue, 4 Feb 2020 16:56:28 +0000 (18:56 +0200)]
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.
Timo Sirainen [Mon, 3 Feb 2020 10:57:52 +0000 (12:57 +0200)]
lib: Add i_nanoseconds() and i_microseconds()
Timo Sirainen [Fri, 24 Jan 2020 21:36:52 +0000 (23:36 +0200)]
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.
Timo Sirainen [Fri, 24 Jan 2020 21:33:05 +0000 (23:33 +0200)]
global: Replace most gettimeofday() calls with i_gettimeofday()
Replace the ones where error handling is:
* Nonexistent
* i_fatal()
* i_panic()
Timo Sirainen [Fri, 24 Jan 2020 21:27:09 +0000 (23:27 +0200)]
lib: Add i_gettimeofday()
Stephan Bosch [Sun, 13 Jan 2019 22:34:14 +0000 (23:34 +0100)]
lib-program-client: Allocate string settings on the client pool.
Before, it assumed the strings to be durably allocated externally, which is very
risky.
Stephan Bosch [Sun, 13 Jan 2019 22:17:54 +0000 (23:17 +0100)]
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.
Timo Sirainen [Sat, 25 Jan 2020 14:25:04 +0000 (16:25 +0200)]
lib-index: Explicitly ignore mail_index_cancel_flag_updates() return value
Makes static analyzers happier.
Aki Tuomi [Thu, 23 Jan 2020 08:45:35 +0000 (10:45 +0200)]
lib-mail: Initialize start_pos in message_header_decode_encoded
Satisfies static analyzers
Aki Tuomi [Thu, 23 Jan 2020 08:44:28 +0000 (10:44 +0200)]
lib-program-client: Ensure set is not NULL in program_client_init
Would cause crash otherwise.
Found by coverity.
Aki Tuomi [Thu, 23 Jan 2020 08:42:20 +0000 (10:42 +0200)]
doveadm: doveadm-mail-mailbox-metadata - Handle error in doveadm_print_istream
Found by coverity
Aki Tuomi [Thu, 23 Jan 2020 08:33:17 +0000 (10:33 +0200)]
lib-smtp: Remove double-assign of passthrough event
Found by coverity
Aki Tuomi [Thu, 23 Jan 2020 07:57:26 +0000 (09:57 +0200)]
doveadm: doveadm-sis - Ensure buf2 is not overrun
Satisfies static analysers.
Aki Tuomi [Thu, 23 Jan 2020 07:54:44 +0000 (09:54 +0200)]
lib-mail: Add assert to ensure we don't overstep in input_idx_need_encoding
Satisfies static analysers.
Aki Tuomi [Thu, 23 Jan 2020 07:20:25 +0000 (09:20 +0200)]
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.
Timo Sirainen [Fri, 17 Jan 2020 09:30:53 +0000 (11:30 +0200)]
lib: Assert-crash on i_rand_limit(0) and add unit tests
Timo Sirainen [Wed, 12 Sep 2018 13:30:32 +0000 (16:30 +0300)]
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.
Stephan Bosch [Sat, 27 Jul 2019 21:33:22 +0000 (23:33 +0200)]
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).