<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/crypto/core_fetch.c, branch openssl-3.5.6</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=openssl-3.5.6</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=openssl-3.5.6'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2025-12-09T09:40:50Z</updated>
<entry>
<title>3.5-POST-CLANG-FORMAT-WEBKIT</title>
<updated>2025-12-09T09:40:50Z</updated>
<author>
<name>Bob Beck</name>
<email>beck@openssl.org</email>
</author>
<published>2025-12-09T09:40:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=65310e7e8949c94ca67c2e84e932aea22000aefc'/>
<id>urn:sha1:65310e7e8949c94ca67c2e84e932aea22000aefc</id>
<content type='text'>
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Saša Nedvědický &lt;sashan@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/29262)
</content>
</entry>
<entry>
<title>Copyright year updates</title>
<updated>2025-03-12T13:35:59Z</updated>
<author>
<name>openssl-machine</name>
<email>openssl-machine@openssl.org</email>
</author>
<published>2025-03-12T13:35:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0c679f556669e32499a827a081afe3bcf973c9ad'/>
<id>urn:sha1:0c679f556669e32499a827a081afe3bcf973c9ad</id>
<content type='text'>
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Release: yes
</content>
</entry>
<entry>
<title>Expanding trace of providers algorithms fetching/caching/etc</title>
<updated>2025-01-27T08:07:48Z</updated>
<author>
<name>Dmitry Belyavskiy</name>
<email>beldmit@gmail.com</email>
</author>
<published>2025-01-23T16:27:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=40c01d8ddc41dc9b1eb41da2c4bd759d98dd5005'/>
<id>urn:sha1:40c01d8ddc41dc9b1eb41da2c4bd759d98dd5005</id>
<content type='text'>
Reviewed-by: Paul Dale &lt;ppzgs1@gmail.com&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/26543)
</content>
</entry>
<entry>
<title>Take into account no_store when pushing algorithm</title>
<updated>2024-12-20T17:20:17Z</updated>
<author>
<name>Dmitry Belyavskiy</name>
<email>beldmit@gmail.com</email>
</author>
<published>2024-12-18T20:28:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=b3bb214720f20f3b126ae4b9c330e9a48b835415'/>
<id>urn:sha1:b3bb214720f20f3b126ae4b9c330e9a48b835415</id>
<content type='text'>
When we put algorithm to the store, we have a fallback to the
OSSL_LIB_CTX level store when store is NULL.

Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/26197)
</content>
</entry>
<entry>
<title>"Reserve" the method store when constructing methods</title>
<updated>2022-07-20T06:28:17Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2022-04-14T15:52:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=e1eafe8c87612a94552e9ad5df56c489cb6f0ff2'/>
<id>urn:sha1:e1eafe8c87612a94552e9ad5df56c489cb6f0ff2</id>
<content type='text'>
Introducing the concept of reserving the store where a number of
provided operation methods are to be stored.

This avoids racing when constructing provided methods, which is
especially pertinent when multiple threads are trying to fetch the
same method, or even any implementation for the same given operation
type.

This introduces a |biglock| in OSSL_METHOD_STORE, which is separate
from the |lock| which is used for more internal and finer grained
locking.

Fixes #18152

Reviewed-by: Hugo Landau &lt;hlandau@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/18153)
</content>
</entry>
<entry>
<title>Always try to construct methods as new provider might be added</title>
<updated>2022-05-12T06:28:12Z</updated>
<author>
<name>Tomas Mraz</name>
<email>tomas@openssl.org</email>
</author>
<published>2022-05-09T11:57:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=4b1b629725970384d6cf4dafe9e83e54859574cd'/>
<id>urn:sha1:4b1b629725970384d6cf4dafe9e83e54859574cd</id>
<content type='text'>
Otherwise optional properties can be incorrectly ignored.

Fixes #18262

Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Richard Levitte &lt;levitte@openssl.org&gt;
Reviewed-by: Paul Dale &lt;pauli@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/18269)
</content>
</entry>
<entry>
<title>Refactor method construction pre- and post-condition</title>
<updated>2022-05-05T13:05:54Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2022-04-20T16:34:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=10937d5867039afbf869c8514245ed7599b61307'/>
<id>urn:sha1:10937d5867039afbf869c8514245ed7599b61307</id>
<content type='text'>
The existing pre- and post-condition functions are supposed to check if
methods have already been created and stored, using provider operation
bits.  This is supposed to only be done for "permanent" method stores.

However, the way the pre-condition was called, it could not know if the
set of implementations to be stored is likely to end up in a "permanent"
or a temporary store.  It needs access to the |no_store| flag returned
by the provider's operation query function, because that call was done
after the pre-condition was called.

This requires a bit of refactoring, primarly of |algorithm_do_this()|,
but also of |ossl_method_construct_precondition()|.

Fixes #18150

Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/18151)
</content>
</entry>
<entry>
<title>CORE: Encure that cached fetches can be done per provider</title>
<updated>2021-10-27T10:41:15Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2021-10-04T13:33:37Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=dc010ca6ec01d313a84c3c4b040232655a1772ad'/>
<id>urn:sha1:dc010ca6ec01d313a84c3c4b040232655a1772ad</id>
<content type='text'>
This mostly entails passing around a provider pointer, and handling
queries that includes a pointer to a provider, where NULL means "any".

This also means that there's a need to pass the provider pointer, not
just down to the cache functions, but also be able to get it from
ossl_method_store_fetch().  To this end, that function's OSSL_PROVIDER
pointer argument is modified to be a pointer reference, so the
function can answer back what provider the method comes from.

Test added.

Fixes #16614

Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/16725)
</content>
</entry>
<entry>
<title>CORE: add a provider argument to ossl_method_construct()</title>
<updated>2021-10-27T10:41:10Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2021-09-30T07:32:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=cfce50f791511c8fee7dec90c57f02d9410d039f'/>
<id>urn:sha1:cfce50f791511c8fee7dec90c57f02d9410d039f</id>
<content type='text'>
This makes it possible to limit the search of methods to that
particular provider.  This uses already available possibilities in
ossl_algorithm_do_all().

Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/16725)
</content>
</entry>
<entry>
<title>CORE: Do a bit of cleanup of core fetching</title>
<updated>2021-06-16T11:32:53Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2021-06-15T08:18:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=6882652e65d39310c98ba506ceb55a87c702d419'/>
<id>urn:sha1:6882652e65d39310c98ba506ceb55a87c702d419</id>
<content type='text'>
Some data, like the library context, were passed both through higher
level callback structures and through arguments to those same higher
level callbacks.  This is a bit unnecessary, so we rearrange the
callback arguments to simply pass that callback structure and rely on
the higher level fetching functionality to pick out what data they
need from that structure.

Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Paul Dale &lt;pauli@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/15750)
</content>
</entry>
</feed>
