]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Thu, 31 Aug 2017 14:55:58 +0000 (17:55 +0300)]
lib-compression: test-compression - Add more unit tests
Ensure detection, seeking and small reads work
Aki Tuomi [Tue, 3 Mar 2020 11:11:59 +0000 (13:11 +0200)]
lib-compression: Fix usage of i_stream_stat
It was supposed to check that it succeeds, not fails.
Aki Tuomi [Tue, 25 Feb 2020 13:34:12 +0000 (15:34 +0200)]
lib-compression: ostream-lzma - Make sure finished stream is fully flushed
Aki Tuomi [Tue, 25 Feb 2020 13:33:59 +0000 (15:33 +0200)]
lib-compression: ostream-zlib - Fix write error handling
Aki Tuomi [Tue, 3 Mar 2020 11:21:21 +0000 (13:21 +0200)]
lib-compress: ostream-zlib - Make sure finished stream is fully flushed
Aki Tuomi [Tue, 25 Feb 2020 13:33:53 +0000 (15:33 +0200)]
lib-compression: ostream-bzlib2 - Fix write error handling
Aki Tuomi [Tue, 3 Mar 2020 11:22:11 +0000 (13:22 +0200)]
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.
Aki Tuomi [Fri, 15 Feb 2019 08:50:44 +0000 (10:50 +0200)]
lib-compression: istream-lzma - Handle read errors better
Aki Tuomi [Wed, 26 Feb 2020 10:57:06 +0000 (12:57 +0200)]
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)
Stephan Bosch [Sun, 13 Oct 2019 16:49:28 +0000 (18:49 +0200)]
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.
Aki Tuomi [Mon, 4 Sep 2017 07:18:37 +0000 (10:18 +0300)]
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.
Aki Tuomi [Tue, 16 May 2017 07:16:23 +0000 (10:16 +0300)]
lib-compression: Add ZSTD support
Aki Tuomi [Thu, 13 Feb 2020 10:51:56 +0000 (12:51 +0200)]
NEWS: Add news for 2.3.10
Aki Tuomi [Thu, 13 Feb 2020 10:54:45 +0000 (12:54 +0200)]
NEWS: Fix release date for 2.3.9.3
Timo Sirainen [Wed, 4 Mar 2020 18:39:21 +0000 (20:39 +0200)]
dict-client: Fix panic if iteration is deinitialized before it has finished
Fixes:
Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
Timo Sirainen [Wed, 4 Mar 2020 13:40:46 +0000 (15:40 +0200)]
lib-fs: Add fs_lookup_loaded_metadata()
Timo Sirainen [Wed, 4 Mar 2020 13:39:28 +0000 (15:39 +0200)]
lib-fs: Add flags parameter to fs_vfuncs.get_metadata()
Timo Sirainen [Wed, 4 Mar 2020 13:11:12 +0000 (15:11 +0200)]
lib-fs: Add fs_file_set_flags()
Timo Sirainen [Tue, 11 Feb 2020 12:41:05 +0000 (14:41 +0200)]
example-config: Warn about ssl_client_ca_file memory usage
Timo Sirainen [Thu, 27 Feb 2020 14:54:33 +0000 (16:54 +0200)]
dict-redis: Fix hangs caused by previous dict_wait() addition
Timo Sirainen [Wed, 15 Jan 2020 14:06:39 +0000 (16:06 +0200)]
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.
Timo Sirainen [Tue, 25 Feb 2020 15:33:30 +0000 (17:33 +0200)]
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.
Timo Sirainen [Tue, 25 Feb 2020 12:34:18 +0000 (14:34 +0200)]
lib-mail: message-snippet - Don't include trailing whitespace in snippet
Timo Sirainen [Tue, 25 Feb 2020 12:33:31 +0000 (14:33 +0200)]
lib-mail: message-snippet - Count '>' in quoted snippet towards max_snippet_chars
Timo Sirainen [Tue, 25 Feb 2020 12:31:43 +0000 (14:31 +0200)]
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.
Aki Tuomi [Tue, 18 Feb 2020 11:13:36 +0000 (13:13 +0200)]
m4: Fix typo
It's mitigation not migitation
Stephan Bosch [Mon, 17 Feb 2020 21:25:28 +0000 (22:25 +0100)]
lib-smtp: smtp-server-cmd-rcpt - Make sure state is advanced to "RCPT TO" once command completes.
Stephan Bosch [Fri, 14 Feb 2020 09:20:29 +0000 (10:20 +0100)]
lmtp: Add details to the DATA state for use in process title.
Stephan Bosch [Sun, 16 Feb 2020 20:08:08 +0000 (21:08 +0100)]
submission: submission-client - Record and use protocol state in client object.
Stephan Bosch [Sun, 16 Feb 2020 20:07:50 +0000 (21:07 +0100)]
lmtp: lmtp-client - Record and use protocol state in client object.
Stephan Bosch [Sun, 16 Feb 2020 20:07:01 +0000 (21:07 +0100)]
lib-smtp: smtp-server-connection - Record protocol state arguments.
Aki Tuomi [Mon, 17 Feb 2020 09:59:35 +0000 (11:59 +0200)]
auth: db-oauth - Match scopes split by spaces
Allow the user in if there is at least one matching scope.
Aki Tuomi [Fri, 14 Feb 2020 07:28:18 +0000 (09:28 +0200)]
example-config: Add oauth2 sample file
Aki Tuomi [Mon, 10 Feb 2020 12:56:34 +0000 (14:56 +0200)]
auth: Support local validation of oauth2 tokens
Aki Tuomi [Sat, 8 Feb 2020 17:11:43 +0000 (19:11 +0200)]
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.
Aki Tuomi [Sat, 8 Feb 2020 17:51:06 +0000 (19:51 +0200)]
lib-oauth2: Add helper for parsing json strings
Aki Tuomi [Mon, 10 Feb 2020 08:14:59 +0000 (10:14 +0200)]
lib-dcrypt: Add dcrypt_is_initialized
Allows testing whether it is possible to call dcrypt functions.
Aki Tuomi [Wed, 12 Feb 2020 08:45:35 +0000 (10:45 +0200)]
lib: hash2 - Add string key helpers
Aki Tuomi [Sat, 8 Feb 2020 19:56:21 +0000 (21:56 +0200)]
lib: ostream - Add o_stream_create_file
Opens file for reading, and creates it, if it exists.
Martti Rannanjärvi [Wed, 19 Feb 2020 09:39:36 +0000 (11:39 +0200)]
util: Hide password but not the field name in dovecot-sysreport
Siavash Tavakoli [Tue, 18 Feb 2020 13:24:38 +0000 (15:24 +0200)]
util: dovecot-sysreport: Fix bug in perl existence check
Also use "[[" command to be consistent with rest of the script.
Timo Sirainen [Mon, 17 Feb 2020 13:39:14 +0000 (15:39 +0200)]
lib-index: Fix potential crash when writing to unusable dovecot.index.cache
Broken by
a4671d9c5744d728e030370a39df914cebefbefe
Timo Sirainen [Tue, 1 Oct 2019 16:09:37 +0000 (19:09 +0300)]
lib-index: Log debug messages with e_debug()
Timo Sirainen [Tue, 1 Oct 2019 16:07:39 +0000 (19:07 +0300)]
lib-index: Log all errors with e_error()
Timo Sirainen [Tue, 1 Oct 2019 16:06:32 +0000 (19:06 +0300)]
lib-index: mailbox_log - log errors with e_error()
Timo Sirainen [Tue, 1 Oct 2019 16:06:10 +0000 (19:06 +0300)]
lib-index: Add event to mailbox_log
Markus Valentin [Tue, 11 Feb 2020 09:16:54 +0000 (10:16 +0100)]
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.
Timo Sirainen [Mon, 10 Feb 2020 16:19:34 +0000 (18:19 +0200)]
lib-index: Try to compress cache when it's about to become too large
Timo Sirainen [Mon, 10 Feb 2020 16:16:14 +0000 (18:16 +0200)]
lib-index: Add mail_cache.last_stat_size
Timo Sirainen [Mon, 10 Feb 2020 15:58:13 +0000 (17:58 +0200)]
lib-storage: Add mail_cache_max_size setting
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.