]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Tue, 11 Feb 2020 09:18:53 +0000 (11:18 +0200)]
lib: var_expand*() - Return UNKNOWN_VARIABLE_x if %x is unknown
This was already done for %{long_keys}, just not for single letter keys.
Timo Sirainen [Mon, 6 Apr 2020 08:05:19 +0000 (11:05 +0300)]
dict: Remove "dict client: " log prefix
Almost all log messages from dict process would end up having this prefix.
Stephan Bosch [Thu, 19 Mar 2020 16:14:34 +0000 (17:14 +0100)]
lib-storage: index: imapc: Implement support for SAVEDATE attribute.
Stephan Bosch [Thu, 19 Mar 2020 15:16:03 +0000 (16:16 +0100)]
lib-imap-client: imapc-client - Recognize the new SAVEDATE capability.
Stephan Bosch [Thu, 19 Mar 2020 00:19:40 +0000 (01:19 +0100)]
imap: Implement the standard SAVEDATE capability.
Stephan Bosch [Thu, 19 Mar 2020 00:19:32 +0000 (01:19 +0100)]
lib-storage: mail-search - Add support for the SAVEDATESUPPORTED search item.
Stephan Bosch [Thu, 19 Mar 2020 00:04:53 +0000 (01:04 +0100)]
lib-storage: mail-storage - Change mail_get_save_date() to return 1 when result is reliable.
Aki Tuomi [Thu, 26 Mar 2020 11:14:05 +0000 (13:14 +0200)]
dict-sql: Pass dict event to lib-sql
Aki Tuomi [Tue, 10 Mar 2020 19:48:52 +0000 (21:48 +0200)]
dict: Add events
Aki Tuomi [Tue, 10 Mar 2020 08:31:19 +0000 (10:31 +0200)]
dict-client: Use event based logging
Aki Tuomi [Mon, 11 Jun 2018 13:35:25 +0000 (16:35 +0300)]
dict-redis: Use event based logging
Aki Tuomi [Mon, 11 Jun 2018 13:11:28 +0000 (16:11 +0300)]
dict-memcached: Use event based logging
Aki Tuomi [Mon, 11 Jun 2018 13:03:24 +0000 (16:03 +0300)]
dict-file: Use event based logging
Aki Tuomi [Mon, 11 Jun 2018 12:25:54 +0000 (15:25 +0300)]
lib-dict: Add named events
Aki Tuomi [Wed, 11 Mar 2020 12:59:05 +0000 (14:59 +0200)]
lib-dict: Add event support
Aki Tuomi [Mon, 11 Jun 2018 13:02:26 +0000 (16:02 +0300)]
dict-file: Move error logging higher up
Makes next commit easier.
Patrick Gansterer [Tue, 24 Mar 2020 19:34:17 +0000 (20:34 +0100)]
lib-oauth2: Fix possible timing attack in oauth2_validate_hmac()
Use mem_equals_timing_safe() instead of memcmp() to test the equality of the digest.
Aki Tuomi [Tue, 24 Mar 2020 09:49:07 +0000 (11:49 +0200)]
lib-dict: Add refcounting
This way we do not crash if lookup callback happens after caller
has already called dict_deinit. This is now done because
dict-sql does not support aborting SQL queries. This is hopefully
fixed in future.
Aki Tuomi [Mon, 2 Mar 2020 18:09:48 +0000 (20:09 +0200)]
lib-dict: Add async lookup/commit helpers
Simplifies following commits
Aki Tuomi [Tue, 10 Mar 2020 18:33:50 +0000 (20:33 +0200)]
lib-dict-backend: Use ioloop pointers in parent struct
Aki Tuomi [Tue, 10 Mar 2020 08:49:38 +0000 (10:49 +0200)]
lib-dict: Use ioloop pointers in parent struct
Juha-Petri Tyrkkö [Tue, 24 Mar 2020 11:19:21 +0000 (13:19 +0200)]
lib-dns: Remove superfluous client event and avoid duplicate client connection event unreferencing.
Stephan Bosch [Tue, 17 Mar 2020 08:41:10 +0000 (09:41 +0100)]
lib-smtp: smtp-server-command - Change log label for invalid/unknown command to "[unknown]".
Stephan Bosch [Mon, 16 Mar 2020 22:22:37 +0000 (23:22 +0100)]
lib-smtp: smtp-command-parser - Don't upper-case the parsed command name.
Stephan Bosch [Mon, 16 Mar 2020 21:01:14 +0000 (22:01 +0100)]
lib-smtp: smtp-server-command - Set cmd_name event field only for valid commands.
Set cmd_input_name for the user input.
Stephan Bosch [Tue, 17 Mar 2020 10:58:52 +0000 (11:58 +0100)]
lib-smtp: smtp-server-command - Assign cmd->reg immediately.
Timo Sirainen [Thu, 12 Mar 2020 10:58:11 +0000 (12:58 +0200)]
lib: ostream-file - Fix using sendfile() when input stream is ends unexpectedly early
Handle this the same as if writing was done without sendfile(), i.e. ignore
the problem and just return EOF in input stream early.
Timo Sirainen [Thu, 12 Mar 2020 10:57:41 +0000 (12:57 +0200)]
lib: safe_sendfile() - clarify return value 0 handling
Timo Sirainen [Tue, 24 Mar 2020 10:21:26 +0000 (12:21 +0200)]
global: Remove dead assignments
Found by latest clang scan-build.
Timo Sirainen [Tue, 24 Mar 2020 10:24:01 +0000 (12:24 +0200)]
stats, fts-solr: Tweak unit tests to make static analyzers happier
Timo Sirainen [Tue, 24 Mar 2020 15:51:57 +0000 (17:51 +0200)]
imap: SETMETADATA - Reorder if checks to remove unnecessary indenting
Nothing changes in the code logic.
Timo Sirainen [Tue, 24 Mar 2020 10:07:35 +0000 (12:07 +0200)]
imap: SETMETADATA - Cleanup istream return value checking
The old code seems to have worked correctly already, but now it's a bit
clearer how it was intended to work.
Timo Sirainen [Tue, 24 Mar 2020 09:59:23 +0000 (11:59 +0200)]
lib-oauth2: Add assert to make sure json_parse_next() doesn't think istream is nonblocking
Timo Sirainen [Tue, 24 Mar 2020 09:58:35 +0000 (11:58 +0200)]
imap: Add assert to make sure fd was successfully sent to imap-hibernate
Timo Sirainen [Tue, 1 Oct 2019 20:33:47 +0000 (23:33 +0300)]
lib-index: Don't rewrite dovecot.index if another process has already done it
This mainly happened when there were multiple sessions accessing the index
at the same time.
Timo Sirainen [Tue, 1 Oct 2019 16:12:10 +0000 (19:12 +0300)]
lib-index: Log a debug message with reason whenever recreating dovecot.index
Timo Sirainen [Tue, 1 Oct 2019 15:58:05 +0000 (18:58 +0300)]
lib-index: Change mail_index.need_recreate into a string
The string specifies the reason why the recreation is wanted.
Timo Sirainen [Tue, 1 Oct 2019 15:54:31 +0000 (18:54 +0300)]
lib-index: Change mail_transaction_log_file.need_rotate into a string
The string specifies the reason why the rotation is wanted.
Markus Valentin [Fri, 20 Mar 2020 14:57:12 +0000 (15:57 +0100)]
auth: Add session_id to default policy_request_attributes
Timo Sirainen [Mon, 16 Mar 2020 11:33:55 +0000 (13:33 +0200)]
imap: Fix SEARCH PARTIAL handling with other options
Especially SAVE and RELEVANCY should use only the partial results, not all
results.
Timo Sirainen [Mon, 16 Mar 2020 10:07:16 +0000 (12:07 +0200)]
imap: Fix SEARCH (MAX RELEVANCY) to return the relevancy
Timo Sirainen [Mon, 16 Mar 2020 09:50:38 +0000 (11:50 +0200)]
imap: Simplify SEARCH MIN and MAX result handling
Timo Sirainen [Fri, 13 Mar 2020 10:24:39 +0000 (12:24 +0200)]
imap: Fix using SEARCH RELEVANCY option with MIN/MAX
It should return only the one MIN/MAX mail's relevancy, not all of them.
Similarly the SEARCHRES $ should be updated only to the MIN/MAX mail, not
all mails.
Timo Sirainen [Fri, 13 Mar 2020 09:55:51 +0000 (11:55 +0200)]
imap: Fix using $ in a SEARCH that also uses SAVE, or fails with BAD
SEARCH RETURN (SAVE) $ cleared the $ instead of being a no-op.
Also using a SEARCH that returns BAD shouldn't have cleared $ (but NO
reply especially for BADCHARSET should clear it).
Timo Sirainen [Fri, 13 Mar 2020 09:38:57 +0000 (11:38 +0200)]
imap: Clear SEARCHRES $ after closing mailbox
$ shouldn't have been preserved after a mailbox was SELECTed.
Timo Sirainen [Fri, 13 Mar 2020 08:51:55 +0000 (10:51 +0200)]
lib-storage: mail_search_arg_init() - Remove support for changing uidset
This is done earlier now - there's no need to do it twice.
Timo Sirainen [Fri, 13 Mar 2020 08:50:18 +0000 (10:50 +0200)]
lib-storage: Fix using $ (IMAP SEARCHRES) in search seqset/uidset
Markus Valentin [Mon, 16 Mar 2020 18:56:42 +0000 (19:56 +0100)]
auth: userdb: Ensure changed username in auth worker gets updated in cache
If a username gets changed and auth cache is in use, auth-workers for
blocking userdb did not update the username in cache. This is now
fixed by setting user_changed_by_lookup in case the username changed.
Josef 'Jeff' Sipek [Tue, 17 Mar 2020 13:01:06 +0000 (09:01 -0400)]
configure.ac: Don't look for PRIuSIZE_T
We are using %zu instead.
Josef 'Jeff' Sipek [Tue, 17 Mar 2020 12:56:13 +0000 (08:56 -0400)]
global: use %zu directly instead of PRIuSIZE_T
Josef 'Jeff' Sipek [Wed, 11 Mar 2020 12:33:51 +0000 (14:33 +0200)]
lib-storage: Remove stub mail support
Nothing used them in the 3 years since they were introduced.
Timo Sirainen [Fri, 13 Mar 2020 09:30:01 +0000 (11:30 +0200)]
imap: Unknown SEARCH charset should return NO, not BAD
Josef 'Jeff' Sipek [Wed, 11 Mar 2020 11:29:33 +0000 (13:29 +0200)]
imap: Use "unknown" for cmd_name when the command name is not known
Josef 'Jeff' Sipek [Thu, 5 Mar 2020 13:22:53 +0000 (15:22 +0200)]
stats: Move group-by value and label getting code into helper functions
This avoids some excessive indentation.
Josef 'Jeff' Sipek [Thu, 5 Mar 2020 12:20:53 +0000 (07:20 -0500)]
stats: Add support for exponential stats group-by fxn
One can specify the quantization parameters in the config file as:
<field>:exponential:<min mag>:<max mag>:<base>
Currently, only base 2 and base 10 are supported.
For example:
group_by = bytes_out:exponential:1:4:10
Which will quantize the bytes_out values into the buckets: (-inf, 10],
(10,100], (100,1000], (1000, 10000], (10000, +inf).
Josef 'Jeff' Sipek [Wed, 19 Feb 2020 16:02:24 +0000 (11:02 -0500)]
stats: Add support for linear stats group-by fxn
One can specify the quantization parameters in the config file as:
<field>:linear:<min val>:<max val>:<step>
For example:
group_by = bytes_out:linear:0:1000:100
Which will quantize the bytes_out values into the buckets: (-inf, 0],
(0,100], (100,200], ... (900, 1000], (1000, +inf).
Josef 'Jeff' Sipek [Thu, 20 Feb 2020 19:19:29 +0000 (14:19 -0500)]
stats: Process 'duration' like any other metric value
This will allow the soon-to-be-added group-by quantization functions to work
on the duration value.
Josef 'Jeff' Sipek [Thu, 20 Feb 2020 19:18:32 +0000 (14:18 -0500)]
stats: Move event field stats distribution update into a helper function
Josef 'Jeff' Sipek [Tue, 18 Feb 2020 18:27:23 +0000 (13:27 -0500)]
stats: Use a switch instead of if/else-if
The compiler will then warn about unchecked enum values.
Josef 'Jeff' Sipek [Wed, 4 Mar 2020 11:34:06 +0000 (06:34 -0500)]
stats: Add support for explicit discrete group-by function
One can specify the function as:
<field>:discrete
This has the same exact behavior as the bare field name syntax before this
change.
For example, the following two lines have identical semantics:
group_by = cmd_name:discrete
group_by = cmd_name
Josef 'Jeff' Sipek [Wed, 4 Mar 2020 11:34:29 +0000 (06:34 -0500)]
stats: Rewrite group-by discrete test to be more thorough
This will also help with expanding the test in later commits.
Josef 'Jeff' Sipek [Fri, 28 Feb 2020 15:22:56 +0000 (10:22 -0500)]
stats: Move group by setting parsing earlier
Instead of doing the split and parsing in the metric code, we now do it in
the settings code. This makes the following commits much simpler.
Aki Tuomi [Thu, 12 Mar 2020 11:48:36 +0000 (13:48 +0200)]
lib-compression: test-compression - Fix test buffer size in partial write test
The buffer size does not match the amount of data filled.
Found by valgrind.
Aki Tuomi [Tue, 10 Mar 2020 19:16:46 +0000 (21:16 +0200)]
dict-ldap: Do not attempt to query if LDAP query building fails
Josef 'Jeff' Sipek [Tue, 10 Mar 2020 09:13:01 +0000 (05:13 -0400)]
plugins/fts: script parser - Properly determine the attachment extension
Josef 'Jeff' Sipek [Mon, 9 Mar 2020 13:52:37 +0000 (09:52 -0400)]
plugins/fts: Lower-case content types received from script parser
Later on during the execution, the script parser code does a strcmp() to
match the content type of the attachment with that returned by the script.
The content type from the mail is already lowercased.
Martti Rannanjärvi [Tue, 10 Mar 2020 11:03:52 +0000 (13:03 +0200)]
.gitignore: Fix bench-compression name
Josef 'Jeff' Sipek [Fri, 6 Mar 2020 13:46:41 +0000 (15:46 +0200)]
imapc: Use correct include guard in imapc-sync.h
Timo Sirainen [Sat, 7 Mar 2020 11:19:39 +0000 (13:19 +0200)]
lib: istream - Ignore unused i_stream_try_alloc() return values
Timo Sirainen [Sat, 7 Mar 2020 11:18:48 +0000 (13:18 +0200)]
lib: istream-base64-encoder - Check i_stream_try_alloc() return value
The previous check had identical behavior to this, but this makes static
analyzers happier.
Timo Sirainen [Wed, 4 Mar 2020 09:06:37 +0000 (11:06 +0200)]
auth: Invoke auth policy callback on URL parse errors
Otherwise logins will hang if auth_policy_server_url contains invalid URL.
Stephan Bosch [Tue, 25 Feb 2020 20:28:54 +0000 (21:28 +0100)]
dict: Initialize verbose proctitle immediately.
Stephan Bosch [Mon, 17 Feb 2020 23:06:53 +0000 (00:06 +0100)]
dict: Make proctitle more consistent and clear.
Timo Sirainen [Sat, 22 Feb 2020 10:20:58 +0000 (12:20 +0200)]
lib-smtp: smtp-server-reply - Don't add empty "enhanced_code" field to events
Aki Tuomi [Tue, 25 Feb 2020 10:07:38 +0000 (12:07 +0200)]
lib-compression: Add simple benchmark tool
Stephan Bosch [Thu, 5 Sep 2019 18:50:25 +0000 (20:50 +0200)]
lib-compression: test-compression - Add extensive random I/O tests.
Aki Tuomi [Thu, 31 Aug 2017 14:55:58 +0000 (17:55 +0300)]
lib-compression: test-compression - Add more unit tests
Ensure detection, seeking and small reads work
Aki Tuomi [Tue, 3 Mar 2020 11:11:59 +0000 (13:11 +0200)]
lib-compression: Fix usage of i_stream_stat
It was supposed to check that it succeeds, not fails.
Aki Tuomi [Tue, 25 Feb 2020 13:34:12 +0000 (15:34 +0200)]
lib-compression: ostream-lzma - Make sure finished stream is fully flushed
Aki Tuomi [Tue, 25 Feb 2020 13:33:59 +0000 (15:33 +0200)]
lib-compression: ostream-zlib - Fix write error handling
Aki Tuomi [Tue, 3 Mar 2020 11:21:21 +0000 (13:21 +0200)]
lib-compress: ostream-zlib - Make sure finished stream is fully flushed
Aki Tuomi [Tue, 25 Feb 2020 13:33:53 +0000 (15:33 +0200)]
lib-compression: ostream-bzlib2 - Fix write error handling
Aki Tuomi [Tue, 3 Mar 2020 11:22:11 +0000 (13:22 +0200)]
lib-compression: ostream-bzlib2 - Do not finish stream early
Flushing can happen when not finishing stream, so do not
finalize stream until it's the final flush.
Aki Tuomi [Fri, 15 Feb 2019 08:50:44 +0000 (10:50 +0200)]
lib-compression: istream-lzma - Handle read errors better
Aki Tuomi [Wed, 26 Feb 2020 10:57:06 +0000 (12:57 +0200)]
lib-compression: istream-lz4 - Refactor how chunk header is read
Chunk headers can sometime be at read borders. In this case more
data needs to be read. Fixes
Panic: file istream.c: line 333 (i_stream_read_memarea): assertion failed: (!stream->blocking)
Stephan Bosch [Sun, 13 Oct 2019 16:49:28 +0000 (18:49 +0200)]
lib-compression: istream-lz4 - Fix calling i_stream_read*() with a full buffer.
Before, this read and discarded one chunk of the compressed parent stream data,
causing data corruption. Fixed by checking whether the buffer is full first.
Aki Tuomi [Mon, 4 Sep 2017 07:18:37 +0000 (10:18 +0300)]
lib-compression: istream-lz4 - Fix problems in reading
If there is not enough data, the old code would break. Now it
can request more input and continue when it has enough.
Aki Tuomi [Tue, 16 May 2017 07:16:23 +0000 (10:16 +0300)]
lib-compression: Add ZSTD support
Aki Tuomi [Thu, 13 Feb 2020 10:51:56 +0000 (12:51 +0200)]
NEWS: Add news for 2.3.10
Aki Tuomi [Thu, 13 Feb 2020 10:54:45 +0000 (12:54 +0200)]
NEWS: Fix release date for 2.3.9.3
Timo Sirainen [Wed, 4 Mar 2020 18:39:21 +0000 (20:39 +0200)]
dict-client: Fix panic if iteration is deinitialized before it has finished
Fixes:
Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
Timo Sirainen [Wed, 4 Mar 2020 13:40:46 +0000 (15:40 +0200)]
lib-fs: Add fs_lookup_loaded_metadata()
Timo Sirainen [Wed, 4 Mar 2020 13:39:28 +0000 (15:39 +0200)]
lib-fs: Add flags parameter to fs_vfuncs.get_metadata()
Timo Sirainen [Wed, 4 Mar 2020 13:11:12 +0000 (15:11 +0200)]
lib-fs: Add fs_file_set_flags()
Timo Sirainen [Tue, 11 Feb 2020 12:41:05 +0000 (14:41 +0200)]
example-config: Warn about ssl_client_ca_file memory usage
Timo Sirainen [Thu, 27 Feb 2020 14:54:33 +0000 (16:54 +0200)]
dict-redis: Fix hangs caused by previous dict_wait() addition
Timo Sirainen [Wed, 15 Jan 2020 14:06:39 +0000 (16:06 +0200)]
lib-ssl-iostream: Handle buggy OpenSSL error handling without assert-crash
If OpenSSL returns a syscall failure but provides no error and doesn't set
errno, log it as an OpenSSL bug instead of assert-crashing.
Timo Sirainen [Tue, 25 Feb 2020 15:33:30 +0000 (17:33 +0200)]
lib-mail: message-snippet - Quoted text could have been wrongly added to the snippet
This happened when the mail was large enough that the parsing used multiple
blocks. Parsing the following blocks were adding text in quoted state to
the non-quoted snippet string.
Timo Sirainen [Tue, 25 Feb 2020 12:34:18 +0000 (14:34 +0200)]
lib-mail: message-snippet - Don't include trailing whitespace in snippet
Timo Sirainen [Tue, 25 Feb 2020 12:33:31 +0000 (14:33 +0200)]
lib-mail: message-snippet - Count '>' in quoted snippet towards max_snippet_chars