<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/test/endecode_api_test.c, branch master</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=master</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2026-08-27T14:18:19Z</updated>
<entry>
<title>Don't use BIO_snprintf as it is deprecated</title>
<updated>2026-08-27T14:18:19Z</updated>
<author>
<name>Norbert Pocs</name>
<email>norbertp@openssl.org</email>
</author>
<published>2026-08-27T14:17:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=99e44fd5676c8363325373f2811bbdd9364aacef'/>
<id>urn:sha1:99e44fd5676c8363325373f2811bbdd9364aacef</id>
<content type='text'>
Signed-off-by: Norbert Pocs &lt;norbertp@openssl.org&gt;
Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Thu Aug 27 14:35:30 2026
Merged-from: https://github.com/openssl/openssl/pull/32547
</content>
</entry>
<entry>
<title>encoder: pass the data type up through the encoder chain</title>
<updated>2026-08-27T13:44:59Z</updated>
<author>
<name>Jakub Zelenka</name>
<email>jakub.zelenka@openssl.foundation</email>
</author>
<published>2026-07-20T20:59:41Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=13b0be7cb62e21c23916937999446c00a6cd31f9'/>
<id>urn:sha1:13b0be7cb62e21c23916937999446c00a6cd31f9</id>
<content type='text'>
In encoder_process(), the data type (the name of the encoder
implementation that produced the current encoding) is determined at the
deepest recursion level, but was not propagated up through the
recursion together with the other results of the recursive call.  As a
consequence, the abstract object handed to a chained encoder
implementation contained an OSSL_OBJECT_PARAM_DATA_TYPE parameter with
NULL data, in violation of provider-object(7), which specifies it as a
UTF8 string carrying the type of the object content.

This went unnoticed because no encoders provided by OpenSSL itself are
ever chained.

Also extend endecode_api_test to verify that a chained encoder
implementation receives the correct data type.

Assisted-by: Claude:claude-fable-5
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Thu Aug 27 13:45:07 2026
Merged-from: https://github.com/openssl/openssl/pull/32019
</content>
</entry>
<entry>
<title>test: add low-level OSSL_ENCODER / OSSL_DECODER API test</title>
<updated>2026-08-27T13:44:59Z</updated>
<author>
<name>Jakub Zelenka</name>
<email>jakub.zelenka@openssl.foundation</email>
</author>
<published>2026-07-20T19:35:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=b542f2545cc10f6b481fd70600bcb0b8523e09a9'/>
<id>urn:sha1:b542f2545cc10f6b481fd70600bcb0b8523e09a9</id>
<content type='text'>
Add a test that exercises the encoder and decoder chain processing in
encoder_lib.c and decoder_lib.c through a built-in test provider
implementing a two-stage encoder chain ("TEST-KEY" -&gt; "inter" -&gt; "pem")
and the mirrored decoder chain.

This covers previously untested code paths:

- encoder chaining through abstract objects, including the intermediate
  memory BIO handling in encoder_process()
- OSSL_ENCODER_to_fp() and OSSL_DECODER_from_fp()
- OSSL_ENCODER_to_data() edge cases (size query, pre-allocated buffer,
  too small buffer)
- OSSL_DECODER_CTX_add_decoder() and OSSL_DECODER_export()
- decoding from a non-seekable BIO (BIO_f_readbuffer wrapping)
- various error paths and NULL argument checks in both APIs

Assisted-by: Claude:claude-fable-5
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Thu Aug 27 13:45:07 2026
Merged-from: https://github.com/openssl/openssl/pull/32019
</content>
</entry>
</feed>
