]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Wed, 14 Feb 2024 07:38:46 +0000 (09:38 +0200)]
lib-dcrypt: test-crypto - Refactor X25519 and X448 test to do same tests
Aki Tuomi [Wed, 14 Feb 2024 07:31:39 +0000 (09:31 +0200)]
lib-dcrypt: test-crypto - Add missing test_asserts to test_x25519_keypair
Aki Tuomi [Wed, 14 Feb 2024 07:28:16 +0000 (09:28 +0200)]
lib: test-connection - Ensure net_set_send_buffer_size() works
Aki Tuomi [Wed, 14 Feb 2024 10:27:47 +0000 (12:27 +0200)]
auth: Do not return disconnected connections from auth_client_connection_lookup()
Previously, auth client connections were removed from list of
connections on disconnection. Connection list code removes the
connections on deinit, when it's bit too late.
Auth master connection looks up connections by PID, and will find this
connection now despite it being already disconnected.
Aki Tuomi [Fri, 9 Feb 2024 07:42:38 +0000 (09:42 +0200)]
auth: Constify io vector in auth_client_send()
Aki Tuomi [Fri, 26 Jan 2024 09:05:57 +0000 (11:05 +0200)]
auth: Use connection.c for auth_client_connection
Aki Tuomi [Fri, 2 Feb 2024 12:30:30 +0000 (14:30 +0200)]
auth: Splice off handshaking to auth_client_handshake_args()
Error messages are now consistent with the ones in connection.c
Aki Tuomi [Fri, 26 Jan 2024 09:51:16 +0000 (11:51 +0200)]
auth: Refactor auth client input handling functions
Simplifies next change
Aki Tuomi [Thu, 8 Feb 2024 10:50:53 +0000 (12:50 +0200)]
auth: Move auth_client_connection_create()
Simplifies next commit.
Aki Tuomi [Mon, 5 Feb 2024 11:47:14 +0000 (13:47 +0200)]
auth: Refactor auth_request_handler_(begin|continue)
Simplifies next change
Aki Tuomi [Mon, 5 Feb 2024 11:38:18 +0000 (13:38 +0200)]
auth: Change auth_client_connection return values to int
Simplifies following commit
Aki Tuomi [Fri, 26 Jan 2024 08:25:20 +0000 (10:25 +0200)]
auth: Pass connection name to auth_client_connection_create()
Aki Tuomi [Fri, 26 Jan 2024 08:15:12 +0000 (10:15 +0200)]
auth: auth-client-connection - Use connection.c structure
Aki Tuomi [Wed, 7 Feb 2024 13:25:02 +0000 (15:25 +0200)]
lib: connection - Add output throttle support
Aki Tuomi [Thu, 8 Feb 2024 10:31:18 +0000 (12:31 +0200)]
lib: Add o_stream_get_flush_callback()
Allows getting the current flush callback.
Aki Tuomi [Mon, 5 Feb 2024 12:29:27 +0000 (14:29 +0200)]
auth: Reformat src/auth/auth-client-connection.c
Timo Sirainen [Thu, 8 Feb 2024 23:58:24 +0000 (01:58 +0200)]
auth: Log an error if auth-policy response is missing "status" field
Aki Tuomi [Fri, 9 Feb 2024 11:03:34 +0000 (13:03 +0200)]
auth: auth-policy - Write booleans as real booleans
Broken in
a953dbf8cce1285a27b321eb28ad83f55c083d4f
Aki Tuomi [Fri, 2 Feb 2024 09:17:51 +0000 (11:17 +0200)]
lib-imap-client: Simplify error logging on immediate connect() failures
This worked inconsistently compared to delayed connect() failures.
Aki Tuomi [Thu, 1 Feb 2024 13:39:55 +0000 (15:39 +0200)]
lib-http: Disable "early success" unit test in FreeBSD
Aki Tuomi [Mon, 22 Jan 2024 08:52:50 +0000 (10:52 +0200)]
imap-hibernate: Only build if supported by os
IMAP hibernate needs to pass notifys across
processes, which does not work with kqueue.
Timo Sirainen [Mon, 8 Jan 2024 15:14:07 +0000 (10:14 -0500)]
lib: test-ostream-multiplex - Fix test to pass with different pipe() buffer size
Using 256 bytes caused the first channel to be fully flushed in FreeBSD.
Use a slightly different buffer size to make sure something is always
buffered.
Timo Sirainen [Mon, 8 Jan 2024 15:13:16 +0000 (10:13 -0500)]
lib: test-ostream-multiplex - Clarify the assert/comment
Timo Sirainen [Mon, 8 Jan 2024 14:25:33 +0000 (09:25 -0500)]
lib: ioloop-kqueue - Fix memory leak when ioloop stops before all IO callbacks are called
Broken by
720a6e0e67c3f04dcfee4c80b34f0291c7217cfa
Aki Tuomi [Tue, 2 Jan 2024 18:55:24 +0000 (20:55 +0200)]
lib: ioloop - Support recreating kqueue
This is needed when forking because kqueue gets
invalidated by fork()
Aki Tuomi [Fri, 22 Dec 2023 12:07:21 +0000 (14:07 +0200)]
lib-dns: test-dns-lookup - Use EAI_FAIL as error code
This is more portable.
Aki Tuomi [Fri, 22 Dec 2023 12:06:26 +0000 (14:06 +0200)]
lib: test-lib - Use lo0 instead of lo in FreeBSD
Aki Tuomi [Fri, 22 Dec 2023 12:05:05 +0000 (14:05 +0200)]
plugins: fts-flatcurve - Use XAPIAN_CFLAGS with cc
Aki Tuomi [Fri, 22 Dec 2023 12:04:32 +0000 (14:04 +0200)]
lib: net - Fix gai error handling
gai errors are non-zero, not only negative.
Aki Tuomi [Fri, 22 Dec 2023 12:04:14 +0000 (14:04 +0200)]
m4: want_lua - Use latest lua without hardcoded list
Aki Tuomi [Mon, 29 Jan 2024 10:49:05 +0000 (12:49 +0200)]
auth: Rename %{pid} to %{client_pid} for clarity
Aki Tuomi [Tue, 23 Jan 2024 06:12:50 +0000 (08:12 +0200)]
lib-storage: Remove %{uid}, %{gid}
Should use %{process:uid} and %{process:gid}
in future.
Aki Tuomi [Mon, 15 Jan 2024 07:32:14 +0000 (09:32 +0200)]
lib-storage: Remove unused %{pid}
Should use %{process:pid} in future
Aki Tuomi [Wed, 31 Jan 2024 12:17:14 +0000 (14:17 +0200)]
login-common: Remove %{pid}
Aki Tuomi [Wed, 22 Nov 2023 10:33:31 +0000 (12:33 +0200)]
lib, global: var-expand - Move pid, uid and gid to process: key
Introduces process: key which can be used to find out
things about the current process.
Aki Tuomi [Wed, 22 Nov 2023 10:25:57 +0000 (12:25 +0200)]
lib: var-expand - Move hostname to system: key
Aki Tuomi [Wed, 22 Nov 2023 09:15:41 +0000 (11:15 +0200)]
lib: var-expand - Add system key
Allows accessing system information. Currently supports only
- cpu_count - Number of available CPUs
Aki Tuomi [Mon, 15 Jan 2024 08:02:29 +0000 (10:02 +0200)]
lib: Add cpu-count.{h,c} to get number of CPUs in system
Karl Fleischmann [Fri, 26 Jan 2024 09:28:43 +0000 (10:28 +0100)]
lib-smtp: smtp-server-connection - Free local_name on destroy
Plug a memory leak introduced by
050bbd4d7e2bd2afee2bfb71a4f87f46ffaf8b94
Timo Sirainen [Mon, 29 Jan 2024 14:40:41 +0000 (16:40 +0200)]
lib-dict-extra: dict-client - Replace shared timeout with per-request timeouts
The shared timeout wasn't really working, because all inputs reset the
timeout for all commands. If only some commands were hanging, the timeout
never triggered.
Timo Sirainen [Mon, 29 Jan 2024 13:47:27 +0000 (15:47 +0200)]
cassandra: Fix sending batch queries started while Cassandra wasn't connected
The batch queries were just hanging forever instead of being sent after
Cassandra was connected to.
Aki Tuomi [Mon, 22 Jan 2024 07:04:07 +0000 (09:04 +0200)]
lib-dcrypt: Free OSSL_PARAM in load_jwk_rsa_key
Forgotten in
147d266fc5676f33c4094e01c8fc815b89e60ac5
Aki Tuomi [Mon, 22 Jan 2024 06:52:36 +0000 (08:52 +0200)]
lib-dcrypt: Free keys after use
Forgotten in
0b27b51d007fcec932a11e41e87f6c085fec7207
Aki Tuomi [Mon, 22 Jan 2024 06:44:26 +0000 (08:44 +0200)]
Aki Tuomi [Fri, 19 Jan 2024 08:07:49 +0000 (10:07 +0200)]
login-common: Provide actual reason why proxying failed
Aki Tuomi [Fri, 19 Jan 2024 08:07:38 +0000 (10:07 +0200)]
imap-login: Consider SERVERBUG from proxy a remote error
Stephan Bosch [Sun, 21 Jan 2024 16:48:07 +0000 (17:48 +0100)]
lmtp: lmtp-client - Fix potential segfault occurring at service termination
Invalid write of size 8 found by Valgrind.
Broken by
9a1a1cc222d7b67abf3ff621b70ed92b1b6d8d39 .
Stephan Bosch [Sun, 21 Jan 2024 16:46:07 +0000 (17:46 +0100)]
lmtp: lmtp-client - Add reference counting
Marco Bettini [Fri, 19 Jan 2024 10:56:33 +0000 (10:56 +0000)]
imapc: Fix use after free in attribute iteration
When imapc_storage_attribute_context_destroy() is invoked from
imapc_storage_attribute_iter_destroy(), *_actx resides inside
the actx->pool that is going to be unreferenced.
Broken by
ae33493d89136f4982b5ee6e8b0f66ff57cea721
Aki Tuomi [Thu, 18 Jan 2024 07:28:15 +0000 (09:28 +0200)]
lib-dcrypt: test-stream - Initialize payload in test_write_read_v2_real
Satisfies static analysers.
Aki Tuomi [Thu, 18 Jan 2024 07:24:09 +0000 (09:24 +0200)]
lib-dcrypt: test-crypto - Ensure function calls succeed in test_xd25519_keypair
Found by static analysers
Aki Tuomi [Thu, 4 Jan 2024 08:04:34 +0000 (10:04 +0200)]
lib-oauth2: Support ES256K
Aki Tuomi [Thu, 4 Jan 2024 08:03:58 +0000 (10:03 +0200)]
lib-dcrypt: Add JWK curve secp256k1
Aki Tuomi [Wed, 27 Dec 2023 15:32:00 +0000 (17:32 +0200)]
lib-dcrypt: Support loading OKP JWK keys.
Aki Tuomi [Thu, 7 Dec 2023 09:40:18 +0000 (11:40 +0200)]
lib-dcrypt: Support ED448 and
ED25519 signatures
Aki Tuomi [Wed, 29 Nov 2023 07:09:55 +0000 (09:09 +0200)]
lib-dcrypt: Support X25519 and X448 encryption
Aki Tuomi [Wed, 27 Dec 2023 20:03:08 +0000 (22:03 +0200)]
lib-dcrypt: Add load_jwk_curve_key()
Simplifies next change.
Aki Tuomi [Wed, 27 Dec 2023 20:45:01 +0000 (22:45 +0200)]
lib-dcrypt: Add support for saving JWK RSA keys
Aki Tuomi [Wed, 27 Dec 2023 20:19:32 +0000 (22:19 +0200)]
lib-dcrypt: Allow loading JWK RSA key with d only
RFC7518 section 6.3 says that only mandatory parameters are n, e and d.
Aki Tuomi [Wed, 3 Jan 2024 11:24:13 +0000 (13:24 +0200)]
lib-dcrypt: Check if kty is NULL explicitly
Aki Tuomi [Wed, 27 Dec 2023 21:25:07 +0000 (23:25 +0200)]
lib-dcrypt: Check that loaded JWK key is good
Aki Tuomi [Wed, 27 Dec 2023 21:15:28 +0000 (23:15 +0200)]
lib-dcrypt: Check DCRYPT_KEY_USAGE_NONE instead of NULL
Function key_usage_to_jwk_use() does not return NULL.
Aki Tuomi [Thu, 21 Dec 2023 09:18:10 +0000 (11:18 +0200)]
lib-dcrypt: Extract dcrypt_EVP_PKEY_get_group_name()
Simplifies code.
Aki Tuomi [Thu, 7 Dec 2023 12:25:44 +0000 (14:25 +0200)]
lib-dcrypt: Remove useless md from dcrypt_openssl_sign()
Aki Tuomi [Thu, 7 Dec 2023 12:18:30 +0000 (14:18 +0200)]
lib-dcrypt: Sign and verify in one shot
This is required by some algorithms.
Aki Tuomi [Wed, 3 Jan 2024 12:27:07 +0000 (14:27 +0200)]
lib-dcrypt: test-crypto - Refactor test_get_info_invalid_keys
Aki Tuomi [Wed, 3 Jan 2024 11:41:12 +0000 (13:41 +0200)]
lib-dcrypt: test-crypt - Refactor test_load_invalid_keys()
Aki Tuomi [Thu, 7 Dec 2023 12:13:26 +0000 (14:13 +0200)]
lib-dcrypt: Use dcrypt_openssl_(public|private)_key_type() in dcrypt_openssl_(public|private)_key_id_old()
Aki Tuomi [Wed, 3 Jan 2024 11:05:49 +0000 (13:05 +0200)]
lib-dcrypt: Use buffer_clear_space_safe() instead of buffer_set_used_size()
spatch change with buffer-clear-safe.cocci and manual fixes
Aki Tuomi [Mon, 15 Jan 2024 09:00:44 +0000 (11:00 +0200)]
lib-dcrypt: dcrypt-openssl1 - Fix ifdef indentation
Aki Tuomi [Wed, 3 Jan 2024 16:27:16 +0000 (18:27 +0200)]
m4: Define HAVE_OPENSSL3 when present
Some unit tests need to know
Aki Tuomi [Wed, 27 Dec 2023 19:35:12 +0000 (21:35 +0200)]
doveadm: dump - Support decrypting keys
Aki Tuomi [Wed, 27 Dec 2023 19:33:57 +0000 (21:33 +0200)]
doveadm: dump - Use buffer_append_full_file() to read key
Aki Tuomi [Wed, 29 Nov 2023 07:08:46 +0000 (09:08 +0200)]
doveadm: Support dumping encrypted dcrypt file content
Aki Tuomi [Wed, 3 Jan 2024 12:22:06 +0000 (14:22 +0200)]
lib: buffer - Only wipe w_buffer in buffer_clear_safe() if it's not NULL
Aki Tuomi [Wed, 27 Dec 2023 19:29:43 +0000 (21:29 +0200)]
lib-ssl-iostream: dovecot-openssl-common - Make the allocators bit more in line with libssl
Aki Tuomi [Wed, 29 Nov 2023 07:06:43 +0000 (09:06 +0200)]
lib-dcrypt: Ensure liblib.a is fully included with tests
There is dependency for connection_is_valid_dns_name() in lib-ssl-iostream.
Stephan Bosch [Sat, 13 Jan 2024 23:32:42 +0000 (00:32 +0100)]
lib-smtp: test-smtp-server-errors - Wait for the client to finish in complex tests
Otherwise, the client would be terminated early, causing test failure.
Stephan Bosch [Mon, 15 Jan 2024 15:54:22 +0000 (16:54 +0100)]
lib-test: Add test_subprocess_wait_all()
Timo Sirainen [Thu, 11 Jan 2024 19:51:36 +0000 (14:51 -0500)]
auth: The first userdb's default_fields may have been used wrongly if passdb set any userdb-fields
When a passdb sets a userdb_ prefixed field, the userdb reply was
initialized with the first userdb's default_fields filled. However, if
the user wasn't found from the first userdb, the default_fields were still
left there.
Timo Sirainen [Thu, 11 Jan 2024 16:53:37 +0000 (11:53 -0500)]
auth: Don't use the last userdb's default_fields and override_fields if user is not found there
default_fields and override_fields are supposed to be used only for the
userdbs where the user is actually found. This worked for all userdbs,
except the last one, where they were always used if the userdb lookup
had succeeded.
Timo Sirainen [Tue, 4 Aug 2020 10:32:19 +0000 (13:32 +0300)]
auth: Fix userdb extra fields handling for negative cache entry
If negative cache entry was found, it cleared all previous userdb extra
fields.
However, due to other bugs/issues, this was practically never happened to
a successful request.
Timo Sirainen [Fri, 12 Jan 2024 14:45:22 +0000 (09:45 -0500)]
auth: Cache all userdb lookups, not just the last userdb
Timo Sirainen [Tue, 4 Aug 2020 10:33:33 +0000 (13:33 +0300)]
auth: Fix caching userdb's "user not found" result.
The result was changed to "ok" if a previous userdb lookup was already
successful. However, caching is supposed to be independent for each lookup.
This didn't usually break anything, because of another bug that only the
last userdb lookup is cached.
Timo Sirainen [Wed, 22 Nov 2023 21:14:16 +0000 (23:14 +0200)]
config: Fix nested non-named filters
Aki Tuomi [Fri, 22 Dec 2023 07:48:54 +0000 (09:48 +0200)]
doc: Modernize solr9 config and schema
Aki Tuomi [Fri, 22 Dec 2023 07:48:38 +0000 (09:48 +0200)]
doc: Remove symlink
There is no default solr.
Markus Valentin [Thu, 7 Dec 2023 14:59:12 +0000 (15:59 +0100)]
lib-master: stats_client_wait() - Increase deinit flush timeout to 60 seconds
Aki Tuomi [Tue, 5 Dec 2023 13:25:40 +0000 (15:25 +0200)]
config: Remove unused config from main
Aki Tuomi [Tue, 5 Dec 2023 13:24:18 +0000 (15:24 +0200)]
config: Fix memory leak on config reload
Aki Tuomi [Tue, 5 Dec 2023 13:22:13 +0000 (15:22 +0200)]
config: Extract config_global_reload()
Aki Tuomi [Tue, 5 Dec 2023 13:36:42 +0000 (15:36 +0200)]
config: Make config_parsed_free() NULL no-op
Stephan Bosch [Thu, 30 Nov 2023 22:43:11 +0000 (23:43 +0100)]
lib-json: json-istream - Fix json_istream_finish() to work in the middle of parsing
Skipping the remainder of the input caused an assert failure when skipping means
descending into arrays and objects, rather than only ascending from the last
node hierarchy. Simplified it to fully omit all activities other than parsing by
returning immediately from all parser callbacks once json_istream_finish() is
called.
Timo Sirainen [Thu, 30 Nov 2023 19:45:05 +0000 (21:45 +0200)]
config: Fix memory leaks in config parsing
Aki Tuomi [Thu, 30 Nov 2023 12:48:41 +0000 (14:48 +0200)]
lib: lib-event - Free iter in event_categories_iterate_deinit()
Forgotten in
40333adb8015536c3898a4c4f1a10c898dd03cae
Aki Tuomi [Thu, 30 Nov 2023 08:17:01 +0000 (10:17 +0200)]
config: Ensure parent->filter_name is not NULL in config_filter_add_new_filter()
Satisifies static analysers.
Aki Tuomi [Thu, 30 Nov 2023 08:13:58 +0000 (10:13 +0200)]
lib-settings: Ensure set->last_filter_key is not NULL in settings_override_get_value()
Satisfies static analysers.
Aki Tuomi [Thu, 30 Nov 2023 07:37:24 +0000 (09:37 +0200)]
lib-auth-client: Keep pointer for ioloop separate
Callback might free conn.
Aki Tuomi [Tue, 28 Nov 2023 08:04:01 +0000 (10:04 +0200)]
auth: Remove auth_userdb_settings_check()
It does not do anything
Aki Tuomi [Tue, 28 Nov 2023 08:01:31 +0000 (10:01 +0200)]
lib: net - Ensure addrinfo is NULL on error
Found by static analyser.