From 28fd80a9189b82d0223c35153f8ed6f9cfb59161 Mon Sep 17 00:00:00 2001 From: tb <> Date: Thu, 4 Jan 2024 17:01:26 +0000 Subject: 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 --- src/lib/libcrypto/dsa/dsa_ameth.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/libcrypto/dsa') diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c index d4cce72fcb..f9b6a9e7d3 100644 --- a/src/lib/libcrypto/dsa/dsa_ameth.c +++ b/src/lib/libcrypto/dsa/dsa_ameth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsa_ameth.c,v 1.56 2024/01/04 16:41:56 tb Exp $ */ +/* $OpenBSD: dsa_ameth.c,v 1.57 2024/01/04 17:01:26 tb Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 2006. */ @@ -675,8 +675,8 @@ dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) } const EVP_PKEY_ASN1_METHOD dsa_asn1_meth = { + .base_method = &dsa_asn1_meth, .pkey_id = EVP_PKEY_DSA, - .pkey_base_id = EVP_PKEY_DSA, .pem_str = "DSA", .info = "OpenSSL DSA method", @@ -709,25 +709,25 @@ const EVP_PKEY_ASN1_METHOD dsa_asn1_meth = { }; const EVP_PKEY_ASN1_METHOD dsa1_asn1_meth = { + .base_method = &dsa_asn1_meth, .pkey_id = EVP_PKEY_DSA1, - .pkey_base_id = EVP_PKEY_DSA, .pkey_flags = ASN1_PKEY_ALIAS, }; const EVP_PKEY_ASN1_METHOD dsa2_asn1_meth = { + .base_method = &dsa_asn1_meth, .pkey_id = EVP_PKEY_DSA2, - .pkey_base_id = EVP_PKEY_DSA, .pkey_flags = ASN1_PKEY_ALIAS, }; const EVP_PKEY_ASN1_METHOD dsa3_asn1_meth = { + .base_method = &dsa_asn1_meth, .pkey_id = EVP_PKEY_DSA3, - .pkey_base_id = EVP_PKEY_DSA, .pkey_flags = ASN1_PKEY_ALIAS, }; const EVP_PKEY_ASN1_METHOD dsa4_asn1_meth = { + .base_method = &dsa_asn1_meth, .pkey_id = EVP_PKEY_DSA4, - .pkey_base_id = EVP_PKEY_DSA, .pkey_flags = ASN1_PKEY_ALIAS, }; -- cgit v1.2.3-55-g6feb