]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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
Timo Sirainen [Tue, 27 Dec 2022 10:06:28 +0000 (05:06 -0500)]
acl: mailbox list iteration - Add data stack frames for autocreated mailbox handling
A large number of autocreated mailboxes could have unnecessarily grown data
stack.
Timo Sirainen [Tue, 27 Dec 2022 16:25:01 +0000 (18:25 +0200)]
lmtp: Deliver each local mail in its own data stack frame
Timo Sirainen [Tue, 27 Dec 2022 16:05:22 +0000 (11:05 -0500)]
auth: Flush failed auth requests in their own data stack frames
Timo Sirainen [Tue, 27 Dec 2022 15:49:39 +0000 (10:49 -0500)]
dsync: Add data stack frame when importing mails
Timo Sirainen [Tue, 27 Dec 2022 11:17:51 +0000 (06:17 -0500)]
doveadm: Run command vfuncs in their own data stack frames
This slightly reduces memory usage by doveadm commands.
Timo Sirainen [Tue, 27 Dec 2022 11:15:38 +0000 (06:15 -0500)]
doveadm: Don't use data stack for permanent memory allocations in init()
Until now this didn't really matter, since callers weren't freeing the data
stack memory anyway. The following commit changes this though.
Timo Sirainen [Wed, 11 Jan 2023 22:01:52 +0000 (00:01 +0200)]
imapc: Add data stack frame when parsing untagged fetches during sync
Timo Sirainen [Tue, 27 Dec 2022 10:12:48 +0000 (05:12 -0500)]
imapc: Add data stack frame when parsing message headers
This makes sure the data stack memory usage won't grow too much while
parsing a large number of headers.
Timo Sirainen [Tue, 27 Dec 2022 10:10:35 +0000 (05:10 -0500)]
sdbox: Add data stack frame when syncing each file
This could have caused extra memory usage when altmoving lots of mails.
Timo Sirainen [Tue, 27 Dec 2022 10:08:43 +0000 (05:08 -0500)]
sdbox: saving - Add data stack frame when assigning UIDs for mails
Since each saved mail was already using memory, this wasn't causing much
extra memory usage.
Timo Sirainen [Tue, 27 Dec 2022 21:29:54 +0000 (16:29 -0500)]
lib-storage: Mailbox index list rebuild - Add mailboxes in separate data stack frames
Timo Sirainen [Tue, 27 Dec 2022 16:24:34 +0000 (18:24 +0200)]
lib-storage: Autoexpunge each mailbox in its own data stack frame
Timo Sirainen [Tue, 27 Dec 2022 14:59:16 +0000 (09:59 -0500)]
lib-storage: mail_search_args_simplify() - Add data stack frame
Timo Sirainen [Tue, 27 Dec 2022 11:28:14 +0000 (13:28 +0200)]
lib-storage: index_mail_get_raw_headers() - Don't use data stack for allocations
For some reason this was changed to data stack allocation in
53712af0e7f357e7279d9ff03831428aae85aa45 . It looks accidental, since the
change wasn't described in the commit message. This didn't actually cause
any problems, since the callers duplicated the allocations from data_pool.
Timo Sirainen [Tue, 27 Dec 2022 11:21:30 +0000 (06:21 -0500)]
lib-storage: mail_event_create() - Free data stack allocations before returning
Timo Sirainen [Tue, 27 Dec 2022 11:20:48 +0000 (06:20 -0500)]
lib-storage: mail_expunge() - Move sending event inside data stack frame
Each call was using a bit more data stack due to this.
Timo Sirainen [Tue, 27 Dec 2022 10:13:26 +0000 (05:13 -0500)]
lib-storage: Add data stack frames when searching messages
This makes sure memory usage doesn't increase too much while searching a
large number of messages. A few of these data stack frames are likely
unnecessary, but it's better to be safe.