summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-04-03 16:39:34 +0100
committerMatt Caswell <matt@openssl.org>2019-04-19 09:31:54 +0100
commit861b8f8747965bf98d9dd328196b8092e709c99d (patch)
tree02d87a9ca4bb3d72f02847838822fd75176f842e
parentaab26e6f7b437f7d4bace03cd855a33d7a34d927 (diff)
Add the provider_algs.h internal header file
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8700)
-rw-r--r--build.info2
-rw-r--r--providers/build.info2
-rw-r--r--providers/common/ciphers/aes.c2
-rw-r--r--providers/common/digests/sha2.c2
-rw-r--r--providers/common/include/internal/provider_algs.h14
-rw-r--r--providers/default/defltprov.c5
6 files changed, 19 insertions, 8 deletions
diff --git a/build.info b/build.info
index a0ecb21881..ce5dfd055d 100644
--- a/build.info
+++ b/build.info
@@ -3,7 +3,7 @@
SUBDIRS=crypto ssl apps test util tools fuzz engines providers
LIBS=libcrypto libssl
-INCLUDE[libcrypto]=. crypto/include include
+INCLUDE[libcrypto]=. crypto/include include providers/common/include
INCLUDE[libssl]=. include
DEPEND[libssl]=libcrypto
diff --git a/providers/build.info b/providers/build.info
index 1628e1feb4..ef107a7334 100644
--- a/providers/build.info
+++ b/providers/build.info
@@ -7,7 +7,7 @@ IF[{- !$disabled{fips} -}]
SOURCE[fips]=fips.ld
GENERATE[fips.ld]=../util/providers.num
ENDIF
- INCLUDE[fips]=.. ../include ../crypto/include
+ INCLUDE[fips]=.. ../include ../crypto/include common/include
DEFINE[fips]=FIPS_MODE
ENDIF
diff --git a/providers/common/ciphers/aes.c b/providers/common/ciphers/aes.c
index 8559d26238..a73f20cd73 100644
--- a/providers/common/ciphers/aes.c
+++ b/providers/common/ciphers/aes.c
@@ -14,6 +14,7 @@
#include <openssl/evp.h>
#include <openssl/params.h>
#include "internal/cryptlib.h"
+#include "internal/provider_algs.h"
#include "ciphers_locl.h"
static void PROV_AES_KEY_generic_init(PROV_AES_KEY *ctx,
@@ -195,7 +196,6 @@ static int aes_set_params(void *vctx, const OSSL_PARAM params[])
return 1;
}
-extern const OSSL_DISPATCH aes256ecb_functions[];
const OSSL_DISPATCH aes256ecb_functions[] = {
{ OSSL_FUNC_CIPHER_NEWCTX, (void (*)(void))aes_256_ecb_newctx },
{ OSSL_FUNC_CIPHER_ENCRYPT_INIT, (void (*)(void))aes_einit },
diff --git a/providers/common/digests/sha2.c b/providers/common/digests/sha2.c
index 2a0ae64671..c9f616db68 100644
--- a/providers/common/digests/sha2.c
+++ b/providers/common/digests/sha2.c
@@ -10,6 +10,7 @@
#include <openssl/sha.h>
#include <openssl/crypto.h>
#include <openssl/core_numbers.h>
+#include "internal/provider_algs.h"
/*
* Forward declaration of everything implemented here. This is not strictly
@@ -73,7 +74,6 @@ static size_t sha256_block_size(void)
return SHA256_CBLOCK;
}
-extern const OSSL_DISPATCH sha256_functions[];
const OSSL_DISPATCH sha256_functions[] = {
{ OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))sha256_newctx },
{ OSSL_FUNC_DIGEST_INIT, (void (*)(void))SHA256_Init },
diff --git a/providers/common/include/internal/provider_algs.h b/providers/common/include/internal/provider_algs.h
new file mode 100644
index 0000000000..4e0fc552d6
--- /dev/null
+++ b/providers/common/include/internal/provider_algs.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+/* Digests */
+extern const OSSL_DISPATCH sha256_functions[];
+
+/* Ciphers */
+extern const OSSL_DISPATCH aes256ecb_functions[];
diff --git a/providers/default/defltprov.c b/providers/default/defltprov.c
index dcc70800db..5cfbf695c7 100644
--- a/providers/default/defltprov.c
+++ b/providers/default/defltprov.c
@@ -13,6 +13,7 @@
#include <openssl/core_numbers.h>
#include <openssl/core_names.h>
#include <openssl/params.h>
+#include "internal/provider_algs.h"
/* Functions provided by the core */
static OSSL_core_get_param_types_fn *c_get_param_types = NULL;
@@ -49,15 +50,11 @@ static int deflt_get_params(const OSSL_PROVIDER *prov,
return 1;
}
-extern const OSSL_DISPATCH sha256_functions[];
-
static const OSSL_ALGORITHM deflt_digests[] = {
{ "SHA256", "default=yes", sha256_functions },
{ NULL, NULL, NULL }
};
-extern const OSSL_DISPATCH aes256ecb_functions[];
-
static const OSSL_ALGORITHM deflt_ciphers[] = {
{ "AES-256-ECB", "default=yes", aes256ecb_functions },
{ NULL, NULL, NULL }