Replumbing: pre-populate the EVP namemap with commonly known names#8984
Replumbing: pre-populate the EVP namemap with commonly known names#8984levitte wants to merge 6 commits intoopenssl:masterfrom
Conversation
56ce553 to
d8ddb20
Compare
d8ddb20 to
c043a25
Compare
6f649b4 to
aa39b1e
Compare
aa39b1e to
492c002
Compare
|
Rebased on a fresh master |
|
@paulidale, it would probably be more constructive to discuss the technical aspects of this PR here... |
492c002 to
0ee912f
Compare
0ee912f to
d383eb6
Compare
|
This includes #9969, please review that one first |
d383eb6 to
7398856
Compare
|
I'm putting this on hold, because it should be reworked to work together with the changes in #8985, i.e. that one needs to be merged first |
|
(the hold label that I added was on a personal basis, not an OMC decision thing, so I removed it) |
7398856 to
b087436
Compare
|
So, this is essentially finished at this point. Updating it was a breeze... However, I wonder if this is still desirable. We have lived without a pre-populated namemap for a while now, and I still see no signs of panic or horror with regards to that, so ... |
|
I think this is a valuable thing to have. We want to make it as easy as possible for people to transition from one provider to another. At the moment all of our aliases are held in the default provider - but if you don't load that then you don't get the full list of aliases. Having them pre-populated in the namemap would mean we always have them. |
|
I put this in WIP because @mattcaswell and I realised that we need to keep the legacy method database (which is often wrongly called "object database") around, and I might as well use that to pre-populate the EVP namemap instead of having an intermediary array with the exact same information. |
This adds ossl_namemap_empty(), to detect if a namemap is empty and can thereby be pre-populated. Related to openssl#8967
…ames This changes how the initial EVP namemap is prepopulated. Instead of have a separate database of names, it simply pilfers the still existing legacy method database.
9dde637 to
0027896
Compare
|
There's something very odd happening with the solution to pre-populate names from the legacy method db. |
… known names This affected the way legacy NIDs are looked up in evp_cipher_from_dispatch() and evp_md_from_dispatch(). Instead of trying to find the NID directly, look up the legacy method structure and grab the NID from there. The reason is that NIDs can be aliases for other NIDs, which looked like a clash even if wasn't really one.
|
It seems I finally pulled through all corner cases (and there were a few). If the CIs agree, I'll take this out of WIP. |
|
Not WIP any more |
|
Ping |
This adds ossl_namemap_empty(), to detect if a namemap is empty and can thereby be pre-populated. This also affects the way legacy NIDs are looked up in evp_cipher_from_dispatch() and evp_md_from_dispatch(). Instead of trying to find the NID directly, look up the legacy method structure and grab the NID from there. The reason is that NIDs can be aliases for other NIDs, which looks like a clash even if wasn't really one. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from #8984)
|
Merged. 6a835fc Replumbing: pre-populate the EVP namemap with commonly known names |
This adds ossl_namemap_empty(), to detect if a namemap is empty and
can thereby be pre-populated.
Related to #8967