]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Marco Bettini [Tue, 15 Mar 2022 09:37:59 +0000 (09:37 +0000)]
lib-ssl-iostream: protocol_versions[] - Drops support for ssl_min_protocol=SSLv3
Marco Bettini [Wed, 16 Mar 2022 10:53:25 +0000 (10:53 +0000)]
lib-master: master_service_ssl_settings_check(): Raise warning when ssl_min_protocol contains ANY
Marco Bettini [Tue, 15 Mar 2022 15:02:56 +0000 (15:02 +0000)]
lib-ssl-iostream: ssl_ctx_use_certificate_chain() - Remove stray whitespaces
Timo Sirainen [Mon, 21 Mar 2022 09:03:03 +0000 (11:03 +0200)]
dsync: Properly terminate escape_chars when escaping mailbox names
Broken by
596c5a52e7e554571285e90063712cb0d37b34eb
Aki Tuomi [Fri, 18 Mar 2022 07:41:37 +0000 (09:41 +0200)]
lib-test: test-subprocess - Free subprocess before forking
Otherwise it'll leak memory.
Broken in
34bdfdcbc7e3b374a219732329b6ce6d84a7666e
Timo Sirainen [Mon, 28 Feb 2022 11:11:35 +0000 (06:11 -0500)]
global: Remove unused macros
Marco Bettini [Wed, 9 Mar 2022 08:56:28 +0000 (09:56 +0100)]
var-expand-crypt: var_expand_crypt_settings() - Use macro VAR_EXPAND_CRYPT_DEFAULT_ALGO
Marco Bettini [Wed, 9 Mar 2022 09:14:44 +0000 (10:14 +0100)]
mail-crypt: Replace DCRYPT_FORMAT_DOVECOT with MAIL_CRYPT_KEY_ATTRIBUTE_FORMAT
Marco Bettini [Wed, 9 Mar 2022 09:05:52 +0000 (09:05 +0000)]
auth: Use macro DB_LUA_CACHE_KEY
Timo Sirainen [Mon, 28 Feb 2022 11:53:05 +0000 (06:53 -0500)]
lib: Use GRBUF_MIN_SIZE for groups instead of PWBUF_MIN_SIZE
They both have the same value, so it didn't break anything.
Marco Bettini [Wed, 9 Mar 2022 09:14:10 +0000 (10:14 +0100)]
mail-crypt: Remove stray spaces in mail-crypt-key.c
Timo Sirainen [Wed, 2 Mar 2022 14:39:30 +0000 (09:39 -0500)]
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".
Timo Sirainen [Tue, 1 Mar 2022 13:37:57 +0000 (08:37 -0500)]
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.
Timo Sirainen [Tue, 1 Mar 2022 16:51:04 +0000 (11:51 -0500)]
dsync: Track whether escape character was added just for dsync
Will be used by the following commit
Timo Sirainen [Tue, 1 Mar 2022 13:36:55 +0000 (08:36 -0500)]
dsync: Add clarifying comment about mailbox_log_record.maibox_guid contents
Timo Sirainen [Tue, 1 Mar 2022 13:06:14 +0000 (08:06 -0500)]
dsync: Add escape_char to dsync-mailbox-tree
This will be used by the following changes.
Josef 'Jeff' Sipek [Wed, 11 Mar 2020 11:40:38 +0000 (13:40 +0200)]
lib-compression: Remove xz/lzma read support
This commit removes the read support that was left behind to allow for more
gradual migration from lzma/xz.
The code had 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.
Siavash Tavakoli [Mon, 25 Oct 2021 11:23:56 +0000 (12:23 +0100)]
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
Aki Tuomi [Mon, 7 Mar 2022 09:53:27 +0000 (11:53 +0200)]
auth: password-scheme - Mark DES-CRYPT weak
Aki Tuomi [Mon, 7 Mar 2022 08:58:54 +0000 (10:58 +0200)]
auth: password-scheme - Mark MD4 as weak
Aki Tuomi [Mon, 7 Mar 2022 08:58:04 +0000 (10:58 +0200)]
auth: password-scheme - Mark MD5 schemes weak
For interop reasons, we cannot mark SCRAM-MD5 and DIGEST-MD5 weak
yet.
Aki Tuomi [Mon, 7 Mar 2022 08:53:20 +0000 (10:53 +0200)]
auth: password-scheme - Only allow weak schemes if enabled
Aki Tuomi [Mon, 7 Mar 2022 08:53:00 +0000 (10:53 +0200)]
auth: Add auth_allow_weak_schemes setting
Aki Tuomi [Mon, 7 Mar 2022 08:48:20 +0000 (10:48 +0200)]
auth: password-scheme - Add password_schemes_allow_weak()
Can be used to allow weak password schemes.
Aki Tuomi [Mon, 7 Mar 2022 06:42:18 +0000 (08:42 +0200)]
auth: password-scheme - Use named initializers
Stephan Bosch [Wed, 9 Mar 2022 01:30:12 +0000 (02:30 +0100)]
submission-login: Add workaround for SMTP backend that is not Dovecot.
Adds workaround called "exotic-backend".
Aki Tuomi [Wed, 9 Mar 2022 11:54:20 +0000 (13:54 +0200)]
version.in: Remove stray file
Aki Tuomi [Wed, 9 Mar 2022 11:53:48 +0000 (13:53 +0200)]
build-aux/git-version-gen: Allow .git to be any file
In submodule context this will not be a directory
Aki Tuomi [Wed, 2 Mar 2022 15:22:23 +0000 (17:22 +0200)]
acl: Treat missing global acl file as error
Aki Tuomi [Wed, 2 Mar 2022 09:29:54 +0000 (11:29 +0200)]
acl: Remove Global ACL directory feature
Timo Sirainen [Mon, 28 Feb 2022 21:42:27 +0000 (16:42 -0500)]
cassandra: Implement sql_db_vfuncs.statement_bind_double
Timo Sirainen [Mon, 28 Feb 2022 21:51:08 +0000 (16:51 -0500)]
cassandra: Add support for reading "double" value type
Timo Sirainen [Mon, 28 Feb 2022 21:40:03 +0000 (16:40 -0500)]
cassandra: Add enum cassandra_sql_arg_type
This allows adding other types more reliably.
Timo Sirainen [Mon, 28 Feb 2022 21:42:50 +0000 (16:42 -0500)]
dict-sql: Add "double" value type
Timo Sirainen [Mon, 28 Feb 2022 21:42:10 +0000 (16:42 -0500)]
lib-sql: Add sql_statement_bind_double()
Timo Sirainen [Mon, 28 Feb 2022 21:33:09 +0000 (16:33 -0500)]
lib: Add str_to_float() and str_to_double()
Timo Sirainen [Thu, 24 Feb 2022 17:41:48 +0000 (18:41 +0100)]
global: Use connection_client_connect_async()
Timo Sirainen [Thu, 24 Feb 2022 17:11:19 +0000 (18:11 +0100)]
lib: Add connection_client_connect_async()
Markus Valentin [Thu, 3 Mar 2022 13:21:00 +0000 (14:21 +0100)]
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
Aki Tuomi [Wed, 2 Mar 2022 13:40:16 +0000 (15:40 +0200)]
auth: auth-cache - Always use translated_username as cache key
This fixes auth cache when passdb/userdb changes the user field.
Aki Tuomi [Wed, 2 Mar 2022 12:57:20 +0000 (14:57 +0200)]
auth: Set translated_user to requested_login_user in master login
Fixes caching issues with master logins.
Aki Tuomi [Tue, 6 Jul 2021 11:02:41 +0000 (14:02 +0300)]
auth: Include cache hit/miss information in passdb/userdb lookup end events
Timo Sirainen [Tue, 1 Mar 2022 11:05:07 +0000 (06:05 -0500)]
lib: test-cpu-limit - Disable system CPU limit checks with valgrind
They run way too slowly.
Markus Valentin [Mon, 28 Feb 2022 14:50:05 +0000 (15:50 +0100)]
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.
Aki Tuomi [Tue, 1 Mar 2022 08:01:06 +0000 (10:01 +0200)]
auth: db-oauth2 - Fix off by one in oauth2 variable handling
Broken in
9b670175445a75987a713ff899d1a945255b0b5b
Martti Rannanjärvi [Tue, 1 Mar 2022 10:51:29 +0000 (12:51 +0200)]
build-aux: run-test.sh.in - Capture exit codes before set -e ends the script
With set -e, the script ends on any nonzero exit code and that would
leave the valgrind output unchecked. Fix the exit code capture so
valgrind output is correctly shown.
Markus Valentin [Tue, 1 Mar 2022 12:49:39 +0000 (13:49 +0100)]
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.
Markus Valentin [Tue, 1 Mar 2022 11:06:20 +0000 (12:06 +0100)]
lib: test-seqset-builder - Add missing seqset_builder_deinit()
Fixes leaking memory when running tests.
Stephan Bosch [Tue, 1 Feb 2022 00:33:53 +0000 (01:33 +0100)]
lmtp: lmtp-proxy - Use port 24 as default for proxy.
LMTP has no officially registered default service port, but 24 is the de-facto
standard. When client connects through TCP, the local client port number is used
to setup the proxy connection as well. However, when the client connects through a
unix socket, there is no port number to use and a default is needed.
Marco Bettini [Mon, 28 Feb 2022 16:12:32 +0000 (17:12 +0100)]
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
Timo Sirainen [Mon, 28 Feb 2022 14:52:48 +0000 (09:52 -0500)]
auth: passdb-sql - Add assert to help static analyzer
Marco Bettini [Mon, 21 Feb 2022 11:48:26 +0000 (12:48 +0100)]
lib-oauth2: get_time_field() - Fix accepting JWT tokens containing decimal parts in NumericDate fields
Marco Bettini [Fri, 18 Feb 2022 15:26:29 +0000 (16:26 +0100)]
lib-smtp: Adjust test timeouts based on valgrind runtime presence
Marco Bettini [Fri, 18 Feb 2022 15:24:45 +0000 (16:24 +0100)]
lib-smtp: test_server_big_data_data_continue() - Remove stray whitespaces
Markus Valentin [Mon, 28 Feb 2022 12:15:06 +0000 (13:15 +0100)]
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.
Markus Valentin [Thu, 24 Feb 2022 14:31:39 +0000 (15:31 +0100)]
imapc: Delay fetching state after untagged exists reply
Markus Valentin [Thu, 16 Dec 2021 08:11:55 +0000 (09:11 +0100)]
imapc: imapc_copy() - Make sure capabilities are known before copying
Markus Valentin [Thu, 11 Nov 2021 15:17:35 +0000 (16:17 +0100)]
imapc: Implement rollback for failed copies
Markus Valentin [Thu, 11 Nov 2021 17:31:54 +0000 (18:31 +0100)]
imapc: imapc_save_copyuid() deduplicate code
Markus Valentin [Thu, 11 Nov 2021 15:18:09 +0000 (16:18 +0100)]
imapc: Enable bulk copying if remote backend has UIDPLUS capability
Markus Valentin [Thu, 11 Nov 2021 13:52:54 +0000 (14:52 +0100)]
imapc: Implement bulk copying for imapc
Markus Valentin [Thu, 11 Nov 2021 15:10:53 +0000 (16:10 +0100)]
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.
Markus Valentin [Wed, 12 Jan 2022 14:09:16 +0000 (15:09 +0100)]
lib-storage: index_save_context_free() - Add assertion on non-NULL ctx->dest_mail
Markus Valentin [Wed, 8 Dec 2021 16:17:56 +0000 (17:17 +0100)]
lib: Add seq-set-builder and tests for it
Timo Sirainen [Fri, 25 Feb 2022 20:48:10 +0000 (21:48 +0100)]
lib: json-parser - Fix detecting truncated JSON input
Based on patch by Dmitry Yakunin
Tom Sommer [Sat, 5 Sep 2020 10:55:46 +0000 (12:55 +0200)]
dovecot.service.in: Add remote-fs.target to systemd service
Christian Göttsche [Fri, 6 Aug 2021 16:08:51 +0000 (18:08 +0200)]
man: doveadm-director - drop acute accent
Found by Lintian:
This manual page uses the \' groff sequence. Usually, the intent to
generate an apostrophe, but that sequence actually renders as a an acute
accent.
For an apostrophe or a single closing quote, use plain '. For single
opening quote, i.e. a straight downward line ' like the one used in
shell commands, use \(aq.
Christian Göttsche [Fri, 6 Aug 2021 16:04:20 +0000 (18:04 +0200)]
doc/mkcert.sh: Fix variables used for paths in error messages
The used variables are by default equal, but might get distinct by
distribution patches.
Timo Sirainen [Fri, 25 Feb 2022 20:21:40 +0000 (21:21 +0100)]
auth: passdb-sql - Clear passwords from memory after use
Based on patch by Miecio Za
Timo Sirainen [Fri, 25 Feb 2022 20:03:42 +0000 (21:03 +0100)]
global: Use consistently "time moved forward"
Based on patch by Tyson Williams
luz.paz [Thu, 4 Oct 2018 22:52:16 +0000 (18:52 -0400)]
global: Fix spelling
Found via `codespell -q 3`
Timo Sirainen [Fri, 25 Feb 2022 19:47:19 +0000 (20:47 +0100)]
INSTALL.m4: Add note about autogen.sh
Based on patch by Fritz Zaucker
Duncan Bellamy [Sat, 6 Mar 2021 14:25:29 +0000 (14:25 +0000)]
imap: Shorten test-imap-client-hibernate socket path length
Jelmer Vernooij [Tue, 15 Feb 2022 22:51:07 +0000 (22:51 +0000)]
README.m4: Add a link to the GSSAPI-in-SASL spec.
Timo Sirainen [Tue, 22 Feb 2022 13:14:20 +0000 (14:14 +0100)]
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)
Timo Sirainen [Tue, 22 Feb 2022 13:10:02 +0000 (14:10 +0100)]
director: Prevent loops where directors keep changing host tags
Aki Tuomi [Fri, 25 Feb 2022 08:25:58 +0000 (10:25 +0200)]
config: old-set-parser - Remove stale FIXME
Aki Tuomi [Thu, 24 Feb 2022 10:55:14 +0000 (12:55 +0200)]
config: old-set-parser - Remove ssl-parameters.dat processing
Timo Sirainen [Fri, 18 Feb 2022 16:31:43 +0000 (18:31 +0200)]
dsync: Log reason why mailbox is synced with debug logging
Timo Sirainen [Mon, 21 Feb 2022 22:07:11 +0000 (23:07 +0100)]
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.
Timo Sirainen [Wed, 24 Feb 2021 16:57:24 +0000 (18:57 +0200)]
lib-storage: Fix renaming mailbox hierarchies with FULLDIRNAME
If INDEX/INDEXPVT/INDEXCACHE/CONTROL were specified separately, they
weren't being renamed correctly. This mainly meant that if there was
a "foo/bar" folder, renaming "foo" to "foo2" wouldn't work correctly.
Timo Sirainen [Fri, 18 Feb 2022 10:11:53 +0000 (12:11 +0200)]
lib-storage: Split off path_get_parent_dir()
Martti Rannanjärvi [Mon, 29 Nov 2021 20:44:04 +0000 (22:44 +0200)]
config: old-set-parser - Mark license_checksum obsolete
Karl Fleischmann [Tue, 15 Feb 2022 15:22:06 +0000 (16:22 +0100)]
lib: Remove deprecated src_pos_r parameter from base64_decode()
The src_pos_r parameter in base64_decode() has been deprecated in commit
afa3db0a6f15e1b1038cb47f0632baa8f23d0f67 and is now removed - both from
the function as well as all it's calls.
Stephan Bosch [Sat, 12 Feb 2022 14:07:39 +0000 (15:07 +0100)]
submission-login: submission-proxy - Do not include initial response in AUTH command if it is too long.
Stephan Bosch [Mon, 21 Feb 2022 20:36:55 +0000 (21:36 +0100)]
submission-login: submission-proxy - Rename local variable in proxy_send_login().
Stephan Bosch [Mon, 21 Feb 2022 20:32:45 +0000 (21:32 +0100)]
lib-smtp: smtp-client - Move SMTP_BASE_LINE_LENGTH_LIMIT definition to smtp-common.h.
Stephan Bosch [Mon, 21 Feb 2022 20:29:23 +0000 (21:29 +0100)]
lib-smtp: smtp-client-connection - Rename SMTP_CLIENT_BASE_LINE_LENGTH_LIMIT to SMTP_BASE_LINE_LENGTH_LIMIT.
Stephan Bosch [Wed, 23 Feb 2022 13:21:02 +0000 (14:21 +0100)]
lib-smtp: smtp-client-connection - Fix typo in comment.
Timo Sirainen [Tue, 22 Feb 2022 14:09:02 +0000 (15:09 +0100)]
master: Fix logging errors when service listener creation fails
Only some of the errors were logged.
Broken by
6934b81afa05e25ac919a49a7fd30acf78ffa3dd
Timo Sirainen [Tue, 22 Feb 2022 14:11:07 +0000 (15:11 +0100)]
master: service_unix_listener_listen() - Don't ignore EISDIR/ENOENT errors on reload
The listener is likely important, so failure to be able to create it
shouldn't be ignored. These errors aren't expected to happen though.
Timo Sirainen [Tue, 22 Feb 2022 11:22:02 +0000 (12:22 +0100)]
anvil: Free all memory used by still connected processes at deinit
Timo Sirainen [Tue, 22 Feb 2022 11:08:33 +0000 (12:08 +0100)]
anvil: Split off connect_limit_process_free()
Timo Sirainen [Mon, 21 Feb 2022 16:18:22 +0000 (17:18 +0100)]
anvil: Use a maximum of 100 open admin-client connections while kicking users
Timo Sirainen [Mon, 21 Feb 2022 16:10:37 +0000 (17:10 +0100)]
anvil: Split off kick_user_iter_more()
Timo Sirainen [Mon, 21 Feb 2022 16:09:30 +0000 (17:09 +0100)]
anvil: Move add_conn_guid to struct anvil_cmd_kick
Timo Sirainen [Mon, 21 Feb 2022 16:07:36 +0000 (17:07 +0100)]
anvil: Move prev_pid to struct anvil_cmd_kick
Timo Sirainen [Mon, 21 Feb 2022 15:32:15 +0000 (16:32 +0100)]
anvil: Always use a new admin-connection for KICK-USER-SIGNAL commands
Otherwise the race condition prevention doesn't work. Also it may have
attempted to send the KICK-USER-SIGNAL command to admin-client connection,
which would respond with "Unknown command".
Timo Sirainen [Mon, 21 Feb 2022 15:50:56 +0000 (16:50 +0100)]
anvil: Improve error logging if KICK-USER command fails
The kick target-specific struct will be also useful in the next commit.
Timo Sirainen [Mon, 21 Feb 2022 16:04:59 +0000 (17:04 +0100)]
anvil: Make admin_client_unref(&NULL) no-op