]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Marco Bettini [Tue, 20 May 2025 15:53:28 +0000 (15:53 +0000)]
fts-flatcurve: fts_flatcurve_xapian_db_populate() - Remove memory leak on returning error strings
Discovered on coverity
Karl Fleischmann [Wed, 21 May 2025 10:09:29 +0000 (12:09 +0200)]
lib-lua/dlua-iostream: Remove unnecessary stream state assertion
Karl Fleischmann [Wed, 21 May 2025 09:48:21 +0000 (11:48 +0200)]
lib-lua: test_io_lua() - Ensure a read error is handled correctly
Karl Fleischmann [Wed, 21 May 2025 09:42:16 +0000 (11:42 +0200)]
lib-lua/dlua-iostream: dlua_i_read_common() - Optimize error handling
This also makes the error handling more explicit.
Karl Fleischmann [Fri, 16 May 2025 14:48:20 +0000 (16:48 +0200)]
lib-lua/dlua-iostream: dlua_read_line() - Ignore result of i_stream_read()
Issued by coverity unchecked return value.
Karl Fleischmann [Fri, 16 May 2025 14:37:31 +0000 (16:37 +0200)]
config: settings_add_include() - Close file descriptor if fstat() failed
Issued by coverity resource leak error.
Karl Fleischmann [Fri, 16 May 2025 13:23:27 +0000 (15:23 +0200)]
submission-login: cmd_helo_reply() - Only check against SMTP UTF8 if feature is enabled
Issued by coverity deadcode error.
Marco Bettini [Mon, 28 Apr 2025 13:55:38 +0000 (13:55 +0000)]
imapc: Do not forward ALERT response codes from sources with insecure connections
Arjen de Korte [Fri, 31 Jan 2025 12:38:55 +0000 (13:38 +0100)]
lib: hostpid - Use getaddrinfo instead of gethostbyname
gethostbyname is obsolote, so we should stop using it.
Markus Valentin [Mon, 5 May 2025 07:38:33 +0000 (09:38 +0200)]
imap: imap-select: Disable SELECT UNSEEN response if IMAP4rev2 is enabled
Aki Tuomi [Tue, 20 May 2025 05:43:13 +0000 (08:43 +0300)]
lib-dns-client: test-dns-lookup - Add DLLIB for dlopen()
Timo Sirainen [Thu, 15 May 2025 09:48:41 +0000 (12:48 +0300)]
lib-http: Use explicit numbers for HTTP_CLIENT_REQUEST_ERROR_* codes
We're beginning on rely on these numbers not to change, so make the numbers
explicit to avoid accidental changes.
sergey.kitov [Tue, 6 May 2025 15:20:19 +0000 (18:20 +0300)]
lib-dns src: Change dns_client_settings to config setting.
sergey.kitov [Tue, 13 May 2025 13:13:37 +0000 (16:13 +0300)]
lib-http: Pass http_client_host to http_client_host_shared_lookup.
The following commit will make dns_lookup retrieving DNS settings from
event. http_client_host is need to pass http_client event to dns_lookup, the event
contains client-specific DNS settings.
sergey.kitov [Fri, 28 Mar 2025 09:33:03 +0000 (11:33 +0200)]
lib-dns-client: Move struct dns_lookup initialization code into separate function.
Upcoming changes will add more usages of that.
sergey.kitov [Thu, 13 Feb 2025 15:21:38 +0000 (17:21 +0200)]
lib-http: Set http_client_context.dns_lookup_timeout_msecs to default value unconditionally.
DNS lookup timeout will be made configurable in the following commit.
sergey.kitov [Thu, 6 Feb 2025 12:26:10 +0000 (14:26 +0200)]
lib-smtp: Remove fallback to net_gethostbyname as not supported by upcoming changes.
sergey.kitov [Wed, 5 Feb 2025 15:45:39 +0000 (17:45 +0200)]
lib-http: Remove fallback to net_gethostbyname as not supported by upcoming changes.
sergey.kitov [Wed, 5 Feb 2025 11:38:19 +0000 (13:38 +0200)]
lib-dns-client: Move idle_timeout_msecs and cache_ttl_secs from dns_client_settings to dns_client_parameters.
As a preparation to make dns_client_settings configurable.
sergey.kitov [Tue, 4 Feb 2025 13:14:47 +0000 (15:14 +0200)]
submission: Originate submission_client event from event having settings_root set.
sergey.kitov [Tue, 4 Feb 2025 10:04:16 +0000 (12:04 +0200)]
lib-http: Fix bug with removal of http_client_request from delayed_requests.
Setting release_time to 0 in the beginning of
http_client_queue_submit_now() prevents removing of the request from
delayed_requests in case of failures.
sergey.kitov [Wed, 13 Nov 2024 13:23:43 +0000 (15:23 +0200)]
lib-dns-client, lib-http: remove ioloop from struct dns_client_settings.
sergey.kitov [Mon, 21 Oct 2024 13:57:18 +0000 (16:57 +0300)]
src: Remove event_parent from struct dns_client_settings.
sergey.kitov [Mon, 21 Oct 2024 09:40:47 +0000 (12:40 +0300)]
src: Rename dns_lookup_settings to dns_client_settings.
sergey.kitov [Thu, 15 May 2025 09:18:34 +0000 (12:18 +0300)]
config: Improve comment about self-referencing keys expansion.
sergey.kitov [Thu, 15 May 2025 09:15:07 +0000 (12:15 +0300)]
config: Cleanup config_write_keyvariable() function.
sergey.kitov [Thu, 15 May 2025 08:58:48 +0000 (11:58 +0300)]
config: Fix expanding $SET:key inside filters.
expand_parent parameter was added to config_get_value() in
92a9ff5e799adf9bffb8831576d84eb84b8ef09a , so its behavior was likely
useful only in the earlier hierarchical configuration.
Aki Tuomi [Fri, 16 May 2025 07:58:44 +0000 (10:58 +0300)]
pop3: Free var_expand program in parse_uidl_keymask()
Forgotten in
37c9d7802a6713443bcab3cfa3d01a57b154c4c1
Aki Tuomi [Fri, 16 May 2025 08:05:27 +0000 (11:05 +0300)]
lib-var-expand: Unload loaded crypt module at exit
Forgotten in
73ae2a9e45144f05a179d17d9b201226d93b81a0
Markus Valentin [Thu, 15 May 2025 12:04:06 +0000 (14:04 +0200)]
imap: cmd_append_handle_args() - Fix calling i_stream_create_limit() twice
f12df6e0eed634aa4fe92c225b54ef5ee965b35c accidentally added a second
call to i_stream_create_limit() was which led to leaking events and
wrong iostream->refcount in other plugins
Timo Sirainen [Thu, 15 May 2025 06:54:18 +0000 (09:54 +0300)]
config: Fix config filter sorting order
It was somewhat luckily working in glibc, but broke with e.g. musl libc.
This caused a crash at startup.
Broken by
5acdd2b97ed6092d1f0204bdeb3e418180519370
Markus Valentin [Tue, 6 May 2025 11:28:35 +0000 (13:28 +0200)]
imap: If IMAP4rev2 is enabled by the client also enable QRESYNC
Aki Tuomi [Wed, 16 Apr 2025 06:40:09 +0000 (09:40 +0300)]
lib-lua: Add base64 encode/decode support
Fred Morcos [Thu, 8 May 2025 16:53:06 +0000 (18:53 +0200)]
lib-ssl-iostream: Fix OpenSSL 3.0 provider/engine preference logic
Aki Tuomi [Mon, 12 May 2025 09:06:23 +0000 (12:06 +0300)]
lib, lib-language: Use perl found by configure
This allows better errors if perl wasn't found.
Aki Tuomi [Mon, 12 May 2025 08:52:37 +0000 (11:52 +0300)]
lib-settings: Distribute settings-history-core.h
It does not need to be regenerated every time.
Aki Tuomi [Mon, 12 May 2025 09:03:57 +0000 (12:03 +0300)]
lib-settings: Use python3 found by configure
This allows better errors if python3 wasn't found.
Timo Sirainen [Fri, 11 Apr 2025 10:39:47 +0000 (13:39 +0300)]
config: Change config_dump_full_context.config const
Timo Sirainen [Fri, 11 Apr 2025 10:38:28 +0000 (13:38 +0300)]
config: Change struct config_parsed parameters const for most functions
Timo Sirainen [Thu, 10 Apr 2025 18:07:15 +0000 (21:07 +0300)]
lib-storage: Add explicit "set/" userdb prefix for settings
If the setting name is unknown, it's an error. At least for now this prefix
is optional.
Timo Sirainen [Thu, 10 Apr 2025 18:06:20 +0000 (21:06 +0300)]
lib-settings: Fail settings lookups if there are unknown setting overrides
This is now safe, because userdb no longer adds unknown settings to
overrides.
Timo Sirainen [Thu, 10 Apr 2025 14:57:16 +0000 (17:57 +0300)]
lib-storage: Don't add userdb fields to settings if they're unknown
Userdb extra fields can be used for other purposes than as being settings.
Now that we know all setting names, don't add them to settings overrides
if we know they're not known settings.
Timo Sirainen [Thu, 10 Apr 2025 14:54:12 +0000 (17:54 +0300)]
lib-settings: Add settings_key_exists()
Timo Sirainen [Thu, 10 Apr 2025 12:10:29 +0000 (15:10 +0300)]
lib-settings: Remove unused settings_override.filter_event
Timo Sirainen [Thu, 10 Apr 2025 12:09:36 +0000 (15:09 +0300)]
lib-settings, config: Remove unused override event filter
Timo Sirainen [Thu, 10 Apr 2025 10:50:03 +0000 (13:50 +0300)]
lib-settings, config: Fix and simplify override order handling
The order is now based on the number of named list filter elements in the
override path vs binary config's event filter.
This also happens to fix at least some issues where @group include was
wrongly overriding userdb fields.
Timo Sirainen [Thu, 10 Apr 2025 11:10:24 +0000 (14:10 +0300)]
lib-settings: settings_mmap_apply_filter() - Refactor to use settings_mmap_event_filter parameter
Timo Sirainen [Thu, 10 Apr 2025 10:43:59 +0000 (13:43 +0300)]
lib-settings: Introduce struct settings_mmap_event_filter
Timo Sirainen [Thu, 10 Apr 2025 10:18:05 +0000 (13:18 +0300)]
lib-settings: Optimize skipping overrides that aren't in the looked up setting_parser_info
Timo Sirainen [Thu, 10 Apr 2025 09:21:29 +0000 (12:21 +0300)]
lib-settings: Remove unnecessary settings_override.path_element_count
It has not been used since
09e551901eeb21bd8fc7b07eb67d80fd43fbb71e
Timo Sirainen [Tue, 8 Apr 2025 09:43:06 +0000 (12:43 +0300)]
lib-settings: Build override settings filters using "all settings" hash table in binary config
If there is no binary config (= unit tests), require that all the settings
infos have been explicitly registered.
This simplifies the override handling code and allows further optimizations.
Timo Sirainen [Tue, 8 Apr 2025 09:23:48 +0000 (12:23 +0300)]
lib-settings: Move settings override "*" handling out of the loop
This simplifies the code a bit.
Timo Sirainen [Tue, 8 Apr 2025 11:03:49 +0000 (14:03 +0300)]
lib-master, global: Split MASTER_SERVICE_FLAG_NO_CONFIG_SETTINGS into separate flags
Use MASTER_SERVICE_FLAG_CONFIG_BUILTIN for unit tests and
MASTER_SERVICE_FLAG_CONFIG_DEFAULTS for getting defaults via doveconf.
Timo Sirainen [Tue, 8 Apr 2025 11:59:57 +0000 (14:59 +0300)]
global: Explicitly register some settings
These will be needed by the following changes
Timo Sirainen [Wed, 9 Apr 2025 12:10:13 +0000 (15:10 +0300)]
config: Add CONFIG_MODULES environment to override the default module directory
Timo Sirainen [Wed, 9 Apr 2025 11:11:42 +0000 (14:11 +0300)]
config: doveconf -dF - Add dovecot_storage_version
Timo Sirainen [Mon, 7 Apr 2025 10:59:12 +0000 (13:59 +0300)]
config, lib-settings: Write all setting keys into hash table in binary config
Timo Sirainen [Mon, 7 Apr 2025 10:14:38 +0000 (13:14 +0300)]
config: Reimplement config_parsed_key_lookup() with all_keys hash table
Timo Sirainen [Mon, 7 Apr 2025 10:11:41 +0000 (13:11 +0300)]
config: Add config_parsed_get_all_keys()
Timo Sirainen [Wed, 26 Feb 2025 17:52:23 +0000 (19:52 +0200)]
config: Remove unused dump_context.filter_idx
Timo Sirainen [Wed, 26 Feb 2025 10:28:38 +0000 (12:28 +0200)]
config: Move all structs and enums to beginning of file
Timo Sirainen [Wed, 26 Feb 2025 10:43:15 +0000 (12:43 +0200)]
config, lib-settings: Access filter index/offset arrays directly via mmap
Add 64bit alignment to the start offset to make this safe.
Timo Sirainen [Thu, 10 Apr 2025 12:48:50 +0000 (15:48 +0300)]
lib-master: test-master-service-settings - Fix earlier tests
Timo Sirainen [Mon, 24 Feb 2025 11:28:10 +0000 (13:28 +0200)]
lib-settings, config: Use native CPU endianess in binary config file
The binary config file is never shared between different servers, so for
performance it's better to just use native endianess.
Timo Sirainen [Fri, 11 Apr 2025 10:47:51 +0000 (13:47 +0300)]
lib-settings: Add and use SETTINGS_APPEND_KEY_SUFFIX macro
Markus Valentin [Wed, 7 May 2025 12:17:20 +0000 (14:17 +0200)]
lib-storage: Don't use \Recent flags if IMAP4rev2 is enabled
IMAP4rev2 sessions still update the "highest \Recent message UID", but it
doesn't return any messages as having \Recent flag.
Markus Valentin [Thu, 10 Apr 2025 06:24:47 +0000 (08:24 +0200)]
imap: imap-status: Handle RECENT as invalid status item for IMAP4rev2
Markus Valentin [Mon, 7 Apr 2025 12:24:21 +0000 (14:24 +0200)]
imap: Disable RECENT replies when IMAP4REV2 is enabled
Markus Valentin [Mon, 7 Apr 2025 12:18:54 +0000 (14:18 +0200)]
imap: Do not use deprecated IMAP4rev1 search arguments if IMAP4rev2 is enabled
Markus Valentin [Thu, 8 May 2025 10:57:54 +0000 (12:57 +0200)]
lib-storage: Deprecate IMAP4rev1 mail_search_register_args for IMAP4rev2
Also introduce mail_search_register_get_imap4rev2() and
mail_search_register_get_imap4rev1().
Markus Valentin [Fri, 9 May 2025 09:25:31 +0000 (11:25 +0200)]
lib-storage: Add enum mail_search_register_arg_flags to mail_search_register_arg
Markus Valentin [Thu, 8 May 2025 07:47:11 +0000 (09:47 +0200)]
lib-storage: index_storage_mailbox_enable() - Add MAILBOX_FEATURE_IMAP4REV2
Markus Valentin [Thu, 10 Apr 2025 06:23:42 +0000 (08:23 +0200)]
imap: Fix registering IMAP4rev2 as imap feature
Aki Tuomi [Mon, 12 May 2025 08:20:18 +0000 (11:20 +0300)]
global: Drop support for old iconv()
iconv() is part of POSIX.1-2001.
Aki Tuomi [Tue, 15 Apr 2025 10:48:18 +0000 (13:48 +0300)]
lib-lua: Add input & output stream wrappers
Fred Morcos [Wed, 23 Apr 2025 07:21:54 +0000 (09:21 +0200)]
lib-mail: Use explicit boolean expressions to fix compile errors
Fred Morcos [Wed, 16 Apr 2025 13:06:13 +0000 (15:06 +0200)]
lib-mail: Use test_assert_strcmp_idx instead of custom debug code
Fred Morcos [Wed, 19 Mar 2025 06:38:03 +0000 (07:38 +0100)]
fts: Explicit initializer names
Fred Morcos [Thu, 20 Feb 2025 06:58:58 +0000 (07:58 +0100)]
lib-mail: Tests for attachment detection
Fred Morcos [Tue, 18 Feb 2025 21:40:20 +0000 (22:40 +0100)]
lib-mail: Refactor and improve attachment detection
This also adds support for detecting Content-Type->name when Content-Disposition->filename
is not available. This only works in the case of Content-Disposition: attachment.
Fred Morcos [Tue, 18 Feb 2025 08:00:09 +0000 (09:00 +0100)]
lib-mail: Fix clang-tidy lints
Fred Morcos [Wed, 9 Apr 2025 05:21:30 +0000 (07:21 +0200)]
global: clang-tidy: disable recursion warnings
Aki Tuomi [Tue, 8 Apr 2025 05:44:02 +0000 (08:44 +0300)]
imap: Implement UTF8=ACCEPT for APPEND command
Aki Tuomi [Thu, 10 Apr 2025 05:41:54 +0000 (08:41 +0300)]
imap: Split off cmd_append_handle_parse_error()
Aki Tuomi [Tue, 8 Apr 2025 05:42:19 +0000 (08:42 +0300)]
imap: Refactor append handling
Simplifies next commit.
Aki Tuomi [Tue, 8 Apr 2025 18:26:44 +0000 (21:26 +0300)]
lib-imap: Add some tests for literal parsing
Marco Bettini [Thu, 10 Apr 2025 14:24:56 +0000 (14:24 +0000)]
imapc: Propagate response codes
Marco Bettini [Mon, 7 Apr 2025 14:28:41 +0000 (14:28 +0000)]
lib-storage: mail_storage_callbacks - Add notify_bad()
Marco Bettini [Mon, 7 Apr 2025 10:43:20 +0000 (10:43 +0000)]
lib-imap: Add defines for all the Response Codes currently in IANA
Vincent Kenbeek [Mon, 17 Mar 2025 14:25:40 +0000 (15:25 +0100)]
auth: remove proxy_always extra field
Fred Morcos [Mon, 14 Apr 2025 05:15:21 +0000 (07:15 +0200)]
settings: Use marker when Pro version is not specified
Fred Morcos [Fri, 11 Apr 2025 11:03:19 +0000 (13:03 +0200)]
settings: Improvements to settings-history conversion script
- Some cleanup and refactoring
- Improve version handling
- Improve error messages and reporting
Fred Morcos [Fri, 11 Apr 2025 11:02:58 +0000 (13:02 +0200)]
settings: Fix build issue with unsorted settings-history file
Timo Sirainen [Wed, 26 Mar 2025 08:59:43 +0000 (10:59 +0200)]
anvil: Change anvil socket's default group to default_internal_group
Karl Fleischmann [Wed, 9 Apr 2025 10:51:36 +0000 (12:51 +0200)]
imap/test-imap-client-hibernate: Append new unhibernation statistics to expected fields
Forgotten in
3d415cf2dd393e1b4ad6e2be1a06bb221406509f
Karl Fleischmann [Wed, 9 Apr 2025 10:48:35 +0000 (12:48 +0200)]
imap/test-imap-client-hibernate: Propagate failures in imap_hibernate_server()
The subprocess needs to propagate the error to the diligent parent process.
Fred Morcos [Thu, 10 Apr 2025 05:13:55 +0000 (07:13 +0200)]
config: Use python3 instead of python
Fred Morcos [Mon, 7 Apr 2025 12:51:32 +0000 (14:51 +0200)]
config: Change the generated settings-history-core from .h to .c
This changes the output file to a header file instead of a C file, this helps meson deal
better with dependencies on custom_targets.
It is technically an #included header file so it makes sense.
The ideal solution would be to keep it as a C file, and add forward declarations of the
arrays defined in it instead of verbatim #include'ing it. However, array forward decls are
not possible without a specified size which cannot be provided in advance and declaring
them as pointers is perhaps not the best idea.
Fred Morcos [Mon, 7 Apr 2025 12:46:46 +0000 (14:46 +0200)]
config: Replace settings-history Perl script with Python rewrite
Fred Morcos [Thu, 27 Mar 2025 15:51:07 +0000 (16:51 +0100)]
global: Add pyproject.toml for Python scripts