summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/evp_local.h
diff options
context:
space:
mode:
authortb <>2024-01-04 17:01:26 +0000
committertb <>2024-01-04 17:01:26 +0000
commit28fd80a9189b82d0223c35153f8ed6f9cfb59161 (patch)
tree352dd8b119595c9dcef2c0b2739e1e98f14a4676 /src/lib/libcrypto/evp/evp_local.h
parent6ac39f8daa6e59d602f970b08d9bc152a63fd7a5 (diff)
downloadopenbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.tar.gz
openbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.tar.bz2
openbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.zip
Replace .pkey_base_id with a .base_method pointer
Every EVP_PKEY_ASN1_METHOD is either an ASN.1 method or an alias. As such it resolves to an underlying ASN.1 method (in one step). This information can be stored in a base_method pointer in allusion to the pkey_base_id, which is the name for the nid (aka pkey_id aka type) of the underlying method. For an ASN.1 method, the base method is itself, so the base method is set as a pointer to itself. For an alias it is of course a pointer to the underlying method. Then obviously ameth->pkey_base_id is the same as ameth->base_method->pkey_id, so rework all ASN.1 methods to follow that. ok jsing
Diffstat (limited to 'src/lib/libcrypto/evp/evp_local.h')
-rw-r--r--src/lib/libcrypto/evp/evp_local.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libcrypto/evp/evp_local.h b/src/lib/libcrypto/evp/evp_local.h
index eaede4409a..52fa8e1e52 100644
--- a/src/lib/libcrypto/evp/evp_local.h
+++ b/src/lib/libcrypto/evp/evp_local.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_local.h,v 1.11 2024/01/01 15:23:00 tb Exp $ */ 1/* $OpenBSD: evp_local.h,v 1.12 2024/01/04 17:01:26 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -90,8 +90,8 @@ struct ecx_key_st {
90}; 90};
91 91
92struct evp_pkey_asn1_method_st { 92struct evp_pkey_asn1_method_st {
93 const EVP_PKEY_ASN1_METHOD *base_method;
93 int pkey_id; 94 int pkey_id;
94 int pkey_base_id;
95 unsigned long pkey_flags; 95 unsigned long pkey_flags;
96 96
97 char *pem_str; 97 char *pem_str;