]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Mon, 9 Nov 2020 23:11:11 +0000 (00:11 +0100)]
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.
Stephan Bosch [Mon, 9 Nov 2020 23:11:07 +0000 (00:11 +0100)]
auth: mech-scram - Properly size temporary string buffers.
Stephan Bosch [Mon, 9 Nov 2020 23:11:03 +0000 (00:11 +0100)]
auth: mech-scram - Restructure message parsing in parse_scram_client_first().
Stephan Bosch [Mon, 9 Nov 2020 23:10:57 +0000 (00:10 +0100)]
auth: Reformat mech-scram.c.
Timo Sirainen [Fri, 20 Aug 2021 14:43:09 +0000 (17:43 +0300)]
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.
Timo Sirainen [Fri, 20 Aug 2021 16:09:17 +0000 (19:09 +0300)]
lib-storage: Don't call mailbox_vfuncs.list_index_has_changed() in data stack frame
This will be required by the next change.
Timo Sirainen [Fri, 20 Aug 2021 14:26:42 +0000 (17:26 +0300)]
lib-storage: mailbox_list_index_view_open() - Log a debug line why index isn't up-to-date
Timo Sirainen [Fri, 20 Aug 2021 14:20:01 +0000 (17:20 +0300)]
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.
Marco Bettini [Mon, 6 Dec 2021 10:54:16 +0000 (11:54 +0100)]
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)
Timo Sirainen [Thu, 9 Dec 2021 16:31:04 +0000 (17:31 +0100)]
var-expand-crypt: Remove dead code
It's correct that dcrypt library shouldn't be deinitialized at plugin
deinit.
Timo Sirainen [Fri, 3 Dec 2021 15:23:35 +0000 (17:23 +0200)]
login-common: Add more fields to proxy_session_finished
Added disconnect_side, disconnect_reason, idle_secs, bytes_in, bytes_out.
Timo Sirainen [Fri, 3 Dec 2021 15:54:37 +0000 (17:54 +0200)]
login-common: Split off proxy disconnection prefix to LOGIN_PROXY_KILL_PREFIX
Timo Sirainen [Fri, 3 Dec 2021 15:47:50 +0000 (17:47 +0200)]
login-common: login_proxy_free_*() - Rename reason to log_msg
This better describes it, since it's the full log message.
Timo Sirainen [Wed, 1 Dec 2021 12:46:04 +0000 (14:46 +0200)]
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.
Timo Sirainen [Tue, 9 Nov 2021 12:42:24 +0000 (13:42 +0100)]
man: Add missing parameters to doveadm-sync
Timo Sirainen [Tue, 30 Nov 2021 16:02:14 +0000 (18:02 +0200)]
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.
Timo Sirainen [Tue, 9 Nov 2021 12:41:37 +0000 (13:41 +0100)]
dsync: Add back various missing parameters
Also add them to the usage string.
Broken by
5676c510bfa9217df05e9b7cb000ae3554d66f22
Michael M Slusarz [Wed, 22 Sep 2021 20:50:50 +0000 (14:50 -0600)]
fts: Don't overwrite INUSE error if indexing times out
Aki Tuomi [Thu, 11 Nov 2021 10:31:49 +0000 (12:31 +0200)]
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.
Aki Tuomi [Tue, 16 Nov 2021 13:08:47 +0000 (15:08 +0200)]
lib-storage: Split off index_mailbox_vsize_finish_bg()
Simplifies next commit
Timo Sirainen [Tue, 10 Aug 2021 09:22:08 +0000 (12:22 +0300)]
lib-index: Fix storing cache fields' last_used with 64bit big endian CPUs
Timo Sirainen [Thu, 17 Jan 2019 10:13:38 +0000 (12:13 +0200)]
maildir: Fix crash at error handling
At this point dest_mail is already NULL. Mainly could happen when running
out of disk space.
Siavash Tavakoli [Tue, 30 Nov 2021 09:51:25 +0000 (09:51 +0000)]
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.
Marco Bettini [Fri, 26 Nov 2021 13:45:47 +0000 (14:45 +0100)]
lib: str_parse_intmax() - Replace signed expression with UNSIGNED_MINUS()
Found by code analysis tool
Marco Bettini [Fri, 26 Nov 2021 14:48:04 +0000 (15:48 +0100)]
lib: switch i_rand_limit() - Replace signed expression with UNSIGNED_MINUS()
Found by code analysis tool
Marco Bettini [Fri, 26 Nov 2021 13:15:07 +0000 (14:15 +0100)]
lib: buffer_truncate_rshift_bits() - Replace signed expression with an unsigned equivalent
Found by code analysis tool
Marco Bettini [Mon, 29 Nov 2021 14:05:29 +0000 (15:05 +0100)]
lib: bits_rotXYY() - Replace signed expression with UNSIGNED_MINUS() macro for unsigned 2's complement
Found by code analysis tool
Marco Bettini [Mon, 29 Nov 2021 14:00:41 +0000 (15:00 +0100)]
bits_is_power_of_two() Replace signed expression with __builtin_popcountl()
Found by code analysis tool
Marco Bettini [Mon, 29 Nov 2021 13:58:33 +0000 (14:58 +0100)]
lib: test-bits.c - Removing stray spaces at end of lines
Fabrice Bellet [Fri, 15 Jan 2021 16:43:19 +0000 (17:43 +0100)]
raw-storage: copy the envelope sender instead of referencing it
Timo Sirainen [Mon, 14 Oct 2019 13:43:57 +0000 (16:43 +0300)]
lib-fs: Add test-fs utility for testing fs drivers
It performs random read/write/delete/iter operations.
Timo Sirainen [Fri, 18 Jun 2021 12:19:48 +0000 (15:19 +0300)]
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.
Timo Sirainen [Wed, 28 Jul 2021 08:52:01 +0000 (11:52 +0300)]
replicator: Move replicator_brain_timeout(()
Timo Sirainen [Mon, 19 Apr 2021 16:48:09 +0000 (18:48 +0200)]
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.
Timo Sirainen [Thu, 2 Apr 2020 08:06:36 +0000 (11:06 +0300)]
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.
Timo Sirainen [Mon, 22 Nov 2021 16:17:52 +0000 (18:17 +0200)]
dsync: Improve bad namespace configuration related error messages
Marco Bettini [Wed, 24 Nov 2021 15:01:08 +0000 (16:01 +0100)]
submission: smtp_server_command_execute() Remove check for null pointer confusing coverity
Siavash Tavakoli [Mon, 22 Nov 2021 16:04:11 +0000 (16:04 +0000)]
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.
Marco Bettini [Tue, 23 Nov 2021 14:56:45 +0000 (15:56 +0100)]
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).
Marco Bettini [Tue, 23 Nov 2021 15:03:07 +0000 (16:03 +0100)]
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.
Martti Rannanjärvi [Tue, 23 Nov 2021 15:55:43 +0000 (17:55 +0200)]
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.
Stephan Bosch [Fri, 12 Nov 2021 10:16:47 +0000 (11:16 +0100)]
lib-storage: mail-duplicate - Fix segfault occurring when user has no configured home directory
Occurred only when a duplicate DB transaction was created.
Stephan Bosch [Fri, 12 Nov 2021 09:43:16 +0000 (10:43 +0100)]
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)
sergey.kitov [Thu, 11 Nov 2021 07:57:07 +0000 (09:57 +0200)]
stats: Whitespace cleanup.
sergey.kitov [Tue, 9 Nov 2021 12:12:18 +0000 (14:12 +0200)]
doveadm: Fix processing of group-by parameter of doveadm stats add.
Stephan Bosch [Fri, 25 Sep 2020 01:48:09 +0000 (03:48 +0200)]
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.
Stephan Bosch [Mon, 8 Nov 2021 22:29:35 +0000 (23:29 +0100)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_fail_reply(NULL, reply) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:31:07 +0000 (03:31 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_abort(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:29:53 +0000 (03:29 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:27:39 +0000 (03:27 +0200)]
lib-smtp: smtp-client-transaction - Assert that smtp_client_transaction_rcpt_approved/denied() has non-NULL parameter.
Stephan Bosch [Fri, 25 Sep 2020 01:24:29 +0000 (03:24 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_free(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:22:45 +0000 (03:22 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_fail_reply(NULL, reply) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:21:06 +0000 (03:21 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_abort(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:18:56 +0000 (03:18 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_replied(NULL, reply) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:17:57 +0000 (03:17 +0200)]
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_free(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 00:45:27 +0000 (02:45 +0200)]
lib-smtp: smtp-client-command - Drop callback before call in smtp_client_command_input_reply().
Stephan Bosch [Fri, 25 Sep 2020 00:38:54 +0000 (02:38 +0200)]
lib-smtp: smtp-client-command - Make smtp_client_command_fail_reply(NULL, reply) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 00:33:33 +0000 (02:33 +0200)]
lib-smtp: smtp-client-command - Make smtp_client_command_abort(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 01:00:31 +0000 (03:00 +0200)]
lib-smtp: Reformat smtp-client-transaction.c.
Stephan Bosch [Fri, 25 Sep 2020 01:14:16 +0000 (03:14 +0200)]
lib-smtp: Reformat smtp-client-command.c.
Marco Bettini [Thu, 28 Oct 2021 07:19:37 +0000 (09:19 +0200)]
lib-fts: Don't index inline base64 encoded content
Stephan Bosch [Sun, 14 Nov 2021 22:27:00 +0000 (23:27 +0100)]
lib-smtp: smtp-server-command - Emit smtp_server_command_started event a little later.
This way cmd_*args fields are available for the event.
Stephan Bosch [Tue, 26 Oct 2021 22:48:28 +0000 (00:48 +0200)]
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.
Stephan Bosch [Mon, 19 Jul 2021 09:53:41 +0000 (11:53 +0200)]
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.
Stephan Bosch [Sat, 27 Jun 2020 15:55:58 +0000 (17:55 +0200)]
lib-http: Reformat http-client-connection.c.
sergey.kitov [Fri, 29 Oct 2021 08:42:40 +0000 (11:42 +0300)]
lib: Add unit tests for named events only optimization.
sergey.kitov [Fri, 29 Oct 2021 11:06:39 +0000 (14:06 +0300)]
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.
sergey.kitov [Fri, 22 Oct 2021 09:09:24 +0000 (12:09 +0300)]
lib-master: Whitespace cleanup.
Aki Tuomi [Tue, 9 Nov 2021 12:37:07 +0000 (14:37 +0200)]
auth: passdb-cache - Preserve cached fields when verifying password with worker
Stephan Bosch [Fri, 5 Nov 2021 16:11:49 +0000 (17:11 +0100)]
lib-smtp: smtp-server-command - Hold a command reference while sending replies.
Fixes segfault at smtp-server-reply.c:652.
Stephan Bosch [Fri, 5 Nov 2021 15:53:48 +0000 (16:53 +0100)]
lib-smtp: smtp-server-command - Split off smtp_server_command_send_more_replies().
Stephan Bosch [Fri, 5 Nov 2021 15:46:15 +0000 (16:46 +0100)]
lib-smtp: smtp-server-command - Split off smtp_server_command_send_replies().
sergey.kitov [Mon, 8 Nov 2021 12:36:57 +0000 (14:36 +0200)]
plugins/fts: Fix memory leak when searching mail in virtual folder with fts.
Aki Tuomi [Mon, 8 Nov 2021 12:04:07 +0000 (14:04 +0200)]
configure: Fix version macros to work with devel version
Aki Tuomi [Mon, 8 Nov 2021 13:24:30 +0000 (15:24 +0200)]
SECURITY.md: Add initial security policy
Timo Sirainen [Tue, 26 Oct 2021 13:59:29 +0000 (16:59 +0300)]
lib-fts: Fix address tokenizer to handle large input properly
Previously it could have used excessive amounts of memory if the input
didn't contain separator characters.
The fix changes a bit how the address-tokenizer works: Previously large
email addresses were saved as truncated tokens. Now they're skipped
entirely by the address tokenizer. Similarly when searching long email
addresses they're no longer searched as truncated tokens, but instead
simply fed to the parent tokenizer which (likely) searches them in
smaller pieces.
Note that this also sometimes changes the order in which tokens are
returned, e.g. "foo", "example", "foo@example.com", "com" instead of
returning "com" before the email address. This isn't ideal, but fixing it
seems annoyingly complicated and practically it doesn't matter right now.
Timo Sirainen [Tue, 26 Oct 2021 13:34:25 +0000 (16:34 +0300)]
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.
Timo Sirainen [Tue, 26 Oct 2021 09:33:50 +0000 (12:33 +0300)]
lib-fts: fts-tokenizer - Add comments explaning how it works
Timo Sirainen [Tue, 26 Oct 2021 08:52:22 +0000 (11:52 +0300)]
lib-fts: test-fts-tokenizer - Add more uniqueness to the long email address
This helps at least with debugging problems.
Timo Sirainen [Tue, 14 Sep 2021 16:21:09 +0000 (18:21 +0200)]
lib: DOVECOT_PREREQ() - Add micro version
Nowadays APIs can change between micro versions as well.
Timo Sirainen [Tue, 14 Sep 2021 16:23:41 +0000 (18:23 +0200)]
lib: DOVECOT_PREREQ() - Remove surrounding if checks
The DOVECOT_VERSION_* macros are expected to always exist.
Timo Sirainen [Tue, 14 Sep 2021 16:21:03 +0000 (18:21 +0200)]
configure: Add DOVECOT_VERSION_MICRO
Timo Sirainen [Tue, 2 Nov 2021 14:06:55 +0000 (16:06 +0200)]
lib: Fix building with --disable-asserts
The #endif location was wrong.
Stephan Bosch [Wed, 27 Jan 2021 01:20:53 +0000 (02:20 +0100)]
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
Stephan Bosch [Thu, 14 Oct 2021 10:47:23 +0000 (12:47 +0200)]
submission-login: client-authenticate - Split off cmd_auth_set_master_data_prefix().
Stephan Bosch [Wed, 27 Jan 2021 12:51:03 +0000 (13:51 +0100)]
login-common: sasl-server - Add support for implicit login.
Stephan Bosch [Wed, 27 Jan 2021 12:43:23 +0000 (13:43 +0100)]
login-common: sasl-server - Turn private argument of sasl_server_auth_begin() into flag.
Stephan Bosch [Wed, 27 Jan 2021 12:39:23 +0000 (13:39 +0100)]
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.
Stephan Bosch [Wed, 27 Jan 2021 12:40:43 +0000 (13:40 +0100)]
lib-smtp: smtp-server - Add support for suppressing the inital greeting reply.
Stephan Bosch [Wed, 27 Jan 2021 01:22:10 +0000 (02:22 +0100)]
lib-smtp: smtp-server - Make default command functions public.
Stephan Bosch [Wed, 27 Jan 2021 01:21:50 +0000 (02:21 +0100)]
lib-smtp: smtp-server-command - Allow overriding commands.
Stephan Bosch [Fri, 29 Oct 2021 22:43:55 +0000 (00:43 +0200)]
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.
Stephan Bosch [Fri, 29 Oct 2021 18:41:42 +0000 (20:41 +0200)]
lib-smtp: smtp-command-parser - Make parser suitable for input stream with small buffer.
Stephan Bosch [Fri, 29 Oct 2021 21:44:01 +0000 (23:44 +0200)]
lib-smtp: smtp-command - Use size_t for command line limits.
Stephan Bosch [Fri, 29 Oct 2021 17:37:16 +0000 (19:37 +0200)]
lib-smtp: test-smtp-server-errors - Add tests for very long AUTH response lines.
Stephan Bosch [Fri, 29 Oct 2021 17:36:18 +0000 (19:36 +0200)]
lib-smtp: test-smtp-command-parser - Add test for very long AUTH response line.
Stephan Bosch [Fri, 29 Oct 2021 21:52:05 +0000 (23:52 +0200)]
lib-smtp: Reformat smtp-command-parser.c.
Stephan Bosch [Fri, 29 Oct 2021 21:47:57 +0000 (23:47 +0200)]
lib-smtp: Reformat smtp-command-parser.h.
Timo Sirainen [Mon, 1 Nov 2021 12:33:49 +0000 (08:33 -0400)]
master: Use MASTER_SERVICE_FLAG_DISABLE_SSL_SET
This prevents startup failures if ssl_ca has a large number of certificates.
Broken by
36ff43f1a9aff8594d08f791e77ea13390fd569f
Timo Sirainen [Mon, 1 Nov 2021 12:33:14 +0000 (08:33 -0400)]
lib-master: Add MASTER_SERVICE_FLAG_DISABLE_SSL_SET