]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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
Aki Tuomi [Thu, 9 Sep 2021 05:51:39 +0000 (08:51 +0300)]
lib-dns: test-dns-util - Fix typo in Makefile.am
Aki Tuomi [Thu, 9 Sep 2021 05:51:10 +0000 (08:51 +0300)]
lib-dns: Move lib-test include to AM_CPPFLAGS
Martti Rannanjärvi [Fri, 17 Sep 2021 08:46:35 +0000 (11:46 +0300)]
configure.ac: Set dovecot version to 3.0
Timo Sirainen [Tue, 14 Sep 2021 08:45:17 +0000 (11:45 +0300)]
doveadm: Fix using doveadm_ssl setting from command line
The doveadm_ssl setting was used only with proxying, but it can also be
used by doveadm CLI client to specify that it wants to connect to doveadm
SSL port.
Timo Sirainen [Fri, 13 Aug 2021 15:45:35 +0000 (18:45 +0300)]
doveadm: Move DOVEADM_PROXY_TTL to doveadm-client.h
Timo Sirainen [Fri, 30 Jul 2021 14:23:55 +0000 (17:23 +0300)]
lib-doveadm, doveadm: Change log passthrough to be optional
Timo Sirainen [Fri, 30 Jul 2021 14:20:24 +0000 (17:20 +0300)]
doveadm-server: Split off client_connection_log_passthrough()
Timo Sirainen [Fri, 13 Aug 2021 12:55:24 +0000 (15:55 +0300)]
doveadm: Use DOVEADM_PROTOCOL_MIN_VERSION_MULTIPLEX macro
Timo Sirainen [Fri, 30 Jul 2021 14:00:11 +0000 (17:00 +0300)]
lib-doveadm: Rename DOVEADM_PROTOCOL_MIN_VERSION_* macros and make them public
Timo Sirainen [Fri, 30 Jul 2021 13:59:27 +0000 (16:59 +0300)]
lib-doveadm: Split off doveadm_client_need_authentication()
Timo Sirainen [Fri, 30 Jul 2021 13:55:28 +0000 (16:55 +0300)]
lib-doveadm: Move starting multiplex into doveadm_client_authenticated()
Timo Sirainen [Mon, 16 Aug 2021 10:08:15 +0000 (13:08 +0300)]
lib-doveadm: Move doveadm_client_authenticated()
Timo Sirainen [Thu, 29 Jul 2021 17:54:28 +0000 (20:54 +0300)]
doveadm: Move doveadm-client related code to lib-doveadm
Timo Sirainen [Thu, 29 Jul 2021 17:52:44 +0000 (20:52 +0300)]
doveadm: Rename server_connection to doveadm_client
Timo Sirainen [Thu, 29 Jul 2021 17:39:30 +0000 (20:39 +0300)]
doveadm: Move doveadm protocol-related functions to doveadm-protocol.[ch]
Timo Sirainen [Thu, 29 Jul 2021 17:33:10 +0000 (20:33 +0300)]
doveadm: server-connection - Move initializing ssl settings to caller
Timo Sirainen [Thu, 29 Jul 2021 17:17:49 +0000 (20:17 +0300)]
doveadm: Move extern variables out of doveadm-server.h and delete it
Timo Sirainen [Thu, 29 Jul 2021 17:15:57 +0000 (20:15 +0300)]
doveadm: Move struct doveadm_server to doveadm-mail-server.c
Timo Sirainen [Thu, 29 Jul 2021 17:12:53 +0000 (20:12 +0300)]
doveadm: server-connection - Replace doveadm_server with doveadm_client_settings
Timo Sirainen [Thu, 29 Jul 2021 16:41:28 +0000 (19:41 +0300)]
doveadm: Move doveadm_server.connections to a global list
This also changes doveadm_worker_count to be a global limit, not per-server.
That behavior makes more sense though.
Timo Sirainen [Fri, 30 Jul 2021 12:04:58 +0000 (15:04 +0300)]
doveadm: Change per-server command request queue to be global
The queue behavior isn't quite as efficient as it could be in this commit,
but that will be fixed by the following commit.
Timo Sirainen [Thu, 29 Jul 2021 16:21:01 +0000 (19:21 +0300)]
doveadm: server-connection - Move reply printing to caller
Timo Sirainen [Thu, 29 Jul 2021 16:19:14 +0000 (19:19 +0300)]
lib: Fix safe_run() example macro in comment
Timo Sirainen [Thu, 29 Jul 2021 16:01:44 +0000 (19:01 +0300)]
doveadm: server-connection - Replace "print pending" server list with connection list
This is in preparation for removing dependency on doveadm_server.
Timo Sirainen [Thu, 29 Jul 2021 14:19:28 +0000 (17:19 +0300)]
doveadm: server-connection - Use connection API for connecting to remote
This way the remote IP connections are done asynchronously.
Also hostname lookup failures no longer cause i_fatal() immediately.
Timo Sirainen [Thu, 29 Jul 2021 14:06:23 +0000 (17:06 +0300)]
doveadm: Update struct doveadm_server comments
Timo Sirainen [Thu, 29 Jul 2021 14:05:34 +0000 (17:05 +0300)]
dsync: Fill doveadm_server.port field
In preparation for following changes.
Timo Sirainen [Thu, 29 Jul 2021 13:43:36 +0000 (16:43 +0300)]
doveadm: server-connection - Delay handshaking until client_connected is called
In preparation for connecting to remote IP asynchronously.
Timo Sirainen [Thu, 29 Jul 2021 13:36:47 +0000 (16:36 +0300)]
doveadm: server-connection - Invalid log type should be printed as error
It's a bug if it happens.
Timo Sirainen [Thu, 29 Jul 2021 13:36:33 +0000 (16:36 +0300)]
doveadm: server-connection - Convert to using event logging
Timo Sirainen [Thu, 29 Jul 2021 12:07:21 +0000 (15:07 +0300)]
doveadm: server-connection - Convert to connection API
Timo Sirainen [Thu, 29 Jul 2021 10:57:55 +0000 (13:57 +0300)]
doveadm: server-connection - Add struct connection
In preparation for using the full connection API.
Timo Sirainen [Thu, 29 Jul 2021 12:57:28 +0000 (15:57 +0300)]
doveadm: server-connection - Remove the concept of idle connections
The connection is always disconnected after processing commands, unless
the callback started a new command.
Timo Sirainen [Thu, 29 Jul 2021 13:25:15 +0000 (16:25 +0300)]
doveadm: Remove server_connection_get_server()
Timo Sirainen [Thu, 29 Jul 2021 13:24:41 +0000 (16:24 +0300)]
doveadm: Avoid using server_connection_get_server()
Timo Sirainen [Thu, 29 Jul 2021 12:40:00 +0000 (15:40 +0300)]
doveadm: Remove old doveadm-server exit-code workaround
The "old" means v2.2.2 or older.
Timo Sirainen [Thu, 29 Jul 2021 12:54:20 +0000 (15:54 +0300)]
doveadm: Simplify connection choosing when a server command is finished
The newly chosen connection is always the one that had just finished the
command.
Timo Sirainen [Thu, 29 Jul 2021 11:25:16 +0000 (14:25 +0300)]
doveadm: server-connection - Don't do connection-specific config lookups
The config is used only for doveadm_username and doveadm_password.
In theory it might be nice to support different passwords for different
remote hosts, practically nobody is doing this and it just complicates
the code and slows things down.
Timo Sirainen [Fri, 13 Aug 2021 12:07:33 +0000 (15:07 +0300)]
doveadm: Fix connecting to doveadm-server via UNIX socket
Broken by recent changes.
Timo Sirainen [Thu, 17 Jun 2021 11:52:46 +0000 (14:52 +0300)]
doveadm: Add support for proxy_redirect_reauth
Timo Sirainen [Thu, 17 Jun 2021 11:51:48 +0000 (14:51 +0300)]
doveadm: Split off doveadm_cmd_redirect_finish()
Timo Sirainen [Thu, 17 Jun 2021 11:29:50 +0000 (14:29 +0300)]
doveadm: Split off doveadm_cmd_pass_reply_parse()
Timo Sirainen [Thu, 17 Jun 2021 11:21:04 +0000 (14:21 +0300)]
doveadm: doveadm_mail_server_user_get_host() - Return the full proxy settings
Timo Sirainen [Thu, 17 Jun 2021 09:30:27 +0000 (12:30 +0300)]
doveadm: Split off doveadm_cmd_pass_lookup()
Timo Sirainen [Thu, 17 Jun 2021 09:23:42 +0000 (12:23 +0300)]
doveadm: doveadm_mail_server_user() - Remove input parameter
All the necessary information is in the command context already. Also note
that mail_storage_service_init_settings() doesn't actually need anything but
the service.
Timo Sirainen [Mon, 14 Jun 2021 17:59:09 +0000 (20:59 +0300)]
doveadm: Add support for proxy loop detection
Timo Sirainen [Mon, 14 Jun 2021 17:26:59 +0000 (20:26 +0300)]
doveadm: Add DOVEADM_PROTO_MINOR_MIN_* macros
Timo Sirainen [Thu, 17 Jun 2021 10:45:21 +0000 (13:45 +0300)]
doveadm: Use auth proxy parsing API
Timo Sirainen [Wed, 9 Jun 2021 19:31:56 +0000 (22:31 +0300)]
doveadm-server: Support referrals returned by passdb
Timo Sirainen [Mon, 14 Jun 2021 16:57:12 +0000 (19:57 +0300)]
doveadm: Add support for proxy destination referrals from initial backend.
This mimics login referral support.
Timo Sirainen [Mon, 14 Jun 2021 15:17:02 +0000 (18:17 +0300)]
doveadm: Delay freeing doveadm_mail_server_cmd()
Needed by the next commit.
Timo Sirainen [Mon, 14 Jun 2021 15:15:20 +0000 (18:15 +0300)]
doveadm: Split off doveadm_mail_server_cmd_free()
Timo Sirainen [Mon, 14 Jun 2021 16:49:04 +0000 (19:49 +0300)]
doveadm: doveadm_server_get() - Remove unnecessary ctx parameter
Timo Sirainen [Mon, 14 Jun 2021 15:05:19 +0000 (18:05 +0300)]
doveadm: Split off server_connection_input_cmd_error()
Timo Sirainen [Mon, 14 Jun 2021 14:42:20 +0000 (17:42 +0300)]
doveadm: Add struct doveadm_server_reply for server command callback
Timo Sirainen [Wed, 9 Jun 2021 19:22:03 +0000 (22:22 +0300)]
doveadm: Simplify passdb fields parsing
Timo Sirainen [Thu, 17 Jun 2021 14:26:26 +0000 (17:26 +0300)]
lmtp: Use auth_proxy_parse_redirect()
Timo Sirainen [Thu, 17 Jun 2021 14:26:20 +0000 (17:26 +0300)]
lib-auth: Add auth_proxy_parse_redirect()
Timo Sirainen [Thu, 17 Jun 2021 10:34:02 +0000 (13:34 +0300)]
lmtp: Use auth proxy parsing API
Timo Sirainen [Thu, 17 Jun 2021 10:17:31 +0000 (13:17 +0300)]
*-login: Use auth proxy parsing API
Timo Sirainen [Thu, 17 Jun 2021 10:00:49 +0000 (13:00 +0300)]
lib-auth: Add API for parsing proxy settings from passdb lookup results
Timo Sirainen [Thu, 10 Jun 2021 11:43:22 +0000 (14:43 +0300)]
doveadm: Rename doveadm_cmd_*_ver2() to doveadm_cmdline_*()
These are command-line specific functions, and there's no need to clarify
that they're for v2 commands.
Timo Sirainen [Wed, 9 Jun 2021 18:57:33 +0000 (21:57 +0300)]
lmtp: Make sure error is returned if passdb returns invalid input
Timo Sirainen [Wed, 2 Jun 2021 16:48:48 +0000 (19:48 +0300)]
lib-lua: dlua_table_get() - Pop key from stack if idx doesn't point to a table
Otherwise it leaks the key into the stack.
Timo Sirainen [Wed, 2 Jun 2021 16:17:39 +0000 (19:17 +0300)]
lib-lua: dlua_pcall_yieldable() - On failure keep only the error in stack
Otherwise the full call stack would be in the stack.
Timo Sirainen [Thu, 20 May 2021 21:56:46 +0000 (00:56 +0300)]
lib-dict: Make dict_deinit(&NULL) no-op
Timo Sirainen [Tue, 18 May 2021 17:00:38 +0000 (20:00 +0300)]
lib-dict: Add dict_have_async_operations()
Timo Sirainen [Tue, 11 May 2021 18:10:59 +0000 (21:10 +0300)]
login-common: Don't log auth referral disconnects as having "internal error"
Aki Tuomi [Tue, 4 May 2021 10:04:42 +0000 (13:04 +0300)]
lib-lua: dlua-resume - Ensure timeout is handled correctly
Stephan Bosch [Thu, 28 May 2020 21:15:07 +0000 (23:15 +0200)]
lmtp: lmtp-proxy - Add support for recipient referrals.
This mimics login referral support.
Stephan Bosch [Sun, 7 Jun 2020 23:39:24 +0000 (01:39 +0200)]
lmtp: lmtp-proxy - Use struct lmtp_proxy_recipient for lmtp_proxy_rcpt_parse_fields().
Stephan Bosch [Sun, 7 Jun 2020 23:34:48 +0000 (01:34 +0200)]
lmtp: lmtp-proxy - Split off lmtp_proxy_rcpt_get_connection().
Stephan Bosch [Sun, 7 Jun 2020 23:22:47 +0000 (01:22 +0200)]
lmtp: lmtp-proxy - Add approved recipient hook before initiating connection.
Before, it was added in the client login callback, which can be called more than
once after later commits.
Stephan Bosch [Sun, 7 Jun 2020 23:12:01 +0000 (01:12 +0200)]
lmtp: lmtp-proxy - Split off lmtp_proxy_rcpt_init_auth_user_info().
Stephan Bosch [Mon, 18 May 2020 21:00:17 +0000 (23:00 +0200)]
lmtp: lmtp-proxy - Create proxy recipient struct immediately in lmtp_proxy_rcpt().
Stephan Bosch [Fri, 28 Dec 2018 22:23:13 +0000 (23:23 +0100)]
lmtp: lmtp-recipient - Put lmtp_local_rcpt() and lmtp_proxy_rcpt() parameters in struct lmtp_recipient.