]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Fri, 16 Nov 2018 11:09:05 +0000 (12:09 +0100)]
trash: Properly handle situation in which quota roots have different sets of visible trash mailboxes
Stephan Bosch [Fri, 14 Feb 2025 00:25:52 +0000 (01:25 +0100)]
trash: trash-plugin - Create sub-event for cleanup attempt
Stephan Bosch [Fri, 16 Nov 2018 15:26:22 +0000 (16:26 +0100)]
trash: Do not modify *_ceil and *_over fields in struct quota_transaction_context
These are not supposed to be modified. Instead, increase the *_expunged fields.
Stephan Bosch [Fri, 16 Nov 2018 11:08:47 +0000 (12:08 +0100)]
quota: Add support for recording quota resource usage reduction from sub-transactions
Such transactions apply their own quota modifications, so modifying the usage
fields for the present transaction would cause such modifications to be
counted several times. However, their effect must be applied in the quota limit
calculations, so the amount of resources expunged in sub-transactions is
recorded in separate fields.
Stephan Bosch [Thu, 13 Feb 2025 01:19:36 +0000 (02:19 +0100)]
quota: quota-util - Add quota_used_apply_expunged()
Stephan Bosch [Tue, 13 Nov 2018 20:31:11 +0000 (21:31 +0100)]
quota: Create facilities for determining which quota root limit is exceeded
Stephan Bosch [Thu, 13 Feb 2025 01:09:52 +0000 (02:09 +0100)]
quota: quota - Use normal for-loop in quota_transaction_begin()
Stephan Bosch [Fri, 16 Nov 2018 14:27:22 +0000 (15:27 +0100)]
trash: Perform expunge in a separate function
Also, improve the integer calculations for updating the total amount of expunged
resource usage.
Stephan Bosch [Fri, 16 Nov 2018 14:18:20 +0000 (15:18 +0100)]
trash: Perform check for achievement of quota usage reduction target in a separate function
Stephan Bosch [Fri, 16 Nov 2018 14:14:43 +0000 (15:14 +0100)]
trash: Record resource expunge status and target in struct trash_clean
Also make the value types uint64_t consistently, which matches the quota plugin API.
Stephan Bosch [Wed, 19 Feb 2025 02:31:48 +0000 (03:31 +0100)]
trash: Substitute (uint64_t)-1 with UINT64_MAX
Stephan Bosch [Fri, 16 Nov 2018 13:49:20 +0000 (14:49 +0100)]
trash: Limit scope of local variables to where they are used in trash_clean_execute()
Stephan Bosch [Fri, 16 Nov 2018 13:23:42 +0000 (14:23 +0100)]
trash: Restructure trash_try_clean_mails()
- Avoid storing temporary state in the global trash mailboxes list. Instead,
allocate local state on the data stack.
- Avoid using goto by wrapping the core of the function in another function that
guarantees cleanup.
Stephan Bosch [Tue, 9 Nov 2021 22:56:55 +0000 (23:56 +0100)]
quota: quota-util - Simplify quota_is_over()
Stephan Bosch [Tue, 9 Nov 2021 22:33:42 +0000 (23:33 +0100)]
quota: quota-util - Assert that either ceil or over parameter equals 0 in quota_is_over()
Stephan Bosch [Tue, 9 Nov 2021 22:19:23 +0000 (23:19 +0100)]
quota: quota-util - Rework comments in quota_is_over()
Stephan Bosch [Tue, 9 Nov 2021 23:01:01 +0000 (00:01 +0100)]
quota: quota-util - Fix bug in quota_is_over()
The case were the storage is under quota even before deleting the messages and
the new allocation exceeds the quota limit was tested with reverse logic. The
original test first checks that the allocation is larger than the deletion
(which is ok) and subsequently checks that the excess is *smaller* than the
ceiling, yielding an over-quota result, which made no sense.
Stephan Bosch [Fri, 16 Nov 2018 12:51:22 +0000 (13:51 +0100)]
quota: Make quota_root_is_visible() available for plugins
Stephan Bosch [Tue, 13 Nov 2018 19:56:51 +0000 (20:56 +0100)]
quota: Move quota limit calculations from quota_transaction_is_over() to a separate function
This makes the implementation for count and bytes quota fully identical. Makes
the algorithm avaiable for other functions.
Stephan Bosch [Tue, 13 Nov 2018 18:46:45 +0000 (19:46 +0100)]
quota: Move quota_get_mail_size() to quota-util.c
Makes it available for broader internal use.
Stephan Bosch [Fri, 17 Jan 2025 01:42:47 +0000 (02:42 +0100)]
quota: Link tests to lib-storage
Aki Tuomi [Mon, 24 Feb 2025 07:15:35 +0000 (09:15 +0200)]
lib-auth: Move things needed by auth and doveadm to libauth-crypt.la
Avoids linking everything with libsodium and libcrypt
Stephan Bosch [Wed, 10 Nov 2021 22:11:25 +0000 (23:11 +0100)]
imap-acl: Add support for the IMAP LIST-MYRIGHTS capability
Stephan Bosch [Sun, 16 Sep 2018 12:21:19 +0000 (14:21 +0200)]
imap-acl: Move sending MYRIGHTS response to a separate function
Stephan Bosch [Sun, 16 Sep 2018 10:55:24 +0000 (12:55 +0200)]
imap: cmd-list - Add infrastructure for dynamically adding support for new RETURN flags
This is needed for the new IMAP LIST-MYRIGHTS capability (RFC 8440).
Stephan Bosch [Mon, 17 Feb 2025 17:27:44 +0000 (18:27 +0100)]
imap: cmd-list - Exit loop in cmd_list_continue() early upon connection failure
Stephan Bosch [Thu, 20 Feb 2025 02:44:20 +0000 (03:44 +0100)]
imap: cmd-list - Make the list iter flags a parameter for list_send_status()
Before, it was available only in the LIST command context. This is preparation
for adding infrastructure for dynamically adding support for new RETURN flags.
Stephan Bosch [Tue, 18 Sep 2018 19:19:44 +0000 (21:19 +0200)]
imap: cmd-list - Make the namespace a parameter for list_send_status()
Before, it was determined internally. This is preparation for adding
infrastructure for dynamically adding support for new RETURN flags.
Stephan Bosch [Sun, 16 Sep 2018 10:48:11 +0000 (12:48 +0200)]
imap: cmd-list - Collect parameters for list_send_status() in a struct
This is preparation for adding infrastructure for dynamically adding support for new RETURN flags.
Stephan Bosch [Thu, 20 Feb 2025 21:38:40 +0000 (22:38 +0100)]
imap: cmd-list - Add assert to list_send_status()
While listing subscriptions, but only child is subscribed, the appropriate
mailbox info flag must be also set.
Stephan Bosch [Wed, 10 Nov 2021 21:56:46 +0000 (22:56 +0100)]
imap-acl: Reformat imap-acl-plugin.c
Aki Tuomi [Tue, 18 Feb 2025 13:21:08 +0000 (15:21 +0200)]
m4: Update pkg.m4
Aki Tuomi [Tue, 18 Feb 2025 13:00:04 +0000 (15:00 +0200)]
lib-dcrypt: Fix ostream-encrypt error handling
Stream errno was not always set
Timo Sirainen [Mon, 24 Feb 2025 08:32:09 +0000 (10:32 +0200)]
config: Avoid duplicating version numbers when listing supported config versions
Timo Sirainen [Mon, 17 Feb 2025 10:39:11 +0000 (12:39 +0200)]
auth: Allow configuring passdb/userdb sql to use auth-workers
If passdb/userdb_use_worker=yes, this overrides the sql-driver specific
worker decision.
Timo Sirainen [Mon, 17 Feb 2025 10:22:25 +0000 (12:22 +0200)]
lib-storage: Clear storage errors if iteration failed due to no mailbox attribute dict
This doesn't normally matter, but if there are error handling bugs elsewhere
this error might wrongly show up in logs and cause confusion. It's better to
log "Unknown error" in that case.
Aki Tuomi [Thu, 20 Feb 2025 19:43:33 +0000 (21:43 +0200)]
lib-var-expand: Add backwards compability for older bison
Bison 3.5.1 does not add error symbol or handling, add them ourselves.
Timo Sirainen [Thu, 20 Feb 2025 08:02:39 +0000 (10:02 +0200)]
auth: lua - Remove dead code
Marco Bettini [Fri, 14 Feb 2025 09:16:56 +0000 (09:16 +0000)]
fts-flatcurve: Switch from <stdio.h> to <cstdio>
Michael M Slusarz [Wed, 13 Mar 2024 00:20:24 +0000 (18:20 -0600)]
fts-flatcurve: Fix potential crash when searching virtual mailboxes
Fixes:
Panic: file fts-search.c: line 87 (level_scores_add_vuids):
assertion failed: (array_count(&vuids_arr) == array_count(&br->scores))
Michael M Slusarz [Thu, 29 Feb 2024 05:14:53 +0000 (22:14 -0700)]
fts-flatcurve: Support lock files in VOLATILEDIR
Marco Bettini [Fri, 24 Jan 2025 16:06:17 +0000 (16:06 +0000)]
fts-flatcurve: Fix maybe queries
Marco Bettini [Fri, 24 Jan 2025 15:31:36 +0000 (15:31 +0000)]
fts-flatcurve: Ignore non-selectable mailboxes when doing optimize/rescan
Marco Bettini [Fri, 24 Jan 2025 15:23:39 +0000 (15:23 +0000)]
fts-flatcurve: Ignore alias mailboxes when doing optimize/rescan
Marco Bettini [Thu, 13 Feb 2025 09:13:34 +0000 (09:13 +0000)]
fts: xml2text - Move lib_init()/deinit() to surround event_create() and unref()
Otherwise we crash at 23: .event = event_create(NULL)
Timo Sirainen [Thu, 20 Feb 2025 07:36:44 +0000 (09:36 +0200)]
config: Add explicit support for 3.1.0 version
Config version 3.0.x is no longer supported.
Aki Tuomi [Wed, 19 Feb 2025 08:16:53 +0000 (10:16 +0200)]
lib-var-expand: Use moduledir instead of pkglibdir for crypt
This is where the module is installed.
Josh Soref [Tue, 18 Feb 2025 00:39:11 +0000 (19:39 -0500)]
lib-dict: Add DISTCLEANFILES for dict-drivers-register.c
Josh Soref [Tue, 18 Feb 2025 00:15:05 +0000 (19:15 -0500)]
Makefile: Exclude conf files from dist uninstall check
Timo Sirainen [Fri, 14 Feb 2025 08:41:01 +0000 (10:41 +0200)]
auth: lua - Passdb/userdb lookups can no longer return a single string on success
The second return value must be either a table or nil. Returning a single
string was a bit unsafe since its values could accidentally become expanded
to spaces, causing unsafe behavior.
If the first return value indicates an error, the second can still be a
string.
Timo Sirainen [Fri, 14 Feb 2025 08:12:04 +0000 (10:12 +0200)]
auth: Remove unused passdb/userdb-template.[ch]
Timo Sirainen [Fri, 14 Feb 2025 08:09:56 +0000 (10:09 +0200)]
auth: lua - Remove auth_request#response_from_template()
This is a bit unsafe since it can't handle e.g. spaces in values.
It's also relying on otherwise obsolete template code.
Timo Sirainen [Fri, 14 Feb 2025 08:10:57 +0000 (10:10 +0200)]
auth: Move STATIC_PASS_SCHEME to passdb.h
Timo Sirainen [Fri, 14 Feb 2025 12:27:28 +0000 (14:27 +0200)]
auth: Expand debug message about auth failure delay handling
Timo Sirainen [Fri, 14 Feb 2025 11:43:46 +0000 (13:43 +0200)]
auth: Avoid auth failure delays entirely with auth_failure_delay=0
Timo Sirainen [Fri, 14 Feb 2025 11:42:07 +0000 (13:42 +0200)]
auth: Don't use auth failure delay for internal failures
Internal failures nowadays have their own delays.
Timo Sirainen [Fri, 14 Feb 2025 11:41:26 +0000 (13:41 +0200)]
auth: Split off auth_request_want_failure_delay()
Aki Tuomi [Mon, 17 Feb 2025 09:47:52 +0000 (11:47 +0200)]
lib-var-expand: Validate UTF-8 input
Aki Tuomi [Mon, 17 Feb 2025 10:44:04 +0000 (12:44 +0200)]
lib-var-expand: Fix lexer error passing
This way we can actually tell what the lexer did wrong.
Aki Tuomi [Mon, 17 Feb 2025 09:45:39 +0000 (11:45 +0200)]
lib-var-expand: fn_domain - Copy value before setting state
Aki Tuomi [Mon, 17 Feb 2025 09:41:40 +0000 (11:41 +0200)]
lib-var-expand: Reuse var_expand_state_set_transfer_data() in var_expand_state_set_transfer_binary()
It's same code
Aki Tuomi [Mon, 17 Feb 2025 09:41:09 +0000 (11:41 +0200)]
lib-var-expand: Ensure we don't try to set transfer from partial of it
Timo Sirainen [Sat, 15 Feb 2025 18:43:22 +0000 (20:43 +0200)]
imap: Fix crash with Maildir when trying to send INPROGRESS during mailbox syncing
Mailbox syncing could have been done outside command context, in which case
there is no global event.
Timo Sirainen [Sun, 16 Feb 2025 07:20:25 +0000 (09:20 +0200)]
global: Fix compiling without ldap
Timo Sirainen [Sun, 16 Feb 2025 07:19:18 +0000 (09:19 +0200)]
global: Replace PASSDB_LDAP/USERDB_LDAP with HAVE_LDAP macro
This macro is needed for other ldap-related code.
Timo Sirainen [Sat, 15 Feb 2025 07:12:25 +0000 (09:12 +0200)]
auth: Fix memory leak when building oauth2 failure JSON reply
Broken by
4bf8b11f5196752bb928baf59e48f9774bb0ce59
Timo Sirainen [Sat, 15 Feb 2025 09:04:03 +0000 (11:04 +0200)]
lib-smtp: Fix pipelining initial SASL response after AUTH
Aki Tuomi [Tue, 11 Feb 2025 14:19:05 +0000 (16:19 +0200)]
auth: Avoid delaying reply when shutting down
Aki Tuomi [Thu, 6 Feb 2025 13:43:28 +0000 (15:43 +0200)]
auth: Deinitialize connection already in auth_client_connection_destroy()
Aki Tuomi [Thu, 6 Feb 2025 13:42:40 +0000 (15:42 +0200)]
auth: Deinitialize passdb before freeing up settings
Some passdbs need the settings during deinitialization.
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()