<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/include, branch feature/evp_skey</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=feature%2Fevp_skey</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=feature%2Fevp_skey'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2025-08-22T05:33:20Z</updated>
<entry>
<title>ecx: convert to using generated parameter decoding</title>
<updated>2025-08-22T05:33:20Z</updated>
<author>
<name>Pauli</name>
<email>ppzgs1@gmail.com</email>
</author>
<published>2025-08-06T02:25:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=accc7ce60eab53b1597375cd1f811e7f4dfa65ee'/>
<id>urn:sha1:accc7ce60eab53b1597375cd1f811e7f4dfa65ee</id>
<content type='text'>
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Shane Lontis &lt;shane.lontis@oracle.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28275)
</content>
</entry>
<entry>
<title>lms: convert to using generated parameter decoding</title>
<updated>2025-08-22T05:33:03Z</updated>
<author>
<name>Pauli</name>
<email>ppzgs1@gmail.com</email>
</author>
<published>2025-08-06T02:25:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=326c36c418e83a959ee3d40193d5681435175959'/>
<id>urn:sha1:326c36c418e83a959ee3d40193d5681435175959</id>
<content type='text'>
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Shane Lontis &lt;shane.lontis@oracle.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28275)
</content>
</entry>
<entry>
<title>slh-dsa: convert to using a generated decoder</title>
<updated>2025-08-22T05:33:03Z</updated>
<author>
<name>Pauli</name>
<email>ppzgs1@gmail.com</email>
</author>
<published>2025-08-06T01:06:10Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=4728227992948a9aba8f9729f6ee208d3b269539'/>
<id>urn:sha1:4728227992948a9aba8f9729f6ee208d3b269539</id>
<content type='text'>
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Shane Lontis &lt;shane.lontis@oracle.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28275)
</content>
</entry>
<entry>
<title>Make SSL_poll() and SSL_shutdown() better friends</title>
<updated>2025-08-21T12:43:03Z</updated>
<author>
<name>Alexandr Nedvedicky</name>
<email>sashan@openssl.org</email>
</author>
<published>2025-07-29T14:45:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1d92f3b8b0e580f761a1d2789e2b81624420b098'/>
<id>urn:sha1:1d92f3b8b0e580f761a1d2789e2b81624420b098</id>
<content type='text'>
Current QUIC stack may leave connection monitored by SSL_poll() to stale
during regular shutdown.  The issue is triggered when ACK for client's
FIN gets delayed. The sequeance of operations to trigger
the stale of QUIC connection at client goes as follows:

	- application calls SSL_shutdown() on connection,
	  the shutdown can not proceed, because bi-directional
	  stream must be flushed. The client awaits ACK from
	  server acknowledging reception of FIN on client's stream

	- the stream object gets destroyed, because application
	  received all data from server.

	- application updates poll set and passes to SSL_poll()

	- ssl poll ticks the engine. Engine receives delayed ACK
	  and marks stream as flushed. At this point the SSL_shutdown()
	  operation may proceed given the application calls the
	  SSL_shutdown(). However there is no mechanism to make SSL_poll()
	  return so application is unable to proceed with its event
	  loop where SSL_shutdown() may get called.

This change introduces ossl_quic_channel_notify_flush_done() function
which notifies channel when all streams are flushed (all FINs got ACKed).

The first thing SSL_shudown() does it calls ossl_quic_stream_map_begin_shutdown_flush().
The function walks list of all streams attached to channel and notes how many
streams is missing ACK for their FIN. In our test case it finds one such stream.
Call to SSL_shutdown() returns and application destroys the SSL stream object
and updates a poll set.

SSL_poll() gets called. The QUIC stack (engine) gets ticked and reads data
from socket. It processes delayed ACK now. The ACK-manager updates the
stream notifying the server ACKs the FIN sent by client. The stream
is flushed now. Thw shutdown_flush_done() for stream gets called on
behalf of ACK manager.

The shutdown_flush_done() does two things:
	- it marks stream as flushed
	- it decrements the num_shutdown_flush counter initialized
	  be earlier call to ossl_quic_stream_map_begin_shutdown_flush()
	  called by SSL_shutdown()
The change here calls ossl_quic_channel_notify_flush_done() when
num_shutdown_flush reaches zero.

The ossl_quic_channel_notify_flush_done() then calls function
ossl_quic_channel_notify_flush_done(), which just moves the state
of the channel (connection) from active to terminating state.
The change of channel state is sufficent for SSL_poll() to
signal _EC event on connection.

Once application receives _EC event on connection it should
check the state of the channel/reason of error. In regular case
the error/channel state hints application to call SSL_shutdown()
so connection object can proceed with connection shutdown.
The SSL_shutdown() call done now moves channel to terminated
state. So the next call to SSL_poll() can signal _ECD which
tells application it's time to stop polling on SSL connection
object and destroy it.

Fixes openssl/project#1291

Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/28116)
</content>
</entry>
<entry>
<title>Add DetECDSA self test, signature is one byte shorter somehow</title>
<updated>2025-08-20T23:58:55Z</updated>
<author>
<name>Dimitri John Ledkov</name>
<email>dimitri.ledkov@surgut.co.uk</email>
</author>
<published>2025-08-11T13:14:34Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0b9f7885700a99b6acc122ff7debb3d35829200d'/>
<id>urn:sha1:0b9f7885700a99b6acc122ff7debb3d35829200d</id>
<content type='text'>
Reviewed-by: Shane Lontis &lt;shane.lontis@oracle.com&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28213)
</content>
</entry>
<entry>
<title>Correct the synthetisized OPENSSL_VERSION_NUMBER</title>
<updated>2025-08-13T04:05:18Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2025-08-11T18:57:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=ba2c314a60d9f42d1d2e63ea0f791cc04e03005b'/>
<id>urn:sha1:ba2c314a60d9f42d1d2e63ea0f791cc04e03005b</id>
<content type='text'>
The last hex digit always became 0x0L, even of OPENSSL_VERSION_PRE_RELEASE
was the empty string.

Resolves: https://github.com/openssl/openssl/issues/28227

Reviewed-by: Paul Yang &lt;kaishen.yy@antfin.com&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28230)
</content>
</entry>
<entry>
<title>Remove OSSL_CRYPTO_ALLOC attribute from CRYPTO_*dup routines</title>
<updated>2025-08-12T18:44:38Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
<email>esyr@openssl.org</email>
</author>
<published>2025-08-11T08:56:13Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=85bba74789f82daca7482a9274c6d02843fb2dbb'/>
<id>urn:sha1:85bba74789f82daca7482a9274c6d02843fb2dbb</id>
<content type='text'>
The __attribute__((malloc)) is for functions that return new memory,
and "the memory [returned by the function] has undefined content", which
is a property that doesn't hold for the *dup functions (the same reason
it doesn't apply to realloc).

Fixes: e1035957eba1 "OSSL_CRYPTO_ALLOC attribute introduction proposal."
Signed-off-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;

Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28220)
</content>
</entry>
<entry>
<title>Fix failure checking on rcu_read_lock</title>
<updated>2025-08-09T13:22:13Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@openssl.org</email>
</author>
<published>2025-08-07T13:50:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=036a46d2a4b00a004d05dc6a6d19be7184f8ecf1'/>
<id>urn:sha1:036a46d2a4b00a004d05dc6a6d19be7184f8ecf1</id>
<content type='text'>
during memfail testing:
https://github.com/openssl/openssl/actions/runs/16794088536/job/47561223902

We get lots of test failures in ossl_rcu_read_lock.  This occurs
because we have a few cases in the read lock path that attempt mallocs,
which, if they fail, trigger an assert or a silent failure, which isn't
really appropriate.  We should instead fail gracefully, by informing the
caller that the lock failed, like we do for CRYPTO_THREAD_read_lock.

Fortunately, these are all internal apis, so we can convert
ossl_rcu_read_lock to return an int indicating success/failure, and fail
gracefully during the test, rather than hitting an assert abort.

Fixes openssl/project#1315

Reviewed-by: Paul Yang &lt;paulyang.inf@gmail.com&gt;
Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28195)
</content>
</entry>
<entry>
<title>crypto/mem.c: check for overflow in size calculation in CRYPTO_aligned_alloc</title>
<updated>2025-08-08T16:22:10Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
<email>esyr@openssl.org</email>
</author>
<published>2025-07-31T12:32:27Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=89f1f9bd73351e5f4fe16bcd8062d71e8f1fe5a7'/>
<id>urn:sha1:89f1f9bd73351e5f4fe16bcd8062d71e8f1fe5a7</id>
<content type='text'>
The open-coded implementation performs addition of size and alignment,
that may overflow.

Signed-off-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;

Reviewed-by: Saša Nedvědický &lt;sashan@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/28059)
</content>
</entry>
<entry>
<title>crypto/mem.c: check the alignment for being a power of 2 in CRYPTO_aligned_alloc</title>
<updated>2025-08-08T16:22:10Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
<email>esyr@openssl.org</email>
</author>
<published>2025-07-31T12:27:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1104e80c8dff7d04eb482ddc315947268c251384'/>
<id>urn:sha1:1104e80c8dff7d04eb482ddc315947268c251384</id>
<content type='text'>
Otherwise the roundup calculation performed in the open-coded implementation
may put the pointer out of bounds.

Signed-off-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;

Reviewed-by: Saša Nedvědický &lt;sashan@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/28059)
</content>
</entry>
</feed>
