Have the configuration options 'no-err' and 'no-async' work again

In an earlier attempt to simplify the processing of disabled options,
'no-err' and 'no-async' stopped working properly.  'err' and 'async'
are directories under 'crypto/', but they are special insofar that
they can't be simply skipped, like all the algorithm directories can,
so they need special treatment among the disablable things.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 66fe388aa410820d80ab1d99730b64b1b56a89d4)
This commit is contained in:
Richard Levitte 2016-09-17 21:57:29 +02:00 committed by Richard Levitte
parent ebae51f490
commit 11bb654c60

View File

@ -868,7 +868,8 @@ foreach (sort (keys %disabled))
$what = "ripemd" if $what eq "rmd160"; $what = "ripemd" if $what eq "rmd160";
$what = "whrlpool" if $what eq "whirlpool"; $what = "whrlpool" if $what eq "whirlpool";
if (grep { $_ eq $what } @{$config{sdirs}}) if ($what ne "async" && $what ne "err"
&& grep { $_ eq $what } @{$config{sdirs}})
{ {
push @{$config{openssl_algorithm_defines}}, "OPENSSL_NO_$WHAT"; push @{$config{openssl_algorithm_defines}}, "OPENSSL_NO_$WHAT";
@{$config{sdirs}} = grep { $_ ne $what} @{$config{sdirs}}; @{$config{sdirs}} = grep { $_ ne $what} @{$config{sdirs}};