]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Mon, 24 Sep 2018 12:23:59 +0000 (15:23 +0300)]
mail-lua: Deinit script after others
Some other plugin might need Lua for deinit
Aki Tuomi [Mon, 24 Sep 2018 11:46:19 +0000 (14:46 +0300)]
push-notification-driver-lua: Use Lua references for context
Aki Tuomi [Mon, 24 Sep 2018 12:07:26 +0000 (15:07 +0300)]
mail-lua: Implement mail_lua_plugin_get_script
It was forgotten in
950c7e06dbf7f1cd696653af95b8c0053a9e86da
Aki Tuomi [Tue, 22 May 2018 06:23:32 +0000 (09:23 +0300)]
auth: db-lua - Remove unnecessary pushnil usage
lua_pushstring is NULL-safe
Aki Tuomi [Wed, 14 Mar 2018 17:42:42 +0000 (19:42 +0200)]
push-notification: Add lua driver
Aki Tuomi [Wed, 14 Mar 2018 17:07:53 +0000 (19:07 +0200)]
mail-lua: Add Lua support plugin for mail storage
Aki Tuomi [Wed, 14 Mar 2018 16:49:50 +0000 (18:49 +0200)]
lib-lua: Add lua_pushboolean helper to push real booleans
Makes boolean handling in dovecot code slightly easier
Aki Tuomi [Wed, 14 Mar 2018 18:05:29 +0000 (20:05 +0200)]
push-notification: Fix mailbox unsubscribe event
Subscribe should be FALSE here.
Michael M Slusarz [Mon, 27 Aug 2018 03:53:56 +0000 (21:53 -0600)]
push-notification: Fix initializing push notification mailbox triggers
None of the mailbox triggers were working, since the transaction was
not being correctly initialized.
Martti Rannanjärvi [Wed, 29 Aug 2018 14:27:58 +0000 (17:27 +0300)]
dns: Remove duplicate event_unref() in dns_client_input_args()
The event is unreffed at the end of the function also.
Martti Rannanjärvi [Wed, 29 Aug 2018 14:22:22 +0000 (17:22 +0300)]
dns: Return the lookup error string to the querier
Martti Rannanjärvi [Wed, 29 Aug 2018 10:40:33 +0000 (13:40 +0300)]
lib-dns: Set error_r in dns_client_connect() on failure
Martti Rannanjärvi [Wed, 29 Aug 2018 10:23:55 +0000 (13:23 +0300)]
lib-dns: Remove DNS from the log messages now that it's in the prefix
Martti Rannanjärvi [Wed, 29 Aug 2018 10:21:23 +0000 (13:21 +0300)]
lib-dns: Use dns(host): prefix instead of just host: in event
Martti Rannanjärvi [Wed, 29 Aug 2018 08:04:10 +0000 (11:04 +0300)]
lib: Use basename of unix socket path as event log prefix
This is to make the prefix consistent with other unix socket loggings in
Dovecot.
Timo Sirainen [Mon, 27 Aug 2018 07:35:47 +0000 (10:35 +0300)]
lib: connection - Clarify logging of incoming connections
Don't log "Client connected" for both incoming and outgoing connections.
Timo Sirainen [Mon, 27 Aug 2018 07:33:54 +0000 (10:33 +0300)]
lib: connection - Remove dead code
connection_client_connected() can only be called for clients. There was
already an assert for it.
Timo Sirainen [Wed, 19 Sep 2018 09:41:39 +0000 (12:41 +0300)]
global: Don't try to send stats from unit tests
Martti Rannanjärvi [Tue, 11 Sep 2018 08:21:36 +0000 (11:21 +0300)]
driver-sqlite: Fix crash and event leak in driver_sqlite_query_s()
Martti Rannanjärvi [Mon, 10 Sep 2018 09:19:29 +0000 (12:19 +0300)]
driver-sqlite: Assign db in driver_sqlite_exec()
This fixes a crash.
Martti Rannanjärvi [Thu, 13 Sep 2018 10:01:52 +0000 (13:01 +0300)]
lib-sql: Fix wrong sql_query_finished_event() success parameter use
Martti Rannanjärvi [Thu, 13 Sep 2018 09:36:20 +0000 (12:36 +0300)]
driver-sqlite: Don't give false out of memory errors
Only log error from sqlite3_errmsg() when connected to the db, since
otherwise dovecot logs false "out of memory" errors.
Aki Tuomi [Wed, 12 Sep 2018 07:19:16 +0000 (10:19 +0300)]
driver-sqlite: Add error to sql_query_finished event on error
Aki Tuomi [Wed, 12 Sep 2018 07:18:48 +0000 (10:18 +0300)]
driver-pgsql: Add error to sql_query_finished if it fails
Aki Tuomi [Wed, 12 Sep 2018 07:17:49 +0000 (10:17 +0300)]
driver-cassandra: Add error to sql_query_finished event on error
Aki Tuomi [Wed, 5 Sep 2018 10:20:02 +0000 (13:20 +0300)]
lib-sql: Do not create event for old drivers
They can't use it anyways
Aki Tuomi [Wed, 5 Sep 2018 05:34:28 +0000 (08:34 +0300)]
driver-sqlpool: Only strdup error on error
Satisfies static analyzers
Aki Tuomi [Tue, 4 Sep 2018 17:30:12 +0000 (20:30 +0300)]
driver-sqlite: Document why rollback is called when commit fails
Aki Tuomi [Sun, 2 Sep 2018 16:14:17 +0000 (19:14 +0300)]
driver-cassandra: Add events
Aki Tuomi [Sat, 1 Sep 2018 10:50:27 +0000 (13:50 +0300)]
driver-pgsql: Add events
Aki Tuomi [Fri, 31 Aug 2018 10:30:11 +0000 (13:30 +0300)]
driver-sqlite: Add events
Aki Tuomi [Fri, 31 Aug 2018 06:45:59 +0000 (09:45 +0300)]
driver-mysql: Add events
Aki Tuomi [Fri, 31 Aug 2018 06:31:48 +0000 (09:31 +0300)]
driver-sqlpool: Add events
Aki Tuomi [Thu, 30 Aug 2018 11:23:10 +0000 (14:23 +0300)]
lib-sql: Add events
Aki Tuomi [Mon, 3 Sep 2018 10:59:41 +0000 (13:59 +0300)]
auth: Use sql_init_full
Aki Tuomi [Tue, 4 Sep 2018 06:31:25 +0000 (09:31 +0300)]
global: Replace sql_db_cache_new with sql_db_cache_new2
Aki Tuomi [Mon, 3 Sep 2018 11:13:55 +0000 (14:13 +0300)]
dict-sql: Use sql_db_cache_new2
Aki Tuomi [Mon, 3 Sep 2018 11:12:05 +0000 (14:12 +0300)]
lib-sql: Add sql_db_cache_new2 that uses the new sql_init_full initializer
Aki Tuomi [Sun, 2 Sep 2018 15:45:14 +0000 (18:45 +0300)]
driver-cassandra: Add init_full
Aki Tuomi [Sun, 2 Sep 2018 15:39:47 +0000 (18:39 +0300)]
driver-cassandra: Return error from connection string parser
Aki Tuomi [Tue, 4 Sep 2018 06:43:32 +0000 (09:43 +0300)]
driver-cassandra: Add driver_cassandra_free
Aki Tuomi [Sat, 1 Sep 2018 10:43:19 +0000 (13:43 +0300)]
driver-pgsql: Add init_full
Aki Tuomi [Tue, 4 Sep 2018 06:39:06 +0000 (09:39 +0300)]
driver-pgsql: Add driver_pgsql_free
Aki Tuomi [Fri, 31 Aug 2018 10:29:56 +0000 (13:29 +0300)]
driver-sqlite: Add init_full
Aki Tuomi [Mon, 3 Sep 2018 09:17:40 +0000 (12:17 +0300)]
driver-mysql: Add init_full
Aki Tuomi [Fri, 31 Aug 2018 11:07:44 +0000 (14:07 +0300)]
driver-mysql: Allocate mysql connection ourselves
This allows reusing the same mysql object on reconnect,
and simplifies cleanup in case initialization fails.
Aki Tuomi [Mon, 3 Sep 2018 09:15:55 +0000 (12:15 +0300)]
driver-mysql: Return error in connection string parser
Aki Tuomi [Thu, 30 Aug 2018 11:17:13 +0000 (14:17 +0300)]
driver-sqlpool: Add driver_sqlpool_init_full
Needed by SQL API change
Aki Tuomi [Fri, 31 Aug 2018 09:43:11 +0000 (12:43 +0300)]
driver-sqlpool: Use init_full when available
Aki Tuomi [Thu, 30 Aug 2018 11:18:41 +0000 (14:18 +0300)]
lib-sql: Add init_full vfunction
Aki Tuomi [Fri, 31 Aug 2018 10:07:03 +0000 (13:07 +0300)]
driver-sqlite: Whitespace fix
Aki Tuomi [Fri, 31 Aug 2018 06:20:16 +0000 (09:20 +0300)]
auth: Add db_ prefix to sql in db-sql
Prevents clash with lib-sql
Martti Rannanjärvi [Tue, 11 Sep 2018 08:42:46 +0000 (11:42 +0300)]
util: Fix compile with tcpwrap
Timo Sirainen [Fri, 7 Sep 2018 08:19:43 +0000 (11:19 +0300)]
stats: Wait for clients to disconnect at shutdown
Timo Sirainen [Thu, 6 Sep 2018 14:04:00 +0000 (17:04 +0300)]
global: Replace MASTER_SERVICE_FLAG_SEND_STATS with _DONT_SEND_STATS
Most services want to send statistics, so it's better to reverse the flag
behavior. Mark the few services that don't want stats with
MASTER_SERVICE_FLAG_DONT_SEND_STATS.
Timo Sirainen [Thu, 6 Sep 2018 16:48:09 +0000 (19:48 +0300)]
master: Start service processes only after adding all service listeners
Otherwise the processes could try to connect to services that aren't being
listened on, causing errors. Especially stats-writer socket needs to be
available early on.
Martti Rannanjärvi [Wed, 5 Sep 2018 09:25:56 +0000 (12:25 +0300)]
lib: Test event category parent matching
Timo Sirainen [Fri, 31 Aug 2018 10:04:53 +0000 (13:04 +0300)]
lib: Fix matching parent categories in event filter
So far this hasn't caused problems, because parent events had been using
parent categories. However, if the parent category wasn't used by an event
or its parents, an event filter wouldn't have matched it.
Timo Sirainen [Wed, 29 Aug 2018 19:09:57 +0000 (22:09 +0300)]
lib-master, master: Initialize stats-client via environment variables
That way it's initialized before settings are read, and it can catch events
earlier. It also doesn't require all services to read settings if they
otherwise don't need them.
Timo Sirainen [Wed, 29 Aug 2018 17:43:22 +0000 (20:43 +0300)]
dns: Fix duration field in dns_worker_request_finished event
Phil Carmody [Wed, 29 Aug 2018 12:15:30 +0000 (15:15 +0300)]
lib-dns - struct member cleanup in dns_lookup
The index was never used anyway. Now we're using an alloconly pool,
there's no need for the dns_lookup to keep a freeable pointer to the
fields also int result.
Signed-off-by: Phil Carmody <phil@dovecot.fi>
Aki Tuomi [Tue, 28 Aug 2018 06:45:58 +0000 (09:45 +0300)]
lib-http: test-http-client-errors - Skip VERSION line in DNS reply
Otherwise we send extraneous results causing SIGPIPE crash.
Broken in
ddb9ead03f4cc7a2c61094e50803e07dfd590cb5
Aki Tuomi [Mon, 27 Aug 2018 11:16:46 +0000 (14:16 +0300)]
lib-dns: Always use dns_lookup_free
Ensures that all resources get free'd in single place,
Fixes memory leak and event double-unref.
Broken in
9ee82e3f660e6e072532283cad8668a578ac137d
Aki Tuomi [Mon, 27 Aug 2018 11:15:54 +0000 (14:15 +0300)]
lib-dns: Always allocate lookup
Simplifies next change
Aki Tuomi [Mon, 27 Aug 2018 11:14:50 +0000 (14:14 +0300)]
lib-dns: Use pooled memory with dns lookups
Simplifies memory management
Aki Tuomi [Fri, 24 Aug 2018 08:42:56 +0000 (11:42 +0300)]
lib-dns: Remove useless code
Found by scan-build
Aki Tuomi [Fri, 17 Aug 2018 11:27:52 +0000 (14:27 +0300)]
lib-http: Hook lib-http event to connection event
Aki Tuomi [Fri, 17 Aug 2018 08:33:18 +0000 (11:33 +0300)]
dns, lib-dns: Move to protocol v1.0
Aki Tuomi [Tue, 31 Jul 2018 09:51:54 +0000 (12:51 +0300)]
dns: Add event support
Aki Tuomi [Thu, 16 Aug 2018 07:32:38 +0000 (10:32 +0300)]
dns: Use connection.c
This enables processing multiple requests at a time.
Aki Tuomi [Thu, 2 Aug 2018 14:22:51 +0000 (17:22 +0300)]
lib: connection - Add and fix logging
Aki Tuomi [Thu, 2 Aug 2018 14:22:37 +0000 (17:22 +0300)]
lib: connection - Add event support
Aki Tuomi [Tue, 31 Jul 2018 09:52:19 +0000 (12:52 +0300)]
lib-dns: Add event support
Aki Tuomi [Tue, 31 Jul 2018 09:45:17 +0000 (12:45 +0300)]
lib-dns: Move calling callback to separate function
Simplifies next commit
Aki Tuomi [Fri, 17 Aug 2018 11:36:13 +0000 (14:36 +0300)]
lib-dns: Initialize lookup earlier
Aki Tuomi [Fri, 17 Aug 2018 07:55:39 +0000 (10:55 +0300)]
lib-dns: Compose final command in dns_client_lookup_common
Makes logging easier
Aki Tuomi [Thu, 16 Aug 2018 12:24:30 +0000 (15:24 +0300)]
lib-dns: Use connection with dns-client
Aki Tuomi [Fri, 17 Aug 2018 07:39:05 +0000 (10:39 +0300)]
lib: lib-event - Add inc_int to passthrough events
Was forgotten in
12927b843387b2a93fcf1d2e05df7c79af06e567
Aki Tuomi [Thu, 23 Aug 2018 11:58:44 +0000 (14:58 +0300)]
lib: Make io_loop_move_*(NULL) no-op
Martti Rannanjärvi [Tue, 28 Aug 2018 09:00:54 +0000 (12:00 +0300)]
lib: Use i_asserts() for NULL-checks in test_event_filter_inc_int()
This is so scan-build doesn't explore the assertations not holding and
create noise with that.
Martti Rannanjärvi [Mon, 27 Aug 2018 11:36:33 +0000 (14:36 +0300)]
lib: Add test for event_inc_int()
Timo Sirainen [Thu, 16 Aug 2018 09:27:06 +0000 (12:27 +0300)]
lib: test-event-filter - Test overriding parent fields
Timo Sirainen [Thu, 16 Aug 2018 09:17:38 +0000 (12:17 +0300)]
lib: Add event_field_clear() to allow clearing parent event's fields
Timo Sirainen [Wed, 15 Aug 2018 13:33:49 +0000 (16:33 +0300)]
lib: Add event_inc_int()
This can be useful when updating counter fields.
Martti Rannanjärvi [Tue, 31 Jul 2018 05:23:49 +0000 (08:23 +0300)]
lib: Add test for stats_dist_get_variance()
Martti Rannanjärvi [Mon, 20 Aug 2018 10:56:40 +0000 (13:56 +0300)]
lib,stats,dict: Make stats_dist_get_avg() return double
Timo Sirainen [Tue, 11 Sep 2018 07:10:13 +0000 (10:10 +0300)]
man, doveadm: Rename "mailbox cache compress" to "mailbox cache purge"
The "compress" word makes it sound like e.g. zlib compression. The "purge"
word is used for a similar behavior with mdbox purging.
Timo Sirainen [Sun, 29 Apr 2018 10:45:05 +0000 (13:45 +0300)]
doveadm: Add mailbox cache compress
Timo Sirainen [Sun, 29 Apr 2018 10:44:59 +0000 (13:44 +0300)]
lib-index: Add mail_cache_compress_forced()
Aki Tuomi [Wed, 19 Sep 2018 09:34:57 +0000 (12:34 +0300)]
doveadm-auth-server: Fix cmd_list output to use JSON
Fixes output for HTTP client
Aki Tuomi [Wed, 19 Sep 2018 09:27:50 +0000 (12:27 +0300)]
doveadm-auth-server: Do not use i_fatal on user listing error
Breaks error reporting to HTTP client
Timo Sirainen [Fri, 14 Sep 2018 10:19:16 +0000 (13:19 +0300)]
dict-client: Avoid excessive CPU usage while waiting commands to finish
client_dict_add_timeout() adds the timeout thinking that the dict no longer
has any work to do, so it can be freed soon. However, if other work is
added before that, the timeout just keeps getting called over and over
again. This is especially bad with the default idle timeout of 0.
Timo Sirainen [Fri, 6 Jul 2018 10:12:51 +0000 (13:12 +0300)]
login-proxy: Fix logging reason when kicking non-logged in connections
Use the same reason as for logged in connections.
Timo Sirainen [Mon, 6 Aug 2018 09:39:25 +0000 (12:39 +0300)]
imap: Fix command ambiguity checking with special plugins
If the tagged line is already sent, that command can't result in ambiguity
anymore.
A cleaner fix would be to add a new _WAIT_SYNC_OUTPUT state, but that
requires all the existing code to understand that new state correctly, so it
has a higher chance of breaking something. So at least for now don't add it.
Stephan Bosch [Thu, 13 Sep 2018 07:16:41 +0000 (09:16 +0200)]
lib-http: test-http-client-errors: Address another reliability issue in "peer reuse failure" test.
Stephan Bosch [Thu, 13 Sep 2018 18:44:22 +0000 (20:44 +0200)]
lib-http: response: Add convenience functions for status evaluation.
Stephan Bosch [Mon, 13 Aug 2018 17:23:31 +0000 (19:23 +0200)]
lib-http: test-http-client-errors: Make "peer reuse failure" test reliable.
It was highly timing-sensitive, since it required a particular error status to
be returned. Sometimes, it would yield a different error based on a
slightly different order of events, making the test fail. Such failures aren't
relevant though, since this regression test is about triggering a segfault that
used to occur.
Aki Tuomi [Wed, 8 Aug 2018 09:33:20 +0000 (12:33 +0300)]
auth: mycrypt - include crypt.h
Fixes crypt usage on glibc-2.28
Reported by Reuben Farrelly
Patch provided by Thore Bödecker
Timo Sirainen [Tue, 2 Oct 2018 07:22:11 +0000 (10:22 +0300)]
lib-master: ipc-client: Don't free command too early
When multiple replies were received by IPC only the final reply should free
the command. This may have caused e.g. "doveadm proxy list" to crash.
Broken by
435f0545b200767c25a5daee17cd6b4998d03710
Timo Sirainen [Thu, 5 Jul 2018 11:55:38 +0000 (14:55 +0300)]
director: Allow fully freeing user while waiting for IPC kick to finish
director_user_move_free() will now just free the IPC command, so this isn't
a problem anymore.