Replumbing: add fallback provider capability#8480
Replumbing: add fallback provider capability#8480levitte wants to merge 17 commits intoopenssl:masterfrom
Conversation
|
Test added. Let's see what the CIs think of it |
|
Travis failure looks relevant: |
|
Aside from the above issue this looks ok. |
Just wanted to point out that this has to happen on a per OPENSSL_CTX basis |
True... and that's going to be interesting, 'cause I assume some of the global init stuff might actually move to library context init. But either way, |
|
Re the Travis failure, I did have some vague notion that this might happen. I believe my test program is at fault... |
c6d7b43 to
f617092
Compare
|
I've remove the changes that I did in |
7bff220 to
0f5e168
Compare
|
@mattcaswell, you might be interested in the last development... I just added a mechanism to add predefined providers, which is especially interesting for fallback providers. (yes, I know that we currently plan on just one fallback provider, but who knows what we decide in the future? We might want to break down the default by algorithm...) |
fbae435 to
a51e2b7
Compare
1edf5ac to
2399e5a
Compare
2692f34 to
8eefefc
Compare
|
Looks like there is a "make update" discrepancy (hence the travis red cross) |
Ah, right. Fixing it now |
8eefefc to
eb8693f
Compare
To ensure that old applications aren't left without any provider, and at the same time not forcing any default provider on applications that know how to deal with them, we device the concept of fallback providers, which are automatically activated if no other provider is already activated.
08ce271 to
04bf075
Compare
OpenSSL will come with a set of well known providers, some of which need to be accessible from the start. These are typically built in providers, or providers that will work as fallbacks. We do this when creating a new provider store, which means that this will happen in every library context, regardless of if it's the global default one, or an explicitely created one. We keep the data about the known providers we want to make accessible this way in crypto/provider_predefined.h, which may become generated. For now, though, we make it simple and edited manually.
04bf075 to
5cbc484
Compare
To ensure that old applications aren't left without any provider, and at the same time not forcing any default provider on applications that know how to deal with them, we device the concept of fallback providers, which are automatically activated if no other provider is already activated. Reviewed-by: Matt Caswell <[email protected]> (Merged from #8480)
OpenSSL will come with a set of well known providers, some of which need to be accessible from the start. These are typically built in providers, or providers that will work as fallbacks. We do this when creating a new provider store, which means that this will happen in every library context, regardless of if it's the global default one, or an explicitely created one. We keep the data about the known providers we want to make accessible this way in crypto/provider_predefined.h, which may become generated. For now, though, we make it simple and edited manually. Reviewed-by: Matt Caswell <[email protected]> (Merged from #8480)
To ensure that old applications aren't left without any provider, and
at the same time not forcing any default provider on applications that
know how to deal with them, we device the concept of fallback
providers, which are automatically activated if no other provider is
already activated.
We fully expect to see something like this in libcrypto initialization:
UPDATE: prepopulating with whatever default fallbacks now happens
whenever a new provider store is created. This automatically ties it to
the library context being used.
Checklist