]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
2 years agolib-storage: Remove unused mail_storage_service_get_global()
Timo Sirainen [Thu, 12 Jan 2023 16:25:23 +0000 (18:25 +0200)] 
lib-storage: Remove unused mail_storage_service_get_global()

2 years agolib-storage, global: Rename mail_user._service_user to service_user
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.

2 years agolib-storage: mail_user_alloc*() - Require service_user parameter
Timo Sirainen [Thu, 12 Jan 2023 16:02:31 +0000 (18:02 +0200)] 
lib-storage: mail_user_alloc*() - Require service_user parameter

2 years agolib-storage: Create a service_user for shared mail_users
Timo Sirainen [Thu, 12 Jan 2023 16:19:42 +0000 (18:19 +0200)] 
lib-storage: Create a service_user for shared mail_users

2 years agolib-storage: shared - Split off shared_mail_user_init()
Timo Sirainen [Thu, 12 Jan 2023 20:50:40 +0000 (22:50 +0200)] 
lib-storage: shared - Split off shared_mail_user_init()

2 years agolib-storage: shared - Minor code refactoring
Timo Sirainen [Thu, 12 Jan 2023 21:14:23 +0000 (23:14 +0200)] 
lib-storage: shared - Minor code refactoring

Simplifies the following commit.

2 years agolib-storage: shared - Fix freeing partially created user if %variable expansion fails
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

2 years agolib-storage: raw-storage - Create a service_user
Timo Sirainen [Thu, 12 Jan 2023 15:27:01 +0000 (17:27 +0200)] 
lib-storage: raw-storage - Create a service_user

2 years agolib-storage: Rename "raw mail user" to "raw-mail-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.

2 years agolib-storage: Fix using NO_RESTRICT_ACCESS flag with TEMP_PRIV_DROP
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.

2 years agolib-storage: Don't set home directory immediately when userdb lookup is disabled
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.

2 years agolib-storage: Don't use HOME environment when userdb lookup is disabled
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.

2 years agolib-storage: Add mail_storage_service_input.autocreated
Timo Sirainen [Fri, 13 Jan 2023 00:49:34 +0000 (02:49 +0200)] 
lib-storage: Add mail_storage_service_input.autocreated

2 years agolib-storage: Add mail_storage_service_input.no_free_init_failure
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.

2 years agolib-storage: Add mail_storage_service_user_get_{event|username}() accessors
Timo Sirainen [Thu, 12 Jan 2023 16:04:23 +0000 (18:04 +0200)] 
lib-storage: Add mail_storage_service_user_get_{event|username}() accessors

2 years agodoveadm: doveadm-auth - Add support for SASL mechanism in test and login commands.
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.

2 years agolib-sasl: Add support for SCRAM-SHA-1 and SCRAM-SHA-256.
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.

2 years agolib-auth: Add tests for SCRAM protocol interaction.
Stephan Bosch [Wed, 18 Jan 2023 01:59:43 +0000 (02:59 +0100)] 
lib-auth: Add tests for SCRAM protocol interaction.

2 years agolib-auth: password-scheme-scram - Split off auth_scram_generate_key_data() from scram...
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.

2 years agolib-auth: Implement client-side processing for SCRAM-SHA-* authentication.
Stephan Bosch [Fri, 4 Jun 2021 11:06:08 +0000 (13:06 +0200)] 
lib-auth: Implement client-side processing for SCRAM-SHA-* authentication.

2 years agolib-auth: auth-scram-server - Diligently clean key data.
Stephan Bosch [Mon, 7 Nov 2022 23:54:38 +0000 (00:54 +0100)] 
lib-auth: auth-scram-server - Diligently clean key data.

2 years agoauth: Move password-scheme code to lib-auth-common.
Stephan Bosch [Thu, 3 Jun 2021 17:26:10 +0000 (19:26 +0200)] 
auth: Move password-scheme code to lib-auth-common.

2 years agoauth: Move auth-scram-server 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.

2 years agoauth: Move auth-scram to lib-auth.
Stephan Bosch [Mon, 26 Sep 2022 20:34:17 +0000 (22:34 +0200)] 
auth: Move auth-scram to lib-auth.

2 years agoCreate 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.

2 years agoRename lib-auth to lib-auth-client.
Stephan Bosch [Fri, 20 Jan 2023 00:59:57 +0000 (01:59 +0100)] 
Rename lib-auth to lib-auth-client.

2 years agoauth: mech-scram - Split off core implementation for server-side SCRAM-SHA-* authenti...
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.

2 years agoauth: mech-scram - Add custom free() method.
Stephan Bosch [Fri, 6 Jan 2023 14:53:27 +0000 (15:53 +0100)] 
auth: mech-scram - Add custom free() method.

2 years agoauth: mech-scram - Use container_of().
Stephan Bosch [Fri, 6 Jan 2023 14:45:57 +0000 (15:45 +0100)] 
auth: mech-scram - Use container_of().

2 years agoauth: auth-scram-server - Augment comment in auth_scram_parse_client_first().
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().

2 years agoauth: auth-scram-server - Move key data to separate struct.
Stephan Bosch [Fri, 6 Jan 2023 14:14:29 +0000 (15:14 +0100)] 
auth: auth-scram-server - Move key data to separate struct.

2 years agoauth: auth-scram-server - Change return type of auth_scram_get_server_final() to...
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*.

2 years agoauth: auth-scram-server - Change return type of auth_scram_get_server_first() to...
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*.

2 years agoauth: auth-scram-server - Change return type of auth_scram_parse_client_final() to...
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.

2 years agoauth: auth-scram-server - Change return type of auth_scram_parse_client_first() to...
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.

2 years agoauth: auth-scram-server - Add auth_scram_ prefixes to functions.
Stephan Bosch [Fri, 6 Jan 2023 13:07:11 +0000 (14:07 +0100)] 
auth: auth-scram-server - Add auth_scram_ prefixes to functions.

2 years agoauth: auth-scram-server - Rename "request" variables to "server".
Stephan Bosch [Tue, 27 Sep 2022 00:02:16 +0000 (02:02 +0200)] 
auth: auth-scram-server - Rename "request" variables to "server".

2 years agoauth: mech-scram - Move get_scram_server_final() to auth-scram-server.c.
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.

2 years agoauth: mech-scram - Move parse_scram_client_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.

2 years agoauth: mech-scram - Move verify_credentials() 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.

2 years agoauth: mech-scram - Move get_scram_server_first() 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.

2 years agoauth: mech-scram - Move parse_scram_client_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.

2 years agoauth: mech-scram - Move scram_unescape_username() 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.

2 years agoauth: mech-scram: Remove useless include of limits.h.
Stephan Bosch [Fri, 20 Jan 2023 02:53:09 +0000 (03:53 +0100)] 
auth: mech-scram: Remove useless include of limits.h.

2 years agoauth: auth-scram - Rename Hi() to auth_scram_hi() and make it public.
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.

2 years agoauth: password-scheme-scram - Move Hi() to auth-scram.c.
Stephan Bosch [Mon, 26 Sep 2022 20:16:35 +0000 (22:16 +0200)] 
auth: password-scheme-scram - Move Hi() to auth-scram.c.

2 years agolib: str - Add str_clear() and str_clear_safe().
Stephan Bosch [Fri, 6 Jan 2023 15:43:56 +0000 (16:43 +0100)] 
lib: str - Add str_clear() and str_clear_safe().

2 years agolib: buffer - Add buffer_clear_safe().
Stephan Bosch [Thu, 6 Oct 2022 23:11:46 +0000 (01:11 +0200)] 
lib: buffer - Add buffer_clear_safe().

2 years agolib: buffer - Add buffer_clear()
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.

2 years agoauth: Reformat mech-scram.c.
Stephan Bosch [Thu, 5 Jan 2023 00:27:07 +0000 (01:27 +0100)] 
auth: Reformat mech-scram.c.

2 years agoauth: Remove duplicate "nodelay" extra field sent as passdb reply
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.

2 years agolib-dcrypt: Return after loading JWK key
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

2 years agolib-dcrypt: Use BN_secure_new in dcrypt_openssl_key_load_private_raw
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

2 years agolib-dcrypt: test-crypto - Add missing test_end call to abnormal return
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

2 years agolib-dcrypt: test-crypto - Add pointer to hold error when calling dcrypt_ctx_sym_create
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

2 years agolib-dcrypt: Fix leaking BN points
Aki Tuomi [Wed, 25 Jan 2023 19:51:25 +0000 (21:51 +0200)] 
lib-dcrypt: Fix leaking BN points

Broken in d352e5545a9422f3b0d74fd40d94c9f9a0770fb7

2 years agomaildir: maildir_mailbox_open() - Split off maildir_is_selectable()
Markus Valentin [Fri, 20 Jan 2023 15:41:47 +0000 (16:41 +0100)] 
maildir: maildir_mailbox_open() - Split off maildir_is_selectable()

2 years agomaildir: maildir_mailbox_open() - If the namespace root or INBOX has any subdir creat...
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

2 years agomaildir: maildir_mailbox_open() - Disable maildir subdirectory creation for INBOX
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.

2 years agowelcome-plugin: Remove welcome_open_box()
Markus Valentin [Mon, 9 Jan 2023 14:10:47 +0000 (15:10 +0100)] 
welcome-plugin: Remove welcome_open_box()

2 years agowelcome-plugin: Move script_execute() to welcome_create_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.

2 years agolib-sql: driver-sqlite - Handle SQLITE_READONLY error in exec
Aki Tuomi [Fri, 13 Jan 2023 12:45:31 +0000 (14:45 +0200)] 
lib-sql: driver-sqlite - Handle SQLITE_READONLY error in exec

2 years agolib-sql: driver-sqlite - Handle permission errors when opening database
Aki Tuomi [Thu, 12 Jan 2023 14:44:18 +0000 (16:44 +0200)] 
lib-sql: driver-sqlite - Handle permission errors when opening database

2 years agolib-sql: driver-sqlite - Handle memory allocation errors
Aki Tuomi [Thu, 12 Jan 2023 14:27:20 +0000 (16:27 +0200)] 
lib-sql: driver-sqlite - Handle memory allocation errors

2 years agoglobal: Don't use ENUM_NEGATE() with non-enum variables
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.

2 years agom4/dovecot.m4: Fix including all symbols from .a libs with new glibc
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.

2 years agoconfig: Add missing flags when linking
Timo Sirainen [Mon, 23 Jan 2023 18:53:01 +0000 (20:53 +0200)] 
config: Add missing flags when linking

2 years agoRemove accidentally committed list.txt
Timo Sirainen [Mon, 23 Jan 2023 23:10:15 +0000 (01:10 +0200)] 
Remove accidentally committed list.txt

2 years agodoveadm log errors: Show also errors from master process
Timo Sirainen [Sat, 14 Jan 2023 21:43:55 +0000 (23:43 +0200)] 
doveadm log errors: Show also errors from master process

2 years agomaster: Track the last 1000 errors in a buffer
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.

2 years agodoveadm: Split off master_service_send_cmd()
Timo Sirainen [Sat, 14 Jan 2023 21:41:56 +0000 (23:41 +0200)] 
doveadm: Split off master_service_send_cmd()

2 years agodoveadm log errors: Add microseconds to timestamp
Timo Sirainen [Sat, 14 Jan 2023 21:02:48 +0000 (23:02 +0200)] 
doveadm log errors: Add microseconds to timestamp

2 years agolog: Move log-error-buffer to lib-master
Timo Sirainen [Sat, 14 Jan 2023 20:39:05 +0000 (22:39 +0200)] 
log: Move log-error-buffer to lib-master

2 years agoimap-acl: Check if ACL context is enabled for a namespace before accessing it
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.

2 years agolib-smtp: unit tests - Use signals to ensure client doesn't start before server is...
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

2 years agolib-smtp: smtp_server_connection_input() - Ensure output errors (and closure) are...
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.

2 years agolib-smtp: cmd_data_next() - Fix whitespaces
Marco Bettini [Mon, 16 Jan 2023 09:36:21 +0000 (09:36 +0000)] 
lib-smtp: cmd_data_next() - Fix whitespaces

2 years agoglobal: unit-tests - Extract TEST_SIGNALS_DEFAULT_TIMEOUT_MS constant
Marco Bettini [Thu, 19 Jan 2023 13:13:04 +0000 (13:13 +0000)] 
global: unit-tests - Extract TEST_SIGNALS_DEFAULT_TIMEOUT_MS constant

2 years agolib-http: test-http-client-errors - Add synchronization for test_run_dns() startup
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

2 years agolib-http: test_run_client_server() - Rearrange the reset/wait calls that sync test_ru...
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

2 years agoSECURITY.md: Update information
Aki Tuomi [Wed, 18 Jan 2023 12:52:54 +0000 (14:52 +0200)] 
SECURITY.md: Update information

2 years agolib-http: server - Fix potential crash with previous change on client disconnect
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

2 years agolib-storage: Cache all wanted fields whenever possible
Timo Sirainen [Fri, 27 Apr 2018 20:45:21 +0000 (23:45 +0300)] 
lib-storage: Cache all wanted fields whenever possible

2 years agodoveadm fetch: Add mime.parts field
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.

2 years agolib-http: test-http-payload - Use ostream-final-trickle for server connections
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

2 years agolib-http: test-http-payload - Add filenames to data mismatch error messages
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

2 years agolib-test: Add ostream-final-trickle
Timo Sirainen [Wed, 11 Jan 2023 12:26:53 +0000 (14:26 +0200)] 
lib-test: Add ostream-final-trickle

2 years agolib: Add connection_vfuncs.init()
Timo Sirainen [Wed, 11 Jan 2023 14:02:38 +0000 (16:02 +0200)] 
lib: Add connection_vfuncs.init()

2 years agolib-http: server - Don't disconnect client before response is fully sent
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.

2 years agolib-http: server - Don't disconnect client before payload is fully sent
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

2 years agolib-storage: Add mail_storage_service_input.unexpanded_set_parser
Timo Sirainen [Thu, 12 Jan 2023 15:17:29 +0000 (17:17 +0200)] 
lib-storage: Add mail_storage_service_input.unexpanded_set_parser

2 years agolib-storage: Write vsize record always for <4GB-1 mails
sergey.kitov [Thu, 15 Dec 2022 14:39:21 +0000 (16:39 +0200)] 
lib-storage: Write vsize record always for <4GB-1 mails

2 years agodict: Handle each dict iteration flush in separate data stack frame
Timo Sirainen [Tue, 27 Dec 2022 22:38:57 +0000 (17:38 -0500)] 
dict: Handle each dict iteration flush in separate data stack frame

2 years agocassandra: Handle each reply in a 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

2 years agologin-common: Use separate data stack frames when looping through clients
Timo Sirainen [Tue, 27 Dec 2022 22:28:01 +0000 (17:28 -0500)] 
login-common: Use separate data stack frames when looping through clients

2 years agoglobal: Avoid using data stack as memory pool for potentially large allocations
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.

2 years agovirtual: Sync each backend mailbox in its own data stack frame
Timo Sirainen [Tue, 27 Dec 2022 17:04:03 +0000 (19:04 +0200)] 
virtual: Sync each backend mailbox in its own data stack frame

2 years agofts: Add data stack frames to reduce memory usage when parsing many MIME parts
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

2 years agofts: Call backend vfuncs in separate data stack frames
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.

2 years agofts: fts_user_language_init_tokenizers() - Add data stack frames
Timo Sirainen [Tue, 27 Dec 2022 16:46:44 +0000 (18:46 +0200)] 
fts: fts_user_language_init_tokenizers() - Add data stack frames