[openssl] master update
Richard Levitte
levitte at openssl.org
Tue Dec 10 13:21:55 UTC 2019
The branch master has been updated
via 8c06d7199e3885d24e39439f54b2ed2e5b40fbea (commit)
via 76d0a74b8ef2902f7a534a12a043346a3d593886 (commit)
from ea7a952c8aab33d0bb0a2bbd210305d722a5702b (commit)
- Log -----------------------------------------------------------------
commit 8c06d7199e3885d24e39439f54b2ed2e5b40fbea
Author: Richard Levitte <levitte at openssl.org>
Date: Wed Dec 4 10:55:05 2019 +0100
Configuration: compute openssl_other_defines and related info later
The computation of macros and configdata.pm related data from %disabled
was done much too early, leaving later disablings without real support.
Reviewed-by: Tim Hudson <tjh at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10566)
commit 76d0a74b8ef2902f7a534a12a043346a3d593886
Author: Richard Levitte <levitte at openssl.org>
Date: Wed Dec 4 00:14:02 2019 +0100
Disable devcryptoeng on newer OpenBSD versions
It's reported that /dev/crypto support has been dropped in OpenBSD 5.7.
Fixes #10552
Reviewed-by: Tim Hudson <tjh at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10566)
-----------------------------------------------------------------------
Summary of changes:
Configure | 103 ++++++++++++++++++++++++++++++++++++--------------------------
1 file changed, 60 insertions(+), 43 deletions(-)
diff --git a/Configure b/Configure
index bad09ed8a3..22082deb4c 100755
--- a/Configure
+++ b/Configure
@@ -1239,46 +1239,6 @@ foreach (keys %useradd) {
# Allow overriding the build file name
$config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile";
-######################################################################
-# Build up information for skipping certain directories depending on disabled
-# features, as well as setting up macros for disabled features.
-
-# This is a tentative database of directories to skip. Some entries may not
-# correspond to anything real, but that's ok, they will simply be ignored.
-# The actual processing of these entries is done in the build.info lookup
-# loop further down.
-#
-# The key is a Unix formatted path in the source tree, the value is an index
-# into %disabled_info, so any existing path gets added to a corresponding
-# 'skipped' entry in there with the list of skipped directories.
-my %skipdir = ();
-my %disabled_info = (); # For configdata.pm
-foreach my $what (sort keys %disabled) {
- # There are deprecated disablables that translate to themselves.
- # They cause disabling cascades, but should otherwise not regiter.
- next if $deprecated_disablables{$what};
-
- $config{options} .= " no-$what";
-
- if (!grep { $what eq $_ } ( 'buildtest-c++', 'fips', 'threads', 'shared',
- 'module', 'pic', 'dynamic-engine', 'makedepend',
- 'zlib-dynamic', 'zlib', 'sse2', 'legacy' )) {
- (my $WHAT = uc $what) =~ s|-|_|g;
- my $skipdir = $what;
-
- # fix-up crypto/directory name(s)
- $skipdir = "ripemd" if $what eq "rmd160";
- $skipdir = "whrlpool" if $what eq "whirlpool";
-
- my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT";
- push @{$config{openssl_feature_defines}}, $macro;
-
- $skipdir{engines} = $what if $what eq 'engine';
- $skipdir{"crypto/$skipdir"} = $what
- unless $what eq 'async' || $what eq 'err' || $what eq 'dso';
- }
-}
-
# Make sure build_scheme is consistent.
$target{build_scheme} = [ $target{build_scheme} ]
if ref($target{build_scheme}) ne "ARRAY";
@@ -1384,10 +1344,8 @@ if ($target{shared_target} eq "")
}
if ($disabled{"dynamic-engine"}) {
- push @{$config{openssl_feature_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE";
$config{dynamic_engines} = 0;
} else {
- push @{$config{openssl_feature_defines}}, "OPENSSL_NO_STATIC_ENGINE";
$config{dynamic_engines} = 1;
}
@@ -1590,7 +1548,20 @@ unless ($disabled{afalgeng}) {
}
}
-push @{$config{openssl_feature_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng});
+unless ($disabled{devcryptoeng}) {
+ if ($target =~ m/^BSD/) {
+ my $maxver = 5*100 + 7;
+ my $sysstr = `uname -s`;
+ my $verstr = `uname -r`;
+ $sysstr =~ s|\R$||;
+ $verstr =~ s|\R$||;
+ my ($ma, $mi, @rest) = split m|\.|, $verstr;
+ my $ver = $ma*100 + $mi;
+ if ($sysstr eq 'OpenBSD' && $ver >= $maxver) {
+ disable('too-new-kernel', 'devcryptoeng');
+ }
+ }
+}
unless ($disabled{ktls}) {
$config{ktls}="";
@@ -1662,6 +1633,52 @@ $target{module_ldflags} = $target{shared_ldflag} unless defined $target{module_l
# ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON
+######################################################################
+# Build up information for skipping certain directories depending on disabled
+# features, as well as setting up macros for disabled features.
+
+# This is a tentative database of directories to skip. Some entries may not
+# correspond to anything real, but that's ok, they will simply be ignored.
+# The actual processing of these entries is done in the build.info lookup
+# loop further down.
+#
+# The key is a Unix formatted path in the source tree, the value is an index
+# into %disabled_info, so any existing path gets added to a corresponding
+# 'skipped' entry in there with the list of skipped directories.
+my %skipdir = ();
+my %disabled_info = (); # For configdata.pm
+foreach my $what (sort keys %disabled) {
+ # There are deprecated disablables that translate to themselves.
+ # They cause disabling cascades, but should otherwise not regiter.
+ next if $deprecated_disablables{$what};
+
+ $config{options} .= " no-$what";
+
+ if (!grep { $what eq $_ } ( 'buildtest-c++', 'fips', 'threads', 'shared',
+ 'module', 'pic', 'dynamic-engine', 'makedepend',
+ 'zlib-dynamic', 'zlib', 'sse2', 'legacy' )) {
+ (my $WHAT = uc $what) =~ s|-|_|g;
+ my $skipdir = $what;
+
+ # fix-up crypto/directory name(s)
+ $skipdir = "ripemd" if $what eq "rmd160";
+ $skipdir = "whrlpool" if $what eq "whirlpool";
+
+ my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT";
+ push @{$config{openssl_feature_defines}}, $macro;
+
+ $skipdir{engines} = $what if $what eq 'engine';
+ $skipdir{"crypto/$skipdir"} = $what
+ unless $what eq 'async' || $what eq 'err' || $what eq 'dso';
+ }
+}
+
+if ($disabled{"dynamic-engine"}) {
+ push @{$config{openssl_feature_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE";
+} else {
+ push @{$config{openssl_feature_defines}}, "OPENSSL_NO_STATIC_ENGINE";
+}
+
# If we use the unified build, collect information from build.info files
my %unified_info = ();
More information about the openssl-commits
mailing list