]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
6 years agomail-lua: Fix argument number checking for mailbox#sync
Aki Tuomi [Fri, 19 Oct 2018 10:54:34 +0000 (13:54 +0300)] 
mail-lua: Fix argument number checking for mailbox#sync

6 years agopush-notification-driver-lua: Perform garbage collection after transaction
Aki Tuomi [Fri, 19 Oct 2018 06:39:39 +0000 (09:39 +0300)] 
push-notification-driver-lua: Perform garbage collection after transaction

Ensure Lua releases resources here.

6 years agopush-notification-driver-ox: Convert to event based logging
Aki Tuomi [Mon, 15 Oct 2018 11:46:30 +0000 (14:46 +0300)] 
push-notification-driver-ox: Convert to event based logging

Also fixes the logging to be standard

6 years agopush-notification-driver-lua: Add events
Aki Tuomi [Mon, 15 Oct 2018 09:20:20 +0000 (12:20 +0300)] 
push-notification-driver-lua: Add events

6 years agopush-notification: Emit event on transaction end
Aki Tuomi [Mon, 15 Oct 2018 09:04:19 +0000 (12:04 +0300)] 
push-notification: Emit event on transaction end

6 years agopush-notification: Add event to push notification transaction
Aki Tuomi [Mon, 15 Oct 2018 09:03:58 +0000 (12:03 +0300)] 
push-notification: Add event to push notification transaction

6 years agopush-notification: Add event category
Aki Tuomi [Mon, 15 Oct 2018 08:55:41 +0000 (11:55 +0300)] 
push-notification: Add event category

6 years agolib-lua: Move __gc metamethod for event to userdata
Aki Tuomi [Fri, 19 Oct 2018 08:36:09 +0000 (11:36 +0300)] 
lib-lua: Move __gc metamethod for event to userdata

Compability for lua 5.1

6 years agomail-lua: Check number of arguments
Aki Tuomi [Thu, 18 Oct 2018 08:37:00 +0000 (11:37 +0300)] 
mail-lua: Check number of arguments

6 years agolib-lua: Add DLUA_REQUIRE_ARGS(s,x) and DLUA_REQUIRE_ARGS_IN(s,x,y)
Aki Tuomi [Thu, 18 Oct 2018 09:04:41 +0000 (12:04 +0300)] 
lib-lua: Add DLUA_REQUIRE_ARGS(s,x) and DLUA_REQUIRE_ARGS_IN(s,x,y)

First form requires that x arguments are provided for dlua script s.

Second form requires that at least x and at most y arguments are provided
for dlua script s

Automatically returns luaL_error.

6 years agomail-lua: Make flags optional for mailbox#sync
Aki Tuomi [Tue, 16 Oct 2018 08:35:45 +0000 (11:35 +0300)] 
mail-lua: Make flags optional for mailbox#sync

6 years agomail-lua: Make flags optional for user#mailbox
Aki Tuomi [Tue, 16 Oct 2018 08:34:23 +0000 (11:34 +0300)] 
mail-lua: Make flags optional for user#mailbox

6 years agomail-lua: Change mailbox#status API to varargs
Aki Tuomi [Tue, 16 Oct 2018 07:13:27 +0000 (10:13 +0300)] 
mail-lua: Change mailbox#status API to varargs

It's much easier to use this way

6 years agolib-lua: Check number of arguments
Aki Tuomi [Thu, 18 Oct 2018 09:31:27 +0000 (12:31 +0300)] 
lib-lua: Check number of arguments

6 years agolib-lua: Add flag manipulation functions
Aki Tuomi [Mon, 30 Jul 2018 10:12:47 +0000 (13:12 +0300)] 
lib-lua: Add flag manipulation functions

6 years agolib-lua: Add test for event framework
Aki Tuomi [Thu, 11 Oct 2018 16:50:06 +0000 (19:50 +0300)] 
lib-lua: Add test for event framework

6 years agolib-lua: Add event interface
Aki Tuomi [Thu, 11 Oct 2018 16:10:17 +0000 (19:10 +0300)] 
lib-lua: Add event interface

6 years agolib-lua: Add events to scripts
Aki Tuomi [Thu, 11 Oct 2018 14:06:00 +0000 (17:06 +0300)] 
lib-lua: Add events to scripts

6 years agolib-master: Fix test-event-stats
Aki Tuomi [Wed, 17 Oct 2018 16:44:31 +0000 (19:44 +0300)] 
lib-master: Fix test-event-stats

New stats uses gettimeofday that generated unpredictable values
for this test.

6 years agolib: event - Stop exporting ioloop time
Aki Tuomi [Wed, 17 Oct 2018 09:47:37 +0000 (12:47 +0300)] 
lib: event - Stop exporting ioloop time

It is not needed by stats process.

6 years agostats: Use duration field from events
Aki Tuomi [Tue, 16 Oct 2018 06:03:05 +0000 (09:03 +0300)] 
stats: Use duration field from events

6 years agolib: event - Record real duration
Aki Tuomi [Tue, 16 Oct 2018 05:52:49 +0000 (08:52 +0300)] 
lib: event - Record real duration

The old code only measured difference between successive
ioloop_time updates. The new code uses gettimeofday to
get current real time, making measurements accurate.

6 years agolib: event - Duplicate source_filename
Aki Tuomi [Tue, 16 Oct 2018 05:17:27 +0000 (08:17 +0300)] 
lib: event - Duplicate source_filename

Prevents crash on event leak when plugin that caused the leak
is unloaded.

6 years agolib: event - Rename tv_created as tv_created_ioloop
Aki Tuomi [Tue, 16 Oct 2018 13:11:23 +0000 (16:11 +0300)] 
lib: event - Rename tv_created as tv_created_ioloop

6 years agopush-notification: Resolve confusion about msg->seq
Aki Tuomi [Wed, 3 Oct 2018 09:00:55 +0000 (12:00 +0300)] 
push-notification: Resolve confusion about msg->seq

It's not the same seq what the mail has, but a sequence that
is used to find out UID for saved mails. So rename it to
save_idx and treat it accordingly. Note that save_idx is 0
based, and mail sequence is 1 based.

6 years agopush-notification-driver-lua: Include date from MessageAppend
Aki Tuomi [Fri, 28 Sep 2018 10:30:51 +0000 (13:30 +0300)] 
push-notification-driver-lua: Include date from MessageAppend

6 years agopush-notification-event-messageappend: Include date information parsed from headers
Aki Tuomi [Fri, 28 Sep 2018 10:30:01 +0000 (13:30 +0300)] 
push-notification-event-messageappend: Include date information parsed from headers

Consistency with MessageNew

6 years agopush-notification: Make sure txn messages are unique
Aki Tuomi [Fri, 28 Sep 2018 10:01:58 +0000 (13:01 +0300)] 
push-notification: Make sure txn messages are unique

save_count is not reliable as it's not incremented for events like
flag changes.

6 years agopush-notification-driver-lua: Always use DLUA_LOG_LABEL
Aki Tuomi [Thu, 27 Sep 2018 06:54:10 +0000 (09:54 +0300)] 
push-notification-driver-lua: Always use DLUA_LOG_LABEL

6 years agopush-notification-driver-lua: Properly register all events
Aki Tuomi [Thu, 27 Sep 2018 06:52:59 +0000 (09:52 +0300)] 
push-notification-driver-lua: Properly register all events

6 years agomail-lua: Fix gc code to push key first then value
Aki Tuomi [Tue, 25 Sep 2018 12:49:21 +0000 (15:49 +0300)] 
mail-lua: Fix gc code to push key first then value

Otherwise it uses nil as key, which makes no sense and leads to eventual crash.

6 years agopush-notification-driver-lua: tx begin pushed mail user not username
Aki Tuomi [Tue, 25 Sep 2018 11:09:55 +0000 (14:09 +0300)] 
push-notification-driver-lua: tx begin pushed mail user not username

6 years agopush-notification-driver-lua: Do not push user again
Aki Tuomi [Tue, 25 Sep 2018 11:09:28 +0000 (14:09 +0300)] 
push-notification-driver-lua: Do not push user again

User is already pushed in tx begin, and can be stored there into the context.

6 years agopush-notification-driver-lua: Move event push earlier
Aki Tuomi [Tue, 25 Sep 2018 11:08:59 +0000 (14:08 +0300)] 
push-notification-driver-lua: Move event push earlier

Simplifies code

6 years agomail-lua: Add deinit_pre function
Aki Tuomi [Tue, 25 Sep 2018 09:24:02 +0000 (12:24 +0300)] 
mail-lua: Add deinit_pre function

6 years agopush-notification-driver-lua: Reference mail user only if initialization is successful
Aki Tuomi [Mon, 24 Sep 2018 12:29:12 +0000 (15:29 +0300)] 
push-notification-driver-lua: Reference mail user only if initialization is successful

Will cause assert-crash otherwise if initialization fails

6 years agopush-notification-driver-lua: Fix symbol names
Aki Tuomi [Mon, 24 Sep 2018 12:24:19 +0000 (15:24 +0300)] 
push-notification-driver-lua: Fix symbol names

6 years agomail-lua: Deinit script after others
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

6 years agopush-notification-driver-lua: Use Lua references for context
Aki Tuomi [Mon, 24 Sep 2018 11:46:19 +0000 (14:46 +0300)] 
push-notification-driver-lua: Use Lua references for context

6 years agomail-lua: Implement mail_lua_plugin_get_script
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

6 years agoauth: db-lua - Remove unnecessary pushnil usage
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

6 years agopush-notification: Add lua driver
Aki Tuomi [Wed, 14 Mar 2018 17:42:42 +0000 (19:42 +0200)] 
push-notification: Add lua driver

6 years agomail-lua: Add Lua support plugin for mail storage
Aki Tuomi [Wed, 14 Mar 2018 17:07:53 +0000 (19:07 +0200)] 
mail-lua: Add Lua support plugin for mail storage

6 years agolib-lua: Add lua_pushboolean helper to push real booleans
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

6 years agopush-notification: Fix mailbox unsubscribe event
Aki Tuomi [Wed, 14 Mar 2018 18:05:29 +0000 (20:05 +0200)] 
push-notification: Fix mailbox unsubscribe event

Subscribe should be FALSE here.

6 years agopush-notification: Fix initializing push notification mailbox triggers
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.

6 years agodns: Remove duplicate event_unref() in dns_client_input_args()
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.

6 years agodns: Return the lookup error string to the querier
Martti Rannanjärvi [Wed, 29 Aug 2018 14:22:22 +0000 (17:22 +0300)] 
dns: Return the lookup error string to the querier

6 years agolib-dns: Set error_r in dns_client_connect() on failure
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

6 years agolib-dns: Remove DNS from the log messages now that it's in the prefix
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

6 years agolib-dns: Use dns(host): prefix instead of just host: in event
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

6 years agolib: Use basename of unix socket path as event log prefix
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.

6 years agolib: connection - Clarify logging of incoming connections
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.

6 years agolib: connection - Remove dead code
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.

6 years agoglobal: Don't try to send stats from unit tests
Timo Sirainen [Wed, 19 Sep 2018 09:41:39 +0000 (12:41 +0300)] 
global: Don't try to send stats from unit tests

6 years agodriver-sqlite: Fix crash and event leak in driver_sqlite_query_s()
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()

6 years agodriver-sqlite: Assign db in driver_sqlite_exec()
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.

6 years agolib-sql: Fix wrong sql_query_finished_event() success parameter use
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

6 years agodriver-sqlite: Don't give false out of memory errors
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.

6 years agodriver-sqlite: Add error to sql_query_finished event on error
Aki Tuomi [Wed, 12 Sep 2018 07:19:16 +0000 (10:19 +0300)] 
driver-sqlite: Add error to sql_query_finished event on error

6 years agodriver-pgsql: Add error to sql_query_finished if it fails
Aki Tuomi [Wed, 12 Sep 2018 07:18:48 +0000 (10:18 +0300)] 
driver-pgsql: Add error to sql_query_finished if it fails

6 years agodriver-cassandra: Add error to sql_query_finished event on error
Aki Tuomi [Wed, 12 Sep 2018 07:17:49 +0000 (10:17 +0300)] 
driver-cassandra: Add error to sql_query_finished event on error

6 years agolib-sql: Do not create event for old drivers
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

6 years agodriver-sqlpool: Only strdup error on error
Aki Tuomi [Wed, 5 Sep 2018 05:34:28 +0000 (08:34 +0300)] 
driver-sqlpool: Only strdup error on error

Satisfies static analyzers

6 years agodriver-sqlite: Document why rollback is called when commit fails
Aki Tuomi [Tue, 4 Sep 2018 17:30:12 +0000 (20:30 +0300)] 
driver-sqlite: Document why rollback is called when commit fails

6 years agodriver-cassandra: Add events
Aki Tuomi [Sun, 2 Sep 2018 16:14:17 +0000 (19:14 +0300)] 
driver-cassandra: Add events

6 years agodriver-pgsql: Add events
Aki Tuomi [Sat, 1 Sep 2018 10:50:27 +0000 (13:50 +0300)] 
driver-pgsql: Add events

6 years agodriver-sqlite: Add events
Aki Tuomi [Fri, 31 Aug 2018 10:30:11 +0000 (13:30 +0300)] 
driver-sqlite: Add events

6 years agodriver-mysql: Add events
Aki Tuomi [Fri, 31 Aug 2018 06:45:59 +0000 (09:45 +0300)] 
driver-mysql: Add events

6 years agodriver-sqlpool: Add events
Aki Tuomi [Fri, 31 Aug 2018 06:31:48 +0000 (09:31 +0300)] 
driver-sqlpool: Add events

6 years agolib-sql: Add events
Aki Tuomi [Thu, 30 Aug 2018 11:23:10 +0000 (14:23 +0300)] 
lib-sql: Add events

6 years agoauth: Use sql_init_full
Aki Tuomi [Mon, 3 Sep 2018 10:59:41 +0000 (13:59 +0300)] 
auth: Use sql_init_full

6 years agoglobal: Replace sql_db_cache_new with sql_db_cache_new2
Aki Tuomi [Tue, 4 Sep 2018 06:31:25 +0000 (09:31 +0300)] 
global: Replace sql_db_cache_new with sql_db_cache_new2

6 years agodict-sql: Use sql_db_cache_new2
Aki Tuomi [Mon, 3 Sep 2018 11:13:55 +0000 (14:13 +0300)] 
dict-sql: Use sql_db_cache_new2

6 years agolib-sql: Add sql_db_cache_new2 that uses the new sql_init_full initializer
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

6 years agodriver-cassandra: Add init_full
Aki Tuomi [Sun, 2 Sep 2018 15:45:14 +0000 (18:45 +0300)] 
driver-cassandra: Add init_full

6 years agodriver-cassandra: Return error from connection string parser
Aki Tuomi [Sun, 2 Sep 2018 15:39:47 +0000 (18:39 +0300)] 
driver-cassandra: Return error from connection string parser

6 years agodriver-cassandra: Add driver_cassandra_free
Aki Tuomi [Tue, 4 Sep 2018 06:43:32 +0000 (09:43 +0300)] 
driver-cassandra: Add driver_cassandra_free

6 years agodriver-pgsql: Add init_full
Aki Tuomi [Sat, 1 Sep 2018 10:43:19 +0000 (13:43 +0300)] 
driver-pgsql: Add init_full

6 years agodriver-pgsql: Add driver_pgsql_free
Aki Tuomi [Tue, 4 Sep 2018 06:39:06 +0000 (09:39 +0300)] 
driver-pgsql: Add driver_pgsql_free

6 years agodriver-sqlite: Add init_full
Aki Tuomi [Fri, 31 Aug 2018 10:29:56 +0000 (13:29 +0300)] 
driver-sqlite: Add init_full

6 years agodriver-mysql: Add init_full
Aki Tuomi [Mon, 3 Sep 2018 09:17:40 +0000 (12:17 +0300)] 
driver-mysql: Add init_full

6 years agodriver-mysql: Allocate mysql connection ourselves
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.

6 years agodriver-mysql: Return error in connection string parser
Aki Tuomi [Mon, 3 Sep 2018 09:15:55 +0000 (12:15 +0300)] 
driver-mysql: Return error in connection string parser

6 years agodriver-sqlpool: Add driver_sqlpool_init_full
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

6 years agodriver-sqlpool: Use init_full when available
Aki Tuomi [Fri, 31 Aug 2018 09:43:11 +0000 (12:43 +0300)] 
driver-sqlpool: Use init_full when available

6 years agolib-sql: Add init_full vfunction
Aki Tuomi [Thu, 30 Aug 2018 11:18:41 +0000 (14:18 +0300)] 
lib-sql: Add init_full vfunction

6 years agodriver-sqlite: Whitespace fix
Aki Tuomi [Fri, 31 Aug 2018 10:07:03 +0000 (13:07 +0300)] 
driver-sqlite: Whitespace fix

6 years agoauth: Add db_ prefix to sql in db-sql
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

6 years agoutil: Fix compile with tcpwrap
Martti Rannanjärvi [Tue, 11 Sep 2018 08:42:46 +0000 (11:42 +0300)] 
util: Fix compile with tcpwrap

6 years agostats: Wait for clients to disconnect at shutdown
Timo Sirainen [Fri, 7 Sep 2018 08:19:43 +0000 (11:19 +0300)] 
stats: Wait for clients to disconnect at shutdown

6 years agoglobal: Replace MASTER_SERVICE_FLAG_SEND_STATS with _DONT_SEND_STATS
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.

6 years agomaster: Start service processes only after adding all service listeners
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.

6 years agolib: Test event category parent matching
Martti Rannanjärvi [Wed, 5 Sep 2018 09:25:56 +0000 (12:25 +0300)] 
lib: Test event category parent matching

6 years agolib: Fix matching parent categories in event filter
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.

6 years agolib-master, master: Initialize stats-client via environment variables
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.

6 years agodns: Fix duration field in dns_worker_request_finished event
Timo Sirainen [Wed, 29 Aug 2018 17:43:22 +0000 (20:43 +0300)] 
dns: Fix duration field in dns_worker_request_finished event

6 years agolib-dns - struct member cleanup in dns_lookup
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>
6 years agolib-http: test-http-client-errors - Skip VERSION line in DNS reply
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

6 years agolib-dns: Always use dns_lookup_free
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