Disable afalg when engine is disabled.

Also make it possible to disable afalg separately.

we still need to update config again

Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Emilia Kasper 2016-03-14 12:21:44 +01:00 committed by Richard Levitte
parent d1beebdf65
commit c91a0a8343
3 changed files with 23 additions and 15 deletions

View File

@ -233,6 +233,7 @@ my @dtls = qw(dtls1 dtls1_2);
my @disablables = (
"aes",
"afalgeng",
"asm",
"async",
"autoalginit",
@ -394,6 +395,7 @@ my @disable_cascades = (
# Without position independent code, there can be no shared libraries or DSOs
"pic" => [ "shared" ],
"shared" => [ "dynamic-engine" ],
"engine" => [ "afalgeng" ],
);
# Avoid protocol support holes. Also disable all versions below N, if version
@ -1193,8 +1195,8 @@ else { $no_user_defines=1; }
# ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
unless ($disabled{engine}) {
$config{afalg}="";
unless ($disabled{afalgeng}) {
$config{afalgeng}="";
if ($target =~ m/^linux/) {
my $minver = 4*10000 + 1*100 + 0;
if ($config{cross_compile_prefix} eq "") {
@ -1203,17 +1205,17 @@ unless ($disabled{engine}) {
($mi2) = $mi2 =~ /(\d+)/;
my $ver = $ma*10000 + $mi1*100 + $mi2;
if ($ver < $minver) {
$disabled{afalg} = "too-old-kernel";
$disabled{afalgeng} = "too-old-kernel";
} else {
push @{$config{engdirs}}, "afalg";
}
}
} else {
$disabled{afalg} = "not-linux";
$disabled{afalgeng} = "not-linux";
}
}
push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalg});
push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng});
# If we use the unified build, collect information from build.info files
my %unified_info = ();

View File

@ -52,12 +52,13 @@
*
*/
#include <stdio.h>
#include <openssl/opensslconf.h>
#ifndef OPENSSL_NO_AFALGENG
#include <string.h>
#include <openssl/engine.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
#include <string.h>
#ifndef OPENSSL_NO_AFALGENG
/* Use a buffer size which is not aligned to block size */
#define BUFFER_SIZE (8 * 1024) - 13
@ -113,14 +114,9 @@ static int test_afalg_aes_128_cbc(ENGINE *e)
EVP_CIPHER_CTX_free(ctx);
return status;
}
#endif
int main(int argc, char **argv)
{
#ifdef OPENSSL_NO_AFALGENG
fprintf(stderr, "AFALG not supported - skipping AFALG tests\n");
#else
ENGINE *e;
CRYPTO_set_mem_debug(1);
@ -144,7 +140,17 @@ int main(int argc, char **argv)
}
ENGINE_free(e);
#endif
printf("PASS\n");
return 0;
}
#else /* OPENSSL_NO_AFALGENG */
int main(int argc, char **argv)
{
fprintf(stderr, "AFALG not supported - skipping AFALG tests\n");
printf("PASS\n");
return 0;
}
#endif

View File

@ -59,7 +59,7 @@ my $test_name = "test_afalg";
setup($test_name);
plan skip_all => "$test_name not supported for this build"
if disabled("engine") || disabled("afalg");
if disabled("afalgeng");
plan tests => 1;