summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-05-08 05:28:47 +0200
committerRichard Levitte <levitte@openssl.org>2019-05-20 16:19:00 +0200
commit538f38db50e4ead178025689d28bda316b15c242 (patch)
treed9c8eee9b87cdcc59409d1ed212cce46c2bd0388 /Configure
parent2752c8984c3c7ff6078d00944efd1ddb74b94ba4 (diff)
Clear CRMF vs CMP confusion
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)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure23
1 files changed, 21 insertions, 2 deletions
diff --git a/Configure b/Configure
index 701368d5c6..96c8e40af1 100755
--- 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";
@@ -2477,6 +2487,15 @@ 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) {
print OUT " ", quotify("perl", $_), " => ", quotify("perl", $disabled{$_}), ",\n";