]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
4 years agolib-imap: Fix writing BODYSTRUCTURE for truncated multipart/ part
Timo Sirainen [Wed, 18 Nov 2020 18:48:11 +0000 (20:48 +0200)] 
lib-imap: Fix writing BODYSTRUCTURE for truncated multipart/ part

If the max nesting limit is reached, write the last part out as
application/octet-stream. The original content-type could be confusing
IMAP clients when they don't see any child parts.

4 years agolib-imap: Fix writing BODYSTRUCTURE for truncated message/rfc822 part
Timo Sirainen [Wed, 18 Nov 2020 16:55:34 +0000 (18:55 +0200)] 
lib-imap: Fix writing BODYSTRUCTURE for truncated message/rfc822 part

If the max nesting limit is reached, write the last part out as
application/octet-stream instead of dummy message/rfc822.

Fixes error while parsing BODYSTRUCTURE:
message_part message/rfc822 flag doesn't match BODYSTRUCTURE

4 years agoNEWS: Add news for 2.3.13
Aki Tuomi [Sat, 12 Dec 2020 15:39:54 +0000 (17:39 +0200)] 
NEWS: Add news for 2.3.13

4 years agolib-imap: Don't generate invalid BODYSTRUCTURE when reaching MIME part limit
Timo Sirainen [Fri, 11 Sep 2020 07:57:51 +0000 (10:57 +0300)] 
lib-imap: Don't generate invalid BODYSTRUCTURE when reaching MIME part limit

If the last MIME part was message/rfc822 and its child was truncated away,
BODYSTRUCTURE was missing the ENVELOPE and BODY[STRUCTURE] parts. Fixed by
writing empty dummy ones.

4 years agolib-mail: message-parser - Fix assert-crash when enforcing MIME part limit
Timo Sirainen [Fri, 11 Sep 2020 06:53:03 +0000 (09:53 +0300)] 
lib-mail: message-parser - Fix assert-crash when enforcing MIME part limit

The limit could have been exceeded with message/rfc822 parts.

4 years agoimap: Add unit test for imap-client-hibernate
Timo Sirainen [Mon, 24 Aug 2020 16:12:21 +0000 (19:12 +0300)] 
imap: Add unit test for imap-client-hibernate

4 years agoimap: imap_client_hibernate() - Return reason string on failure
Timo Sirainen [Mon, 24 Aug 2020 16:10:43 +0000 (19:10 +0300)] 
imap: imap_client_hibernate() - Return reason string on failure

This helps writing a unit test for it.

4 years agoimap: Delay initializing client IO until client_create_finish()
Timo Sirainen [Mon, 24 Aug 2020 16:10:10 +0000 (19:10 +0300)] 
imap: Delay initializing client IO until client_create_finish()

This helps writing unit tests.

4 years agoimap: Fix crash if imap-hibernate socket can't be connected to
Timo Sirainen [Mon, 24 Aug 2020 13:58:16 +0000 (16:58 +0300)] 
imap: Fix crash if imap-hibernate socket can't be connected to

The error was supposed to be returned to caller, not logged directly.

4 years agoimap: Escape tag when sending it to imap-hibernate process
Timo Sirainen [Mon, 17 Aug 2020 15:33:20 +0000 (18:33 +0300)] 
imap: Escape tag when sending it to imap-hibernate process

4 years agolib-imap: Add imap_parser_client_read_tag()
Timo Sirainen [Mon, 17 Aug 2020 15:26:01 +0000 (18:26 +0300)] 
lib-imap: Add imap_parser_client_read_tag()

4 years agoimap-login: Use imap_parser_read_tag() and _read_command_name()
Timo Sirainen [Mon, 17 Aug 2020 15:22:42 +0000 (18:22 +0300)] 
imap-login: Use imap_parser_read_tag() and _read_command_name()

4 years agoimap-login: Split off client_invalid_command()
Timo Sirainen [Mon, 17 Aug 2020 15:15:35 +0000 (18:15 +0300)] 
imap-login: Split off client_invalid_command()

4 years agoimap: Use imap_parser_read_tag() and _read_command_name()
Timo Sirainen [Mon, 17 Aug 2020 15:11:36 +0000 (18:11 +0300)] 
imap: Use imap_parser_read_tag() and _read_command_name()

4 years agoimap: Split off client_command_failed_early()
Timo Sirainen [Mon, 17 Aug 2020 14:59:19 +0000 (17:59 +0300)] 
imap: Split off client_command_failed_early()

4 years agolib-imap: Add imap_parser_read_tag() and _read_command_name()
Timo Sirainen [Mon, 17 Aug 2020 14:32:11 +0000 (17:32 +0300)] 
lib-imap: Add imap_parser_read_tag() and _read_command_name()

4 years agolib-master: Add 5 second timeout when waiting for stats-writer handshake
Timo Sirainen [Wed, 11 Mar 2020 12:36:10 +0000 (14:36 +0200)] 
lib-master: Add 5 second timeout when waiting for stats-writer handshake

Previously the wait was infinite and nothing was logged, making it difficult
to know that the problem is with a hanging stats process.

4 years agolib-master, stats: Fix sending and parsing UPDATE commands
Timo Sirainen [Tue, 22 Dec 2020 08:22:38 +0000 (10:22 +0200)] 
lib-master, stats: Fix sending and parsing UPDATE commands

These commands were parsed completely wrong, resulting in errors like:

Client sent invalid input for UPDATE: Invalid tv_created: Invalid timeval microseconds parameter

4 years agolib-lua: Install libdovecot-lua binaries
Josef 'Jeff' Sipek [Thu, 3 Dec 2020 15:21:47 +0000 (10:21 -0500)] 
lib-lua: Install libdovecot-lua binaries

This turns this into a full-fledged library.  This addresses the issue where
libdovecot-lua is completely included in anything that uses it, which caused
unnecessarily bloat and could have caused linker problems with multiple
definitions of the same symbol.

4 years agolib-storage: Split off the mail user lua code
Josef 'Jeff' Sipek [Tue, 1 Dec 2020 17:16:04 +0000 (12:16 -0500)] 
lib-storage: Split off the mail user lua code

Move the code into a separate file to mirror the native C code layout.

4 years agolib-storage: Split off the mailbox attribute lua code
Josef 'Jeff' Sipek [Tue, 1 Dec 2020 17:13:31 +0000 (12:13 -0500)] 
lib-storage: Split off the mailbox attribute lua code

Move the code into a separate file to mirror the native C code layout.

4 years agolib-storage: Split off the struct mailbox lua code
Josef 'Jeff' Sipek [Tue, 1 Dec 2020 17:05:59 +0000 (12:05 -0500)] 
lib-storage: Split off the struct mailbox lua code

Move the code into a separate file to mirror the native C code layout.

4 years agolib-storage: Split off the struct mail lua code
Josef 'Jeff' Sipek [Tue, 1 Dec 2020 16:47:26 +0000 (11:47 -0500)] 
lib-storage: Split off the struct mail lua code

Move the code into a separate file to mirror the native C code layout.

4 years agolib-storage: Move storage related lua code into libdovecot-storage-lua.la
Josef 'Jeff' Sipek [Tue, 1 Dec 2020 16:14:02 +0000 (11:14 -0500)] 
lib-storage: Move storage related lua code into libdovecot-storage-lua.la

This keeps all the storage code in one place.

4 years agoauth: db-lua - Fix invalid stack empty check
Marvin W [Mon, 16 Nov 2020 19:55:14 +0000 (20:55 +0100)] 
auth: db-lua - Fix invalid stack empty check

3e11b97 introduced assertions to ensure the lua stack is empty after
execution.  In auth_lua_call_password_verify() this check was inserted
*before* popping the error message from the stack, ultimately causing the
assertion to fail every time the lua script has a runtime error, leading to
process crashing.

4 years agolib-storage: Remove cydir storage format support
Josef 'Jeff' Sipek [Fri, 6 Mar 2020 13:45:47 +0000 (15:45 +0200)] 
lib-storage: Remove cydir storage format support

4 years agolib-storage: Fix potential assert-crash fetching BODY[STRUCTURE] when mail's size...
Timo Sirainen [Fri, 11 Oct 2019 11:53:26 +0000 (14:53 +0300)] 
lib-storage: Fix potential assert-crash fetching BODY[STRUCTURE] when mail's size is cached wrong

This happened only after mail's size was detected to be different than the
mail's cached size.

Fixes:
Panic: file index-mail.c: line 1140 (index_mail_parse_body_finish): assertion failed: (mail->data.parts != NULL)

4 years agoplugins: Remove expire plugin
Josef 'Jeff' Sipek [Wed, 9 Dec 2020 14:42:19 +0000 (09:42 -0500)] 
plugins: Remove expire plugin

The autoexpunge functionality should be used instead.

4 years agoplugins: Remove mail-filter plugin
Josef 'Jeff' Sipek [Wed, 9 Dec 2020 14:20:54 +0000 (09:20 -0500)] 
plugins: Remove mail-filter plugin

4 years agoplugins: Remove snarf plugin
Josef 'Jeff' Sipek [Wed, 9 Dec 2020 14:32:29 +0000 (09:32 -0500)] 
plugins: Remove snarf plugin

4 years agoplugins: Remove autocreate plugin
Josef 'Jeff' Sipek [Wed, 9 Dec 2020 14:50:10 +0000 (09:50 -0500)] 
plugins: Remove autocreate plugin

Automatic mailbox creation should be done via the autocreate namespace
option.

4 years agolib-lua: Stop sharing lua states based on the script file name
Josef 'Jeff' Sipek [Fri, 11 Dec 2020 16:05:50 +0000 (11:05 -0500)] 
lib-lua: Stop sharing lua states based on the script file name

Instead of all instances of the same lua script sharing the same stack and
globals, make them completely separate instances.  Removing this
optimization will make support of yielding possible.

4 years agolib-lua: Use lua_register() instead of open-coding it
Josef 'Jeff' Sipek [Fri, 11 Dec 2020 16:22:44 +0000 (11:22 -0500)] 
lib-lua: Use lua_register() instead of open-coding it

4 years agoNEWS: Add NEWS for 2.3.11.3
Aki Tuomi [Wed, 29 Jul 2020 08:28:50 +0000 (11:28 +0300)] 
NEWS: Add NEWS for 2.3.11.3

4 years agoNEWS: Add NEWS for 2.3.11.2
Aki Tuomi [Tue, 28 Jul 2020 08:02:06 +0000 (11:02 +0300)] 
NEWS: Add NEWS for 2.3.11.2

4 years agoNEWS: Add news for 2.3.11
Aki Tuomi [Tue, 30 Jun 2020 08:50:26 +0000 (11:50 +0300)] 
NEWS: Add news for 2.3.11

4 years agoman: doveadm-proxy - Minor fixes to doveadm proxy kick
Timo Sirainen [Thu, 10 Dec 2020 18:31:28 +0000 (19:31 +0100)] 
man: doveadm-proxy - Minor fixes to doveadm proxy kick

4 years agolib: test-file-cache - Assert map is not null before memcmp
Aki Tuomi [Wed, 9 Dec 2020 07:43:42 +0000 (09:43 +0200)] 
lib: test-file-cache - Assert map is not null before memcmp

4 years agolib-mail: test-message-search - Assert ret
Aki Tuomi [Tue, 8 Dec 2020 07:51:30 +0000 (09:51 +0200)] 
lib-mail: test-message-search - Assert ret

Found by static analysis

4 years agolib-mail: test-message-search - Assert that found value is not NULL
Aki Tuomi [Tue, 8 Dec 2020 07:45:20 +0000 (09:45 +0200)] 
lib-mail: test-message-search - Assert that found value is not NULL

Satisfies static analysers

4 years agolib-mail: test-message-decoder - Assert ret
Aki Tuomi [Tue, 8 Dec 2020 07:42:13 +0000 (09:42 +0200)] 
lib-mail: test-message-decoder - Assert ret

Found by static analysis

4 years agolib-storage: Fix potential assert-crash when fetching body snippet
Timo Sirainen [Mon, 30 Nov 2020 20:10:28 +0000 (22:10 +0200)] 
lib-storage: Fix potential assert-crash when fetching body snippet

This happened only in a rather special condition. Added unit test to
reproduce it.

Fixes:
Panic: file message-part-data.c: line 28 (message_part_data_is_plain_7bit): assertion failed: (data != NULL)

4 years agolib-storage: Fix potential assert-crash when adding missing attachment flags
Timo Sirainen [Mon, 30 Nov 2020 18:37:46 +0000 (20:37 +0200)] 
lib-storage: Fix potential assert-crash when adding missing attachment flags

This happened only in a rather special condition. Added unit test to
reproduce it.

Fixes:
Panic: file index-mail-headers.c: line 298 (index_mail_parse_header): assertion failed: (part != NULL)

4 years agolib-dcrypt: istream-decrypt - Assert that max_buffer_size > 0
Timo Sirainen [Mon, 7 Dec 2020 11:09:50 +0000 (13:09 +0200)] 
lib-dcrypt: istream-decrypt - Assert that max_buffer_size > 0

Otherwise all reads return -2, which will just result in assert-crash in
i_stream_read().

4 years agolib: istream-error - Set max_buffer_size
Timo Sirainen [Mon, 7 Dec 2020 11:07:35 +0000 (13:07 +0200)] 
lib: istream-error - Set max_buffer_size

Although nothing is actually read from the stream, some filter istreams
don't behave properly with max_buffer_size=0. Currently at least
istream-decrypt returns -2 for reads instead of -1.

Fixes:
Panic: file istream.c: line 320 (i_stream_read_memarea): assertion failed: (_stream->skip != _stream->pos)

4 years agolib-storage: test_mail_storage_deinit() - Don't try to clear freed memory
Timo Sirainen [Mon, 7 Dec 2020 10:40:22 +0000 (12:40 +0200)] 
lib-storage: test_mail_storage_deinit() - Don't try to clear freed memory

ctx was already freed. Trying to memset() into it will just result in
writing to already freed memory.

4 years agolib-oauth2: test-oauth2-jwt - Add tests for HS384 and HS512
Aki Tuomi [Thu, 3 Dec 2020 14:37:55 +0000 (16:37 +0200)] 
lib-oauth2: test-oauth2-jwt - Add tests for HS384 and HS512

4 years agolib-oauth2: Fix whitespace in test-oauth2-jwt.c
Aki Tuomi [Wed, 2 Dec 2020 11:37:05 +0000 (13:37 +0200)] 
lib-oauth2: Fix whitespace in test-oauth2-jwt.c

4 years agolib: test-hmac - Add tests for hmac sha384
Aki Tuomi [Wed, 2 Dec 2020 12:54:05 +0000 (14:54 +0200)] 
lib: test-hmac - Add tests for hmac sha384

4 years agolib: test-hash-method - Add tests for sha2
Aki Tuomi [Wed, 2 Dec 2020 12:53:55 +0000 (14:53 +0200)] 
lib: test-hash-method - Add tests for sha2

4 years agolib: hash-method - Add sha384 support
Aki Tuomi [Wed, 2 Dec 2020 12:53:39 +0000 (14:53 +0200)] 
lib: hash-method - Add sha384 support

4 years agolib: Fix whitespace in sha2.c
Aki Tuomi [Wed, 2 Dec 2020 12:37:02 +0000 (14:37 +0200)] 
lib: Fix whitespace in sha2.c

4 years agolib: test-hmac - Add HMAC 512 test
Downtown Allday [Tue, 24 Nov 2020 15:20:05 +0000 (10:20 -0500)] 
lib: test-hmac - Add HMAC 512 test

4 years agolib: hmac - Support different hash algorithms
Aki Tuomi [Thu, 3 Dec 2020 14:33:06 +0000 (16:33 +0200)] 
lib: hmac - Support different hash algorithms

Code was hardcoded for MD4,MD5,SHA-1.

4 years agolib: hmac - Adjust HMAC_MAX_CONTEXT_SIZE to accommodate HMAC512
Downtown Allday [Tue, 24 Nov 2020 15:19:43 +0000 (10:19 -0500)] 
lib: hmac - Adjust HMAC_MAX_CONTEXT_SIZE to accommodate HMAC512

4 years agolib: hash-method - Add block size
Aki Tuomi [Thu, 3 Dec 2020 14:28:40 +0000 (16:28 +0200)] 
lib: hash-method - Add block size

This is needed for HMAC

4 years agolib: hash-method - Use named initializers
Aki Tuomi [Thu, 3 Dec 2020 14:24:52 +0000 (16:24 +0200)] 
lib: hash-method - Use named initializers

4 years agolib-oauth2: Remove unused include from oauth2.c.
Stephan Bosch [Fri, 5 Jun 2020 19:29:44 +0000 (21:29 +0200)] 
lib-oauth2: Remove unused include from oauth2.c.

4 years agolib-oauth2: Make oauth2_request_set_headers() static.
Stephan Bosch [Fri, 5 Jun 2020 19:16:58 +0000 (21:16 +0200)] 
lib-oauth2: Make oauth2_request_set_headers() static.

4 years agolib-oauth2: Rename oauth2_request_free_internal() to oauth2_request_free().
Stephan Bosch [Fri, 5 Jun 2020 19:13:39 +0000 (21:13 +0200)] 
lib-oauth2: Rename oauth2_request_free_internal() to oauth2_request_free().

And make it static.

4 years agolib-oauth2: Rename oauth2_parse_json() to oauth2_request_parse_json().
Stephan Bosch [Fri, 5 Jun 2020 19:06:30 +0000 (21:06 +0200)] 
lib-oauth2: Rename oauth2_parse_json() to oauth2_request_parse_json().

4 years agolib-oauth2: Move oauth2_request_set_headers() to oauth2-request.c.
Stephan Bosch [Fri, 5 Jun 2020 19:15:47 +0000 (21:15 +0200)] 
lib-oauth2: Move oauth2_request_set_headers() to oauth2-request.c.

4 years agolib-oauth2: Move oauth2_request_abort() to oauth2-request.c.
Stephan Bosch [Fri, 5 Jun 2020 19:11:20 +0000 (21:11 +0200)] 
lib-oauth2: Move oauth2_request_abort() to oauth2-request.c.

4 years agolib-oauth2: Move oauth2_request_free_internal() to oauth2-request.c.
Stephan Bosch [Fri, 5 Jun 2020 19:09:39 +0000 (21:09 +0200)] 
lib-oauth2: Move oauth2_request_free_internal() to oauth2-request.c.

4 years agolib-oauth2: Move oauth2_parse_json() to oauth2-request.c.
Stephan Bosch [Fri, 5 Jun 2020 19:00:03 +0000 (21:00 +0200)] 
lib-oauth2: Move oauth2_parse_json() to oauth2-request.c.

4 years agolib-oauth2: Reformat test-oauth2-jwt.c.
Stephan Bosch [Fri, 5 Jun 2020 18:51:34 +0000 (20:51 +0200)] 
lib-oauth2: Reformat test-oauth2-jwt.c.

4 years agolib-oauth2: Reformat oauth2-jwt.c.
Stephan Bosch [Fri, 5 Jun 2020 18:51:19 +0000 (20:51 +0200)] 
lib-oauth2: Reformat oauth2-jwt.c.

4 years agolib-oauth2: Reformat oauth2-key-cache.c.
Stephan Bosch [Fri, 5 Jun 2020 18:50:55 +0000 (20:50 +0200)] 
lib-oauth2: Reformat oauth2-key-cache.c.

4 years agolib-oauth2: Reformat oauth2-request.c.
Stephan Bosch [Fri, 5 Jun 2020 18:50:34 +0000 (20:50 +0200)] 
lib-oauth2: Reformat oauth2-request.c.

4 years agolib-oauth2: Reformat oauth2.c.
Stephan Bosch [Fri, 5 Jun 2020 18:49:34 +0000 (20:49 +0200)] 
lib-oauth2: Reformat oauth2.c.

4 years agolib-oauth2: Reformat oauth2-private.h.
Stephan Bosch [Fri, 5 Jun 2020 18:49:58 +0000 (20:49 +0200)] 
lib-oauth2: Reformat oauth2-private.h.

4 years agolib-oauth2: Reformat oauth2.h.
Stephan Bosch [Fri, 5 Jun 2020 18:49:09 +0000 (20:49 +0200)] 
lib-oauth2: Reformat oauth2.h.

4 years agoauth: db-oauth2 - Add consistent prefix for all error messages
Timo Sirainen [Tue, 26 May 2020 22:49:52 +0000 (01:49 +0300)] 
auth: db-oauth2 - Add consistent prefix for all error messages

4 years agoauth: db-oauth2 - Fix debug logging
Timo Sirainen [Tue, 26 May 2020 22:36:41 +0000 (01:36 +0300)] 
auth: db-oauth2 - Fix debug logging

Don't log a debug message when the callback is going to be logging
exactly the same message as info/error.

4 years agoauth: db-oauth2 - Call db_oauth2_lookup_continue_valid() after valid grant
Timo Sirainen [Tue, 26 May 2020 22:25:41 +0000 (01:25 +0300)] 
auth: db-oauth2 - Call db_oauth2_lookup_continue_valid() after valid grant

No need to check for error/validity again in db_oauth2_lookup_continue().

4 years agoauth: db-oauth2 - db_oauth2_lookup_continue() - Minor cleanup to avoid variables
Timo Sirainen [Tue, 26 May 2020 22:22:13 +0000 (01:22 +0300)] 
auth: db-oauth2 - db_oauth2_lookup_continue() - Minor cleanup to avoid variables

4 years agoauth: db-oauth2 - Split off db_oauth2_lookup_continue_valid()
Timo Sirainen [Tue, 26 May 2020 22:20:36 +0000 (01:20 +0300)] 
auth: db-oauth2 - Split off db_oauth2_lookup_continue_valid()

4 years agoauth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder error handling code flow
Timo Sirainen [Tue, 26 May 2020 22:03:44 +0000 (01:03 +0300)] 
auth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder error handling code flow

4 years agoauth: db-oauth2 - Improve "Internal error" message for grant lookups
Timo Sirainen [Tue, 26 May 2020 22:03:11 +0000 (01:03 +0300)] 
auth: db-oauth2 - Improve "Internal error" message for grant lookups

4 years agoauth: db-oauth2 - Add and use db_oauth2_field_find()
Timo Sirainen [Tue, 26 May 2020 21:59:49 +0000 (00:59 +0300)] 
auth: db-oauth2 - Add and use db_oauth2_field_find()

4 years agoauth: db-oauth2 - Don't set db_oauth2_request.token for grant lookups
Timo Sirainen [Tue, 26 May 2020 21:57:24 +0000 (00:57 +0300)] 
auth: db-oauth2 - Don't set db_oauth2_request.token for grant lookups

The grant lookup sets the token. There's no need to set it before that.

4 years agoauth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder code flow
Timo Sirainen [Tue, 26 May 2020 21:50:07 +0000 (00:50 +0300)] 
auth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder code flow

No behavioral changes.

4 years agoauth: db-oauth2 - Refactor "OAuth2 token missing from reply" code path
Timo Sirainen [Tue, 26 May 2020 21:44:16 +0000 (00:44 +0300)] 
auth: db-oauth2 - Refactor "OAuth2 token missing from reply" code path

It can be NULL only when coming from db_oauth2_lookup_passwd_grant(),
so handle it there.

4 years agoauth: db-oauth2 - db_oauth2_template_export() - Make var_expand() error handling...
Timo Sirainen [Tue, 26 May 2020 21:36:44 +0000 (00:36 +0300)] 
auth: db-oauth2 - db_oauth2_template_export() - Make var_expand() error handling consistent

Other var_expand() errors include the original string in the error message,
so this one should also.

4 years agolib-oauth2: Improve error message when server returns unexpected result
Timo Sirainen [Tue, 26 May 2020 21:30:45 +0000 (00:30 +0300)] 
lib-oauth2: Improve error message when server returns unexpected result

If the result isn't 2xx or 4xx, use the HTTP response message as the error
message.

4 years agolib-oauth2: Don't fail if oauth response payload is NULL
Timo Sirainen [Tue, 26 May 2020 21:27:15 +0000 (00:27 +0300)] 
lib-oauth2: Don't fail if oauth response payload is NULL

oauth2_parse_json() is happy with with empty payload (Content-Length: 0),
so it should be happy also when payload is NULL (Content-Length is missing).

4 years agolib-oauth2: Remove unused oauth2-passwd-grant.c
Timo Sirainen [Tue, 26 May 2020 21:21:24 +0000 (00:21 +0300)] 
lib-oauth2: Remove unused oauth2-passwd-grant.c

4 years agolib-oauth2, auth: Remove redundant oauth2_request_result.success
Timo Sirainen [Tue, 26 May 2020 21:19:42 +0000 (00:19 +0300)] 
lib-oauth2, auth: Remove redundant oauth2_request_result.success

success is the same as (error == NULL)

4 years agolib-oauth2: json_parsed_cb() - Remove redundant success parameter
Timo Sirainen [Tue, 26 May 2020 21:12:49 +0000 (00:12 +0300)] 
lib-oauth2: json_parsed_cb() - Remove redundant success parameter

success is the same as (error == NULL)

4 years agofs-compress: Use istream-decompress
Timo Sirainen [Thu, 1 Oct 2020 13:02:26 +0000 (16:02 +0300)] 
fs-compress: Use istream-decompress

4 years agolib-compression: Fix detecting if input is bzip2 compressed
Timo Sirainen [Thu, 1 Oct 2020 12:59:37 +0000 (15:59 +0300)] 
lib-compression: Fix detecting if input is bzip2 compressed

The detection was broken at least for empty bzip2 input.

4 years agolib-compression: Add istream-decompress
Timo Sirainen [Thu, 1 Oct 2020 12:36:08 +0000 (15:36 +0300)] 
lib-compression: Add istream-decompress

This stream detects the compression format and creates the proper istream
afterwards. This is more efficient than creating each compression istream
and using istream-try.

4 years agolib-storage: Add test-mail unit test
Timo Sirainen [Thu, 19 Nov 2020 15:50:22 +0000 (17:50 +0200)] 
lib-storage: Add test-mail unit test

Initially it just accesses the mail randomly.

4 years agomail-crypt: test-mail-crypt - Use test-mail-storage API
Timo Sirainen [Thu, 19 Nov 2020 13:56:17 +0000 (15:56 +0200)] 
mail-crypt: test-mail-crypt - Use test-mail-storage API

4 years agolib-storage: Add a public test-mail-storage-common.h API
Timo Sirainen [Thu, 19 Nov 2020 13:37:54 +0000 (15:37 +0200)] 
lib-storage: Add a public test-mail-storage-common.h API

Moved the public functions into test-mail-storage-common.c

4 years agolib-storage: test-mail-storage - Die on test_mail_init_user() failure
Timo Sirainen [Thu, 19 Nov 2020 14:13:53 +0000 (16:13 +0200)] 
lib-storage: test-mail-storage - Die on test_mail_init_user() failure

This way the caller won't need to do error handling. The errors were
being handled inconsistently.

4 years agolib-storage: test-mail-storage - Remove randomness from test home directory
Timo Sirainen [Thu, 19 Nov 2020 13:35:07 +0000 (15:35 +0200)] 
lib-storage: test-mail-storage - Remove randomness from test home directory

Also rename test_mail_storage_ctx.mail_home to home_root to better describe
it.

4 years agolib-storage: test-mail-storage - Change test_mail_init() to allocate the struct
Timo Sirainen [Thu, 19 Nov 2020 13:32:20 +0000 (15:32 +0200)] 
lib-storage: test-mail-storage - Change test_mail_init() to allocate the struct

4 years agolib-storage: test-mail-storage - Use settings struct for test_mail_init_user()
Timo Sirainen [Thu, 19 Nov 2020 13:29:01 +0000 (15:29 +0200)] 
lib-storage: test-mail-storage - Use settings struct for test_mail_init_user()

4 years agolib: i_stream_read() - Don't create empty snapshots
Timo Sirainen [Thu, 22 Oct 2020 09:22:40 +0000 (12:22 +0300)] 
lib: i_stream_read() - Don't create empty snapshots

This allows the read() implementation to read data into the existing
memarea. Otherwise a new memarea might have to be created because the old
one is referenced by the snapshot.