[openssl] master update
Richard Levitte
levitte at openssl.org
Tue Nov 5 21:47:51 UTC 2019
The branch master has been updated
via 6af1b11848f000c900877f1289a42948d415f21c (commit)
via b6fc6620cff7e5971757ad1c50edd022fdaffc04 (commit)
via 8635730333af792fae75394bb593afe4054da238 (commit)
via e4f2d539f631060654faf3b45f54e222637109ac (commit)
via a4aab7871939d3661557fd843e0d411bbaa78bc6 (commit)
via 81ddd952ea1c4f80df45435fb927fd0c6314a008 (commit)
via 3da95f3c5159b8404917e3ff349566488c28f798 (commit)
via 5d61758ee70aebb479d6f7a43483af405c0031a2 (commit)
from c9c4a356b778d042fee3d86f7178012ec0077205 (commit)
- Log -----------------------------------------------------------------
commit 6af1b11848f000c900877f1289a42948d415f21c
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 11:41:01 2019 +0100
test/recipes/02-test_ordinals.t: Take '?' and '?+' into account
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit b6fc6620cff7e5971757ad1c50edd022fdaffc04
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:36:54 2019 +0100
util/mknum.pl: output stats on unassigned symbols
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit 8635730333af792fae75394bb593afe4054da238
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:34:10 2019 +0100
util/mknum.pl: Call OpenSSL::Ordinals::renumber() for real releases
When the source isn't in development any more (the version number
doesn't the tags 'dev' or 'alpha'), we renumber the unassigned symbols
to ensure that we have fixed numbers on all.
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit e4f2d539f631060654faf3b45f54e222637109ac
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:33:10 2019 +0100
util/mkdef.pl: writer_VMS(): handle symbols with no assigned number
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit a4aab7871939d3661557fd843e0d411bbaa78bc6
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:31:04 2019 +0100
OpenSSL::Ordinals: when validating, collect statistics on unassigned syms
If a script wants to display how many symbols have assigned numbers
and how many don't, this gives them those numbers.
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit 81ddd952ea1c4f80df45435fb927fd0c6314a008
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:29:53 2019 +0100
OpenSSL::Ordinals: add a renumber() function, to assign unassigned symbols
This should be used when it's time to assign constant numbers to the
unassigned symbols.
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit 3da95f3c5159b8404917e3ff349566488c28f798
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 10:28:00 2019 +0100
OpenSSL::Ordinals: Handle symbols with unassigned ordinal numbers
We preserve the number or '?' or '?+', but assign numbers internally
on the latter, to ensure we keep the order of the input.
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
commit 5d61758ee70aebb479d6f7a43483af405c0031a2
Author: Richard Levitte <levitte at openssl.org>
Date: Mon Nov 4 09:02:28 2019 +0100
util/*.num: deassign ordinal numbers from new symbols
Symbols that have appeared since 1.1.1 was released are considered
unassigned in the development branch. This is marked by having a
question mark as its ordinal number.
This introduces two new markers to be used instead of ordinal numbers:
? signifying it gets the previous symbol's number plus one
?+ signifying it gets the same number as the previous symbol
'?+' should remain rare, but is useful to create aliases when needed
(for example when two different symbols clash because they only differ
in character case, see include/openssl/symhacks.h)
The intention is that a development branch won't have set numbers for
new symbols, and that the final numbers will only get allocated when
making beta or final releases.
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <paul.dale at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10348)
-----------------------------------------------------------------------
Summary of changes:
test/recipes/02-test_ordinals.t | 7 +-
util/libcrypto.num | 866 ++++++++++++++++++++--------------------
util/libssl.num | 28 +-
util/mkdef.pl | 17 +-
util/mknum.pl | 13 +-
util/perl/OpenSSL/Ordinals.pm | 174 +++++---
6 files changed, 602 insertions(+), 503 deletions(-)
diff --git a/test/recipes/02-test_ordinals.t b/test/recipes/02-test_ordinals.t
index 16d3877451..710e7e2324 100644
--- a/test/recipes/02-test_ordinals.t
+++ b/test/recipes/02-test_ordinals.t
@@ -41,8 +41,11 @@ sub testordinals
#Some ordinals can be repeated, e.g. if one is VMS and another is !VMS
$newqual = $tokens[4];
$newqual =~ s/!//g;
- if ($cnt > $tokens[1]
- || ($cnt == $tokens[1] && ($qualifier ne $newqual
+ my $number = $tokens[1];
+ $number = $cnt + 1 if $number eq '?';
+ $number = $cnt if $number eq '?+';
+ if ($cnt > $number
+ || ($cnt == $number && ($qualifier ne $newqual
|| $qualifier eq ""))) {
print STDERR "Invalid ordinal detected: ".$tokens[1]."\n";
$ret = 0;
diff --git a/util/libcrypto.num b/util/libcrypto.num
index f63949484c..625e10996b 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4424,436 +4424,436 @@ OCSP_resp_get0_respdata 4530 3_0_0 EXIST::FUNCTION:OCSP
EVP_MD_CTX_set_pkey_ctx 4531 3_0_0 EXIST::FUNCTION:
EVP_PKEY_meth_set_digest_custom 4532 3_0_0 EXIST::FUNCTION:
EVP_PKEY_meth_get_digest_custom 4533 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_new 4534 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_new_id 4535 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_CTX_free 4536 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_dup 4537 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_mac 4538 3_0_0 EXIST::FUNCTION:
-EVP_MAC_size 4539 3_0_0 EXIST::FUNCTION:
-EVP_MAC_init 4540 3_0_0 EXIST::FUNCTION:
-EVP_MAC_update 4541 3_0_0 EXIST::FUNCTION:
-EVP_MAC_final 4542 3_0_0 EXIST::FUNCTION:
-EVP_MAC_ctrl 4543 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_vctrl 4544 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_ctrl_str 4545 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_str2ctrl 4546 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_hex2ctrl 4547 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_nid 4548 3_0_0 NOEXIST::FUNCTION:
-EVP_get_macbyname 4549 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_do_all 4550 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_do_all_sorted 4551 3_0_0 NOEXIST::FUNCTION:
-EVP_str2ctrl 4552 3_0_0 EXIST::FUNCTION:
-EVP_hex2ctrl 4553 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_supports_digest_nid 4554 3_0_0 EXIST::FUNCTION:
-SRP_VBASE_add0_user 4555 3_0_0 EXIST::FUNCTION:SRP
-SRP_user_pwd_new 4556 3_0_0 EXIST::FUNCTION:SRP
-SRP_user_pwd_set_gN 4557 3_0_0 EXIST::FUNCTION:SRP
-SRP_user_pwd_set1_ids 4558 3_0_0 EXIST::FUNCTION:SRP
-SRP_user_pwd_set0_sv 4559 3_0_0 EXIST::FUNCTION:SRP
-OPENSSL_version_major 4560 3_0_0 EXIST::FUNCTION:
-OPENSSL_version_minor 4561 3_0_0 EXIST::FUNCTION:
-OPENSSL_version_patch 4562 3_0_0 EXIST::FUNCTION:
-OPENSSL_version_pre_release 4563 3_0_0 EXIST::FUNCTION:
-OPENSSL_version_build_metadata 4564 3_0_0 EXIST::FUNCTION:
-EVP_aes_128_siv 4565 3_0_0 EXIST::FUNCTION:SIV
-EVP_aes_192_siv 4566 3_0_0 EXIST::FUNCTION:SIV
-EVP_aes_256_siv 4567 3_0_0 EXIST::FUNCTION:SIV
-CRYPTO_siv128_new 4568 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_init 4569 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_copy_ctx 4570 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_aad 4571 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_encrypt 4572 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_decrypt 4573 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_finish 4574 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_set_tag 4575 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_get_tag 4576 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_cleanup 4577 3_0_0 NOEXIST::FUNCTION:SIV
-CRYPTO_siv128_speed 4578 3_0_0 NOEXIST::FUNCTION:SIV
-OPENSSL_INIT_set_config_filename 4579 3_0_0 EXIST::FUNCTION:STDIO
-OPENSSL_INIT_set_config_file_flags 4580 3_0_0 EXIST::FUNCTION:STDIO
-ASYNC_WAIT_CTX_get_callback 4581 3_0_0 EXIST::FUNCTION:
-ASYNC_WAIT_CTX_set_callback 4582 3_0_0 EXIST::FUNCTION:
-ASYNC_WAIT_CTX_set_status 4583 3_0_0 EXIST::FUNCTION:
-ASYNC_WAIT_CTX_get_status 4584 3_0_0 EXIST::FUNCTION:
-ERR_load_ESS_strings 4589 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_free 4591 3_0_0 EXIST::FUNCTION:
-EVP_KDF_reset 4592 3_0_0 EXIST::FUNCTION:
-EVP_KDF_size 4596 3_0_0 EXIST::FUNCTION:
-EVP_KDF_derive 4597 3_0_0 EXIST::FUNCTION:
-EC_GROUP_get0_field 4598 3_0_0 EXIST::FUNCTION:EC
-CRYPTO_alloc_ex_data 4599 3_0_0 EXIST::FUNCTION:
-OPENSSL_CTX_new 4600 3_0_0 EXIST::FUNCTION:
-OPENSSL_CTX_free 4601 3_0_0 EXIST::FUNCTION:
-OPENSSL_LH_flush 4602 3_0_0 EXIST::FUNCTION:
-BN_native2bn 4603 3_0_0 EXIST::FUNCTION:
-BN_bn2nativepad 4604 3_0_0 EXIST::FUNCTION:
-OSSL_trace_get_category_num 4605 3_0_0 EXIST::FUNCTION:
-OSSL_trace_get_category_name 4606 3_0_0 EXIST::FUNCTION:
-OSSL_trace_set_channel 4607 3_0_0 EXIST::FUNCTION:
-OSSL_trace_set_prefix 4608 3_0_0 EXIST::FUNCTION:
-OSSL_trace_set_suffix 4609 3_0_0 EXIST::FUNCTION:
-OSSL_trace_set_callback 4610 3_0_0 EXIST::FUNCTION:
-OSSL_trace_enabled 4611 3_0_0 EXIST::FUNCTION:
-OSSL_trace_begin 4612 3_0_0 EXIST::FUNCTION:
-OSSL_trace_end 4613 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_load 4614 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_unload 4615 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_add_builtin 4616 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_gettable_params 4617 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_get_params 4618 3_0_0 EXIST::FUNCTION:
-d2i_OSSL_CRMF_ENCRYPTEDVALUE 4619 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_ENCRYPTEDVALUE 4620 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_ENCRYPTEDVALUE_free 4621 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_ENCRYPTEDVALUE_new 4622 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_ENCRYPTEDVALUE_it 4623 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_MSG 4624 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_MSG 4625 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_free 4626 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_new 4627 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_it 4628 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_PBMPARAMETER 4629 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_PBMPARAMETER 4630 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PBMPARAMETER_free 4631 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PBMPARAMETER_new 4632 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PBMPARAMETER_it 4633 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_CERTID 4634 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_CERTID 4635 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTID_free 4636 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTID_new 4637 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTID_it 4638 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_PKIPUBLICATIONINFO 4639 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_PKIPUBLICATIONINFO 4640 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PKIPUBLICATIONINFO_free 4641 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PKIPUBLICATIONINFO_new 4642 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_PKIPUBLICATIONINFO_it 4643 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_SINGLEPUBINFO 4644 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_SINGLEPUBINFO 4645 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_SINGLEPUBINFO_free 4646 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_SINGLEPUBINFO_new 4647 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_SINGLEPUBINFO_it 4648 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_CERTTEMPLATE 4649 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_CERTTEMPLATE 4650 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_free 4651 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_new 4652 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_it 4653 3_0_0 EXIST::FUNCTION:CRMF
-d2i_OSSL_CRMF_MSGS 4654 3_0_0 EXIST::FUNCTION:CRMF
-i2d_OSSL_CRMF_MSGS 4655 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSGS_free 4656 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSGS_new 4657 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSGS_it 4658 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_pbmp_new 4659 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_pbm_new 4660 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regCtrl_regToken 4661 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regCtrl_authenticator 4662 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo 4663 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set0_SinglePubInfo 4664 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set_PKIPublicationInfo_action 4665 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo 4666 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey 4667 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regCtrl_oldCertID 4668 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTID_gen 4669 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regInfo_utf8Pairs 4670 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set1_regInfo_certReq 4671 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set_validity 4672 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set_certReqId 4673 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_get_certReqId 4674 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_set0_extensions 4675 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_push0_extension 4676 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_create_popo 4677 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSGS_verify_popo 4678 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_MSG_get0_tmpl 4679 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_get0_serialNumber 4680 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_get0_issuer 4681 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTTEMPLATE_fill 4682 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert 4683 3_0_0 EXIST::FUNCTION:CRMF
-ERR_load_CRMF_strings 4684 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_PARAM_locate 4685 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_int 4686 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_uint 4687 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_long 4688 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_ulong 4689 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_int32 4690 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_uint32 4691 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_int64 4692 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_uint64 4693 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_size_t 4694 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_BN 4695 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_double 4696 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_utf8_string 4697 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_utf8_ptr 4698 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_octet_string 4699 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_octet_ptr 4700 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_int 4701 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_uint 4702 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_long 4703 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_ulong 4704 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_int32 4705 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_uint32 4706 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_int64 4707 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_uint64 4708 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_size_t 4709 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_int 4710 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_uint 4711 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_long 4712 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_ulong 4713 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_int32 4714 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_uint32 4715 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_int64 4716 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_uint64 4717 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_size_t 4718 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_double 4719 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_double 4720 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_BN 4721 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_BN 4722 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_utf8_string 4723 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_utf8_string 4724 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_octet_string 4725 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_octet_string 4726 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_utf8_ptr 4727 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_utf8_ptr 4728 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_get_octet_ptr 4729 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_set_octet_ptr 4730 3_0_0 EXIST::FUNCTION:
-X509_set0_sm2_id 4731 3_0_0 EXIST::FUNCTION:SM2
-X509_get0_sm2_id 4732 3_0_0 EXIST::FUNCTION:SM2
-EVP_PKEY_get0_engine 4733 3_0_0 EXIST::FUNCTION:ENGINE
-EVP_MD_up_ref 4734 3_0_0 EXIST::FUNCTION:
-EVP_MD_fetch 4735 3_0_0 EXIST::FUNCTION:
-EVP_set_default_properties 4736 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_end 4737 3_0_0 EXIST::FUNCTION:
-EC_GROUP_check_named_curve 4738 3_0_0 EXIST::FUNCTION:EC
-EVP_CIPHER_up_ref 4739 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_fetch 4740 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_mode 4741 3_0_0 EXIST::FUNCTION:
-OPENSSL_info 4742 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_new 4743 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_kdf 4744 3_0_0 EXIST::FUNCTION:
-i2d_KeyParams 4747 3_0_0 EXIST::FUNCTION:
-d2i_KeyParams 4748 3_0_0 EXIST::FUNCTION:
-i2d_KeyParams_bio 4749 3_0_0 EXIST::FUNCTION:
-d2i_KeyParams_bio 4750 3_0_0 EXIST::FUNCTION:
-OSSL_CMP_PKISTATUS_it 4751 3_0_0 EXIST::FUNCTION:CMP
-d2i_OSSL_CMP_PKIHEADER 4752 3_0_0 EXIST::FUNCTION:CMP
-i2d_OSSL_CMP_PKIHEADER 4753 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_PKIHEADER_free 4754 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_PKIHEADER_new 4755 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_PKIHEADER_it 4756 3_0_0 EXIST::FUNCTION:CMP
-d2i_OSSL_CMP_MSG 4757 3_0_0 EXIST::FUNCTION:CMP
-i2d_OSSL_CMP_MSG 4758 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_MSG_it 4759 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_create 4760 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_set0 4761 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_get0_type 4762 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_get0_value 4763 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_push0_stack_item 4764 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_ITAV_free 4765 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_MSG_free 4766 3_0_0 EXIST::FUNCTION:CMP
-ERR_load_CMP_strings 4767 3_0_0 EXIST::FUNCTION:CMP
-EVP_MD_CTX_set_params 4768 3_0_0 EXIST::FUNCTION:
-EVP_MD_CTX_get_params 4769 3_0_0 EXIST::FUNCTION:
-RAND_DRBG_new_ex 4770 3_0_0 EXIST::FUNCTION:
-RAND_DRBG_secure_new_ex 4771 3_0_0 EXIST::FUNCTION:
-OPENSSL_CTX_get0_master_drbg 4772 3_0_0 EXIST::FUNCTION:
-OPENSSL_CTX_get0_public_drbg 4773 3_0_0 EXIST::FUNCTION:
-OPENSSL_CTX_get0_private_drbg 4774 3_0_0 EXIST::FUNCTION:
-BN_CTX_new_ex 4775 3_0_0 EXIST::FUNCTION:
-BN_CTX_secure_new_ex 4776 3_0_0 EXIST::FUNCTION:
-OPENSSL_thread_stop_ex 4777 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_locate_const 4778 3_0_0 EXIST::FUNCTION:
-X509_REQ_set0_sm2_id 4779 3_0_0 EXIST::FUNCTION:SM2
-X509_REQ_get0_sm2_id 4780 3_0_0 EXIST::FUNCTION:SM2
-BN_rand_ex 4781 3_0_0 EXIST::FUNCTION:
-BN_priv_rand_ex 4782 3_0_0 EXIST::FUNCTION:
-BN_rand_range_ex 4783 3_0_0 EXIST::FUNCTION:
-BN_priv_rand_range_ex 4784 3_0_0 EXIST::FUNCTION:
-BN_generate_prime_ex2 4785 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_derive_init_ex 4786 3_0_0 NOEXIST::FUNCTION:
-EVP_KEYEXCH_free 4787 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_up_ref 4788 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_fetch 4789 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_CTX_set_dh_pad 4790 3_0_0 EXIST::FUNCTION:DH
-EVP_PKEY_CTX_set_params 4791 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_fetch 4792 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_up_ref 4793 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_free 4794 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_provider 4795 3_0_0 EXIST::FUNCTION:
-X509_PUBKEY_dup 4796 3_0_0 EXIST::FUNCTION:
-ERR_put_func_error 4797 3_0_0 NOEXIST::FUNCTION:
-EVP_MD_name 4798 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_name 4799 3_0_0 EXIST::FUNCTION:
-EVP_MD_provider 4800 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_provider 4801 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_name 4802 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_do_all_provided 4803 3_0_0 EXIST::FUNCTION:
-EVP_MD_do_all_provided 4804 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_provider 4805 3_0_0 EXIST::FUNCTION:
-OSSL_PROVIDER_available 4806 3_0_0 EXIST::FUNCTION:
-ERR_new 4807 3_0_0 EXIST::FUNCTION:
-ERR_set_debug 4808 3_0_0 EXIST::FUNCTION:
-ERR_set_error 4809 3_0_0 EXIST::FUNCTION:
-ERR_vset_error 4810 3_0_0 EXIST::FUNCTION:
-X509_get0_authority_issuer 4811 3_0_0 EXIST::FUNCTION:
-X509_get0_authority_serial 4812 3_0_0 EXIST::FUNCTION:
-EC_GROUP_new_ex 4813 3_0_0 EXIST::FUNCTION:EC
-EC_GROUP_new_by_curve_name_ex 4814 3_0_0 EXIST::FUNCTION:EC
-EC_KEY_new_ex 4815 3_0_0 EXIST::FUNCTION:EC
-EC_KEY_new_by_curve_name_ex 4816 3_0_0 EXIST::FUNCTION:EC
-OPENSSL_hexstr2buf_ex 4817 3_0_0 EXIST::FUNCTION:
-OPENSSL_buf2hexstr_ex 4818 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_construct_from_text 4819 3_0_0 EXIST::FUNCTION:
-OSSL_PARAM_allocate_from_text 4820 3_0_0 EXIST::FUNCTION:
-EVP_MD_gettable_params 4821 3_0_0 EXIST::FUNCTION:
-EVP_MD_CTX_settable_params 4822 3_0_0 EXIST::FUNCTION:
-EVP_MD_CTX_gettable_params 4823 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_get_params 4824 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_CTX_set_params 4825 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_CTX_get_params 4826 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_gettable_params 4827 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_settable_ctx_params 4828 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_gettable_ctx_params 4829 3_0_0 EXIST::FUNCTION:
-EVP_MD_get_params 4830 3_0_0 EXIST::FUNCTION:
-EVP_MAC_fetch 4831 3_0_0 EXIST::FUNCTION:
-EVP_MAC_settable_ctx_params 4832 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_set_params 4833 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_get_params 4834 3_0_0 EXIST::FUNCTION:
-EVP_MAC_gettable_ctx_params 4835 3_0_0 EXIST::FUNCTION:
-EVP_MAC_free 4836 3_0_0 EXIST::FUNCTION:
-EVP_MAC_up_ref 4837 3_0_0 EXIST::FUNCTION:
-EVP_MAC_name 4838 3_0_0 NOEXIST::FUNCTION:
-EVP_MAC_get_params 4839 3_0_0 EXIST::FUNCTION:
-EVP_MAC_gettable_params 4840 3_0_0 EXIST::FUNCTION:
-EVP_MAC_provider 4841 3_0_0 EXIST::FUNCTION:
-EVP_MAC_do_all_provided 4842 3_0_0 EXIST::FUNCTION:
-EVP_MD_free 4843 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_free 4844 3_0_0 EXIST::FUNCTION:
-EVP_KDF_up_ref 4845 3_0_0 EXIST::FUNCTION:
-EVP_KDF_free 4846 3_0_0 EXIST::FUNCTION:
-EVP_KDF_fetch 4847 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_dup 4848 3_0_0 EXIST::FUNCTION:
-EVP_KDF_name 4849 3_0_0 NOEXIST::FUNCTION:
-EVP_KDF_provider 4850 3_0_0 EXIST::FUNCTION:
-EVP_KDF_get_params 4851 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_get_params 4852 3_0_0 EXIST::FUNCTION:
-EVP_KDF_CTX_set_params 4853 3_0_0 EXIST::FUNCTION:
-EVP_KDF_gettable_params 4854 3_0_0 EXIST::FUNCTION:
-EVP_KDF_gettable_ctx_params 4855 3_0_0 EXIST::FUNCTION:
-EVP_KDF_settable_ctx_params 4856 3_0_0 EXIST::FUNCTION:
-EVP_KDF_do_all_provided 4857 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_free 4858 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_up_ref 4859 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_provider 4860 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_fetch 4861 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_sign_init_ex 4862 3_0_0 NOEXIST::FUNCTION:
-EVP_PKEY_CTX_set_signature_md 4863 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_verify_init_ex 4864 3_0_0 NOEXIST::FUNCTION:
-EVP_PKEY_verify_recover_init_ex 4865 3_0_0 NOEXIST::FUNCTION:
-EVP_PKEY_CTX_get_signature_md 4866 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_CTX_get_params 4867 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_CTX_gettable_params 4868 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_CTX_settable_params 4869 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_CTX_tag_length 4870 3_0_0 EXIST::FUNCTION:
-ERR_get_error_func 4871 3_0_0 EXIST::FUNCTION:
-ERR_get_error_data 4872 3_0_0 EXIST::FUNCTION:
-ERR_get_error_all 4873 3_0_0 EXIST::FUNCTION:
-ERR_peek_error_func 4874 3_0_0 EXIST::FUNCTION:
-ERR_peek_error_data 4875 3_0_0 EXIST::FUNCTION:
-ERR_peek_error_all 4876 3_0_0 EXIST::FUNCTION:
-ERR_peek_last_error_func 4877 3_0_0 EXIST::FUNCTION:
-ERR_peek_last_error_data 4878 3_0_0 EXIST::FUNCTION:
-ERR_peek_last_error_all 4879 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_is_a 4880 3_0_0 EXIST::FUNCTION:
-EVP_MAC_is_a 4881 3_0_0 EXIST::FUNCTION:
-EVP_MD_settable_ctx_params 4882 3_0_0 EXIST::FUNCTION:
-EVP_MD_gettable_ctx_params 4883 3_0_0 EXIST::FUNCTION:
-OSSL_CMP_CTX_new 4884 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_free 4885 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_reinit 4886 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_option 4887 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_option 4888 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_log_cb 4889 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_print_errors 4890 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_serverPath 4891 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_serverName 4892 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_serverPort 4893 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_proxyName 4894 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_proxyPort 4895 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_http_cb 4896 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_http_cb_arg 4897 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_http_cb_arg 4898 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_transfer_cb 4899 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_transfer_cb_arg 4900 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_transfer_cb_arg 4901 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_srvCert 4902 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_expected_sender 4903 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set0_trustedStore 4904 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get0_trustedStore 4905 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_untrusted_certs 4906 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get0_untrusted_certs 4907 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_clCert 4908 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_pkey 4909 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_referenceValue 4910 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_secretValue 4911 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_recipient 4912 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_push0_geninfo_ITAV 4913 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_extraCertsOut 4914 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set0_newPkey 4915 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get0_newPkey 4916 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_issuer 4917 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_subjectName 4918 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_push1_subjectAltName 4919 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set0_reqExtensions 4920 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_reqExtensions_have_SAN 4921 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_push0_policy 4922 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_oldCert 4923 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_p10CSR 4924 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_push0_genm_ITAV 4925 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_certConf_cb 4926 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set_certConf_cb_arg 4927 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_certConf_cb_arg 4928 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_status 4929 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get0_statusString 4930 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get_failInfoCode 4931 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get0_newCert 4932 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get1_caPubs 4933 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_get1_extraCertsIn 4934 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_transactionID 4935 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_CTX_set1_senderNonce 4936 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_log_open 4937 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_log_close 4938 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_print_errors_cb 4939 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTID_get0_issuer 4940 3_0_0 EXIST::FUNCTION:CRMF
-OSSL_CRMF_CERTID_get0_serialNumber 4941 3_0_0 EXIST::FUNCTION:CRMF
-EVP_DigestSignInit_ex 4942 3_0_0 EXIST::FUNCTION:
-EVP_DigestSignUpdate 4943 3_0_0 EXIST::FUNCTION:
-EVP_DigestVerifyInit_ex 4944 3_0_0 EXIST::FUNCTION:
-EVP_DigestVerifyUpdate 4945 3_0_0 EXIST::FUNCTION:
-BN_check_prime 4946 3_0_0 EXIST::FUNCTION:
-EVP_PKEY_CTX_new_provided 4947 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_is_a 4948 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_do_all_provided 4949 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_is_a 4950 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_do_all_provided 4951 3_0_0 EXIST::FUNCTION:
-EVP_KDF_is_a 4952 3_0_0 EXIST::FUNCTION:
-EVP_MD_is_a 4953 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_is_a 4954 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_do_all_provided 4955 3_0_0 EXIST::FUNCTION:
-EVP_MD_names_do_all 4956 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_names_do_all 4957 3_0_0 EXIST::FUNCTION:
-EVP_MAC_names_do_all 4958 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_names_do_all 4959 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_names_do_all 4960 3_0_0 EXIST::FUNCTION:
-EVP_KDF_names_do_all 4961 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_names_do_all 4962 3_0_0 EXIST::FUNCTION:
-EVP_MD_number 4963 3_0_0 EXIST::FUNCTION:
-EVP_CIPHER_number 4964 3_0_0 EXIST::FUNCTION:
-EVP_MAC_number 4965 3_0_0 EXIST::FUNCTION:
-EVP_KEYMGMT_number 4966 3_0_0 EXIST::FUNCTION:
-EVP_KEYEXCH_number 4967 3_0_0 EXIST::FUNCTION:
-EVP_KDF_number 4968 3_0_0 EXIST::FUNCTION:
-EVP_SIGNATURE_number 4969 3_0_0 EXIST::FUNCTION:
-OSSL_CMP_CTX_snprint_PKIStatus 4970 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_HDR_get0_transactionID 4971 3_0_0 EXIST::FUNCTION:CMP
-OSSL_CMP_HDR_get0_recipNonce 4972 3_0_0 EXIST::FUNCTION:CMP
-X509_LOOKUP_store 4973 3_0_0 EXIST::FUNCTION:
-X509_STORE_load_file 4974 3_0_0 EXIST::FUNCTION:
-X509_STORE_load_path 4975 3_0_0 EXIST::FUNCTION:
-X509_STORE_load_store 4976 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_new ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_new_id ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_CTX_free ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_dup ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_mac ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_size ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_init ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_update ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_final ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_ctrl ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_vctrl ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_ctrl_str ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_str2ctrl ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_hex2ctrl ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_nid ? 3_0_0 NOEXIST::FUNCTION:
+EVP_get_macbyname ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_do_all ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_do_all_sorted ? 3_0_0 NOEXIST::FUNCTION:
+EVP_str2ctrl ? 3_0_0 EXIST::FUNCTION:
+EVP_hex2ctrl ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_supports_digest_nid ? 3_0_0 EXIST::FUNCTION:
+SRP_VBASE_add0_user ? 3_0_0 EXIST::FUNCTION:SRP
+SRP_user_pwd_new ? 3_0_0 EXIST::FUNCTION:SRP
+SRP_user_pwd_set_gN ? 3_0_0 EXIST::FUNCTION:SRP
+SRP_user_pwd_set1_ids ? 3_0_0 EXIST::FUNCTION:SRP
+SRP_user_pwd_set0_sv ? 3_0_0 EXIST::FUNCTION:SRP
+OPENSSL_version_major ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_version_minor ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_version_patch ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_version_pre_release ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_version_build_metadata ? 3_0_0 EXIST::FUNCTION:
+EVP_aes_128_siv ? 3_0_0 EXIST::FUNCTION:SIV
+EVP_aes_192_siv ? 3_0_0 EXIST::FUNCTION:SIV
+EVP_aes_256_siv ? 3_0_0 EXIST::FUNCTION:SIV
+CRYPTO_siv128_new ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_init ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_copy_ctx ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_aad ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_encrypt ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_decrypt ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_finish ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_set_tag ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_get_tag ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_cleanup ? 3_0_0 NOEXIST::FUNCTION:SIV
+CRYPTO_siv128_speed ? 3_0_0 NOEXIST::FUNCTION:SIV
+OPENSSL_INIT_set_config_filename ? 3_0_0 EXIST::FUNCTION:STDIO
+OPENSSL_INIT_set_config_file_flags ? 3_0_0 EXIST::FUNCTION:STDIO
+ASYNC_WAIT_CTX_get_callback ? 3_0_0 EXIST::FUNCTION:
+ASYNC_WAIT_CTX_set_callback ? 3_0_0 EXIST::FUNCTION:
+ASYNC_WAIT_CTX_set_status ? 3_0_0 EXIST::FUNCTION:
+ASYNC_WAIT_CTX_get_status ? 3_0_0 EXIST::FUNCTION:
+ERR_load_ESS_strings ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_free ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_reset ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_size ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_derive ? 3_0_0 EXIST::FUNCTION:
+EC_GROUP_get0_field ? 3_0_0 EXIST::FUNCTION:EC
+CRYPTO_alloc_ex_data ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_CTX_new ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_CTX_free ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_LH_flush ? 3_0_0 EXIST::FUNCTION:
+BN_native2bn ? 3_0_0 EXIST::FUNCTION:
+BN_bn2nativepad ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_get_category_num ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_get_category_name ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_set_channel ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_set_prefix ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_set_suffix ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_set_callback ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_enabled ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_begin ? 3_0_0 EXIST::FUNCTION:
+OSSL_trace_end ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_load ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_unload ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_add_builtin ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_gettable_params ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_get_params ? 3_0_0 EXIST::FUNCTION:
+d2i_OSSL_CRMF_ENCRYPTEDVALUE ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_ENCRYPTEDVALUE ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_MSG ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_MSG ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_PBMPARAMETER ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_PBMPARAMETER ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PBMPARAMETER_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PBMPARAMETER_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PBMPARAMETER_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_CERTID ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_CERTID ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_PKIPUBLICATIONINFO ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_PKIPUBLICATIONINFO ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_SINGLEPUBINFO ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_SINGLEPUBINFO ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_SINGLEPUBINFO_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_SINGLEPUBINFO_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_SINGLEPUBINFO_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_CERTTEMPLATE ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_CERTTEMPLATE ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_it ? 3_0_0 EXIST::FUNCTION:CRMF
+d2i_OSSL_CRMF_MSGS ? 3_0_0 EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_MSGS ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_free ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_it ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_pbmp_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_pbm_new ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_regToken ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_authenticator ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set0_SinglePubInfo ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_PKIPublicationInfo_action ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_oldCertID ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_gen ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regInfo_utf8Pairs ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regInfo_certReq ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_validity ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_certReqId ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_get_certReqId ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set0_extensions ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_push0_extension ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_create_popo ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_verify_popo ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_get0_tmpl ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_get0_serialNumber ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_get0_issuer ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_fill ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert ? 3_0_0 EXIST::FUNCTION:CRMF
+ERR_load_CRMF_strings ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_PARAM_locate ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_int ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_uint ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_long ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_ulong ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_int32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_uint32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_int64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_uint64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_size_t ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_BN ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_double ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_utf8_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_utf8_ptr ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_octet_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_octet_ptr ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_int ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_uint ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_long ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_ulong ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_int32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_uint32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_int64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_uint64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_size_t ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_int ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_uint ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_long ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_ulong ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_int32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_uint32 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_int64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_uint64 ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_size_t ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_double ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_double ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_BN ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_BN ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_utf8_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_utf8_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_octet_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_octet_string ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_utf8_ptr ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_utf8_ptr ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_get_octet_ptr ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_set_octet_ptr ? 3_0_0 EXIST::FUNCTION:
+X509_set0_sm2_id ? 3_0_0 EXIST::FUNCTION:SM2
+X509_get0_sm2_id ? 3_0_0 EXIST::FUNCTION:SM2
+EVP_PKEY_get0_engine ? 3_0_0 EXIST::FUNCTION:ENGINE
+EVP_MD_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_set_default_properties ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_end ? 3_0_0 EXIST::FUNCTION:
+EC_GROUP_check_named_curve ? 3_0_0 EXIST::FUNCTION:EC
+EVP_CIPHER_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_mode ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_info ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_new ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_kdf ? 3_0_0 EXIST::FUNCTION:
+i2d_KeyParams ? 3_0_0 EXIST::FUNCTION:
+d2i_KeyParams ? 3_0_0 EXIST::FUNCTION:
+i2d_KeyParams_bio ? 3_0_0 EXIST::FUNCTION:
+d2i_KeyParams_bio ? 3_0_0 EXIST::FUNCTION:
+OSSL_CMP_PKISTATUS_it ? 3_0_0 EXIST::FUNCTION:CMP
+d2i_OSSL_CMP_PKIHEADER ? 3_0_0 EXIST::FUNCTION:CMP
+i2d_OSSL_CMP_PKIHEADER ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_PKIHEADER_free ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_PKIHEADER_new ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_PKIHEADER_it ? 3_0_0 EXIST::FUNCTION:CMP
+d2i_OSSL_CMP_MSG ? 3_0_0 EXIST::FUNCTION:CMP
+i2d_OSSL_CMP_MSG ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_MSG_it ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_create ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_set0 ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_get0_type ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_get0_value ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_push0_stack_item ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_ITAV_free ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_MSG_free ? 3_0_0 EXIST::FUNCTION:CMP
+ERR_load_CMP_strings ? 3_0_0 EXIST::FUNCTION:CMP
+EVP_MD_CTX_set_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_CTX_get_params ? 3_0_0 EXIST::FUNCTION:
+RAND_DRBG_new_ex ? 3_0_0 EXIST::FUNCTION:
+RAND_DRBG_secure_new_ex ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_CTX_get0_master_drbg ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_CTX_get0_public_drbg ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_CTX_get0_private_drbg ? 3_0_0 EXIST::FUNCTION:
+BN_CTX_new_ex ? 3_0_0 EXIST::FUNCTION:
+BN_CTX_secure_new_ex ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_thread_stop_ex ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_locate_const ? 3_0_0 EXIST::FUNCTION:
+X509_REQ_set0_sm2_id ? 3_0_0 EXIST::FUNCTION:SM2
+X509_REQ_get0_sm2_id ? 3_0_0 EXIST::FUNCTION:SM2
+BN_rand_ex ? 3_0_0 EXIST::FUNCTION:
+BN_priv_rand_ex ? 3_0_0 EXIST::FUNCTION:
+BN_rand_range_ex ? 3_0_0 EXIST::FUNCTION:
+BN_priv_rand_range_ex ? 3_0_0 EXIST::FUNCTION:
+BN_generate_prime_ex2 ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_derive_init_ex ? 3_0_0 NOEXIST::FUNCTION:
+EVP_KEYEXCH_free ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_set_dh_pad ? 3_0_0 EXIST::FUNCTION:DH
+EVP_PKEY_CTX_set_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_free ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_provider ? 3_0_0 EXIST::FUNCTION:
+X509_PUBKEY_dup ? 3_0_0 EXIST::FUNCTION:
+ERR_put_func_error ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MD_name ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_name ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_provider ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_name ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_provider ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_available ? 3_0_0 EXIST::FUNCTION:
+ERR_new ? 3_0_0 EXIST::FUNCTION:
+ERR_set_debug ? 3_0_0 EXIST::FUNCTION:
+ERR_set_error ? 3_0_0 EXIST::FUNCTION:
+ERR_vset_error ? 3_0_0 EXIST::FUNCTION:
+X509_get0_authority_issuer ? 3_0_0 EXIST::FUNCTION:
+X509_get0_authority_serial ? 3_0_0 EXIST::FUNCTION:
+EC_GROUP_new_ex ? 3_0_0 EXIST::FUNCTION:EC
+EC_GROUP_new_by_curve_name_ex ? 3_0_0 EXIST::FUNCTION:EC
+EC_KEY_new_ex ? 3_0_0 EXIST::FUNCTION:EC
+EC_KEY_new_by_curve_name_ex ? 3_0_0 EXIST::FUNCTION:EC
+OPENSSL_hexstr2buf_ex ? 3_0_0 EXIST::FUNCTION:
+OPENSSL_buf2hexstr_ex ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_construct_from_text ? 3_0_0 EXIST::FUNCTION:
+OSSL_PARAM_allocate_from_text ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_CTX_settable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_CTX_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_set_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_settable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_gettable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_settable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_set_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_gettable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_free ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_name ? 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_free ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_free ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_free ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_dup ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_name ? 3_0_0 NOEXIST::FUNCTION:
+EVP_KDF_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_CTX_set_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_gettable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_settable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_free ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_up_ref ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_fetch ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_sign_init_ex ? 3_0_0 NOEXIST::FUNCTION:
+EVP_PKEY_CTX_set_signature_md ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_verify_init_ex ? 3_0_0 NOEXIST::FUNCTION:
+EVP_PKEY_verify_recover_init_ex ? 3_0_0 NOEXIST::FUNCTION:
+EVP_PKEY_CTX_get_signature_md ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_get_params ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_gettable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_settable_params ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_tag_length ? 3_0_0 EXIST::FUNCTION:
+ERR_get_error_func ? 3_0_0 EXIST::FUNCTION:
+ERR_get_error_data ? 3_0_0 EXIST::FUNCTION:
+ERR_get_error_all ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_error_func ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_error_data ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_error_all ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_last_error_func ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_last_error_data ? 3_0_0 EXIST::FUNCTION:
+ERR_peek_last_error_all ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_settable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_gettable_ctx_params ? 3_0_0 EXIST::FUNCTION:
+OSSL_CMP_CTX_new ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_free ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_reinit ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_option ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_option ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_log_cb ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_print_errors ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_serverPath ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_serverName ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_serverPort ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_proxyName ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_proxyPort ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_http_cb ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_http_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_http_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_transfer_cb ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_transfer_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_transfer_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_srvCert ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_expected_sender ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set0_trustedStore ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get0_trustedStore ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_untrusted_certs ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get0_untrusted_certs ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_clCert ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_pkey ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_referenceValue ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_secretValue ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_recipient ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_push0_geninfo_ITAV ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_extraCertsOut ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set0_newPkey ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get0_newPkey ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_issuer ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_subjectName ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_push1_subjectAltName ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set0_reqExtensions ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_reqExtensions_have_SAN ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_push0_policy ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_oldCert ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_p10CSR ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_push0_genm_ITAV ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_certConf_cb ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set_certConf_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_certConf_cb_arg ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_status ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get0_statusString ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get_failInfoCode ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get0_newCert ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get1_caPubs ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_get1_extraCertsIn ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_transactionID ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_CTX_set1_senderNonce ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_log_open ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_log_close ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_print_errors_cb ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CRMF_CERTID_get0_issuer ? 3_0_0 EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_get0_serialNumber ? 3_0_0 EXIST::FUNCTION:CRMF
+EVP_DigestSignInit_ex ? 3_0_0 EXIST::FUNCTION:
+EVP_DigestSignUpdate ? 3_0_0 EXIST::FUNCTION:
+EVP_DigestVerifyInit_ex ? 3_0_0 EXIST::FUNCTION:
+EVP_DigestVerifyUpdate ? 3_0_0 EXIST::FUNCTION:
+BN_check_prime ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_new_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_is_a ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_do_all_provided ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_names_do_all ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_number ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_number ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_number ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_number ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_number ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_number ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_number ? 3_0_0 EXIST::FUNCTION:
+OSSL_CMP_CTX_snprint_PKIStatus ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_HDR_get0_transactionID ? 3_0_0 EXIST::FUNCTION:CMP
+OSSL_CMP_HDR_get0_recipNonce ? 3_0_0 EXIST::FUNCTION:CMP
+X509_LOOKUP_store ? 3_0_0 EXIST::FUNCTION:
+X509_STORE_load_file ? 3_0_0 EXIST::FUNCTION:
+X509_STORE_load_path ? 3_0_0 EXIST::FUNCTION:
+X509_STORE_load_store ? 3_0_0 EXIST::FUNCTION:
diff --git a/util/libssl.num b/util/libssl.num
index c643acbb24..4b5965285a 100644
--- a/util/libssl.num
+++ b/util/libssl.num
@@ -497,17 +497,17 @@ SSL_get_recv_max_early_data 497 3_0_0 EXIST::FUNCTION:
SSL_CTX_get_recv_max_early_data 498 3_0_0 EXIST::FUNCTION:
SSL_CTX_set_recv_max_early_data 499 3_0_0 EXIST::FUNCTION:
SSL_CTX_set_post_handshake_auth 500 3_0_0 EXIST::FUNCTION:
-SSL_get_signature_type_nid 501 3_0_0 EXIST::FUNCTION:
-SSL_CTX_set_async_callback 502 3_0_0 EXIST::FUNCTION:
-SSL_CTX_set_async_callback_arg 503 3_0_0 EXIST::FUNCTION:
-SSL_set_async_callback 504 3_0_0 EXIST::FUNCTION:
-SSL_set_async_callback_arg 505 3_0_0 EXIST::FUNCTION:
-SSL_get_async_status 506 3_0_0 EXIST::FUNCTION:
-SSL_sendfile 507 3_0_0 EXIST::FUNCTION:
-OSSL_default_cipher_list 508 3_0_0 EXIST::FUNCTION:
-OSSL_default_ciphersuites 509 3_0_0 EXIST::FUNCTION:
-SSL_add_store_cert_subjects_to_stack 510 3_0_0 EXIST::FUNCTION:
-SSL_CTX_set_default_verify_store 511 3_0_0 EXIST::FUNCTION:
-SSL_CTX_load_verify_file 512 3_0_0 EXIST::FUNCTION:
-SSL_CTX_load_verify_dir 513 3_0_0 EXIST::FUNCTION:
-SSL_CTX_load_verify_store 514 3_0_0 EXIST::FUNCTION:
+SSL_get_signature_type_nid ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_set_async_callback ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_set_async_callback_arg ? 3_0_0 EXIST::FUNCTION:
+SSL_set_async_callback ? 3_0_0 EXIST::FUNCTION:
+SSL_set_async_callback_arg ? 3_0_0 EXIST::FUNCTION:
+SSL_get_async_status ? 3_0_0 EXIST::FUNCTION:
+SSL_sendfile ? 3_0_0 EXIST::FUNCTION:
+OSSL_default_cipher_list ? 3_0_0 EXIST::FUNCTION:
+OSSL_default_ciphersuites ? 3_0_0 EXIST::FUNCTION:
+SSL_add_store_cert_subjects_to_stack ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_set_default_verify_store ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_load_verify_file ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_load_verify_dir ? 3_0_0 EXIST::FUNCTION:
+SSL_CTX_load_verify_store ? 3_0_0 EXIST::FUNCTION:
diff --git a/util/mkdef.pl b/util/mkdef.pl
index a860db601d..11471499df 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -323,7 +323,10 @@ sub writer_VMS {
my $last_num = 0;
foreach (@_) {
- while (++$last_num < $_->number()) {
+ my $this_num = $_->number();
+ $this_num = $last_num + 1 if $this_num =~ m|^\?|;
+
+ while (++$last_num < $this_num) {
push @slot_collection, $collector->(); # Just occupy a slot
}
my $type = {
@@ -406,12 +409,20 @@ int main()
{
_____
+ my $last_num = 0;
for (@_) {
+ my $this_num = $_->number();
+ $this_num = $last_num + 1 if $this_num =~ m|^\?|;
+
if ($_->type() eq 'VARIABLE') {
- print "\textern int ", $_->name(), '; /* type unknown */ /* ', $_->number(), ' ', $_->version(), " */\n";
+ print "\textern int ", $_->name(), '; /* type unknown */ /* ',
+ $this_num, ' ', $_->version(), " */\n";
} else {
- print "\textern int ", $_->name(), '(); /* type unknown */ /* ', $_->number(), ' ', $_->version(), " */\n";
+ print "\textern int ", $_->name(), '(); /* type unknown */ /* ',
+ $this_num, ' ', $_->version(), " */\n";
}
+
+ $last_num = $this_num;
}
print <<'_____';
}
diff --git a/util/mknum.pl b/util/mknum.pl
index 1fa1b958dc..871c07055b 100644
--- a/util/mknum.pl
+++ b/util/mknum.pl
@@ -88,6 +88,13 @@ foreach my $f (($symhacks_file // (), @ARGV)) {
close IN;
}
+# As long as we're running in development or alpha releases, we can have
+# symbols without specific numbers assigned. When in beta or final release,
+# all symbols MUST have an assigned number.
+if ($version !~ m/^\d+\.\d+\.\d+(?:[a-z]+)?-(?:dev|alpha)/) {
+ $ordinals->renumber();
+}
+
if ($checkexist) {
my %new_names = map { $_->name() => 1 }
$ordinals->items(comparator => sub { $_[0] cmp $_[1] },
@@ -121,5 +128,9 @@ if ($checkexist) {
} else {
print STDERR "${ordinals_file}: No new symbols added\n";
}
-
+ if ($stats{unassigned}) {
+ my $symbol = $stats{unassigned} == 1 ? "symbol" : "symbols";
+ my $is = $stats{unassigned} == 1 ? "is" : "are";
+ print STDERR "${ordinals_file}: $stats{unassigned} $symbol $is without ordinal number\n";
+ }
}
diff --git a/util/perl/OpenSSL/Ordinals.pm b/util/perl/OpenSSL/Ordinals.pm
index 302d58f8b1..c3cfc98e71 100644
--- a/util/perl/OpenSSL/Ordinals.pm
+++ b/util/perl/OpenSSL/Ordinals.pm
@@ -64,12 +64,12 @@ on different platforms.
=item B<new> I<%options>
Creates a new instance of the C<OpenSSL::Ordinals> class. It takes options
-in keyed pair form, i.e. a series of C<key =E<gt> value> pairs. Available
+in keyed pair form, i.e. a series of C<< key => value >> pairs. Available
options are:
=over 4
-=item B<from =E<gt> FILENAME>
+=item B<< from => FILENAME >>
Not only create a new instance, but immediately load it with data from the
ordinals file FILENAME.
@@ -86,6 +86,7 @@ sub new {
filename => undef, # File name registered when loading
loaded_maxnum => 0, # Highest allocated item number when loading
loaded_contents => [], # Loaded items, if loading there was
+ maxassigned => 0, # Current highest assigned item number
maxnum => 0, # Current highest allocated item number
contents => [], # Items, indexed by number
name2num => {}, # Name to number dictionary
@@ -101,7 +102,7 @@ sub new {
return $instance;
}
-=item B<$ordinals-E<gt>load FILENAME>
+=item B<< $ordinals->load FILENAME >>
Loads the data from FILENAME into the instance. Any previously loaded data
is dropped.
@@ -121,6 +122,7 @@ sub load {
my @tmp_contents = ();
my %tmp_name2num = ();
+ my $max_assigned = 0;
my $max_num = 0;
open F, '<', $filename or croak "Unable to open $filename";
while (<F>) {
@@ -131,17 +133,27 @@ sub load {
my $item = OpenSSL::Ordinals::Item->new(from => $_);
my $num = $item->number();
- croak "Disordered ordinals, $num < $max_num"
- if $num < $max_num;
- $max_num = $num;
+ if ($num eq '?') {
+ $num = ++$max_num;
+ } elsif ($num eq '?+') {
+ $num = $max_num;
+ } else {
+ croak "Disordered ordinals, number sequence restarted"
+ if $max_num > $max_assigned && $num < $max_num;
+ croak "Disordered ordinals, $num < $max_num"
+ if $num < $max_num;
+ $max_assigned = $max_num = $num;
+ }
- push @{$tmp_contents[$item->number()]}, $item;
- $tmp_name2num{$item->name()} = $item->number();
+ $item->intnum($num);
+ push @{$tmp_contents[$num]}, $item;
+ $tmp_name2num{$item->name()} = $num;
}
close F;
$self->{contents} = [ @tmp_contents ];
$self->{name2num} = { %tmp_name2num };
+ $self->{maxassigned} = $max_assigned;
$self->{maxnum} = $max_num;
$self->{filename} = $filename;
@@ -157,7 +169,26 @@ sub load {
return 1;
}
-=item B<$ordinals-E<gt>rewrite>
+=item B<< $ordinals->renumber >>
+
+Renumber any item that doesn't have an assigned number yet.
+
+=cut
+
+sub renumber {
+ my $self = shift;
+
+ my $max_assigned = 0;
+ foreach ($self->items(by => by_number())) {
+ $_->number($_->intnum()) if $_->number() =~ m|^\?|;
+ if ($max_assigned < $_->number()) {
+ $max_assigned = $_->number();
+ }
+ }
+ $self->{maxassigned} = $max_assigned;
+}
+
+=item B<< $ordinals->rewrite >>
If an ordinals file has been loaded, it gets rewritten with the data from
the current work database.
@@ -170,10 +201,10 @@ sub rewrite {
$self->write($self->{filename});
}
-=item B<$ordinals-E<gt>write FILENAME>
+=item B<< $ordinals->write FILENAME >>
Writes the current work database data to the ordinals file FILENAME.
-This also validates the data, see B<$ordinals-E<gt>validate> below.
+This also validates the data, see B<< $ordinals->validate >> below.
=cut
@@ -195,21 +226,21 @@ sub write {
return 1;
}
-=item B<$ordinals-E<gt>items> I<%options>
+=item B<< $ordinals->items >> I<%options>
Returns a list of items according to a set of criteria. The criteria is
-given in form keyed pair form, i.e. a series of C<key =E<gt> value> pairs.
+given in form keyed pair form, i.e. a series of C<< key => value >> pairs.
Available options are:
=over 4
-=item B<sort =E<gt> SORTFUNCTION>
+=item B<< sort => SORTFUNCTION >>
SORTFUNCTION is a reference to a function that takes two arguments, which
correspond to the classic C<$a> and C<$b> that are available in a C<sort>
block.
-=item B<filter =E<gt> FILTERFUNCTION>
+=item B<< filter => FILTERFUNCTION >>
FILTERFUNTION is a reference to a function that takes one argument, which
is every OpenSSL::Ordinals::Item element available.
@@ -271,7 +302,7 @@ sub _putback {
my %versions = ();
my %features = ();
foreach (@items) {
- $numbers{$_->number()} = 1;
+ $numbers{$_->intnum()} = 1;
$versions{$_->version()} = 1;
foreach ($_->features()) {
$features{$_}++;
@@ -280,7 +311,7 @@ sub _putback {
# Check that all items we're trying to put back have the same number
croak "Items don't have the same numeral: ",
- join(", ", map { $_->name()." => ".$_->number() } @items), "\n"
+ join(", ", map { $_->name()." => ".$_->intnum() } @items), "\n"
if (scalar keys %numbers > 1);
croak "Items don't have the same version: ",
join(", ", map { $_->name()." => ".$_->version() } @items), "\n"
@@ -323,7 +354,7 @@ sub _putback {
$items[0]->name(), " and ", $items[1]->name(), "\n";
}
}
- $self->{contents}->[$items[0]->number()] = [ @items ];
+ $self->{contents}->[$items[0]->intnum()] = [ @items ];
}
sub _parse_platforms {
@@ -379,7 +410,7 @@ sub _adjust_version {
return $version;
}
-=item B<$ordinals-E<gt>add NAME, TYPE, LIST>
+=item B<< $ordinals->add NAME, TYPE, LIST >>
Adds a new item named NAME with the type TYPE, and a set of C macros in
LIST that are expected to be defined or undefined to use this symbol, if
@@ -387,9 +418,7 @@ any. For undefined macros, they each must be prefixed with a C<!>.
If this symbol already exists in loaded data, it will be rewritten using
the new input data, but will keep the same ordinal number and version.
-If it's entirely new, it will get a new number and the current default
-version. The new ordinal number is a simple increment from the last
-maximum number.
+If it's entirely new, it will get a '?' and the current default version.
=cut
@@ -411,7 +440,8 @@ sub add {
my @items = $self->items(filter => f_name($name));
my $version = @items ? $items[0]->version() : $self->{currversion};
- my $number = @items ? $items[0]->number() : ++$self->{maxnum};
+ my $intnum = @items ? $items[0]->intnum() : ++$self->{maxnum};
+ my $number = @items ? $items[0]->number() : '?';
print STDERR "DEBUG[",__PACKAGE__,":add] $verbsig\n",
@items ? map { "\t".$_->to_string()."\n" } @items : "No previous items\n",
if $self->{debug};
@@ -421,6 +451,7 @@ sub add {
OpenSSL::Ordinals::Item->new( name => $name,
type => $type,
number => $number,
+ intnum => $intnum,
version =>
$self->_adjust_version($version),
exists => 1,
@@ -445,7 +476,7 @@ sub add {
return @returns;
}
-=item B<$ordinals-E<gt>add_alias ALIAS, NAME, LIST>
+=item B<< $ordinals->add_alias ALIAS, NAME, LIST >>
Adds an alias ALIAS for the symbol NAME, and a set of C macros in LIST
that are expected to be defined or undefined to use this symbol, if any.
@@ -505,10 +536,13 @@ sub add_alias {
# We supposedly do now know how to do this... *ahem*
$items[0]->{platforms} = { %alias_platforms };
+ my $number =
+ $items[0]->number() =~ m|^\?| ? '?+' : $items[0]->number();
my $alias_item = OpenSSL::Ordinals::Item->new(
name => $alias,
type => $items[0]->type(),
- number => $items[0]->number(),
+ number => $number,
+ intnum => $items[0]->intnum(),
version => $self->_adjust_version($items[0]->version()),
exists => $items[0]->exists(),
platforms => { %platforms },
@@ -528,9 +562,9 @@ sub add_alias {
"\t", join(", ", map { $_->name() } @items), "\n";
}
-=item B<$ordinals-E<gt>set_version VERSION>
+=item B<< $ordinals->set_version VERSION >>
-=item B<$ordinals-E<gt>set_version VERSION BASEVERSION>
+=item B<< $ordinals->set_version VERSION BASEVERSION >>
Sets the default version for new symbol to VERSION.
@@ -591,7 +625,7 @@ sub set_version {
return 1;
}
-=item B<$ordinals-E<gt>invalidate>
+=item B<< $ordinals->invalidate >>
Invalidates the whole working database. The practical effect is that all
symbols are set to not exist, but are kept around in the database to retain
@@ -610,11 +644,11 @@ sub invalidate {
$self->{stats} = {};
}
-=item B<$ordinals-E<gt>validate>
+=item B<< $ordinals->validate >>
Validates the current working database by collection statistics on how many
symbols were added and how many were changed. These numbers can be retrieved
-with B<$ordinals-E<gt>stats>.
+with B<< $ordinals->stats >>.
=cut
@@ -628,6 +662,11 @@ sub validate {
&& @{$self->{contents}->[$i] // []})) {
$self->{stats}->{new}++;
}
+ if ($i <= $self->{maxassigned}) {
+ $self->{stats}->{assigned}++;
+ } else {
+ $self->{stats}->{unassigned}++;
+ }
next if ($i > $self->{loaded_maxnum});
my @loaded_strings =
@@ -644,7 +683,7 @@ sub validate {
}
}
-=item B<$ordinals-E<gt>stats>
+=item B<< $ordinals->stats >>
Returns the statistics that B<validate> calculate.
@@ -676,12 +715,12 @@ use Carp;
=item B<new> I<%options>
Creates a new instance of the C<OpenSSL::Ordinals::Item> class. It takes
-options in keyed pair form, i.e. a series of C<key =E<gt> value> pairs.
+options in keyed pair form, i.e. a series of C<< key => value >> pairs.
Available options are:
=over 4
-=item B<from =E<gt> STRING>
+=item B<< from => STRING >>
This will create a new item, filled with data coming from STRING.
@@ -691,8 +730,8 @@ STRING must conform to the following EBNF description:
exist, ":", platforms, ":", type, ":", features;
spaces = space, { space };
space = " " | "\t";
- symbol = ( letter | "_"), { letter | digit | "_" };
- ordinal = number;
+ symbol = ( letter | "_" ), { letter | digit | "_" };
+ ordinal = number | "?" | "?+";
version = number, "_", number, "_", number, [ letter, [ letter ] ];
exist = "EXIST" | "NOEXIST";
platforms = platform, { ",", platform };
@@ -704,9 +743,9 @@ STRING must conform to the following EBNF description:
(C<letter> and C<digit> are assumed self evident)
-=item B<name =E<gt> STRING>, B<number =E<gt> NUMBER>, B<version =E<gt> STRING>,
- B<exists =E<gt> BOOLEAN>, B<type =E<gt> STRING>,
- B<platforms =E<gt> HASHref>, B<features =E<gt> LISTref>
+=item B<< name => STRING >>, B<< number => NUMBER >>, B<< version => STRING >>,
+ B<< exists => BOOLEAN >>, B<< type => STRING >>,
+ B<< platforms => HASHref >>, B<< features => LISTref >>
This will create a new item with data coming from the arguments.
@@ -732,7 +771,7 @@ sub new {
croak "Badly formatted ordinals string: $opts{from}"
unless ( scalar @a == 4
&& $a[0] =~ /^[A-Za-z_][A-Za-z_0-9]*$/
- && $a[1] =~ /^\d+$/
+ && $a[1] =~ /^\d+|\?\+?$/
&& $a[2] =~ /^(?:\*|\d+_\d+_\d+[a-z]{0,2})$/
&& $a[3] =~ /^
(?:NO)?EXIST:
@@ -762,6 +801,7 @@ sub new {
$instance = { name => $opts{name},
type => $opts{type},
number => $opts{number},
+ intnum => $opts{intnum},
version => $version,
exists => !!$opts{exists},
platforms => { %{$opts{platforms} // {}} },
@@ -777,36 +817,40 @@ sub new {
sub DESTROY {
}
-=item B<$item-E<gt>name>
+=item B<< $item->name >>
The symbol name for this item.
-=item B<$item-E<gt>number>
+=item B<< $item->number >> (read-write)
The positional number for this item.
-=item B<$item-E<gt>version>
+This may be '?' for an unassigned symbol, or '?+' for an unassigned symbol
+that's an alias for the previous symbol. '?' and '?+' must be properly
+handled by the caller. The caller may change this to an actual number.
+
+=item B<< $item->version >> (read-only)
The version number for this item. Please note that these version numbers
have underscore (C<_>) as a separator the the version parts.
-=item B<$item-E<gt>exists>
+=item B<< $item->exists >> (read-only)
A boolean that tells if this symbol exists in code or not.
-=item B<$item-E<gt>platforms>
+=item B<< $item->platforms >> (read-only)
A hash table reference. The keys of the hash table are the names of
the specified platforms, with a value of 0 to indicate that this symbol
isn't available on that platform, and 1 to indicate that it is. Platforms
that aren't mentioned default to 1.
-=item B<$item-E<gt>type>
+=item B<< $item->type >> (read-only)
C<FUNCTION> or C<VARIABLE>, depending on what the symbol represents.
Some platforms do not care about this, others do.
-=item B<$item-E<gt>features>
+=item B<< $item->features >> (read-only)
An array reference, where every item indicates a feature where this symbol
is available. If no features are mentioned, the symbol is always available.
@@ -830,7 +874,37 @@ sub AUTOLOAD {
return %{$self->{$item}} if ref($self->{$item}) eq 'HASH';
}
-=item B<$item-E<gt>to_string>
+=item B<< $item->intnum >> (read-write)
+
+Internal positional number. If I<< $item->number >> is '?' or '?+', the
+caller can use this to set a number for its purposes.
+If I<< $item->number >> is a number, I<< $item->intnum >> should be the
+same
+
+=cut
+
+# Getter/setters
+sub intnum {
+ my $self = shift;
+ my $value = shift;
+ my $item = 'intnum';
+
+ croak "$item called with extra arguments" if @_;
+ $self->{$item} = "$value" if defined $value;
+ return $self->{$item};
+}
+
+sub number {
+ my $self = shift;
+ my $value = shift;
+ my $item = 'number';
+
+ croak "$item called with extra arguments" if @_;
+ $self->{$item} = "$value" if defined $value;
+ return $self->{$item};
+}
+
+=item B<< $item->to_string >>
Converts the item to a string that can be saved in an ordinals file.
@@ -844,7 +918,7 @@ sub to_string {
my @features = $self->features();
my $version = $self->version();
$version =~ s|\.|_|g;
- return sprintf "%-39s %d\t%s\t%s:%s:%s:%s",
+ return sprintf "%-39s %s\t%s\t%s:%s:%s:%s",
$self->name(),
$self->number(),
$version,
@@ -859,7 +933,7 @@ sub to_string {
=head2 Comparators and filters
-For the B<$ordinals-E<gt>items> method, there are a few functions to create
+For the B<< $ordinals->items >> method, there are a few functions to create
comparators based on specific data:
=over 4
@@ -890,7 +964,7 @@ OpenSSL::Ordinals::Item objects.
=cut
sub by_number {
- return sub { $_[0]->number() <=> $_[1]->number() };
+ return sub { $_[0]->intnum() <=> $_[1]->intnum() };
}
=item B<by_version>
More information about the openssl-commits
mailing list