]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
Timo Sirainen [Tue, 27 Dec 2022 10:56:18 +0000 (05:56 -0500)]
lib-storage: Add missing data stack frames to public API functions
Timo Sirainen [Tue, 27 Dec 2022 17:03:26 +0000 (12:03 -0500)]
lib-index: mail_index_update_keywords() - Add missing data stack frame
Timo Sirainen [Tue, 27 Dec 2022 13:35:23 +0000 (08:35 -0500)]
lib-index, global: mail_cache_register_get_list() - Allocate results from a new pool
The memory allocations can get large enough that it causes data stack to be
grown.
Timo Sirainen [Tue, 27 Dec 2022 12:03:04 +0000 (14:03 +0200)]
lib-index: mail_cache_purge_later() - Change reason string to format string
This way callers don't have to allocate the string from data stack, which
also simplifies reducing data stack usage in
mail_cache_header_fields_read().
Timo Sirainen [Tue, 27 Dec 2022 10:55:02 +0000 (05:55 -0500)]
lib-index: Add data stack frames
These functions are using data stack a bit unexpectedly. May help a bit
with memory usage, but likely not much.
Timo Sirainen [Tue, 27 Dec 2022 16:30:17 +0000 (11:30 -0500)]
lib-ssl-iostream: Don't duplicate strings passed to BIO_new_mem_buf()
It was originally done because BIO_new_mem_buf() didn't have a const pointer
parameter, but nowadays it does.
Timo Sirainen [Tue, 27 Dec 2022 20:25:31 +0000 (15:25 -0500)]
dict-sql: Don't return iterated values from data stack
This just causes data stack to grow while iterating. Use a memory pool
for the last returned value instead.
Timo Sirainen [Tue, 27 Dec 2022 20:29:06 +0000 (15:29 -0500)]
lib-dict: Add missing data stack frames to public API functions
Timo Sirainen [Tue, 27 Dec 2022 10:00:45 +0000 (05:00 -0500)]
lib-mail: message-[header-]parser - Call callbacks in their own data stack frames
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 09:59:33 +0000 (04:59 -0500)]
lib-mail: istream-header-filter - Call callbacks in their own data stack frames
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 15:12:47 +0000 (10:12 -0500)]
lib-http: Create new HTTP client connections in their own data stack frames
Timo Sirainen [Tue, 27 Dec 2022 15:44:28 +0000 (10:44 -0500)]
lib: libc backtrace_append() - Remove directory paths from binary names
The backtrace unnecessarily contained directory paths, causing the backtrace
to become excessively large just repeating the directories.
This change is only for libc backtrace, not for libunwind backtrace.
Marco Bettini [Mon, 9 Jan 2023 13:26:23 +0000 (13:26 +0000)]
lib-fts: More fixes for address tokenizer to handle large input properly
Karl Fleischmann [Thu, 22 Dec 2022 11:54:16 +0000 (12:54 +0100)]
lib: Add warning that timeval event field filtering is unimplemented
Karl Fleischmann [Wed, 21 Dec 2022 14:03:30 +0000 (15:03 +0100)]
lib: Add string inequality warning to strlist fields in event filters
Karl Fleischmann [Wed, 21 Dec 2022 13:23:10 +0000 (14:23 +0100)]
lib: Warn about event filter type mismatches between integer fields and wildcard values
Karl Fleischmann [Wed, 21 Dec 2022 13:15:22 +0000 (14:15 +0100)]
lib: Warn about event filter type mismatches if comparing integer fields with strcmp flag
Reorder branches to preserve existing behavior.
Karl Fleischmann [Mon, 19 Dec 2022 14:18:40 +0000 (15:18 +0100)]
lib: Warn about unsupported inequality string comparisons in event filters
Karl Fleischmann [Mon, 19 Dec 2022 14:17:47 +0000 (15:17 +0100)]
lib: Remove unnecessary explicit initialization of event_filter_node's bool flags
Aki Tuomi [Wed, 23 Nov 2022 09:50:44 +0000 (11:50 +0200)]
ChangeLog: Stop generating ChangeLog
It is not very useful, you can get same information with
git commands anyways, and NEWS file contains more useful
information.
Aki Tuomi [Wed, 23 Nov 2022 07:21:10 +0000 (09:21 +0200)]
NEWS: Update news
Aki Tuomi [Wed, 4 Jan 2023 09:28:11 +0000 (11:28 +0200)]
lib-dcrypt: istream-decrypt - Do not attempt to get digest length after finalizing hmac context
This breaks with OpenSSL 3.0 because the internal context is free'd
after finalization.
Broken in
d352e5545a9422f3b0d74fd40d94c9f9a0770fb7
Florian Weimer [Mon, 2 Jan 2023 09:38:18 +0000 (10:38 +0100)]
m4: crypt_xpg6.m4 - Define _DEFAULT_SOURCE for current glibc
Current glibc no longer implements the CRYPT extension, so it does not
declare crypt in <unistd.h> in strict standard modes. The check
defines _XOPEN_SOURCE, which enables one of these modes. Defining
_DEFAULT_SOURCE as well again makes available the crypt function
prototype.
This avoids a configure check result change with compilers which do
not support implicit function declarations.
Timo Sirainen [Mon, 2 Jan 2023 08:23:43 +0000 (10:23 +0200)]
lib-index: Fix assert-crash when header's log_file_seq/offset shrinks
mail_index_sync_set_log_view() is also missing this check, but it doesn't
seem to actually happen. It's likely handled by mail_index_map() already.
Fixes:
Panic: file mail-transaction-log-view.c: line 165 (mail_transaction_log_view_set): assertion failed: (min_file_seq <= max_file_seq)
Markus Valentin [Wed, 28 Dec 2022 11:19:52 +0000 (12:19 +0100)]
lib-dict: Improve handling of invalid replies for commits and lookups
Prevent dict_cmd_callback_error() calling the command's callback
recursively. This fixes a crash when dict-client received an invalid
reply on commit or lookup.
Aki Tuomi [Wed, 28 Dec 2022 10:19:11 +0000 (12:19 +0200)]
auth: Fix auth_request_password_verify() result handling
Pass the result directly to caller, as auth_request_password_verify()
returns passdb result already.
Aki Tuomi [Wed, 28 Dec 2022 10:05:39 +0000 (12:05 +0200)]
auth: Change auth_request_password_verify() to return enum passdb_result
This does not break anything, because PASSDB_RESULT_OK is 1 and mismatch
is 0.
Timo Sirainen [Mon, 26 Dec 2022 21:48:27 +0000 (23:48 +0200)]
lib-storage: Fix unnecessary data stack growth when iterating mailboxes
When listing mailbox list indexes, it was possible that each iteration
increased the data stack memory usage. It was all freed at the end though,
so this didn't cause any permanent leaks.
Broken by
4fdb040d2471c6e5006579bef1dd0586f89c8570
Aki Tuomi [Fri, 23 Dec 2022 10:20:09 +0000 (12:20 +0200)]
login-common: Get client certificate name only once
get_cert_username() already sets the username, so do not
get it again in different way here.
Broken
9296ff61b4044d6e1e5b5a65e9585c89517605fb
Aki Tuomi [Thu, 22 Dec 2022 19:03:19 +0000 (21:03 +0200)]
lib-ssl-iostream: Return NULL from ssl_iostream_get_security_string when not handshaked
Aki Tuomi [Thu, 22 Dec 2022 19:03:00 +0000 (21:03 +0200)]
lib-ssl-iostream: Add comment for ssl_iostream_get_server_name
Aki Tuomi [Thu, 22 Dec 2022 18:59:21 +0000 (20:59 +0200)]
lib-ssl-iostream: Add comment for ssl_iostream_get_compression
Aki Tuomi [Thu, 22 Dec 2022 18:57:30 +0000 (20:57 +0200)]
lib-ssl-iostream: Return NULL from ssl_iostream_get_peer_name when name not available
Broken in
59d268145378a7368f373b711cb53b3e48512659
Aki Tuomi [Wed, 21 Dec 2022 10:32:28 +0000 (12:32 +0200)]
lib-ssl-iostream: Use unsigned constants in JA3 code
Avoids promotion to signed integer. Fixes compiler warning
'comparison of integer expressions of different signedness'
Forgotten in
3ca8852ec531b83c86c30b890b7f0200cf86105a
Martti Rannanjärvi [Tue, 20 Dec 2022 09:43:48 +0000 (11:43 +0200)]
fts-flatcurve: Close Xapian databases on deinit
Ewald Dieterich [Thu, 8 Dec 2022 12:53:38 +0000 (13:53 +0100)]
fts-flatcurve: Fix segmentation fault if plugin is loaded but not enabled
Flatcurve's GitHUB PR #39
Aki Tuomi [Fri, 18 Nov 2022 11:46:14 +0000 (13:46 +0200)]
login-common: Add ssl_ja3 log element
Aki Tuomi [Tue, 9 Aug 2022 08:28:04 +0000 (11:28 +0300)]
auth: auth-request-var-expand - Add ssl_ja3_hash key
Expands into the JA3 value from lib-ssl-iostream if present
Aki Tuomi [Tue, 9 Aug 2022 08:26:31 +0000 (11:26 +0300)]
auth: auth-request-var-expand - Add ALIAS() macro to specify offset
This makes it much easier to add new aliases and new values
to the var expand table.
Aki Tuomi [Tue, 9 Aug 2022 08:20:44 +0000 (11:20 +0300)]
login-common: Include ssl3_ja3_hash from ssl connection
Aki Tuomi [Tue, 9 Aug 2022 08:20:37 +0000 (11:20 +0300)]
lib-auth: Send ssl_ja3_hash field
Aki Tuomi [Tue, 9 Aug 2022 08:20:10 +0000 (11:20 +0300)]
auth: Import ssl_ja3_hash field
Aki Tuomi [Thu, 21 Jul 2022 10:31:56 +0000 (13:31 +0300)]
lib-ssl-iostream: Add JA3 string
Karl Fleischmann [Wed, 7 Dec 2022 16:42:34 +0000 (17:42 +0100)]
config: Warn about obsolete imapc features
Karl Fleischmann [Wed, 7 Dec 2022 11:11:22 +0000 (12:11 +0100)]
global: Reverse imapc feature detection
Auto-enable a selected subset of imapc features and reverse the feature
flags.