]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Thu, 13 Feb 2025 07:31:47 +0000 (09:31 +0200)]
quota: Fix integer type in quota_warning_match()
Found by static analysis
Aki Tuomi [Thu, 13 Feb 2025 07:36:02 +0000 (09:36 +0200)]
lib-var-expand: Fix potential crash if referring to too large regexp capture group
Using sizeof() will not give number of elements here.
Aki Tuomi [Thu, 13 Feb 2025 07:16:21 +0000 (09:16 +0200)]
lib-var-expand: Ensure key is not NULL in fn_hash()
Satisfies static analysers
Aki Tuomi [Thu, 13 Feb 2025 07:34:23 +0000 (09:34 +0200)]
lib-var-expand: Fix memory leak if filter fails
Broken in
a9d9eb4297a2cccec0cf698a45efb4f1987bdc63
Aki Tuomi [Thu, 13 Feb 2025 07:13:44 +0000 (09:13 +0200)]
lib-settings: Fix sorting named list filter overrides
It should check that both set1 and set2 have non-zero
filter_element_count.
Broken in
e2a3a0a6915668a44750aa30b70fa39caf22be4a
Aki Tuomi [Thu, 13 Feb 2025 07:14:48 +0000 (09:14 +0200)]
fts: Use FTS_USER_CONTEXT_REQUIRE in fts_mail_user_init()
User is required to be present.
Broken in
6634e45500e81cfa36932203ee69c81745efd3e6
Aki Tuomi [Thu, 13 Feb 2025 07:38:48 +0000 (09:38 +0200)]
fts-solr: Require user context
Broken in
324adafd921edddc83606af9ea97d9c4587ea920
Aki Tuomi [Thu, 13 Feb 2025 07:30:07 +0000 (09:30 +0200)]
fts-flatcurve: Require user context
Broken in
b4ca8f7e58a0a7561a314fe733c65914966d9046
Aki Tuomi [Thu, 13 Feb 2025 07:36:59 +0000 (09:36 +0200)]
auth: Remove useless variable in db_oauth2_var_expand_func_oauth2()
Aki Tuomi [Wed, 8 Jan 2025 12:17:59 +0000 (14:17 +0200)]
NEWS: Add news for v2.4.0
Aki Tuomi [Wed, 8 Jan 2025 12:20:55 +0000 (14:20 +0200)]
NEWS: Fix formatting to match editorconfig
Aki Tuomi [Fri, 10 Jan 2025 12:38:11 +0000 (14:38 +0200)]
editorconfig: Use tabs with NEWS file
Timo Sirainen [Thu, 6 Feb 2025 12:47:37 +0000 (14:47 +0200)]
login-common: Add proxy_session_reconnecting event and log it as warning
Even if the login succeeds on a retry, it can still indicate e.g. network
packet loss, which can be useful to see in log files as warning.
Timo Sirainen [Wed, 5 Feb 2025 09:50:43 +0000 (11:50 +0200)]
lib-settings: Allow spaces in "key +=value"
This is useful in configuring userdb_fields { key += value }
Timo Sirainen [Mon, 10 Feb 2025 12:00:43 +0000 (14:00 +0200)]
config: Use isspace() for checking whitespace
Michael M Slusarz [Tue, 11 Feb 2025 11:19:48 +0000 (04:19 -0700)]
global: Update documentation links in source code
Michael M Slusarz [Tue, 11 Feb 2025 11:08:55 +0000 (04:08 -0700)]
INSTALL: Update documentation links for 2.4
Michael M Slusarz [Tue, 11 Feb 2025 11:03:32 +0000 (04:03 -0700)]
README: Master RFC list is now maintained in documentation
Aki Tuomi [Mon, 3 Feb 2025 12:15:58 +0000 (14:15 +0200)]
global: Set application protocol on new context only
Aki Tuomi [Mon, 3 Feb 2025 12:10:39 +0000 (14:10 +0200)]
lib-ssl-iostream: Change ssl_iostream_context_cache_get() to return 1 on new context
This allows differentiating when a new context was actually created.
Aki Tuomi [Thu, 30 Jan 2025 11:57:08 +0000 (13:57 +0200)]
lib-ssl-iostream: Set context application protocols only once
Timo Sirainen [Mon, 10 Feb 2025 13:33:21 +0000 (15:33 +0200)]
lib-ssl-iostream: Fix compiling with libressl
libressl has no SSL_OP_NO_RENEGOTIATION. Fix this by disallowing channel
binding with libressl when using TLSv1.2 or older.
Aki Tuomi [Fri, 7 Feb 2025 07:58:59 +0000 (09:58 +0200)]
auth: mech-oauth2 - Use json ostream instead of generator
Timo Sirainen [Mon, 10 Feb 2025 09:10:09 +0000 (11:10 +0200)]
configure.ac: Remove unused want_devel_checks
Timo Sirainen [Mon, 10 Feb 2025 08:13:24 +0000 (10:13 +0200)]
lib-settings: Rename DEVEL_CHECKS ifdefs to DEBUG
Timo Sirainen [Mon, 10 Feb 2025 07:51:17 +0000 (09:51 +0200)]
imap: Move ENABLE's mail_utf8_extensions check to UTF8=ACCEPT callback
Timo Sirainen [Mon, 10 Feb 2025 07:48:39 +0000 (09:48 +0200)]
imap: Allow feature callbacks to not enable the feature
Timo Sirainen [Mon, 10 Feb 2025 07:44:12 +0000 (09:44 +0200)]
imap: Fix ENABLE UTF8=ACCEPT to not return it to client if mail_utf8_extensions=no
Timo Sirainen [Thu, 6 Feb 2025 10:18:11 +0000 (12:18 +0200)]
lda: Remove check to fail if binary is setuid-root and world-executable
It's not safe to use as setuid-root even when not world-executable.
Remove the check so people might not get wrong ideas about its safety.
Timo Sirainen [Sat, 1 Feb 2025 20:25:11 +0000 (22:25 +0200)]
lib-lua: Add event.[un]set_forced_debug()
Marco Bettini [Wed, 5 Feb 2025 16:12:35 +0000 (16:12 +0000)]
fts-flatcurve: Fix deadlock in flatcurve indexing
The deadlock was caused by not releasing soon enough the writable database,
causing the search process and the indexer process to conflict
Aki Tuomi [Thu, 6 Feb 2025 07:44:44 +0000 (09:44 +0200)]
lib-var-expand: test-var-expand - Use test_assert_idx
Aki Tuomi [Thu, 6 Feb 2025 07:43:23 +0000 (09:43 +0200)]
lib-var-expand: test-var-expand - Fix expected message to match on older bison
Bison 3.0.4 produces different error
Aki Tuomi [Mon, 3 Feb 2025 09:33:15 +0000 (11:33 +0200)]
auth: Remove duplicate prefix from providers
Aki Tuomi [Mon, 3 Feb 2025 09:28:44 +0000 (11:28 +0200)]
lib-var-expand: Remove duplicate prefix from providers
Aki Tuomi [Mon, 3 Feb 2025 09:28:23 +0000 (11:28 +0200)]
lib-var-expand: Prefix provider errors with provider prefix
Aki Tuomi [Thu, 30 Jan 2025 12:37:46 +0000 (14:37 +0200)]
auth: Set error when field not found in auth_request_fields_var_expand_lookup()
Aki Tuomi [Tue, 28 Jan 2025 14:10:10 +0000 (16:10 +0200)]
lib-var-expand: Ensure provider returns either error or value
Timo Sirainen [Sat, 1 Feb 2025 20:09:11 +0000 (22:09 +0200)]
master: Add suggestion to use "unlimited" for some service error messages
Timo Sirainen [Wed, 5 Feb 2025 09:57:10 +0000 (11:57 +0200)]
auth: Change hardcoded 3 to AUTH_CLIENT_MINOR_VERSION_CHANNEL_BINDING
Aki Tuomi [Thu, 6 Feb 2025 07:13:41 +0000 (09:13 +0200)]
lib-var-expand: Drop -Wcounterexamples from bison
It's not needed. Forgotten in
2b8d353de6ee61793a411cc1729cf9cff857ce34
Timo Sirainen [Mon, 3 Feb 2025 08:03:42 +0000 (10:03 +0200)]
auth: Add "auth-legacy" listener type
This is needed at least by Exim authentication until it gets updated.
Timo Sirainen [Mon, 3 Feb 2025 08:00:00 +0000 (10:00 +0200)]
auth: auth_client_connection_create() - Change boolean parameters to enum
Timo Sirainen [Mon, 3 Feb 2025 11:20:33 +0000 (13:20 +0200)]
auth: userdb sql - Fix memory leak when user iteration fails with invalid settings
Timo Sirainen [Mon, 3 Feb 2025 10:21:37 +0000 (12:21 +0200)]
imap-login: Fix accessing freed memory when using IMAP COMPRESS
Broken by "imap-login: Fix leaking settings instance memory" commit.
Timo Sirainen [Tue, 28 Jan 2025 13:39:48 +0000 (15:39 +0200)]
config: Fix error handling for illegal filter ordering
Timo Sirainen [Sat, 25 Jan 2025 20:56:17 +0000 (22:56 +0200)]
lib-settings, config: Use named (non-list) filter hierarchy length also for sorting overrides
Timo Sirainen [Fri, 24 Jan 2025 14:02:43 +0000 (16:02 +0200)]
lib-settings: Fix override ordering when mixing multiple override types
Timo Sirainen [Fri, 24 Jan 2025 13:57:18 +0000 (15:57 +0200)]
lib-settings: Skip unmatched settings overrides earlier
Timo Sirainen [Thu, 23 Jan 2025 21:51:55 +0000 (23:51 +0200)]
global: Remove SETTINGS_EVENT_MAILBOX_NAME_WITH[OUT]_PREFIX macros and special handling
The mailbox settings are now looked up with settings_filter_names, so
there's no need to do this kind of special translations.
Timo Sirainen [Thu, 23 Jan 2025 21:44:07 +0000 (23:44 +0200)]
lib-settings: Fix seen_filter check to work properly with multiple settings_name_filters
Timo Sirainen [Thu, 23 Jan 2025 21:17:13 +0000 (23:17 +0200)]
lib: Add event_filter_get_root_node()
Timo Sirainen [Thu, 23 Jan 2025 21:04:34 +0000 (23:04 +0200)]
global: Remove event fields no longer necessary for settings lookups
settings_filter_names are now used for settings lookups.
Timo Sirainen [Wed, 22 Jan 2025 12:11:54 +0000 (14:11 +0200)]
lib-settings: Change overrides to use only settings_filter_names
Timo Sirainen [Wed, 22 Jan 2025 11:07:34 +0000 (13:07 +0200)]
config: Require named list filter lookups to use settings_filter_name
The config client callers are now responsible for doing lookups with e.g.
settings_filter_name=namespace/inbox in the event, rather than relying on
just namespace=inbox being in the event.
This allows separating the filter name from the setting values. So for
example userdb can change the mailbox name (mailbox/spam/name=Junk).
Timo Sirainen [Thu, 23 Jan 2025 21:30:01 +0000 (23:30 +0200)]
lib-settings: Change service filtering optimization to use settings_filter_name
Timo Sirainen [Wed, 22 Jan 2025 22:01:27 +0000 (00:01 +0200)]
quota: Allow quota_name setting to differ from quota filter name
Timo Sirainen [Wed, 22 Jan 2025 20:39:10 +0000 (22:39 +0200)]
global: Use settings_get_filter() where possible
Timo Sirainen [Wed, 22 Jan 2025 11:40:01 +0000 (13:40 +0200)]
global: Get named list filters' settings using settings_filter_names
Timo Sirainen [Wed, 22 Jan 2025 15:36:30 +0000 (17:36 +0200)]
lib-fs: Get fs settings using settings_filter_name
Timo Sirainen [Wed, 22 Jan 2025 10:57:40 +0000 (12:57 +0200)]
lib-storage: Add all matching mailbox settings_filter_names to mailbox events
Timo Sirainen [Wed, 29 Jan 2025 07:54:39 +0000 (09:54 +0200)]
lib-storage: Refactor namespace_have_special_use_mailboxes() into namespace_parse_mailboxes()
Simplifies the next commit.
Timo Sirainen [Thu, 23 Jan 2025 09:01:24 +0000 (11:01 +0200)]
global: Use settings_event_add_filter_name() where possible
Timo Sirainen [Thu, 23 Jan 2025 08:52:48 +0000 (10:52 +0200)]
lib-settings: Add settings_event_add[_list]_filter_name()
Timo Sirainen [Thu, 23 Jan 2025 20:50:45 +0000 (22:50 +0200)]
lib-settings: Fix using named filters in overrides
SETTINGS_EVENT_FILTER_NAME has to be either in event pointers or as strlist
type. Here it was a string type, which was just ignored.
Timo Sirainen [Mon, 7 Oct 2024 11:51:55 +0000 (14:51 +0300)]
lib-settings, config: Add and use SETTINGS_FILTER_ARRAY_SEPARATORS
Timo Sirainen [Fri, 24 Jan 2025 07:15:35 +0000 (09:15 +0200)]
lib-storage: Fix error handling if mailbox settings couldn't be looked up
Timo Sirainen [Fri, 24 Jan 2025 07:14:42 +0000 (09:14 +0200)]
config: Skip checking settings also for filters inside a @group
Timo Sirainen [Wed, 22 Jan 2025 20:30:21 +0000 (22:30 +0200)]
quota: Fix error handling if quota_warning settings couldn't be looked up
The error code path for some reason deinitialized the whole quota root,
which caused freed memory to be accessed later.
Timo Sirainen [Thu, 23 Jan 2025 08:26:30 +0000 (10:26 +0200)]
lib-storage: Add missing use of SETTINGS_EVENT_NAMESPACE_NAME
Timo Sirainen [Wed, 29 Jan 2025 08:17:46 +0000 (10:17 +0200)]
imap-login: Fix leaking settings instance memory
Timo Sirainen [Tue, 28 Jan 2025 13:15:10 +0000 (15:15 +0200)]
config: Don't add redundant named filter to doveconf output
For example:
userdb ldap {
iterate_fields {
This was output as:
userdb ldap {
userdb_ldap {
iterate_fields {
Timo Sirainen [Mon, 27 Jan 2025 13:49:54 +0000 (15:49 +0200)]
config: Fix autoprefixing section names under named list filters
For example this didn't work:
userdb ldap {
iterate_fields {
It only tested userdb_iterate_fields, not userdb_ldap_iterate_fields.
Timo Sirainen [Tue, 28 Jan 2025 13:29:06 +0000 (15:29 +0200)]
lib-storage: Refer to mail_driver setting in failed autodetection error
Aki Tuomi [Mon, 27 Jan 2025 09:33:07 +0000 (11:33 +0200)]
lib-var-expand: test-var-expand - Initialize tm before strptime()
strptime() only sets what it parses, this test will fail if
localtime_r() and strptime() disagree on the local timezone, so
use localtime_r() to initialize tm with current tz to ensure they
will.
Timo Sirainen [Mon, 27 Jan 2025 09:32:27 +0000 (11:32 +0200)]
lib-http: Fix using wrong setting variable types
Marco Bettini [Wed, 22 Jan 2025 17:11:41 +0000 (17:11 +0000)]
fts-flatcurve: Remove fts_flatcurve_max_term_size setting
Note: the tokenizer already truncates with its own logic,
The truncation here is to ensure xapian is protected even if
tokenizer logics would change in future.
Marco Bettini [Tue, 21 Jan 2025 17:06:51 +0000 (17:06 +0000)]
fts-flatcurve: fts_flatcurve_xapian_uid_exists() - Do not return error if there was no actual error
Marco Bettini [Tue, 21 Jan 2025 11:11:00 +0000 (11:11 +0000)]
fts-flatcurve: fts_backend_flatcurve_update_build_more() - Truncate in utf8-safe manner
Marco Bettini [Fri, 17 Jan 2025 11:05:24 +0000 (11:05 +0000)]
fts-flatcurve: fts_backend_flatcurve_deinit() - Don't crash if init failed
When fts_backend_flatcurve_init() fails to find the user,
the fields are not initialized, with the exception of the event and
the preallocatd pool.
Marco Bettini [Thu, 23 Jan 2025 10:06:18 +0000 (10:06 +0000)]
fts-flatcurve: Remove stray empty lines
Stephan Bosch [Mon, 30 Nov 2020 18:12:11 +0000 (19:12 +0100)]
lib-imap-client: Add support for channel binding
Stephan Bosch [Thu, 12 Nov 2020 22:30:47 +0000 (23:30 +0100)]
doveadm: doveadm-auth - Add support for channel binding in test and login commands
Stephan Bosch [Wed, 8 Nov 2023 14:06:16 +0000 (15:06 +0100)]
doveadm: doveadm-auth - Always allocate authtest input pool
Stephan Bosch [Sun, 5 Nov 2023 20:06:07 +0000 (21:06 +0100)]
lib-sasl: mech-scram - Implement SCRAM-SHA-1-PLUS and SCRAM-SHA-256-PLUS
Stephan Bosch [Sun, 5 Nov 2023 20:04:36 +0000 (21:04 +0100)]
auth: mech-scram - Implement SCRAM-SHA-1-PLUS and SCRAM-SHA-256-PLUS
Stephan Bosch [Sun, 5 Nov 2023 20:05:51 +0000 (21:05 +0100)]
lib-auth: auth-scram-client - Add support for channel binding
Stephan Bosch [Sun, 5 Nov 2023 20:04:05 +0000 (21:04 +0100)]
lib-auth: auth-scram-server - Add support for channel binding
Stephan Bosch [Sun, 5 Nov 2023 21:29:34 +0000 (22:29 +0100)]
lib-auth: auth-scram-client - Use settings struct
Stephan Bosch [Wed, 8 Nov 2023 23:05:34 +0000 (00:05 +0100)]
lib-auth: auth-scram-server - Use settings struct
Stephan Bosch [Wed, 8 Nov 2023 23:05:22 +0000 (00:05 +0100)]
lib-sasl: dsasl-client - Add support for channel binding
Stephan Bosch [Wed, 4 Nov 2020 22:00:48 +0000 (23:00 +0100)]
login-common: sasl-server - Add support for channel binding
Stephan Bosch [Mon, 9 Nov 2020 22:00:26 +0000 (23:00 +0100)]
login-common: sasl-server - Move all mechanism filtering to sasl_server_filter_mech()
Also improve documentation of the various filtering concerns.
Stephan Bosch [Thu, 5 Nov 2020 02:00:36 +0000 (03:00 +0100)]
lib-auth-client: auth-client - Add support for channel binding
Also support channel binding for mechanisms such as GS2-KRB5, which only
involve one round trip. None of those is supported yet though. This is
implemented using out-of-band round trips that can exchange data between
auth service and login service beyond the normal SASL exchange.
Stephan Bosch [Thu, 5 Nov 2020 02:00:25 +0000 (03:00 +0100)]
auth: Add support for channel binding
Also support channel binding for mechanisms such as GS2-KRB5, which only
involve one round trip. None of those is supported yet though. This is
implemented using out-of-band round trips that can exchange data between
auth service and login service beyond the normal SASL exchange.
Stephan Bosch [Thu, 5 Nov 2020 01:31:07 +0000 (02:31 +0100)]
lib-ssl-iostream: Add support for channel binding
Stephan Bosch [Sun, 5 Nov 2023 19:48:21 +0000 (20:48 +0100)]
lib-ssl-iostream: Add ssl_iostream_get_protocol_version()
Stephan Bosch [Wed, 8 Nov 2023 03:15:03 +0000 (04:15 +0100)]
auth: auth-mech-connection - Do not announce channel binding mechanisms for minor version < 3
Otherwise, old auth clients like Postfix that don't know about channel binding
would announce these mechanisms, while using them would always fail.
Stephan Bosch [Wed, 8 Nov 2023 02:47:41 +0000 (03:47 +0100)]
auth: auth-client-connection - Send handshakes past VERSION only after client VERSION is received
Stephan Bosch [Wed, 4 Nov 2020 21:43:44 +0000 (22:43 +0100)]
auth: auth-request-handler - Finish CONT reply in separate function