]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Thu, 29 Aug 2019 14:09:55 +0000 (17:09 +0300)]
lib-dcrypt: Only use compressed points with dovecot internal formats
Aki Tuomi [Thu, 29 Aug 2019 13:54:27 +0000 (16:54 +0300)]
lib-dcrypt: Implement dcrypt_ecdh_derive_secret for OpenSSL
Aki Tuomi [Thu, 29 Aug 2019 13:43:45 +0000 (16:43 +0300)]
lib-dcrypt: Move shared secret derivation to dcrypt_openssl_echd_derive_secret
Makes it possible to expose it on next commit.
Aki Tuomi [Thu, 29 Aug 2019 13:52:51 +0000 (16:52 +0300)]
lib-dcrypt: Add API for dcrypt_ecdh_derive_secret
Aki Tuomi [Thu, 29 Aug 2019 09:56:21 +0000 (12:56 +0300)]
lib-dcrypt: Return value from RSA_set0_crt_params
Aki Tuomi [Thu, 29 Aug 2019 09:52:46 +0000 (12:52 +0300)]
lib-dcrypt: Fix key format in raw & jwk keys
It needs to be point compressed with named curve
Aki Tuomi [Thu, 29 Aug 2019 09:25:07 +0000 (12:25 +0300)]
lib-dcrypt: Use correct variables names in RSA_set0_key
Broken in
79e9ccdc4a536f3881ec2b9304020514d1f92590
Aki Tuomi [Thu, 29 Aug 2019 09:24:42 +0000 (12:24 +0300)]
lib-dcrypt: Use ERR_R_PASSED_NULL_PARAMETER
It's the correct error and exists for older OpenSSL
Added in
79e9ccdc4a536f3881ec2b9304020514d1f92590
Aki Tuomi [Tue, 27 Aug 2019 07:09:30 +0000 (10:09 +0300)]
lib-dcrypt: Fix memory leak in raw key test
Aki Tuomi [Mon, 23 Jan 2017 12:56:54 +0000 (14:56 +0200)]
lib-dcrypt: Add unit tests for changes
Aki Tuomi [Mon, 23 Jan 2017 12:56:38 +0000 (14:56 +0200)]
dcrypt-openssl: Implement signature API for OpenSSL
Aki Tuomi [Mon, 23 Jan 2017 15:40:01 +0000 (17:40 +0200)]
lib-dcrypt: Add padding parameter for RSA encrypt/decrypt
Aki Tuomi [Mon, 23 Jan 2017 12:56:27 +0000 (14:56 +0200)]
lib-dcrypt: Add signature API
Aki Tuomi [Fri, 23 Aug 2019 09:34:54 +0000 (12:34 +0300)]
lib-dcrypt: Unit test for JWK keys
Aki Tuomi [Wed, 21 Aug 2019 13:16:22 +0000 (16:16 +0300)]
lib-dcrypt: Add JWK key format support
Aki Tuomi [Fri, 23 Aug 2019 08:51:45 +0000 (11:51 +0300)]
lib-dcrypt: Implement usage and key ID accessors for openssl
Aki Tuomi [Fri, 23 Aug 2019 07:42:09 +0000 (10:42 +0300)]
lib-dcrypt: Add key usage and id
These can be used for e.g. JWK keys.
Aki Tuomi [Fri, 23 Aug 2019 08:51:21 +0000 (11:51 +0300)]
lib-dcrypt: Add key id and usage fields to dcrypt keys
Simplifies next change
Aki Tuomi [Fri, 23 Aug 2019 09:27:23 +0000 (12:27 +0300)]
lib-dcrypt: Make key unref with NULL no-op
Aki Tuomi [Thu, 22 Aug 2019 11:28:17 +0000 (14:28 +0300)]
doveadm: Do not call dcrypt_deinitialize
It can break openssl
Aki Tuomi [Thu, 22 Aug 2019 10:58:52 +0000 (13:58 +0300)]
lib-dcrypt: Clarify when dcrypt_deinitialize is to be used
It should never be called if it's going to be used later on.
Aki Tuomi [Wed, 21 Aug 2019 13:15:57 +0000 (16:15 +0300)]
m4: Check if some RSA key manipulators are present
Needed for JWK
Aki Tuomi [Thu, 22 Aug 2019 15:43:11 +0000 (18:43 +0300)]
lib: hmac - Add hkdf for key derivation
Aki Tuomi [Sun, 25 Aug 2019 17:55:24 +0000 (20:55 +0300)]
lib-dcrypt: Use BN_secure_new when available for secrets
Aki Tuomi [Sun, 25 Aug 2019 17:54:12 +0000 (20:54 +0300)]
m4: Check for BN_secure_new
Aki Tuomi [Wed, 21 Aug 2019 10:26:29 +0000 (13:26 +0300)]
lib-dcrypt: Implement dcrypt_key_get_curve_public using openssl
Aki Tuomi [Wed, 21 Aug 2019 10:25:33 +0000 (13:25 +0300)]
lib-dcrypt: Add dcrypt_key_get_curve_public
Returns name of the curve of public key
Aki Tuomi [Mon, 19 Aug 2019 19:40:02 +0000 (22:40 +0300)]
lib-dcrypt: Add tests for raw keys
Aki Tuomi [Mon, 19 Aug 2019 11:39:05 +0000 (14:39 +0300)]
lib-dcrypt: Implement raw key API using OpenSSL
Aki Tuomi [Mon, 19 Aug 2019 11:20:47 +0000 (14:20 +0300)]
lib-dcrypt: Add API for dealing with raw keys
Aki Tuomi [Fri, 23 Aug 2019 16:39:16 +0000 (19:39 +0300)]
lib-dcrypt: Fix i2d_ASN1_OBJECT usage
i2d_ASN1_OBJECT tells how much memory we need.
Aki Tuomi [Fri, 23 Aug 2019 10:48:03 +0000 (13:48 +0300)]
lib-dcrypt: Symbolize maximum OID length
Aki Tuomi [Fri, 23 Aug 2019 10:46:33 +0000 (13:46 +0300)]
lib-dcrypt: Use len instead of ln
Timo Sirainen [Mon, 19 Aug 2019 09:11:59 +0000 (12:11 +0300)]
lib-http: Make http_client_request_delay_from_response() public
Timo Sirainen [Fri, 16 Aug 2019 19:07:51 +0000 (22:07 +0300)]
push-notification: Allow easy access to Message-ID header
Stephan Bosch [Tue, 12 Mar 2019 22:23:35 +0000 (23:23 +0100)]
lib-lda: mail-deliver - Emit events at start and finish of delivery.
Stephan Bosch [Sun, 10 Mar 2019 12:08:34 +0000 (13:08 +0100)]
lib-lda: Replace i_warning() with e_warning().
Stephan Bosch [Sun, 10 Mar 2019 12:01:08 +0000 (13:01 +0100)]
lib-lda: Replace i_info() with e_info().
Stephan Bosch [Sun, 10 Mar 2019 11:58:03 +0000 (12:58 +0100)]
lib-lda: Replace i_error() with e_error().
Stephan Bosch [Sun, 10 Mar 2019 09:53:51 +0000 (10:53 +0100)]
lib-lda: mail-deliver - Add message fields to the deliver event.
Stephan Bosch [Sun, 10 Mar 2019 11:13:10 +0000 (12:13 +0100)]
lib-lda: mail-deliver - Rename mail_deliver_cache to mail_deliver_fields.
Also make the fields public.
Stephan Bosch [Mon, 4 Mar 2019 00:15:47 +0000 (01:15 +0100)]
lda: Use LDA event as mail_*user's parent event.
Stephan Bosch [Mon, 4 Mar 2019 00:12:55 +0000 (01:12 +0100)]
lda: Add support for event API.
Stephan Bosch [Mon, 4 Mar 2019 00:08:21 +0000 (01:08 +0100)]
lda: Assign envelope fields in mail deliver context right away.
Stephan Bosch [Sun, 3 Mar 2019 23:30:27 +0000 (00:30 +0100)]
lmtp: lmtp-local - Use recipient event for mail delivery.
Stephan Bosch [Sun, 3 Mar 2019 23:28:42 +0000 (00:28 +0100)]
lib-lda: mail-deliver - Add support for event API.
Stephan Bosch [Wed, 27 Mar 2019 00:25:57 +0000 (01:25 +0100)]
lib-lda: Initialize/deinitialize mail_deliver_context in separate functions.
This changes the allocation of parsed SMTP addresses to initially use a
datastack pool rather than the mail_deliver context pool. This is necessary
because the context is created a bit later. Upon mail_deliver_init(), the
addresses are moved to the context pool.
Stephan Bosch [Sun, 31 Mar 2019 14:14:06 +0000 (16:14 +0200)]
lda: Move mail_deliver() invocation to a separate function.
Stephan Bosch [Mon, 4 Mar 2019 00:19:05 +0000 (01:19 +0100)]
lib-lda: mail-deliver - Split the mail_deliver() function to perform post-delivery cleanup in one place.
Stephan Bosch [Thu, 14 Mar 2019 23:14:05 +0000 (00:14 +0100)]
lib: str - Add str_replace().
Stephan Bosch [Thu, 14 Mar 2019 22:55:00 +0000 (23:55 +0100)]
lib: buffer - Add buffer_replace().
Stephan Bosch [Sun, 17 Mar 2019 23:52:37 +0000 (00:52 +0100)]
lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
Stephan Bosch [Thu, 5 Sep 2019 11:06:28 +0000 (13:06 +0200)]
lib: test-istream-base64-decoder - Make random test also test CRLF vs LF line endings at random.
Stephan Bosch [Thu, 5 Sep 2019 09:50:04 +0000 (11:50 +0200)]
lib: test-istream-base64-decoder - Add explicit test cases for decoding the empty string.
Stephan Bosch [Thu, 5 Sep 2019 09:45:02 +0000 (11:45 +0200)]
lib: test-base64 - Add explicit test cases for encoding/decoding the empty string.
Stephan Bosch [Thu, 5 Sep 2019 00:31:58 +0000 (02:31 +0200)]
lib: base64 - Add assertion preventing calling base64_encode_more() after base64_encode_finish().
Stephan Bosch [Wed, 4 Sep 2019 23:13:46 +0000 (01:13 +0200)]
lib: test-istream-base64-decoder - Reduce minimum random stream buffer size to 1.
Stephan Bosch [Wed, 4 Sep 2019 23:11:53 +0000 (01:11 +0200)]
lib: test-istream-base64-decoder - Abort random test at first error and print parameters.
Stephan Bosch [Wed, 4 Sep 2019 21:40:25 +0000 (23:40 +0200)]
lib: test-istream-base64-encoder - Fix test names.
Stephan Bosch [Wed, 4 Sep 2019 21:37:11 +0000 (23:37 +0200)]
lib: test-base64 - Abort random test at first error and print parameters.
Stephan Bosch [Wed, 4 Sep 2019 21:16:24 +0000 (23:16 +0200)]
lib: test-base64 - Test Base64 encoding with maximum line length of 1.
This corner case is a useful test for problems in the line encoding.
Stephan Bosch [Wed, 4 Sep 2019 20:52:00 +0000 (22:52 +0200)]
lib: test-base64 - Better check output of incrementally encoded random Base64.
Check whether it is equal to the same data encoded as a single block and whether
the length matches the base64_get_full_encoded_size() output.
Stephan Bosch [Wed, 4 Sep 2019 20:44:03 +0000 (22:44 +0200)]
lib: base64 - Fix incremental/streaming Base64 encoding with CRLF line endings.
Line lengths became inconsistent due to a design error. The encoding itself
remained valid. The linefeed is no longer appended to the write buffer when the
destination buffer is full. Rather, a flag is set that makes the encoder emit
the linefeed immediately next time the encoder is called with more buffer
space. Appending it to the write buffer was wrong; it in fact needs to be
prepended and in that case a flag is more efficient.
Stephan Bosch [Wed, 4 Sep 2019 23:17:55 +0000 (01:17 +0200)]
lib: base64 - Restructure base64_encode_get_size().
Stephan Bosch [Wed, 4 Sep 2019 20:23:25 +0000 (22:23 +0200)]
lib: base64 - Use unsigned size type for base64_get_full_encoded_size().
Makes more sense.
Stephan Bosch [Wed, 4 Sep 2019 16:34:30 +0000 (18:34 +0200)]
lib: base64 - Truly fix dest buffer assertion in base64_decode_more().
Previous fix was inadequate in the presence of padding at the end of input.
Stephan Bosch [Thu, 5 Sep 2019 12:21:53 +0000 (14:21 +0200)]
lib: test-istream-base64-decoder - Use unsigned int for bit field in random test.
Stephan Bosch [Wed, 4 Sep 2019 10:33:08 +0000 (12:33 +0200)]
lib: base64 - Fix dest buffer assertion in base64_decode_more().
The assertion is supposed to trigger when the encoder hits the buffer size limit
unexpectedly (src_pos_r==NULL means that all should be encoded at once). It
triggered erroneously when the destination buffer had the exact size needed
for the encoded data.
Stephan Bosch [Tue, 3 Sep 2019 19:45:35 +0000 (21:45 +0200)]
lib: test-istream-base64-decoder - Add extensive random base64 stream I/O unit test.
Stephan Bosch [Tue, 3 Sep 2019 19:44:55 +0000 (21:44 +0200)]
lib: istream-base64-encoder - Fix handling of error, EOF and stream buffer overflow conditions.
Stephan Bosch [Tue, 3 Sep 2019 19:43:31 +0000 (21:43 +0200)]
lib: istream-base64-decoder - Fix handling of error, EOF and stream buffer overflow conditions.
Stephan Bosch [Tue, 3 Sep 2019 16:37:57 +0000 (18:37 +0200)]
lib: base64 - Restructure encoder to always fill the output buffer as much as possible.
This is not strictly required, but makes the encoder easier to use in streams
and less bug-prone in incremental encoding applications in general.
Stephan Bosch [Tue, 3 Sep 2019 16:15:57 +0000 (18:15 +0200)]
lib: base64 - Allow encoding line endings one octet at a time.
Stephan Bosch [Tue, 3 Sep 2019 19:10:55 +0000 (21:10 +0200)]
lib: base64 - Add more w_buf_len assertions to encoder.
Stephan Bosch [Tue, 3 Sep 2019 19:04:20 +0000 (21:04 +0200)]
lib: base64 - Use sizeof() for determining the size of the encoder w_buf.
Stephan Bosch [Tue, 3 Sep 2019 10:22:16 +0000 (12:22 +0200)]
lib: base64 - Fix base64_get_full_encoded_size() for size 0.
Stephan Bosch [Mon, 2 Sep 2019 20:48:30 +0000 (22:48 +0200)]
lib: istream-base64-decoder - Use i_stream_try_alloc() properly.
Stephan Bosch [Mon, 2 Sep 2019 19:56:37 +0000 (21:56 +0200)]
lib: istream-base64-encoder - Use i_stream_try_alloc() properly.
Markus Valentin [Tue, 3 Sep 2019 12:38:17 +0000 (14:38 +0200)]
imap: previews/snippets requested with lazy update the caching decision
If lazy is true set the lookup_abort to NOT_IN_CACHE_START_CACHING
which results in the snippet field becoming wanted for caching.
Markus Valentin [Tue, 3 Sep 2019 12:33:03 +0000 (14:33 +0200)]
lib-storage: change caching decision for lazy requests in cache lookup
In case lookup_abort is set to NOT_IN_CACHE_START_CACHING update the
cacheing decision for the requested field.
Markus Valentin [Tue, 3 Sep 2019 12:30:15 +0000 (14:30 +0200)]
lib-storage: introduce MAIL_LOOKUP_ABORT_NOT_IN_CACHE_START_CACHING
In some cases we would like to mark an field as to be cached but still
don't fetch it now. For this occasions this change introduces a new enum
value for mail_lookup_abort which allows to implement such a behaviour.
Markus Valentin [Tue, 3 Sep 2019 12:16:41 +0000 (14:16 +0200)]
lib-index: move mail_cache_decision_add to public header
To allow other components to mark fields as to be cached move the
declaration from mail-cache-private.h to mail-cache.h.
Aki Tuomi [Mon, 2 Sep 2019 11:09:04 +0000 (14:09 +0300)]
lib-ssl-iostream: Remove problematic unit tests
These unit tests are unreliable with new versions of openssl
present in ubuntu 18 and debian buster.
Timo Sirainen [Sun, 1 Sep 2019 17:50:05 +0000 (20:50 +0300)]
auth: winbind - Make static analyzer happier
Stephan Bosch [Wed, 28 Aug 2019 21:21:31 +0000 (23:21 +0200)]
lib: base64 - Add high-level data and string encode functions with data stack buffer output.
Stephan Bosch [Wed, 28 Aug 2019 22:42:14 +0000 (00:42 +0200)]
lib: base64 - Add flags and max_line_size parameters to the new high-level encode functions.
Cannot change the API of existing functions.
Stephan Bosch [Wed, 28 Aug 2019 22:04:54 +0000 (00:04 +0200)]
lib: base64 - Add high-level data decode functions with data stack buffer output.
Similar functions accepting C string input already exist.
Stephan Bosch [Wed, 28 Aug 2019 21:34:54 +0000 (23:34 +0200)]
lib: base64 - Add flags parameters to the new high-level decode functions.
Cannot change the API of existing functions.
Stephan Bosch [Tue, 27 Aug 2019 23:21:01 +0000 (01:21 +0200)]
lib: base64 - Add BASE64_DECODE_FLAG_IGNORE_PADDING.
Makes padding optional rather than either disallowed or required.
Stephan Bosch [Tue, 27 Aug 2019 18:46:42 +0000 (20:46 +0200)]
lib: base64 - Reformat flag handling in base64_decode_more().
Stephan Bosch [Tue, 27 Aug 2019 18:37:40 +0000 (20:37 +0200)]
lib: base64 - Remove unused assignment.
Found by Clang scan-build.
Stephan Bosch [Fri, 17 May 2019 08:17:19 +0000 (10:17 +0200)]
lib: base64 - Add support for decoding without padding.
Stephan Bosch [Wed, 15 May 2019 13:36:18 +0000 (15:36 +0200)]
lib: base64 - Add support for encoding without padding.
Stephan Bosch [Tue, 2 Apr 2019 18:45:54 +0000 (20:45 +0200)]
lib: istream-base64-encoder - Use the new low-level incremental Base64 encoding API.
Stephan Bosch [Mon, 1 Apr 2019 23:49:57 +0000 (01:49 +0200)]
lib: base64 - Add support for adding line breaks to encoded output.
Stephan Bosch [Wed, 15 May 2019 08:09:01 +0000 (10:09 +0200)]
lib: base64 - Add base64_get_full_encoded_size().
Stephan Bosch [Sat, 30 Mar 2019 17:57:34 +0000 (18:57 +0100)]
lib: base64 - Add decode flag for prohibiting whitespace.
Stephan Bosch [Mon, 26 Aug 2019 11:09:30 +0000 (13:09 +0200)]
lib: base64 - Deprecate src_pos_r parameter of base64_decode().
Only NULL pointer is allowed. This allows using the new incremental API
internally, thereby dropping the old decoder implementation.
Stephan Bosch [Sat, 30 Mar 2019 18:12:39 +0000 (19:12 +0100)]
lib: istream-base64-decoder - Use the new low-level incremental Base64 decoding API.
Stephan Bosch [Sat, 30 Mar 2019 18:08:10 +0000 (19:08 +0100)]
lib: base64 - Properly implemenent incremental decoding.