diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/ameth_lib.c | 45 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/pmeth_lib.c | 41 |
2 files changed, 23 insertions, 63 deletions
diff --git a/src/lib/libcrypto/asn1/ameth_lib.c b/src/lib/libcrypto/asn1/ameth_lib.c index 8be82060ef..545ba8f1a1 100644 --- a/src/lib/libcrypto/asn1/ameth_lib.c +++ b/src/lib/libcrypto/asn1/ameth_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ameth_lib.c,v 1.21 2019/11/02 16:06:25 inoguchi Exp $ */ | 1 | /* $OpenBSD: ameth_lib.c,v 1.22 2021/12/03 14:18:06 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 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -340,34 +340,21 @@ EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info) | |||
| 340 | void | 340 | void |
| 341 | EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) | 341 | EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) |
| 342 | { | 342 | { |
| 343 | dst->pub_decode = src->pub_decode; | 343 | EVP_PKEY_ASN1_METHOD preserve; |
| 344 | dst->pub_encode = src->pub_encode; | 344 | |
| 345 | dst->pub_cmp = src->pub_cmp; | 345 | preserve.pkey_id = dst->pkey_id; |
| 346 | dst->pub_print = src->pub_print; | 346 | preserve.pkey_base_id = dst->pkey_base_id; |
| 347 | 347 | preserve.pkey_flags = dst->pkey_flags; | |
| 348 | dst->priv_decode = src->priv_decode; | 348 | preserve.pem_str = dst->pem_str; |
| 349 | dst->priv_encode = src->priv_encode; | 349 | preserve.info = dst->info; |
| 350 | dst->priv_print = src->priv_print; | 350 | |
| 351 | 351 | *dst = *src; | |
| 352 | dst->old_priv_encode = src->old_priv_encode; | 352 | |
| 353 | dst->old_priv_decode = src->old_priv_decode; | 353 | dst->pkey_id = preserve.pkey_id; |
| 354 | 354 | dst->pkey_base_id = preserve.pkey_base_id; | |
| 355 | dst->pkey_size = src->pkey_size; | 355 | dst->pkey_flags = preserve.pkey_flags; |
| 356 | dst->pkey_bits = src->pkey_bits; | 356 | dst->pem_str = preserve.pem_str; |
| 357 | 357 | dst->info = preserve.info; | |
| 358 | dst->param_decode = src->param_decode; | ||
| 359 | dst->param_encode = src->param_encode; | ||
| 360 | dst->param_missing = src->param_missing; | ||
| 361 | dst->param_copy = src->param_copy; | ||
| 362 | dst->param_cmp = src->param_cmp; | ||
| 363 | dst->param_print = src->param_print; | ||
| 364 | dst->sig_print = src->sig_print; | ||
| 365 | |||
| 366 | dst->pkey_free = src->pkey_free; | ||
| 367 | dst->pkey_ctrl = src->pkey_ctrl; | ||
| 368 | |||
| 369 | dst->item_sign = src->item_sign; | ||
| 370 | dst->item_verify = src->item_verify; | ||
| 371 | } | 358 | } |
| 372 | 359 | ||
| 373 | void | 360 | void |
diff --git a/src/lib/libcrypto/evp/pmeth_lib.c b/src/lib/libcrypto/evp/pmeth_lib.c index 36bfe8d9fc..359e57d74c 100644 --- a/src/lib/libcrypto/evp/pmeth_lib.c +++ b/src/lib/libcrypto/evp/pmeth_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pmeth_lib.c,v 1.16 2019/11/01 15:08:57 jsing Exp $ */ | 1 | /* $OpenBSD: pmeth_lib.c,v 1.17 2021/12/03 14:18:06 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 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -272,42 +272,15 @@ EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, const EVP_PKEY_METHOD *meth) | |||
| 272 | void | 272 | void |
| 273 | EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src) | 273 | EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src) |
| 274 | { | 274 | { |
| 275 | dst->init = src->init; | 275 | EVP_PKEY_METHOD preserve; |
| 276 | dst->copy = src->copy; | ||
| 277 | dst->cleanup = src->cleanup; | ||
| 278 | 276 | ||
| 279 | dst->paramgen_init = src->paramgen_init; | 277 | preserve.pkey_id = dst->pkey_id; |
| 280 | dst->paramgen = src->paramgen; | 278 | preserve.flags = dst->flags; |
| 281 | 279 | ||
| 282 | dst->keygen_init = src->keygen_init; | 280 | *dst = *src; |
| 283 | dst->keygen = src->keygen; | ||
| 284 | 281 | ||
| 285 | dst->sign_init = src->sign_init; | 282 | dst->pkey_id = preserve.pkey_id; |
| 286 | dst->sign = src->sign; | 283 | dst->flags = preserve.flags; |
| 287 | |||
| 288 | dst->verify_init = src->verify_init; | ||
| 289 | dst->verify = src->verify; | ||
| 290 | |||
| 291 | dst->verify_recover_init = src->verify_recover_init; | ||
| 292 | dst->verify_recover = src->verify_recover; | ||
| 293 | |||
| 294 | dst->signctx_init = src->signctx_init; | ||
| 295 | dst->signctx = src->signctx; | ||
| 296 | |||
| 297 | dst->verifyctx_init = src->verifyctx_init; | ||
| 298 | dst->verifyctx = src->verifyctx; | ||
| 299 | |||
| 300 | dst->encrypt_init = src->encrypt_init; | ||
| 301 | dst->encrypt = src->encrypt; | ||
| 302 | |||
| 303 | dst->decrypt_init = src->decrypt_init; | ||
| 304 | dst->decrypt = src->decrypt; | ||
| 305 | |||
| 306 | dst->derive_init = src->derive_init; | ||
| 307 | dst->derive = src->derive; | ||
| 308 | |||
| 309 | dst->ctrl = src->ctrl; | ||
| 310 | dst->ctrl_str = src->ctrl_str; | ||
| 311 | } | 284 | } |
| 312 | 285 | ||
| 313 | void | 286 | void |
