]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Thu, 12 Jan 2023 16:25:23 +0000 (18:25 +0200)]
lib-storage: Remove unused mail_storage_service_get_global()
Timo Sirainen [Thu, 12 Jan 2023 16:23:35 +0000 (18:23 +0200)]
lib-storage, global: Rename mail_user._service_user to service_user
It's now always set, so the underscore isn't useful.
Timo Sirainen [Thu, 12 Jan 2023 16:02:31 +0000 (18:02 +0200)]
lib-storage: mail_user_alloc*() - Require service_user parameter
Timo Sirainen [Thu, 12 Jan 2023 16:19:42 +0000 (18:19 +0200)]
lib-storage: Create a service_user for shared mail_users
Timo Sirainen [Thu, 12 Jan 2023 20:50:40 +0000 (22:50 +0200)]
lib-storage: shared - Split off shared_mail_user_init()
Timo Sirainen [Thu, 12 Jan 2023 21:14:23 +0000 (23:14 +0200)]
lib-storage: shared - Minor code refactoring
Simplifies the following commit.
Timo Sirainen [Thu, 12 Jan 2023 20:16:38 +0000 (22:16 +0200)]
lib-storage: shared - Fix freeing partially created user if %variable expansion fails
Timo Sirainen [Thu, 12 Jan 2023 15:27:01 +0000 (17:27 +0200)]
lib-storage: raw-storage - Create a service_user
Timo Sirainen [Fri, 13 Jan 2023 01:15:06 +0000 (03:15 +0200)]
lib-storage: Rename "raw mail user" to "raw-mail-user"
It works better in logs without spaces.
Timo Sirainen [Thu, 26 Jan 2023 18:28:43 +0000 (20:28 +0200)]
lib-storage: Fix using NO_RESTRICT_ACCESS flag with TEMP_PRIV_DROP
The following changes will use MAIL_STORAGE_SERVICE_FLAG_NO_RESTRICT_ACCESS
with e.g. shared user lookups. The process UID must not be changed in this
case. However, if MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP was set, the
code was still reseting UID to root, which isn't wanted.
Timo Sirainen [Fri, 20 Jan 2023 00:11:28 +0000 (02:11 +0200)]
lib-storage: Don't set home directory immediately when userdb lookup is disabled
This is going to be needed by the following change that creates shared users
via service_user. Otherwise the shared users' home directory will be wrong.
Do set home immediately if it's provided by
mail_storage_service_input.userdb_fields. This will be used by the
raw-storage user to set the home directory.
Also update some comments explaining about how NULL works for home.
Timo Sirainen [Fri, 13 Jan 2023 01:21:23 +0000 (03:21 +0200)]
lib-storage: Don't use HOME environment when userdb lookup is disabled
We no longer support cli tools using settings from environment. This was
also causing problems in the following commits.
Timo Sirainen [Fri, 13 Jan 2023 00:49:34 +0000 (02:49 +0200)]
lib-storage: Add mail_storage_service_input.autocreated
Timo Sirainen [Thu, 12 Jan 2023 20:34:49 +0000 (22:34 +0200)]
lib-storage: Add mail_storage_service_input.no_free_init_failure
This allows using mail_storage_service_lookup_next() in a way that mail_user
won't be freed on init failures, which allows getting extra information
about why the initialization failed.
Timo Sirainen [Thu, 12 Jan 2023 16:04:23 +0000 (18:04 +0200)]
lib-storage: Add mail_storage_service_user_get_{event|username}() accessors
Stephan Bosch [Thu, 12 Nov 2020 00:32:09 +0000 (01:32 +0100)]
doveadm: doveadm-auth - Add support for SASL mechanism in test and login commands.
Stephan Bosch [Wed, 11 Nov 2020 23:09:26 +0000 (00:09 +0100)]
lib-sasl: Add support for SCRAM-SHA-1 and SCRAM-SHA-256.
Stephan Bosch [Wed, 18 Jan 2023 01:59:43 +0000 (02:59 +0100)]
lib-auth: Add tests for SCRAM protocol interaction.
Stephan Bosch [Sat, 7 Jan 2023 01:39:09 +0000 (02:39 +0100)]
lib-auth: password-scheme-scram - Split off auth_scram_generate_key_data() from scram_generate().
Moved to auth-scram.
Stephan Bosch [Fri, 4 Jun 2021 11:06:08 +0000 (13:06 +0200)]
lib-auth: Implement client-side processing for SCRAM-SHA-* authentication.
Stephan Bosch [Mon, 7 Nov 2022 23:54:38 +0000 (00:54 +0100)]
lib-auth: auth-scram-server - Diligently clean key data.
Stephan Bosch [Thu, 3 Jun 2021 17:26:10 +0000 (19:26 +0200)]
auth: Move password-scheme code to lib-auth-common.
Stephan Bosch [Mon, 26 Sep 2022 21:01:38 +0000 (23:01 +0200)]
auth: Move auth-scram-server to lib-auth-common.
Stephan Bosch [Mon, 26 Sep 2022 20:34:17 +0000 (22:34 +0200)]
auth: Move auth-scram to lib-auth.
Stephan Bosch [Thu, 3 Jun 2021 16:23:05 +0000 (18:23 +0200)]
Create lib-auth
This is where we'll put code common to auth server and client across
authentication frameworks.
Stephan Bosch [Fri, 20 Jan 2023 00:59:57 +0000 (01:59 +0100)]
Rename lib-auth to lib-auth-client.
Stephan Bosch [Mon, 26 Sep 2022 19:42:46 +0000 (21:42 +0200)]
auth: mech-scram - Split off core implementation for server-side SCRAM-SHA-* authentication.
Stephan Bosch [Fri, 6 Jan 2023 14:53:27 +0000 (15:53 +0100)]
auth: mech-scram - Add custom free() method.
Stephan Bosch [Fri, 6 Jan 2023 14:45:57 +0000 (15:45 +0100)]
auth: mech-scram - Use container_of().
Stephan Bosch [Fri, 6 Jan 2023 14:59:55 +0000 (15:59 +0100)]
auth: auth-scram-server - Augment comment in auth_scram_parse_client_first().
Stephan Bosch [Fri, 6 Jan 2023 14:14:29 +0000 (15:14 +0100)]
auth: auth-scram-server - Move key data to separate struct.
Stephan Bosch [Fri, 6 Jan 2023 13:47:14 +0000 (14:47 +0100)]
auth: auth-scram-server - Change return type of auth_scram_get_server_final() to string_t*.
Stephan Bosch [Fri, 6 Jan 2023 13:45:38 +0000 (14:45 +0100)]
auth: auth-scram-server - Change return type of auth_scram_get_server_first() to string_t*.
Stephan Bosch [Fri, 6 Jan 2023 13:22:07 +0000 (14:22 +0100)]
auth: auth-scram-server - Change return type of auth_scram_parse_client_final() to int.
Stephan Bosch [Fri, 6 Jan 2023 13:17:27 +0000 (14:17 +0100)]
auth: auth-scram-server - Change return type of auth_scram_parse_client_first() to int.
Stephan Bosch [Fri, 6 Jan 2023 13:07:11 +0000 (14:07 +0100)]
auth: auth-scram-server - Add auth_scram_ prefixes to functions.
Stephan Bosch [Tue, 27 Sep 2022 00:02:16 +0000 (02:02 +0200)]
auth: auth-scram-server - Rename "request" variables to "server".
Stephan Bosch [Mon, 26 Sep 2022 23:37:11 +0000 (01:37 +0200)]
auth: mech-scram - Move get_scram_server_final() to auth-scram-server.c.
Stephan Bosch [Mon, 26 Sep 2022 23:34:45 +0000 (01:34 +0200)]
auth: mech-scram - Move parse_scram_client_final() to auth-scram-server.c.
Stephan Bosch [Mon, 26 Sep 2022 23:32:28 +0000 (01:32 +0200)]
auth: mech-scram - Move verify_credentials() to auth-scram-server.c.
Stephan Bosch [Mon, 26 Sep 2022 23:28:13 +0000 (01:28 +0200)]
auth: mech-scram - Move get_scram_server_first() to auth-scram-server.c.
Stephan Bosch [Mon, 26 Sep 2022 23:22:46 +0000 (01:22 +0200)]
auth: mech-scram - Move parse_scram_client_first() to auth-scram-server.c.
Stephan Bosch [Mon, 26 Sep 2022 23:19:45 +0000 (01:19 +0200)]
auth: mech-scram - Move scram_unescape_username() to auth-scram-server.c.
Stephan Bosch [Fri, 20 Jan 2023 02:53:09 +0000 (03:53 +0100)]
auth: mech-scram: Remove useless include of limits.h.
Stephan Bosch [Mon, 26 Sep 2022 20:21:39 +0000 (22:21 +0200)]
auth: auth-scram - Rename Hi() to auth_scram_hi() and make it public.
Stephan Bosch [Mon, 26 Sep 2022 20:16:35 +0000 (22:16 +0200)]
auth: password-scheme-scram - Move Hi() to auth-scram.c.
Stephan Bosch [Fri, 6 Jan 2023 15:43:56 +0000 (16:43 +0100)]
lib: str - Add str_clear() and str_clear_safe().
Stephan Bosch [Thu, 6 Oct 2022 23:11:46 +0000 (01:11 +0200)]
lib: buffer - Add buffer_clear_safe().
Stephan Bosch [Sat, 29 Oct 2022 20:21:10 +0000 (22:21 +0200)]
lib: buffer - Add buffer_clear()
For completeness with respect to the next commit.
Stephan Bosch [Thu, 5 Jan 2023 00:27:07 +0000 (01:27 +0100)]
auth: Reformat mech-scram.c.
Timo Sirainen [Mon, 2 Jan 2023 00:51:22 +0000 (02:51 +0200)]
auth: Remove duplicate "nodelay" extra field sent as passdb reply
The auth clients just ignored the duplicate, so this didn't cause any
visible bugs.
The "nodelay" field was originally added as a hidden field, which wouldn't
be sent as a passdb reply. However, the "nodelay" field became visible
again in
4307e3a2320dabbac53ad712790ffd250d527108 .
Aki Tuomi [Thu, 26 Jan 2023 06:22:14 +0000 (08:22 +0200)]
lib-dcrypt: Return after loading JWK key
Otherwise we try to load it as PEM key, which will fail.
Broken in
d352e5545a9422f3b0d74fd40d94c9f9a0770fb7
Aki Tuomi [Wed, 25 Jan 2023 19:58:13 +0000 (21:58 +0200)]
lib-dcrypt: Use BN_secure_new in dcrypt_openssl_key_load_private_raw
Aki Tuomi [Wed, 25 Jan 2023 19:53:53 +0000 (21:53 +0200)]
lib-dcrypt: test-crypto - Add missing test_end call to abnormal return
Forgotten in
316cbe323513a0f20d1cf519fe9405e231d633e2
Aki Tuomi [Wed, 25 Jan 2023 19:52:42 +0000 (21:52 +0200)]
lib-dcrypt: test-crypto - Add pointer to hold error when calling dcrypt_ctx_sym_create
Forgotten in
6c65d2f659d8bb2785f5a18fe583b456e0b5cece
Aki Tuomi [Wed, 25 Jan 2023 19:51:25 +0000 (21:51 +0200)]
lib-dcrypt: Fix leaking BN points
Broken in
d352e5545a9422f3b0d74fd40d94c9f9a0770fb7
Markus Valentin [Fri, 20 Jan 2023 15:41:47 +0000 (16:41 +0100)]
maildir: maildir_mailbox_open() - Split off maildir_is_selectable()
Markus Valentin [Fri, 20 Jan 2023 15:40:22 +0000 (16:40 +0100)]
maildir: maildir_mailbox_open() - If the namespace root or INBOX has any subdir create others as well
Markus Valentin [Fri, 20 Jan 2023 07:50:48 +0000 (08:50 +0100)]
maildir: maildir_mailbox_open() - Disable maildir subdirectory creation for INBOX
This was added in
522925f6e9ff8fe9592511c2221b3d6526d4cbf4 . In the
meantime autocreate code changed so this is no longer valid.
Markus Valentin [Mon, 9 Jan 2023 14:10:47 +0000 (15:10 +0100)]
welcome-plugin: Remove welcome_open_box()
Markus Valentin [Mon, 9 Jan 2023 14:06:54 +0000 (15:06 +0100)]
welcome-plugin: Move script_execute() to welcome_create_box()
The welcome script was executed while opening the INBOX only when
the same session had created it. This could have led to unexpectedly not
executing welcome when not opening the mailbox right after it was created.
The original code delayed the welcome script run because mailbox creation
wasn't finished until the mailbox was opened. This seems to have become
fixed at some point.
Aki Tuomi [Fri, 13 Jan 2023 12:45:31 +0000 (14:45 +0200)]
lib-sql: driver-sqlite - Handle SQLITE_READONLY error in exec
Aki Tuomi [Thu, 12 Jan 2023 14:44:18 +0000 (16:44 +0200)]
lib-sql: driver-sqlite - Handle permission errors when opening database
Aki Tuomi [Thu, 12 Jan 2023 14:27:20 +0000 (16:27 +0200)]
lib-sql: driver-sqlite - Handle memory allocation errors
Timo Sirainen [Mon, 23 Jan 2023 18:55:14 +0000 (20:55 +0200)]
global: Don't use ENUM_NEGATE() with non-enum variables
Fixes compiler warnings.
Timo Sirainen [Mon, 23 Jan 2023 18:53:39 +0000 (20:53 +0200)]
m4/dovecot.m4: Fix including all symbols from .a libs with new glibc
New glibc no longer has libdl, so the check for it no longer works.
Use -export-dynamic instead, which is used with both old and new glibc.
Timo Sirainen [Mon, 23 Jan 2023 18:53:01 +0000 (20:53 +0200)]
config: Add missing flags when linking
Timo Sirainen [Mon, 23 Jan 2023 23:10:15 +0000 (01:10 +0200)]
Remove accidentally committed list.txt
Timo Sirainen [Sat, 14 Jan 2023 21:43:55 +0000 (23:43 +0200)]
doveadm log errors: Show also errors from master process
Timo Sirainen [Sat, 14 Jan 2023 21:42:40 +0000 (23:42 +0200)]
master: Track the last 1000 errors in a buffer
This is the same as what the log process does. The master process errors
aren't sent to the log process though.
Timo Sirainen [Sat, 14 Jan 2023 21:41:56 +0000 (23:41 +0200)]
doveadm: Split off master_service_send_cmd()
Timo Sirainen [Sat, 14 Jan 2023 21:02:48 +0000 (23:02 +0200)]
doveadm log errors: Add microseconds to timestamp
Timo Sirainen [Sat, 14 Jan 2023 20:39:05 +0000 (22:39 +0200)]
log: Move log-error-buffer to lib-master
Karl Fleischmann [Mon, 9 Jan 2023 08:55:30 +0000 (09:55 +0100)]
imap-acl: Check if ACL context is enabled for a namespace before accessing it
This will prevent a crash when accessing an ACL context from a user that
doesn't exist and return an appropriate NONEXISTENT message.
Marco Bettini [Thu, 22 Dec 2022 16:06:17 +0000 (16:06 +0000)]
lib-smtp: unit tests - Use signals to ensure client doesn't start before server is ready
Marco Bettini [Mon, 16 Jan 2023 14:14:34 +0000 (14:14 +0000)]
lib-smtp: smtp_server_connection_input() - Ensure output errors (and closure) are handled
This is especially critical while performing the DATA command.
The DATA (and AUTH) command use smtp_server_connection_reply_immediate()
from within the connection input handler. Without the new code, output
errors in that function are not caught and lead to the server to hang
if the connection is closed in the right moment.
Marco Bettini [Mon, 16 Jan 2023 09:36:21 +0000 (09:36 +0000)]
lib-smtp: cmd_data_next() - Fix whitespaces
Marco Bettini [Thu, 19 Jan 2023 13:13:04 +0000 (13:13 +0000)]
global: unit-tests - Extract TEST_SIGNALS_DEFAULT_TIMEOUT_MS constant
Marco Bettini [Wed, 18 Jan 2023 17:06:50 +0000 (17:06 +0000)]
lib-http: test-http-client-errors - Add synchronization for test_run_dns() startup
Marco Bettini [Wed, 18 Jan 2023 16:59:29 +0000 (16:59 +0000)]
lib-http: test_run_client_server() - Rearrange the reset/wait calls that sync test_run_server() startup
Aki Tuomi [Wed, 18 Jan 2023 12:52:54 +0000 (14:52 +0200)]
SECURITY.md: Update information
Timo Sirainen [Tue, 17 Jan 2023 06:44:55 +0000 (08:44 +0200)]
lib-http: server - Fix potential crash with previous change on client disconnect
Broken by
1418d1e9018fc34287722467c6ee506f3e378e1a
Timo Sirainen [Fri, 27 Apr 2018 20:45:21 +0000 (23:45 +0300)]
lib-storage: Cache all wanted fields whenever possible
Timo Sirainen [Fri, 27 Apr 2018 20:34:48 +0000 (23:34 +0300)]
doveadm fetch: Add mime.parts field
This is mainly useful for debugging/testing. It writes the internally
parsed message_parts which are usually in dovecot.index.cache.
Timo Sirainen [Wed, 11 Jan 2023 12:32:20 +0000 (14:32 +0200)]
lib-http: test-http-payload - Use ostream-final-trickle for server connections
Timo Sirainen [Wed, 11 Jan 2023 12:31:55 +0000 (14:31 +0200)]
lib-http: test-http-payload - Add filenames to data mismatch error messages
Timo Sirainen [Wed, 11 Jan 2023 12:26:53 +0000 (14:26 +0200)]
lib-test: Add ostream-final-trickle
Timo Sirainen [Wed, 11 Jan 2023 14:02:38 +0000 (16:02 +0200)]
lib: Add connection_vfuncs.init()
Timo Sirainen [Thu, 12 Jan 2023 10:23:31 +0000 (12:23 +0200)]
lib-http: server - Don't disconnect client before response is fully sent
This could happen at least when the payload is empty and the final LF was
buffered.
Timo Sirainen [Tue, 10 Jan 2023 22:44:40 +0000 (00:44 +0200)]
lib-http: server - Don't disconnect client before payload is fully sent
Timo Sirainen [Thu, 12 Jan 2023 15:17:29 +0000 (17:17 +0200)]
lib-storage: Add mail_storage_service_input.unexpanded_set_parser
sergey.kitov [Thu, 15 Dec 2022 14:39:21 +0000 (16:39 +0200)]
lib-storage: Write vsize record always for <4GB-1 mails
Timo Sirainen [Tue, 27 Dec 2022 22:38:57 +0000 (17:38 -0500)]
dict: Handle each dict iteration flush in separate data stack frame
Timo Sirainen [Tue, 27 Dec 2022 22:35:38 +0000 (17:35 -0500)]
cassandra: Handle each reply in a separate data stack frame
Timo Sirainen [Tue, 27 Dec 2022 22:28:01 +0000 (17:28 -0500)]
login-common: Use separate data stack frames when looping through clients
Timo Sirainen [Tue, 27 Dec 2022 09:58:14 +0000 (04:58 -0500)]
global: Avoid using data stack as memory pool for potentially large allocations
The previous usage wasn't really bad, since the memory was freed soon
enough. However, these make it more difficult to find when data stack
really is growing excessively.
Timo Sirainen [Tue, 27 Dec 2022 17:04:03 +0000 (19:04 +0200)]
virtual: Sync each backend mailbox in its own data stack frame
Timo Sirainen [Tue, 27 Dec 2022 17:30:01 +0000 (19:30 +0200)]
fts: Add data stack frames to reduce memory usage when parsing many MIME parts
Timo Sirainen [Tue, 27 Dec 2022 17:15:21 +0000 (19:15 +0200)]
fts: Call backend vfuncs in separate data stack frames
Add only to vfuncs that are run in loops.
Timo Sirainen [Tue, 27 Dec 2022 16:46:44 +0000 (18:46 +0200)]
fts: fts_user_language_init_tokenizers() - Add data stack frames