Clear CRMF vs CMP confusion
authorRichard Levitte <levitte@openssl.org>
Wed, 8 May 2019 03:28:47 +0000 (05:28 +0200)
committerRichard Levitte <levitte@openssl.org>
Mon, 20 May 2019 14:19:00 +0000 (16:19 +0200)
In the development of the CRMF sub-system, there seems to have been
some confusion as to what configuration option should be used.
'no-crmf' was added, but the C macro guards were using OPENSSL_NO_CMP
rather than OPENSSL_NO_CRMF...

In fact, we want 'no-cmp', but since the CRMF code is part of CMP, we
need 'no-crmf' to depend on 'no-cmp'.  We do this by making 'crmf' a
silent "option" that get affected by 'cmp' by way of %disable_cascades.
This allows options to be "aliases" for a set of other ones, silent or
not.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8897)

Configure
crypto/err/err_all.c
include/openssl/crmf.h
include/openssl/crmferr.h
util/libcrypto.num
util/mkerr.pl

index 701368d..96c8e40 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -345,9 +345,9 @@ my @disablables = (
     "cast",
     "chacha",
     "cmac",
+    "cmp",
     "cms",
     "comp",
-    "crmf",
     "crypto-mdebug",
     "crypto-mdebug-backtrace",
     "ct",
@@ -433,6 +433,14 @@ foreach my $proto ((@tls, @dtls))
         push(@disablables, "$proto-method") unless $proto eq "tls1_3";
         }
 
+# Internal disablables, for aliasing purposes.  They serve no special
+# purpose here, but allow scripts to get to know them through configdata.pm,
+# where these are merged with @disablables.
+# The actual aliasing mechanism is done via %disable_cascades
+my @disablables_int = qw(
+    crmf
+    );
+
 my %deprecated_disablables = (
     "ssl2" => undef,
     "buf-freelists" => undef,
@@ -534,6 +542,8 @@ my @disable_cascades = (
 
     sub { $disabled{cmac}; } => [ "siv" ],
     "legacy"                 => [ "md2" ],
+
+    "cmp"               => [ "crmf" ],
     );
 
 # Avoid protocol support holes.  Also disable all versions below N, if version
@@ -2415,7 +2425,7 @@ use warnings;
 use Exporter;
 #use vars qw(\@ISA \@EXPORT);
 our \@ISA = qw(Exporter);
-our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info \@disablables);
+our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info \@disablables \@disablables_int);
 
 EOF
 print OUT "our %config = (\n";
@@ -2476,6 +2486,15 @@ foreach (@disablables) {
 print OUT <<"EOF";
 );
 
+EOF
+print OUT "# The following come from Configure's @disablables_int\n";
+print OUT "our \@disablables_int = (\n";
+foreach (@disablables_int) {
+    print OUT "  ", quotify("perl", $_), ",\n";
+}
+print OUT <<"EOF";
+);
+
 EOF
 print OUT "our \%disabled = (\n";
 foreach (sort keys %disabled) {
index af44467..a56cf9c 100644 (file)
@@ -92,7 +92,7 @@ int err_load_crypto_strings_int(void)
 # ifndef OPENSSL_NO_CMS
         ERR_load_CMS_strings() == 0 ||
 # endif
-# ifndef OPENSSL_NO_CMP
+# ifndef OPENSSL_NO_CRMF
         ERR_load_CRMF_strings() == 0 ||
 # endif
 # ifndef OPENSSL_NO_CT
index a265223..737a49d 100644 (file)
@@ -16,7 +16,7 @@
 
 # include <openssl/opensslconf.h>
 
-# ifndef OPENSSL_NO_CMP
+# ifndef OPENSSL_NO_CRMF
 #  include <openssl/opensslv.h>
 #  include <openssl/safestack.h>
 #  include <openssl/crmferr.h>
@@ -133,5 +133,5 @@ X509 *OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert(OSSL_CRMF_ENCRYPTEDVALUE *ecert,
 #  ifdef __cplusplus
 }
 #  endif
-# endif /* !defined OPENSSL_NO_CMP */
+# endif /* !defined OPENSSL_NO_CRMF */
 #endif /* !defined OSSL_HEADER_CRMF_H */
index 06f90fb..1a8b199 100644 (file)
@@ -13,7 +13,7 @@
 
 # include <openssl/opensslconf.h>
 
-# ifndef OPENSSL_NO_CMP
+# ifndef OPENSSL_NO_CRMF
 
 #  ifdef  __cplusplus
 extern "C"
index 010f868..34d4d84 100644 (file)
@@ -4660,88 +4660,88 @@ OSSL_PROVIDER_unload                    4615    3_0_0   EXIST::FUNCTION:
 OSSL_PROVIDER_add_builtin               4616   3_0_0   EXIST::FUNCTION:
 OSSL_PROVIDER_get_param_types           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:CMP
-i2d_OSSL_CRMF_ENCRYPTEDVALUE            4620   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_ENCRYPTEDVALUE_free           4621   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_ENCRYPTEDVALUE_new            4622   3_0_0   EXIST::FUNCTION:CMP
+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   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_ENCRYPTEDVALUE_it             4624   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_ENCRYPTEDVALUE_it             4624   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_MSG                       4625   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_MSG                       4626   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_free                      4627   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_new                       4628   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_ENCRYPTEDVALUE_it             4624   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_it             4624   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_MSG                       4625   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_MSG                       4626   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_free                      4627   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_new                       4628   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_MSG_it                        4629   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_MSG_it                        4630   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_MSG_it                        4630   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_PBMPARAMETER              4631   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_PBMPARAMETER              4632   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_PBMPARAMETER_free             4633   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_PBMPARAMETER_new              4634   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_MSG_it                        4630   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_MSG_it                        4630   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_PBMPARAMETER              4631   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_PBMPARAMETER              4632   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_PBMPARAMETER_free             4633   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_PBMPARAMETER_new              4634   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_PBMPARAMETER_it               4635   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_PBMPARAMETER_it               4636   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_PBMPARAMETER_it               4636   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_CERTID                    4637   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_CERTID                    4638   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTID_free                   4639   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTID_new                    4640   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_PBMPARAMETER_it               4636   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_PBMPARAMETER_it               4636   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_CERTID                    4637   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_CERTID                    4638   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_free                   4639   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_new                    4640   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_CERTID_it                     4641   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_CERTID_it                     4642   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_CERTID_it                     4642   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_PKIPUBLICATIONINFO        4643   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_PKIPUBLICATIONINFO        4644   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_PKIPUBLICATIONINFO_free       4645   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_PKIPUBLICATIONINFO_new        4646   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_CERTID_it                     4642   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_CERTID_it                     4642   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_PKIPUBLICATIONINFO        4643   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_PKIPUBLICATIONINFO        4644   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_free       4645   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_new        4646   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_PKIPUBLICATIONINFO_it         4647   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_PKIPUBLICATIONINFO_it         4648   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_PKIPUBLICATIONINFO_it         4648   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_SINGLEPUBINFO             4649   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_SINGLEPUBINFO             4650   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_SINGLEPUBINFO_free            4651   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_SINGLEPUBINFO_new             4652   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_PKIPUBLICATIONINFO_it         4648   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_PKIPUBLICATIONINFO_it         4648   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_SINGLEPUBINFO             4649   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_SINGLEPUBINFO             4650   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_SINGLEPUBINFO_free            4651   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_SINGLEPUBINFO_new             4652   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_SINGLEPUBINFO_it              4653   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_SINGLEPUBINFO_it              4654   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_SINGLEPUBINFO_it              4654   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_CERTTEMPLATE              4655   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_CERTTEMPLATE              4656   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTTEMPLATE_free             4657   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTTEMPLATE_new              4658   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_SINGLEPUBINFO_it              4654   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_SINGLEPUBINFO_it              4654   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_CERTTEMPLATE              4655   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_CERTTEMPLATE              4656   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_free             4657   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_new              4658   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_CERTTEMPLATE_it               4659   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_CERTTEMPLATE_it               4660   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_CERTTEMPLATE_it               4660   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-d2i_OSSL_CRMF_MSGS                      4661   3_0_0   EXIST::FUNCTION:CMP
-i2d_OSSL_CRMF_MSGS                      4662   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSGS_free                     4663   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSGS_new                      4664   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_CERTTEMPLATE_it               4660   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_CERTTEMPLATE_it               4660   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+d2i_OSSL_CRMF_MSGS                      4661   3_0_0   EXIST::FUNCTION:CRMF
+i2d_OSSL_CRMF_MSGS                      4662   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_free                     4663   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_new                      4664   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_CRMF_MSGS_it                       4665   3_0_0   NOEXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_MSGS_it                       4666   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMP
-OSSL_CRMF_MSGS_it                       4666   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMP
-OSSL_CRMF_pbmp_new                      4667   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_pbm_new                       4668   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regCtrl_regToken     4669   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regCtrl_authenticator 4670  3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo 4671      3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set0_SinglePubInfo        4672   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set_PKIPublicationInfo_action 4673       3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo 4674     3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey 4675        3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regCtrl_oldCertID    4676   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTID_gen                    4677   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regInfo_utf8Pairs    4678   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set1_regInfo_certReq      4679   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set_validity              4680   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set_certReqId             4681   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_get_certReqId             4682   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_set0_extensions           4683   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_push0_extension           4684   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_create_popo               4685   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSGS_verify_popo              4686   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_MSG_get0_tmpl                 4687   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTTEMPLATE_get0_serialNumber 4688  3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTTEMPLATE_get0_issuer      4689   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_CERTTEMPLATE_fill             4690   3_0_0   EXIST::FUNCTION:CMP
-OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert   4691   3_0_0   EXIST::FUNCTION:CMP
-ERR_load_CRMF_strings                   4692   3_0_0   EXIST::FUNCTION:CMP
+OSSL_CRMF_MSGS_it                       4666   3_0_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CRMF
+OSSL_CRMF_MSGS_it                       4666   3_0_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CRMF
+OSSL_CRMF_pbmp_new                      4667   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_pbm_new                       4668   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_regToken     4669   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_authenticator 4670  3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo 4671      3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set0_SinglePubInfo        4672   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_PKIPublicationInfo_action 4673       3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo 4674     3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey 4675        3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regCtrl_oldCertID    4676   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTID_gen                    4677   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regInfo_utf8Pairs    4678   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set1_regInfo_certReq      4679   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_validity              4680   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set_certReqId             4681   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_get_certReqId             4682   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_set0_extensions           4683   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_push0_extension           4684   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_create_popo               4685   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSGS_verify_popo              4686   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_MSG_get0_tmpl                 4687   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_get0_serialNumber 4688  3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_get0_issuer      4689   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_CERTTEMPLATE_fill             4690   3_0_0   EXIST::FUNCTION:CRMF
+OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert   4691   3_0_0   EXIST::FUNCTION:CRMF
+ERR_load_CRMF_strings                   4692   3_0_0   EXIST::FUNCTION:CRMF
 OSSL_PARAM_locate                       4693   3_0_0   EXIST::FUNCTION:
 OSSL_PARAM_construct_int                4694   3_0_0   EXIST::FUNCTION:
 OSSL_PARAM_construct_uint               4695   3_0_0   EXIST::FUNCTION:
index f1d9b39..08593d0 100755 (executable)
@@ -463,7 +463,7 @@ EOF
         # Declare the load function because the generate C file
         # includes "fooerr.h" not "foo.h"
         if ($lib ne "SSL" && $lib ne "ASYNC"
-                && grep { $lib eq uc $_ } @disablables) {
+                && (grep { $lib eq uc $_ } @disablables, @disablables_int)) {
             print OUT <<"EOF";
 # include <openssl/opensslconf.h>