Rework EVP_PKEY_set_type{,_str}()
authortb <tb@openbsd.org>
Mon, 25 Dec 2023 21:51:57 +0000 (21:51 +0000)
committertb <tb@openbsd.org>
Mon, 25 Dec 2023 21:51:57 +0000 (21:51 +0000)
commitca270c0af014226ef0d076452fa4b2b38e6235eb
treea86c1cdafd8f786ca92dd28c442888c82fa39aaa
parent8ae31416c90de5328547584b03014c0dbd4f7547
Rework EVP_PKEY_set_type{,_str}()

These two functions previously wrapped a pkey_set_type() helper, which
was an utter mess because of ENGINE. With the long awaited departure of
ENGINE, this function became a lot simpler. A further simplification is
obtained by not doing the optimization to avoid an ameth lookup: this
requires walking a list of 11 ameths. We should consider bsearch()...

With this gone and a saner implementation of EVP_PKEY_free_it(), we can
implement these functions with a dozen lines of code each.

ok jsing
lib/libcrypto/evp/p_lib.c