]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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).
Timo Sirainen [Mon, 27 Jan 2020 20:52:51 +0000 (22:52 +0200)]
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)
Timo Sirainen [Mon, 27 Jan 2020 10:35:10 +0000 (12:35 +0200)]
lib-index: Add unit test for log rotation during commit
Timo Sirainen [Fri, 20 Sep 2019 12:48:10 +0000 (15:48 +0300)]
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.
Timo Sirainen [Mon, 27 Jan 2020 10:11:13 +0000 (12:11 +0200)]
lib-index: Add test-mail-index.h for easily doing init/deinit for mail_index
Timo Sirainen [Fri, 6 Sep 2019 09:09:58 +0000 (12:09 +0300)]
lib-mail: Parse multiple address headers the same as if they were in a single header
This is better from security point of view.
Timo Sirainen [Mon, 9 Sep 2019 16:16:19 +0000 (19:16 +0300)]
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.
Timo Sirainen [Thu, 28 Nov 2019 17:38:10 +0000 (19:38 +0200)]
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.
Stephan Bosch [Thu, 16 Jan 2020 23:36:54 +0000 (00:36 +0100)]
lib: event-log.c - Ensure checks for enabling debug logging are always run.
Sina Tavakoli [Tue, 21 Jan 2020 15:03:00 +0000 (17:03 +0200)]
doc: Add man page for dovecot-sysreport
Sina Tavakoli [Wed, 15 Jan 2020 09:40:24 +0000 (11:40 +0200)]
util: Add a script to gather system information in an archive for report purpose.
Timo Sirainen [Fri, 24 Jan 2020 10:33:14 +0000 (12:33 +0200)]
lib-fs: Create fs.event earlier so it's available in fs_init() code
Timo Sirainen [Wed, 15 Jan 2020 13:46:47 +0000 (15:46 +0200)]
acl: Fix accessing attributes when mailbox had no READ rights
It's enough to have one of the other rights.
Timo Sirainen [Wed, 15 Jan 2020 13:35:26 +0000 (15:35 +0200)]
lib-storage, imap, doveadm: Add and use MAILBOX_FLAG_ATTRIBUTE_SESSION