]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Fri, 14 Jan 2022 03:01:29 +0000 (04:01 +0100)]
submission: submission-backend-relay - Fix segfault in QUIT command client-side destruction.
Stephan Bosch [Mon, 9 Nov 2020 01:29:04 +0000 (02:29 +0100)]
lib-smtp: smtp-server-cmd-rset - Stop processing pipeline until RSET is complete.
A subsequent MAIL command could get reset in the middle otherwise. Before, it
only blocked input until a reply was submitted, but the transaction isn't reset
until the RSET command is complete (just before actually sending the reply)
which can cause issues when the subsequent MAIL command is already being
processed.
Stephan Bosch [Sun, 8 Nov 2020 23:02:51 +0000 (00:02 +0100)]
lib-smtp: smtp-server-cmd-helo - Stop processing pipeline until HELO/EHLO is complete.
A subsequent MAIL command could get reset in the middle otherwise. Before, it
only blocked input until a reply was submitted, but the transaction isn't reset
until the EHLO/HELO command is complete (just before actually sending the reply)
which can cause issues when the subsequent MAIL command is already
being processed.
Stephan Bosch [Sun, 8 Nov 2020 02:58:06 +0000 (03:58 +0100)]
lib-smtp: smtp-server-command - Add smtp_server_command_pipeline_block/unblock().
Stephan Bosch [Mon, 10 Jan 2022 02:54:13 +0000 (03:54 +0100)]
lib-smtp: smtp-client-transaction - Plug the command pipeline while transaction is pending.
This prevents commands submitted after creating the transaction from being
exectuted out-of-order before the transaction's MAIL command.
Stephan Bosch [Mon, 10 Jan 2022 02:53:41 +0000 (03:53 +0100)]
lib-smtp: smtp-client-transaction - Add smtp_client_command_mail_submit_after().
Stephan Bosch [Mon, 10 Jan 2022 00:18:56 +0000 (01:18 +0100)]
lib-smtp: smtp-client-transaction - Prevent recursion for smtp_client_transaction_fail*().
Stephan Bosch [Tue, 11 Jan 2022 01:05:26 +0000 (02:05 +0100)]
lib-smtp: Reformat smtp-server-cmd-quit.c.
Timo Sirainen [Fri, 31 Dec 2021 09:29:02 +0000 (11:29 +0200)]
lib-dict: test-dict-client - Handle shutdown cleanly with ctrl-c
Timo Sirainen [Fri, 31 Dec 2021 09:28:09 +0000 (11:28 +0200)]
lib: Fix assert-crash when using only non-delayed signals
Fixes:
Panic: file lib-signals.c: line 190 (lib_signals_init_io): assertion failed: (sig_pipe_fd[0] != -1)
sergey.kitov [Thu, 30 Dec 2021 15:04:22 +0000 (17:04 +0200)]
util: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 15:03:54 +0000 (17:03 +0200)]
plugins/fts-squat: Remove unreachable code.
sergey.kitov [Mon, 3 Jan 2022 15:12:43 +0000 (17:12 +0200)]
lib: Replace compile time defined conditions with COMPILE_ERROR_IF_TRUE.
sergey.kitov [Mon, 3 Jan 2022 15:11:56 +0000 (17:11 +0200)]
lib: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 15:03:08 +0000 (17:03 +0200)]
lib-storage: Remove unreachable code.
sergey.kitov [Mon, 3 Jan 2022 15:03:32 +0000 (17:03 +0200)]
lib-ssl-iostream: Replace unreachable error handling with i_unreached().
SSL_CTX_set_eddh_auto() cannot return 0 when HAVE_ECDH is defined.
sergey.kitov [Thu, 30 Dec 2021 15:01:46 +0000 (17:01 +0200)]
lib-smtp: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 15:00:51 +0000 (17:00 +0200)]
lib-settings: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 15:00:16 +0000 (17:00 +0200)]
lib-oauth2: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 14:59:47 +0000 (16:59 +0200)]
lib-imap: Replace compile time defined conditions with conditional compilation.
sergey.kitov [Mon, 3 Jan 2022 15:40:33 +0000 (17:40 +0200)]
lib-http: Remove unreachable code.
sergey.kitov [Mon, 3 Jan 2022 15:39:57 +0000 (17:39 +0200)]
lib-http: Replace unreachable return statement with i_unreached().
sergey.kitov [Thu, 30 Dec 2021 14:58:07 +0000 (16:58 +0200)]
lib-dcrypt: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 14:57:13 +0000 (16:57 +0200)]
doveadm: Remove unreachable code.
sergey.kitov [Thu, 30 Dec 2021 18:59:56 +0000 (20:59 +0200)]
lib-smtp: Whitespace cleanup.
sergey.kitov [Thu, 30 Dec 2021 18:57:21 +0000 (20:57 +0200)]
lib-http: Whitespace cleanup.
sergey.kitov [Thu, 30 Dec 2021 13:48:51 +0000 (15:48 +0200)]
doveadm: Whitespace cleanup.
Aki Tuomi [Fri, 17 Dec 2021 09:36:37 +0000 (11:36 +0200)]
doc: Update Solr schema
Use ICU tokenization and normalization.
Reorder filters to make more sense.
Stephan Bosch [Mon, 1 Nov 2021 01:33:50 +0000 (02:33 +0100)]
pop3-login: client-authenticate - Send redirect reply upon referral nologin auth result.
Stephan Bosch [Mon, 1 Nov 2021 01:22:45 +0000 (02:22 +0100)]
pop3-login: proxy - Support parsing REFERRAL on remote auth failure.
Stephan Bosch [Mon, 1 Nov 2021 00:40:18 +0000 (01:40 +0100)]
lib-pop3: Add definition for default service TCP ports.
Stephan Bosch [Sun, 31 Oct 2021 21:56:59 +0000 (22:56 +0100)]
pop3: Move pop3-capability.h to new lib-pop3.
Stephan Bosch [Sat, 20 Nov 2021 22:43:28 +0000 (23:43 +0100)]
submission-login: submission-proxy - Properly handle IPv6 in redirect.
Stephan Bosch [Sat, 20 Nov 2021 22:41:17 +0000 (23:41 +0100)]
imap-login: client-authenticate - Make sure redirect IPv6 is handled correctly.
Pass IP structure to URL API instead of only the hostname as a string.
Stephan Bosch [Sat, 20 Nov 2021 13:37:16 +0000 (14:37 +0100)]
imap-login: imap-proxy - Fix parsing REFERRAL response with IPv6 URL.
Stephan Bosch [Sat, 20 Nov 2021 15:31:31 +0000 (16:31 +0100)]
imap-login: imap-proxy - Sanitize response in REFERRAL parse error.
Stephan Bosch [Sat, 20 Nov 2021 13:27:23 +0000 (14:27 +0100)]
imap-login: imap-proxy - Restructure parsing of NO response.
Don't parse the closing ']' beforehand. This is needed for later commit in which
REFERRAL response code is parsed incrementally.
Stephan Bosch [Sat, 20 Nov 2021 23:35:50 +0000 (00:35 +0100)]
lmtp: lmtp-proxy - Always wrap IPv6 in [...] in log messages.
Stephan Bosch [Sat, 20 Nov 2021 23:35:08 +0000 (00:35 +0100)]
lmtp: lmtp-proxy - Wrap IPv6 in [...] for redirect path.
Stephan Bosch [Sun, 21 Nov 2021 12:27:35 +0000 (13:27 +0100)]
lmtp: lmtp-proxy - Sanitize response in REFERRAL parse error.
Stephan Bosch [Sat, 20 Nov 2021 23:10:26 +0000 (00:10 +0100)]
login-common: client-common-auth - Wrap IPv6 in [...] for proxy_redirect_host_next= field.
Stephan Bosch [Sat, 20 Nov 2021 23:28:56 +0000 (00:28 +0100)]
login-common: login-proxy - Always wrap IPv6 in [...] in log messages.
Stephan Bosch [Sat, 20 Nov 2021 23:28:07 +0000 (00:28 +0100)]
login-common: login-proxy - Wrap IPv6 in [...] for redirect path.
Stephan Bosch [Sun, 21 Nov 2021 12:15:59 +0000 (13:15 +0100)]
submission-login: submission-proxy - Rename target argument for submission_proxy_*_redirect().
It makes more sense.
Stephan Bosch [Sun, 21 Nov 2021 12:28:07 +0000 (13:28 +0100)]
submission-login: submission-proxy - Sanitize response in REFERRAL parse error.
Stephan Bosch [Sat, 20 Nov 2021 22:35:16 +0000 (23:35 +0100)]
lib-smtp: smtp-dovecot - Generate and parse referral data as URI authority.
This makes sure special characters are escaped properly. Before, usernames with
special characters and IPv6 caused problems.
Stephan Bosch [Sun, 21 Nov 2021 12:03:59 +0000 (13:03 +0100)]
lib-smtp: smtp-dovecot - Return error from smtp_proxy_redirect_parse().
Stephan Bosch [Sat, 20 Nov 2021 22:32:42 +0000 (23:32 +0100)]
lib-smtp: smtp-client-connection - Make sure IPv6 in log prefix is wrapped in [...].
Stephan Bosch [Sat, 20 Nov 2021 13:18:46 +0000 (14:18 +0100)]
lib-imap: imap-url - Add imap_url_parse_prefix().
Stephan Bosch [Sat, 20 Nov 2021 14:53:36 +0000 (15:53 +0100)]
lib: uri-util - Add support for prefix parsing.
Stephan Bosch [Sat, 20 Nov 2021 18:08:01 +0000 (19:08 +0100)]
lib: uri-util - Make construction of URI host name robust to IP literals.
When only a host name (string) is set, it may still be an IP address. This
change makes sure it is correctly written to the URL when it is IPv6; don't
trust the caller to get it right.
Stephan Bosch [Tue, 23 Nov 2021 00:35:14 +0000 (01:35 +0100)]
lib: uri-util - Use IP over host name string in construction of URI host name.
Both can be set when the URI was parsed earlier from a string or when the caller
sets both. There is never a valid case where these separate fields would yield a
completely different URI. Using the IP when available is necessary to make
sure IPv6 literals are output correctly; don't trust the caller to get it right.
Stephan Bosch [Sat, 20 Nov 2021 18:06:21 +0000 (19:06 +0100)]
lib: uri-util - Fix error message for invalid percent encoding in host name.
Stephan Bosch [Sat, 20 Nov 2021 23:08:49 +0000 (00:08 +0100)]
lib: net - Change net_ipport2str() API to assert fail on invalid IP.
Before, it returned an error result which was either handled with i_unreached()
or ignored.
Stephan Bosch [Sat, 20 Nov 2021 14:18:56 +0000 (15:18 +0100)]
lib-imap: test-imap-url - Split off test_imap_url_valid_check() to reduce indent.
Stephan Bosch [Sat, 20 Nov 2021 14:11:36 +0000 (15:11 +0100)]
lib-imap: Reformat test-imap-url.c.
Timo Sirainen [Thu, 25 Nov 2021 10:59:48 +0000 (12:59 +0200)]
lib-dict: Add dict_lookup_values()
This is the same as dict_lookup(), except it returns all values instead of
just the first.
Timo Sirainen [Thu, 25 Nov 2021 10:53:26 +0000 (12:53 +0200)]
lib-dict: Change dict_vfuncs.lookup() to support multiple values
Timo Sirainen [Thu, 25 Nov 2021 10:56:06 +0000 (12:56 +0200)]
lib-dict: dict_iterate() - Return NULL as value with DICT_ITERATE_FLAG_NO_VALUE
This makes the behavior more consistent with dict_iterate_values().
Timo Sirainen [Thu, 25 Nov 2021 11:17:16 +0000 (13:17 +0200)]
lib-sql: Makefile.am - Fix linking unit tests
If -ldl is before liblib.a, it might complain about missing symbols.
Fix it by just adding -ldl again at the end.
Timo Sirainen [Thu, 25 Nov 2021 10:06:38 +0000 (12:06 +0200)]
lib-dns: Fix leaking idle timeout
Aki Tuomi [Thu, 10 Oct 2019 09:57:08 +0000 (12:57 +0300)]
lib: var-expand - Support base64url for hash format
Stephan Bosch [Fri, 15 Oct 2021 20:18:06 +0000 (22:18 +0200)]
lib-http: http-url - Improve error messages by showing which character is unexpected.
Stephan Bosch [Fri, 15 Oct 2021 20:16:28 +0000 (22:16 +0200)]
lib: uri-util - Improve error messages by showing which character is unexpected.
Stephan Bosch [Fri, 15 Oct 2021 19:08:50 +0000 (21:08 +0200)]
lib: uri-util - Add uri_char_sanitize() and use it in error messages.
Stephan Bosch [Thu, 3 Dec 2020 20:26:02 +0000 (21:26 +0100)]
lib: Reformat uri-util.h.
Stephan Bosch [Thu, 3 Dec 2020 20:12:56 +0000 (21:12 +0100)]
lib: Reformat uri-util.c.
Timo Sirainen [Sun, 10 Oct 2021 18:15:01 +0000 (20:15 +0200)]
dovecot-config.in.in: Add lib-doveadm to LIBDOVECOT_DOVEADM_INCLUDE
Stephan Bosch [Thu, 7 Oct 2021 00:55:18 +0000 (02:55 +0200)]
submission-login: client-authenticate - Send redirect reply upon referral nologin auth result.
Stephan Bosch [Wed, 6 Oct 2021 22:04:19 +0000 (00:04 +0200)]
submission-login: proxy - Support parsing REFERRAL on remote auth failure
Stephan Bosch [Fri, 8 Oct 2021 22:58:13 +0000 (00:58 +0200)]
lib-smtp: Move Dovecot-specific redirect reply parsing and generation to smtp-dovecot.h.
Stephan Bosch [Fri, 8 Oct 2021 10:40:48 +0000 (12:40 +0200)]
lib-smtp: Move common Dovecot-specific definitions to smtp-dovecot.h.
Stephan Bosch [Fri, 8 Oct 2021 10:42:21 +0000 (12:42 +0200)]
lib-smtp: smtp-common - Remove duplicate structural comment.
Aki Tuomi [Fri, 1 Oct 2021 15:25:49 +0000 (18:25 +0300)]
lib: Add timeval_from_usecs
Helper to convert usecs to timeval
Timo Sirainen [Tue, 14 Sep 2021 14:09:40 +0000 (17:09 +0300)]
lib-doveadm, doveadm: Support proxying forward_* fields
Timo Sirainen [Tue, 14 Sep 2021 14:11:43 +0000 (17:11 +0300)]
doveadm: Change doveadm_cctx_to_storage_service_input() to take doveadm_mail_cmd_context
Timo Sirainen [Tue, 14 Sep 2021 12:15:01 +0000 (15:15 +0300)]
lib-doveadm: Add and use struct doveadm_client_cmd_settings
Timo Sirainen [Wed, 15 Sep 2021 13:34:32 +0000 (16:34 +0300)]
lib-doveadm, doveadm: Send proxy-ttl differently in doveadm protocol
The --proxy-ttl parameter works only for mail commands. This breaks using
lib-doveadm with non-mail commands. Fix this by extending the doveadm
command "flags" parameter with "x" that specifies that the next field is
a tabescaped list of key=value pairs which can be used to specify any kind
of future command-specific options.
Timo Sirainen [Wed, 15 Sep 2021 13:21:38 +0000 (16:21 +0300)]
doveadm: Remove doveadm_mail_server_cmd.proxy_ttl
Just use the one from doveadm_mail_cmd_context. Having it duplicated just
complicates the code.
Timo Sirainen [Tue, 14 Sep 2021 12:10:31 +0000 (15:10 +0300)]
lib-doveadm: Fix delayed command sending
It doveadm_client_cmd() was called before doveadm authentication was
finished, --proxy-ttl parameter wasn't sent.
Aki Tuomi [Fri, 17 Sep 2021 06:58:04 +0000 (09:58 +0300)]
lib-sql: Add initial unit tests
Aki Tuomi [Thu, 16 Sep 2021 09:38:28 +0000 (12:38 +0300)]
lib-sql: Use automake directives for sql-drivers-register.c
Aki Tuomi [Mon, 27 Sep 2021 06:49:59 +0000 (09:49 +0300)]
lib-sql: driver-sqlite - Use container_of
Aki Tuomi [Fri, 17 Sep 2021 07:02:09 +0000 (10:02 +0300)]
lib-sql: driver-sqlite - Fix synchronous transaction commit
It was not sending ROLLBACK on error, and leaked an event. Now it
works same way as asynchronous commit.
Aki Tuomi [Thu, 16 Sep 2021 09:00:59 +0000 (12:00 +0300)]
lib-sql: driver-sqlite - Support readonly databases
Aki Tuomi [Thu, 16 Sep 2021 07:47:09 +0000 (10:47 +0300)]
lib-sql: driver-sqlite - Support WAL mode
Adds journal_mode connect string option that can be
either delete or wal.
Aki Tuomi [Thu, 16 Sep 2021 07:50:35 +0000 (10:50 +0300)]
lib-sql: driver-sqlite - Use sqlite_open_v2
Aki Tuomi [Thu, 16 Sep 2021 07:39:54 +0000 (10:39 +0300)]
lib-sql: driver-sqlite - Support options
No spaces or '=' are permitted in filename after this.
Aki Tuomi [Thu, 16 Sep 2021 07:35:57 +0000 (10:35 +0300)]
lib-sql: driver-sqlite - Move connect_string parsing to a function
Simplifies next change
Aki Tuomi [Thu, 16 Sep 2021 08:53:20 +0000 (11:53 +0300)]
lib-settings: Add settings_get_bool
Parses string as boolean. Accepts yes/y/1 and no.
Preferred ones are 'yes' and 'no'.
Timo Sirainen [Tue, 28 Sep 2021 09:34:51 +0000 (12:34 +0300)]
lib-dns: If per-request event is NULL, fallback to connection event
Timo Sirainen [Tue, 28 Sep 2021 09:32:02 +0000 (12:32 +0300)]
lib-dns: Add dns category immediately to the connection event
Aki Tuomi [Mon, 27 Sep 2021 15:24:06 +0000 (18:24 +0300)]
lib-dns: Cleanup lookup cache only when there are entries
Aki Tuomi [Fri, 10 Sep 2021 06:34:57 +0000 (09:34 +0300)]
auth: Use caching dns client for proxy lookups
Aki Tuomi [Fri, 10 Sep 2021 06:38:17 +0000 (09:38 +0300)]
lib-dns: Add per-lookup event for dns client
Aki Tuomi [Fri, 10 Sep 2021 06:52:28 +0000 (09:52 +0300)]
lib-dns: Add caching to dns client
Caching can be used with the client API. Setting cache_ttl_secs
to a suitable value will cache the entries for given seconds.
Entries are refreshed if looked up after half the ttl has elapsed.
Aki Tuomi [Thu, 9 Sep 2021 06:48:53 +0000 (09:48 +0300)]
lib-dns: Add unit tests for lookup
Aki Tuomi [Fri, 10 Sep 2021 05:53:58 +0000 (08:53 +0300)]
lib-dns: Move assert after dns client disconnection
The client will abort all pending queries, ensure that
they have all gone away after that. Not before.
Aki Tuomi [Fri, 10 Sep 2021 05:52:38 +0000 (08:52 +0300)]
lib-dns: Whitespace fix
Aki Tuomi [Fri, 10 Sep 2021 05:50:36 +0000 (08:50 +0300)]
lib-dns: Add dns_client_has_pending_queries()
Needed for testing