Commit c91a0a83 authored by Emilia Kasper's avatar Emilia Kasper Committed by Richard Levitte
Browse files

Disable afalg when engine is disabled.



Also make it possible to disable afalg separately.

we still need to update config again

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent d1beebdf
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -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 = ();
+15 −9
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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;