From: Richard Levitte Date: Fri, 4 Oct 2019 13:25:59 +0000 (+0200) Subject: Cleanup: move remaining providers/common/include/internal/*.h X-Git-Tag: openssl-3.0.0-alpha1~1167 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ddd21319e94636f308e115fd05cc48e7a8eadc55;p=oweals%2Fopenssl.git Cleanup: move remaining providers/common/include/internal/*.h The end up in providers/common/include/prov/. All inclusions are adjusted accordingly. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/10088) --- diff --git a/crypto/err/err_all.c b/crypto/err/err_all.c index 5957730d18..13bef4a7a8 100644 --- a/crypto/err/err_all.c +++ b/crypto/err/err_all.c @@ -41,7 +41,7 @@ #include #include #include "internal/propertyerr.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" int err_load_crypto_strings_int(void) { diff --git a/crypto/err/openssl.ec b/crypto/err/openssl.ec index 179a3baa05..65633717ee 100644 --- a/crypto/err/openssl.ec +++ b/crypto/err/openssl.ec @@ -39,7 +39,7 @@ L SM2 include/crypto/sm2.h crypto/sm2/sm2_err.c L OSSL_STORE include/openssl/store.h crypto/store/store_err.c L ESS include/openssl/ess.h crypto/ess/ess_err.c L PROP include/internal/property.h crypto/property/property_err.c -L PROV providers/common/include/internal/providercommon.h providers/common/provider_err.c +L PROV providers/common/include/prov/providercommon.h providers/common/provider_err.c # additional header files to be scanned for function names L NONE include/openssl/x509_vfy.h NONE diff --git a/crypto/initthread.c b/crypto/initthread.c index 930b94a817..da30d59fec 100644 --- a/crypto/initthread.c +++ b/crypto/initthread.c @@ -10,7 +10,7 @@ #include #include #include "crypto/cryptlib.h" -#include "internal/providercommon.h" +#include "prov/providercommon.h" #include "internal/thread_once.h" #ifdef FIPS_MODE diff --git a/crypto/rand/drbg_hash.c b/crypto/rand/drbg_hash.c index 4a64992af2..72068c67c0 100644 --- a/crypto/rand/drbg_hash.c +++ b/crypto/rand/drbg_hash.c @@ -14,7 +14,7 @@ #include #include #include "internal/thread_once.h" -#include "internal/providercommon.h" +#include "prov/providercommon.h" #include "rand_local.h" /* 440 bits from SP800-90Ar1 10.1 table 2 */ diff --git a/crypto/rand/drbg_hmac.c b/crypto/rand/drbg_hmac.c index 4d7676d21b..0289070f81 100644 --- a/crypto/rand/drbg_hmac.c +++ b/crypto/rand/drbg_hmac.c @@ -13,7 +13,7 @@ #include #include #include "internal/thread_once.h" -#include "internal/providercommon.h" +#include "prov/providercommon.h" #include "rand_local.h" /* diff --git a/doc/internal/man3/ossl_prov_util_nid_to_name.pod b/doc/internal/man3/ossl_prov_util_nid_to_name.pod index dce4ba60ac..31eec076c5 100644 --- a/doc/internal/man3/ossl_prov_util_nid_to_name.pod +++ b/doc/internal/man3/ossl_prov_util_nid_to_name.pod @@ -7,7 +7,7 @@ ossl_prov_util_nid_to_name =head1 SYNOPSIS - #include "internal/providercommon.h" + #include "prov/providercommon.h" const char *ossl_prov_util_nid_to_name(int nid); diff --git a/providers/common/ciphers/block.c b/providers/common/ciphers/block.c index ec2dab6849..95acfaf323 100644 --- a/providers/common/ciphers/block.c +++ b/providers/common/ciphers/block.c @@ -9,7 +9,7 @@ #include #include "cipher_local.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" /* * Fills a single block of buffered data from the input, and returns the amount diff --git a/providers/common/ciphers/cipher_ccm.c b/providers/common/ciphers/cipher_ccm.c index 60fade83e0..904af3a5e0 100644 --- a/providers/common/ciphers/cipher_ccm.c +++ b/providers/common/ciphers/cipher_ccm.c @@ -11,7 +11,7 @@ #include "prov/ciphercommon.h" #include "prov/cipher_ccm.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" static int ccm_cipher_internal(PROV_CCM_CTX *ctx, unsigned char *out, size_t *padlen, const unsigned char *in, diff --git a/providers/common/ciphers/cipher_common.c b/providers/common/ciphers/cipher_common.c index 2577d94d7a..d06e7b8004 100644 --- a/providers/common/ciphers/cipher_common.c +++ b/providers/common/ciphers/cipher_common.c @@ -12,8 +12,8 @@ */ #include "cipher_local.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" /*- * Generic cipher functions for OSSL_PARAM gettables and settables diff --git a/providers/common/ciphers/cipher_gcm.c b/providers/common/ciphers/cipher_gcm.c index 72d17d0073..580928fdde 100644 --- a/providers/common/ciphers/cipher_gcm.c +++ b/providers/common/ciphers/cipher_gcm.c @@ -11,9 +11,9 @@ #include "prov/ciphercommon.h" #include "prov/cipher_gcm.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "crypto/rand.h" -#include "internal/provider_ctx.h" +#include "prov/provider_ctx.h" static int gcm_tls_init(PROV_GCM_CTX *dat, unsigned char *aad, size_t aad_len); static int gcm_tls_iv_set_fixed(PROV_GCM_CTX *ctx, unsigned char *iv, diff --git a/providers/common/digests/digest_common.c b/providers/common/digests/digest_common.c index 92610a1524..9d30b2be2c 100644 --- a/providers/common/digests/digest_common.c +++ b/providers/common/digests/digest_common.c @@ -9,7 +9,7 @@ #include "openssl/err.h" #include "prov/digestcommon.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" int digest_default_get_params(OSSL_PARAM params[], size_t blksz, size_t paramsz, unsigned long flags) diff --git a/providers/common/include/internal/provider_ctx.h b/providers/common/include/internal/provider_ctx.h deleted file mode 100644 index 365667d19e..0000000000 --- a/providers/common/include/internal/provider_ctx.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 - */ - -/* - * To be used anywhere the library context needs to be passed, such as to - * fetching functions. - */ -#define PROV_LIBRARY_CONTEXT_OF(provctx) (provctx) diff --git a/providers/common/include/internal/provider_util.h b/providers/common/include/internal/provider_util.h deleted file mode 100644 index 9925ac2b09..0000000000 --- a/providers/common/include/internal/provider_util.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * 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 - */ - -#include -#include - -typedef struct { - /* - * References to the underlying cipher implementation. |cipher| caches - * the cipher, always. |alloc_cipher| only holds a reference to an - * explicitly fetched cipher. - */ - const EVP_CIPHER *cipher; /* cipher */ - EVP_CIPHER *alloc_cipher; /* fetched cipher */ - - /* Conditions for legacy EVP_CIPHER uses */ - ENGINE *engine; /* cipher engine */ -} PROV_CIPHER; - -typedef struct { - /* - * References to the underlying digest implementation. |md| caches - * the digest, always. |alloc_md| only holds a reference to an explicitly - * fetched digest. - */ - const EVP_MD *md; /* digest */ - EVP_MD *alloc_md; /* fetched digest */ - - /* Conditions for legacy EVP_MD uses */ - ENGINE *engine; /* digest engine */ -} PROV_DIGEST; - -/* Cipher functions */ -/* - * Load a cipher from the specified parameters with the specified context. - * The params "properties", "engine" and "cipher" are used to determine the - * implementation used. If a provider cannot be found, it falls back to trying - * non-provider based implementations. - */ -int ossl_prov_cipher_load_from_params(PROV_CIPHER *pc, - const OSSL_PARAM params[], - OPENSSL_CTX *ctx); - -/* Reset the PROV_CIPHER fields and free any allocated cipher reference */ -void ossl_prov_cipher_reset(PROV_CIPHER *pc); - -/* Clone a PROV_CIPHER structure into a second */ -int ossl_prov_cipher_copy(PROV_CIPHER *dst, const PROV_CIPHER *src); - -/* Query the cipher and associated engine (if any) */ -const EVP_CIPHER *ossl_prov_cipher_cipher(const PROV_CIPHER *pc); -ENGINE *ossl_prov_cipher_engine(const PROV_CIPHER *pc); - -/* Digest functions */ -/* - * Load a digest from the specified parameters with the specified context. - * The params "properties", "engine" and "digest" are used to determine the - * implementation used. If a provider cannot be found, it falls back to trying - * non-provider based implementations. - */ -int ossl_prov_digest_load_from_params(PROV_DIGEST *pd, - const OSSL_PARAM params[], - OPENSSL_CTX *ctx); - -/* Reset the PROV_DIGEST fields and free any allocated digest reference */ -void ossl_prov_digest_reset(PROV_DIGEST *pd); - -/* Clone a PROV_DIGEST structure into a second */ -int ossl_prov_digest_copy(PROV_DIGEST *dst, const PROV_DIGEST *src); - -/* Query the digest and associated engine (if any) */ -const EVP_MD *ossl_prov_digest_md(const PROV_DIGEST *pd); -ENGINE *ossl_prov_digest_engine(const PROV_DIGEST *pd); - -/* MAC functions */ -/* - * Load an EVP_MAC_CTX* from the specified parameters with the specified - * library context. - * The params "mac" and "properties" are used to determine the implementation - * used, and the parameters "digest", "cipher", "engine" and "properties" are - * passed to the MAC via the created MAC context if they are given. - * If there is already a created MAC context, it will be replaced if the "mac" - * parameter is found, otherwise it will simply be used as is, and passed the - * parameters to pilfer as it sees fit. - * - * As an option, a MAC name may be explicitly given, and if it is, the "mac" - * parameter will be ignored. - * Similarly, as an option, a cipher name or a digest name may be explicitly - * given, and if any of them is, the "digest" and "cipher" parameters are - * ignored. - */ -int ossl_prov_macctx_load_from_params(EVP_MAC_CTX **macctx, - const OSSL_PARAM params[], - const char *macname, - const char *ciphername, - const char *mdname, - OPENSSL_CTX *ctx); diff --git a/providers/common/include/internal/providercommon.h b/providers/common/include/internal/providercommon.h deleted file mode 100644 index 569c08c0b1..0000000000 --- a/providers/common/include/internal/providercommon.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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 - */ - -#include - -const OSSL_PROVIDER *FIPS_get_provider(OPENSSL_CTX *ctx); - -const char *ossl_prov_util_nid_to_name(int nid); - diff --git a/providers/common/include/internal/providercommonerr.h b/providers/common/include/internal/providercommonerr.h deleted file mode 100644 index 90c6d11d83..0000000000 --- a/providers/common/include/internal/providercommonerr.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-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 - */ - -#ifndef OPENSSL_PROVERR_H -# define OPENSSL_PROVERR_H - -# include -# include - - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_PROV_strings(void); - -/* - * PROV function codes. - */ -# if !OPENSSL_API_3 -# define PROV_F_AESNI_INIT_KEY 0 -# define PROV_F_AES_BLOCK_FINAL 0 -# define PROV_F_AES_BLOCK_UPDATE 0 -# define PROV_F_AES_CIPHER 0 -# define PROV_F_AES_DINIT 0 -# define PROV_F_AES_DUPCTX 0 -# define PROV_F_AES_EINIT 0 -# define PROV_F_AES_GET_CTX_PARAMS 0 -# define PROV_F_AES_INIT_KEY 0 -# define PROV_F_AES_SET_CTX_PARAMS 0 -# define PROV_F_AES_STREAM_UPDATE 0 -# define PROV_F_AES_T4_INIT_KEY 0 -# define PROV_F_BLAKE2_MAC_INIT 0 -# define PROV_F_BLAKE2_MAC_SET_PARAMS 0 -# define PROV_F_GMAC_SET_PARAMS 0 -# define PROV_F_KMAC_SET_PARAMS 0 -# define PROV_F_POLY1305_SET_PARAMS 0 -# define PROV_F_PROV_AES_KEY_GENERIC_INIT 0 -# define PROV_F_TRAILINGDATA 0 -# define PROV_F_UNPADBLOCK 0 -# endif - -/* - * PROV reason codes. - */ -# define PROV_R_AES_KEY_SETUP_FAILED 101 -# define PROV_R_BAD_DECRYPT 100 -# define PROV_R_BAD_ENCODING 141 -# define PROV_R_BAD_LENGTH 142 -# define PROV_R_BOTH_MODE_AND_MODE_INT 127 -# define PROV_R_CIPHER_OPERATION_FAILED 102 -# define PROV_R_FAILED_TO_GENERATE_KEY 121 -# define PROV_R_FAILED_TO_GET_PARAMETER 103 -# define PROV_R_FAILED_TO_SET_PARAMETER 104 -# define PROV_R_INAVLID_UKM_LENGTH 146 -# define PROV_R_INVALID_AAD 108 -# define PROV_R_INVALID_CUSTOM_LENGTH 111 -# define PROV_R_INVALID_DATA 115 -# define PROV_R_INVALID_DIGEST 122 -# define PROV_R_INVALID_ITERATION_COUNT 123 -# define PROV_R_INVALID_IVLEN 116 -# define PROV_R_INVALID_IV_LENGTH 109 -# define PROV_R_INVALID_KEYLEN 117 -# define PROV_R_INVALID_KEY_LEN 124 -# define PROV_R_INVALID_KEY_LENGTH 105 -# define PROV_R_INVALID_MAC 151 -# define PROV_R_INVALID_MODE 125 -# define PROV_R_INVALID_MODE_INT 126 -# define PROV_R_INVALID_SALT_LENGTH 112 -# define PROV_R_INVALID_TAG 110 -# define PROV_R_INVALID_TAGLEN 118 -# define PROV_R_MISSING_CEK_ALG 144 -# define PROV_R_MISSING_KEY 128 -# define PROV_R_MISSING_MAC 150 -# define PROV_R_MISSING_MESSAGE_DIGEST 129 -# define PROV_R_MISSING_PASS 130 -# define PROV_R_MISSING_SALT 131 -# define PROV_R_MISSING_SECRET 132 -# define PROV_R_MISSING_SEED 140 -# define PROV_R_MISSING_SESSION_ID 133 -# define PROV_R_MISSING_TYPE 134 -# define PROV_R_MISSING_XCGHASH 135 -# define PROV_R_NOT_SUPPORTED 136 -# define PROV_R_NOT_XOF_OR_INVALID_LENGTH 113 -# define PROV_R_NO_KEY_SET 114 -# define PROV_R_OUTPUT_BUFFER_TOO_SMALL 106 -# define PROV_R_TAG_NOTSET 119 -# define PROV_R_TAG_NOT_NEEDED 120 -# define PROV_R_UNABLE_TO_LOAD_SHA1 143 -# define PROV_R_UNABLE_TO_LOAD_SHA256 147 -# define PROV_R_UNSUPPORTED_CEK_ALG 145 -# define PROV_R_UNSUPPORTED_KEY_SIZE 153 -# define PROV_R_UNSUPPORTED_MAC_TYPE 137 -# define PROV_R_UNSUPPORTED_NUMBER_OF_ROUNDS 152 -# define PROV_R_VALUE_ERROR 138 -# define PROV_R_WRONG_FINAL_BLOCK_LENGTH 107 -# define PROV_R_WRONG_OUTPUT_BUFFER_SIZE 139 -# define PROV_R_XTS_DATA_UNIT_IS_TOO_LARGE 148 -# define PROV_R_XTS_DUPLICATED_KEYS 149 - -#endif diff --git a/providers/common/include/prov/provider_ctx.h b/providers/common/include/prov/provider_ctx.h new file mode 100644 index 0000000000..365667d19e --- /dev/null +++ b/providers/common/include/prov/provider_ctx.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 + */ + +/* + * To be used anywhere the library context needs to be passed, such as to + * fetching functions. + */ +#define PROV_LIBRARY_CONTEXT_OF(provctx) (provctx) diff --git a/providers/common/include/prov/provider_util.h b/providers/common/include/prov/provider_util.h new file mode 100644 index 0000000000..9925ac2b09 --- /dev/null +++ b/providers/common/include/prov/provider_util.h @@ -0,0 +1,103 @@ +/* + * 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 + */ + +#include +#include + +typedef struct { + /* + * References to the underlying cipher implementation. |cipher| caches + * the cipher, always. |alloc_cipher| only holds a reference to an + * explicitly fetched cipher. + */ + const EVP_CIPHER *cipher; /* cipher */ + EVP_CIPHER *alloc_cipher; /* fetched cipher */ + + /* Conditions for legacy EVP_CIPHER uses */ + ENGINE *engine; /* cipher engine */ +} PROV_CIPHER; + +typedef struct { + /* + * References to the underlying digest implementation. |md| caches + * the digest, always. |alloc_md| only holds a reference to an explicitly + * fetched digest. + */ + const EVP_MD *md; /* digest */ + EVP_MD *alloc_md; /* fetched digest */ + + /* Conditions for legacy EVP_MD uses */ + ENGINE *engine; /* digest engine */ +} PROV_DIGEST; + +/* Cipher functions */ +/* + * Load a cipher from the specified parameters with the specified context. + * The params "properties", "engine" and "cipher" are used to determine the + * implementation used. If a provider cannot be found, it falls back to trying + * non-provider based implementations. + */ +int ossl_prov_cipher_load_from_params(PROV_CIPHER *pc, + const OSSL_PARAM params[], + OPENSSL_CTX *ctx); + +/* Reset the PROV_CIPHER fields and free any allocated cipher reference */ +void ossl_prov_cipher_reset(PROV_CIPHER *pc); + +/* Clone a PROV_CIPHER structure into a second */ +int ossl_prov_cipher_copy(PROV_CIPHER *dst, const PROV_CIPHER *src); + +/* Query the cipher and associated engine (if any) */ +const EVP_CIPHER *ossl_prov_cipher_cipher(const PROV_CIPHER *pc); +ENGINE *ossl_prov_cipher_engine(const PROV_CIPHER *pc); + +/* Digest functions */ +/* + * Load a digest from the specified parameters with the specified context. + * The params "properties", "engine" and "digest" are used to determine the + * implementation used. If a provider cannot be found, it falls back to trying + * non-provider based implementations. + */ +int ossl_prov_digest_load_from_params(PROV_DIGEST *pd, + const OSSL_PARAM params[], + OPENSSL_CTX *ctx); + +/* Reset the PROV_DIGEST fields and free any allocated digest reference */ +void ossl_prov_digest_reset(PROV_DIGEST *pd); + +/* Clone a PROV_DIGEST structure into a second */ +int ossl_prov_digest_copy(PROV_DIGEST *dst, const PROV_DIGEST *src); + +/* Query the digest and associated engine (if any) */ +const EVP_MD *ossl_prov_digest_md(const PROV_DIGEST *pd); +ENGINE *ossl_prov_digest_engine(const PROV_DIGEST *pd); + +/* MAC functions */ +/* + * Load an EVP_MAC_CTX* from the specified parameters with the specified + * library context. + * The params "mac" and "properties" are used to determine the implementation + * used, and the parameters "digest", "cipher", "engine" and "properties" are + * passed to the MAC via the created MAC context if they are given. + * If there is already a created MAC context, it will be replaced if the "mac" + * parameter is found, otherwise it will simply be used as is, and passed the + * parameters to pilfer as it sees fit. + * + * As an option, a MAC name may be explicitly given, and if it is, the "mac" + * parameter will be ignored. + * Similarly, as an option, a cipher name or a digest name may be explicitly + * given, and if any of them is, the "digest" and "cipher" parameters are + * ignored. + */ +int ossl_prov_macctx_load_from_params(EVP_MAC_CTX **macctx, + const OSSL_PARAM params[], + const char *macname, + const char *ciphername, + const char *mdname, + OPENSSL_CTX *ctx); diff --git a/providers/common/include/prov/providercommon.h b/providers/common/include/prov/providercommon.h new file mode 100644 index 0000000000..569c08c0b1 --- /dev/null +++ b/providers/common/include/prov/providercommon.h @@ -0,0 +1,15 @@ +/* + * 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 + */ + +#include + +const OSSL_PROVIDER *FIPS_get_provider(OPENSSL_CTX *ctx); + +const char *ossl_prov_util_nid_to_name(int nid); + diff --git a/providers/common/include/prov/providercommonerr.h b/providers/common/include/prov/providercommonerr.h new file mode 100644 index 0000000000..90c6d11d83 --- /dev/null +++ b/providers/common/include/prov/providercommonerr.h @@ -0,0 +1,107 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * Copyright 1995-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 + */ + +#ifndef OPENSSL_PROVERR_H +# define OPENSSL_PROVERR_H + +# include +# include + + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_PROV_strings(void); + +/* + * PROV function codes. + */ +# if !OPENSSL_API_3 +# define PROV_F_AESNI_INIT_KEY 0 +# define PROV_F_AES_BLOCK_FINAL 0 +# define PROV_F_AES_BLOCK_UPDATE 0 +# define PROV_F_AES_CIPHER 0 +# define PROV_F_AES_DINIT 0 +# define PROV_F_AES_DUPCTX 0 +# define PROV_F_AES_EINIT 0 +# define PROV_F_AES_GET_CTX_PARAMS 0 +# define PROV_F_AES_INIT_KEY 0 +# define PROV_F_AES_SET_CTX_PARAMS 0 +# define PROV_F_AES_STREAM_UPDATE 0 +# define PROV_F_AES_T4_INIT_KEY 0 +# define PROV_F_BLAKE2_MAC_INIT 0 +# define PROV_F_BLAKE2_MAC_SET_PARAMS 0 +# define PROV_F_GMAC_SET_PARAMS 0 +# define PROV_F_KMAC_SET_PARAMS 0 +# define PROV_F_POLY1305_SET_PARAMS 0 +# define PROV_F_PROV_AES_KEY_GENERIC_INIT 0 +# define PROV_F_TRAILINGDATA 0 +# define PROV_F_UNPADBLOCK 0 +# endif + +/* + * PROV reason codes. + */ +# define PROV_R_AES_KEY_SETUP_FAILED 101 +# define PROV_R_BAD_DECRYPT 100 +# define PROV_R_BAD_ENCODING 141 +# define PROV_R_BAD_LENGTH 142 +# define PROV_R_BOTH_MODE_AND_MODE_INT 127 +# define PROV_R_CIPHER_OPERATION_FAILED 102 +# define PROV_R_FAILED_TO_GENERATE_KEY 121 +# define PROV_R_FAILED_TO_GET_PARAMETER 103 +# define PROV_R_FAILED_TO_SET_PARAMETER 104 +# define PROV_R_INAVLID_UKM_LENGTH 146 +# define PROV_R_INVALID_AAD 108 +# define PROV_R_INVALID_CUSTOM_LENGTH 111 +# define PROV_R_INVALID_DATA 115 +# define PROV_R_INVALID_DIGEST 122 +# define PROV_R_INVALID_ITERATION_COUNT 123 +# define PROV_R_INVALID_IVLEN 116 +# define PROV_R_INVALID_IV_LENGTH 109 +# define PROV_R_INVALID_KEYLEN 117 +# define PROV_R_INVALID_KEY_LEN 124 +# define PROV_R_INVALID_KEY_LENGTH 105 +# define PROV_R_INVALID_MAC 151 +# define PROV_R_INVALID_MODE 125 +# define PROV_R_INVALID_MODE_INT 126 +# define PROV_R_INVALID_SALT_LENGTH 112 +# define PROV_R_INVALID_TAG 110 +# define PROV_R_INVALID_TAGLEN 118 +# define PROV_R_MISSING_CEK_ALG 144 +# define PROV_R_MISSING_KEY 128 +# define PROV_R_MISSING_MAC 150 +# define PROV_R_MISSING_MESSAGE_DIGEST 129 +# define PROV_R_MISSING_PASS 130 +# define PROV_R_MISSING_SALT 131 +# define PROV_R_MISSING_SECRET 132 +# define PROV_R_MISSING_SEED 140 +# define PROV_R_MISSING_SESSION_ID 133 +# define PROV_R_MISSING_TYPE 134 +# define PROV_R_MISSING_XCGHASH 135 +# define PROV_R_NOT_SUPPORTED 136 +# define PROV_R_NOT_XOF_OR_INVALID_LENGTH 113 +# define PROV_R_NO_KEY_SET 114 +# define PROV_R_OUTPUT_BUFFER_TOO_SMALL 106 +# define PROV_R_TAG_NOTSET 119 +# define PROV_R_TAG_NOT_NEEDED 120 +# define PROV_R_UNABLE_TO_LOAD_SHA1 143 +# define PROV_R_UNABLE_TO_LOAD_SHA256 147 +# define PROV_R_UNSUPPORTED_CEK_ALG 145 +# define PROV_R_UNSUPPORTED_KEY_SIZE 153 +# define PROV_R_UNSUPPORTED_MAC_TYPE 137 +# define PROV_R_UNSUPPORTED_NUMBER_OF_ROUNDS 152 +# define PROV_R_VALUE_ERROR 138 +# define PROV_R_WRONG_FINAL_BLOCK_LENGTH 107 +# define PROV_R_WRONG_OUTPUT_BUFFER_SIZE 139 +# define PROV_R_XTS_DATA_UNIT_IS_TOO_LARGE 148 +# define PROV_R_XTS_DUPLICATED_KEYS 149 + +#endif diff --git a/providers/common/provider_err.c b/providers/common/provider_err.c index 5216baf918..ae1552283d 100644 --- a/providers/common/provider_err.c +++ b/providers/common/provider_err.c @@ -9,7 +9,7 @@ */ #include -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #ifndef OPENSSL_NO_ERR diff --git a/providers/common/provider_util.c b/providers/common/provider_util.c index 8384cdc2a0..bdc86b1c05 100644 --- a/providers/common/provider_util.c +++ b/providers/common/provider_util.c @@ -9,7 +9,7 @@ #include #include -#include "internal/provider_util.h" +#include "prov/provider_util.h" void ossl_prov_cipher_reset(PROV_CIPHER *pc) { diff --git a/providers/common/provlib.c b/providers/common/provlib.c index 2bab77dba0..e754b84d35 100644 --- a/providers/common/provlib.c +++ b/providers/common/provlib.c @@ -8,7 +8,7 @@ */ #include -#include "internal/providercommon.h" +#include "prov/providercommon.h" /* * The FIPS provider has its own version of this in fipsprov.c because it does diff --git a/providers/fips/build.info b/providers/fips/build.info index 829d8ef3ea..4dfbb4623a 100644 --- a/providers/fips/build.info +++ b/providers/fips/build.info @@ -1,3 +1,3 @@ SOURCE[../fips]=fipsprov.c selftest.c -INCLUDE[../fips]=../common/include \ No newline at end of file +INCLUDE[../fips]=../implementations/include ../common/include diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index c61071e619..f0cf4a9bd0 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -27,8 +27,8 @@ #include "internal/property.h" #include "crypto/evp.h" #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/providercommon.h" +#include "prov/provider_ctx.h" +#include "prov/providercommon.h" #include "selftest.h" extern OSSL_core_thread_start_fn *c_thread_start; diff --git a/providers/implementations/ciphers/cipher_aes_hw.c b/providers/implementations/ciphers/cipher_aes_hw.c index e9b6388300..8519662e73 100644 --- a/providers/implementations/ciphers/cipher_aes_hw.c +++ b/providers/implementations/ciphers/cipher_aes_hw.c @@ -8,7 +8,7 @@ */ #include "cipher_aes.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" static int cipher_hw_aes_initkey(PROV_CIPHER_CTX *dat, const unsigned char *key, size_t keylen) diff --git a/providers/implementations/ciphers/cipher_aes_ocb.c b/providers/implementations/ciphers/cipher_aes_ocb.c index c677a0be0b..d30a666fc5 100644 --- a/providers/implementations/ciphers/cipher_aes_ocb.c +++ b/providers/implementations/ciphers/cipher_aes_ocb.c @@ -8,7 +8,7 @@ */ #include "cipher_aes_ocb.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/cipher_aead.h" #include "prov/implementations.h" diff --git a/providers/implementations/ciphers/cipher_aes_wrp.c b/providers/implementations/ciphers/cipher_aes_wrp.c index 5b5e6388e1..9eaec16318 100644 --- a/providers/implementations/ciphers/cipher_aes_wrp.c +++ b/providers/implementations/ciphers/cipher_aes_wrp.c @@ -8,7 +8,7 @@ */ #include "cipher_aes.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" /* AES wrap with padding has IV length of 4, without padding 8 */ diff --git a/providers/implementations/ciphers/cipher_aes_xts.c b/providers/implementations/ciphers/cipher_aes_xts.c index 1072418779..2ad1fbe84a 100644 --- a/providers/implementations/ciphers/cipher_aes_xts.c +++ b/providers/implementations/ciphers/cipher_aes_xts.c @@ -9,7 +9,7 @@ #include "cipher_aes_xts.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" /* TODO (3.0) Figure out what flags need to be set */ #define AES_XTS_FLAGS (EVP_CIPH_CUSTOM_IV \ diff --git a/providers/implementations/ciphers/cipher_des.c b/providers/implementations/ciphers/cipher_des.c index b0e877ea1d..200c365282 100644 --- a/providers/implementations/ciphers/cipher_des.c +++ b/providers/implementations/ciphers/cipher_des.c @@ -11,7 +11,7 @@ #include "cipher_des.h" #include "crypto/rand.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" /* TODO(3.0) Figure out what flags need to be here */ #define DES_FLAGS (EVP_CIPH_RAND_KEY) diff --git a/providers/implementations/ciphers/cipher_rc2.c b/providers/implementations/ciphers/cipher_rc2.c index 1da17621e9..135c6171ec 100644 --- a/providers/implementations/ciphers/cipher_rc2.c +++ b/providers/implementations/ciphers/cipher_rc2.c @@ -11,7 +11,7 @@ #include "cipher_rc2.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #define RC2_40_MAGIC 0xa0 #define RC2_64_MAGIC 0x78 diff --git a/providers/implementations/ciphers/cipher_rc5.c b/providers/implementations/ciphers/cipher_rc5.c index 68a3cfa323..7f5780f062 100644 --- a/providers/implementations/ciphers/cipher_rc5.c +++ b/providers/implementations/ciphers/cipher_rc5.c @@ -11,7 +11,7 @@ #include "cipher_rc5.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" static OSSL_OP_cipher_freectx_fn rc5_freectx; static OSSL_OP_cipher_dupctx_fn rc5_dupctx; diff --git a/providers/implementations/ciphers/cipher_tdes.c b/providers/implementations/ciphers/cipher_tdes.c index 1ded6202df..e6dab582ca 100644 --- a/providers/implementations/ciphers/cipher_tdes.c +++ b/providers/implementations/ciphers/cipher_tdes.c @@ -11,7 +11,7 @@ #include "cipher_tdes.h" #include "crypto/rand.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" void *tdes_newctx(void *provctx, int mode, size_t kbits, size_t blkbits, size_t ivbits, uint64_t flags, const PROV_CIPHER_HW *hw) diff --git a/providers/implementations/ciphers/cipher_tdes_wrap.c b/providers/implementations/ciphers/cipher_tdes_wrap.c index ecce1d8e11..75cc25df06 100644 --- a/providers/implementations/ciphers/cipher_tdes_wrap.c +++ b/providers/implementations/ciphers/cipher_tdes_wrap.c @@ -12,7 +12,7 @@ #include "crypto/evp.h" #include "crypto/rand.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" /* TODO (3.0) Figure out what flags are requred */ #define TDES_WRAP_FLAGS (EVP_CIPH_WRAP_MODE \ diff --git a/providers/implementations/digests/mdc2_prov.c b/providers/implementations/digests/mdc2_prov.c index 27770f0820..4a7d3a43ab 100644 --- a/providers/implementations/digests/mdc2_prov.c +++ b/providers/implementations/digests/mdc2_prov.c @@ -14,7 +14,7 @@ #include #include "prov/digestcommon.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" static OSSL_OP_digest_set_ctx_params_fn mdc2_set_ctx_params; static OSSL_OP_digest_settable_ctx_params_fn mdc2_settable_ctx_params; diff --git a/providers/implementations/digests/sha3_prov.c b/providers/implementations/digests/sha3_prov.c index 79cc617517..251039e992 100644 --- a/providers/implementations/digests/sha3_prov.c +++ b/providers/implementations/digests/sha3_prov.c @@ -16,7 +16,7 @@ #include "internal/sha3.h" #include "prov/digestcommon.h" #include "prov/implementations.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" /* * Forward declaration of any unique methods implemented here. This is not strictly diff --git a/providers/implementations/kdfs/hkdf.c b/providers/implementations/kdfs/hkdf.c index 333c2bafde..66d70635a6 100644 --- a/providers/implementations/kdfs/hkdf.c +++ b/providers/implementations/kdfs/hkdf.c @@ -17,10 +17,10 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include "crypto/evp.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_util.h" +#include "prov/provider_util.h" #include "e_os.h" #define HKDF_MAXBUF 1024 diff --git a/providers/implementations/kdfs/kbkdf.c b/providers/implementations/kdfs/kbkdf.c index 455ee4ba15..6faf22e8d2 100644 --- a/providers/implementations/kdfs/kbkdf.c +++ b/providers/implementations/kdfs/kbkdf.c @@ -38,9 +38,9 @@ #include "crypto/evp.h" #include "internal/numbers.h" #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/provider_util.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/provider_util.h" +#include "prov/providercommonerr.h" #include "e_os.h" diff --git a/providers/implementations/kdfs/pbkdf2.c b/providers/implementations/kdfs/pbkdf2.c index d1047c6e2c..f08063fab5 100644 --- a/providers/implementations/kdfs/pbkdf2.c +++ b/providers/implementations/kdfs/pbkdf2.c @@ -17,10 +17,10 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include "crypto/evp.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_util.h" +#include "prov/provider_util.h" #include "pbkdf2.h" /* Constants specified in SP800-132 */ diff --git a/providers/implementations/kdfs/scrypt.c b/providers/implementations/kdfs/scrypt.c index b001bb7cb2..a067a9a91c 100644 --- a/providers/implementations/kdfs/scrypt.c +++ b/providers/implementations/kdfs/scrypt.c @@ -17,8 +17,8 @@ #include "crypto/evp.h" #include "internal/numbers.h" #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" #ifndef OPENSSL_NO_SCRYPT diff --git a/providers/implementations/kdfs/sshkdf.c b/providers/implementations/kdfs/sshkdf.c index 23a0caac5f..d5484f4acb 100644 --- a/providers/implementations/kdfs/sshkdf.c +++ b/providers/implementations/kdfs/sshkdf.c @@ -16,10 +16,10 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include "crypto/evp.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -# include "internal/provider_util.h" +# include "prov/provider_util.h" /* See RFC 4253, Section 7.2 */ static OSSL_OP_kdf_newctx_fn kdf_sshkdf_new; diff --git a/providers/implementations/kdfs/sskdf.c b/providers/implementations/kdfs/sskdf.c index 23adbc37ba..4f69eec7f6 100644 --- a/providers/implementations/kdfs/sskdf.c +++ b/providers/implementations/kdfs/sskdf.c @@ -45,10 +45,10 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include "crypto/evp.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_util.h" +#include "prov/provider_util.h" typedef struct { void *provctx; diff --git a/providers/implementations/kdfs/tls1_prf.c b/providers/implementations/kdfs/tls1_prf.c index 941286b6b5..0a83753a8a 100644 --- a/providers/implementations/kdfs/tls1_prf.c +++ b/providers/implementations/kdfs/tls1_prf.c @@ -55,10 +55,10 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include "crypto/evp.h" -#include "internal/provider_ctx.h" -#include "internal/providercommonerr.h" +#include "prov/provider_ctx.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_util.h" +#include "prov/provider_util.h" #include "e_os.h" static OSSL_OP_kdf_newctx_fn kdf_tls1_prf_new; diff --git a/providers/implementations/kdfs/x942kdf.c b/providers/implementations/kdfs/x942kdf.c index efa1c76271..5a84d50968 100644 --- a/providers/implementations/kdfs/x942kdf.c +++ b/providers/implementations/kdfs/x942kdf.c @@ -25,10 +25,10 @@ # include "internal/cryptlib.h" # include "internal/numbers.h" # include "crypto/evp.h" -# include "internal/provider_ctx.h" -# include "internal/providercommonerr.h" +# include "prov/provider_ctx.h" +# include "prov/providercommonerr.h" # include "prov/implementations.h" -# include "internal/provider_util.h" +# include "prov/provider_util.h" # define X942KDF_MAX_INLEN (1 << 30) diff --git a/providers/implementations/macs/blake2_mac_impl.c b/providers/implementations/macs/blake2_mac_impl.c index d33b76ae71..6b6261f31c 100644 --- a/providers/implementations/macs/blake2_mac_impl.c +++ b/providers/implementations/macs/blake2_mac_impl.c @@ -13,7 +13,7 @@ #include "prov/blake2.h" #include "internal/cryptlib.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" /* diff --git a/providers/implementations/macs/cmac_prov.c b/providers/implementations/macs/cmac_prov.c index d5ad4f3e9a..f3dbe1f2e7 100644 --- a/providers/implementations/macs/cmac_prov.c +++ b/providers/implementations/macs/cmac_prov.c @@ -15,8 +15,8 @@ #include #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/provider_util.h" +#include "prov/provider_ctx.h" +#include "prov/provider_util.h" /* * Forward declaration of everything implemented here. This is not strictly diff --git a/providers/implementations/macs/gmac_prov.c b/providers/implementations/macs/gmac_prov.c index 8947d09688..f9e5a3a17d 100644 --- a/providers/implementations/macs/gmac_prov.c +++ b/providers/implementations/macs/gmac_prov.c @@ -15,10 +15,10 @@ #include #include -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/provider_util.h" +#include "prov/provider_ctx.h" +#include "prov/provider_util.h" /* * Forward declaration of everything implemented here. This is not strictly diff --git a/providers/implementations/macs/hmac_prov.c b/providers/implementations/macs/hmac_prov.c index 7ae0d476f0..3eccc0d2c8 100644 --- a/providers/implementations/macs/hmac_prov.c +++ b/providers/implementations/macs/hmac_prov.c @@ -15,8 +15,8 @@ #include #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/provider_util.h" +#include "prov/provider_ctx.h" +#include "prov/provider_util.h" /* * Forward declaration of everything implemented here. This is not strictly diff --git a/providers/implementations/macs/kmac_prov.c b/providers/implementations/macs/kmac_prov.c index 0c2e8e3c93..6feaba7695 100644 --- a/providers/implementations/macs/kmac_prov.c +++ b/providers/implementations/macs/kmac_prov.c @@ -54,10 +54,10 @@ #include #include -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" -#include "internal/provider_ctx.h" -#include "internal/provider_util.h" +#include "prov/provider_ctx.h" +#include "prov/provider_util.h" /* * Forward declaration of everything implemented here. This is not strictly diff --git a/providers/implementations/macs/poly1305_prov.c b/providers/implementations/macs/poly1305_prov.c index 9dda057d74..f41752a3cf 100644 --- a/providers/implementations/macs/poly1305_prov.c +++ b/providers/implementations/macs/poly1305_prov.c @@ -21,7 +21,7 @@ */ #include "../../../crypto/poly1305/poly1305_local.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" /* diff --git a/providers/implementations/macs/siphash_prov.c b/providers/implementations/macs/siphash_prov.c index 190187d690..d1cb5cf1e7 100644 --- a/providers/implementations/macs/siphash_prov.c +++ b/providers/implementations/macs/siphash_prov.c @@ -22,7 +22,7 @@ */ #include "../../../crypto/siphash/siphash_local.h" -#include "internal/providercommonerr.h" +#include "prov/providercommonerr.h" #include "prov/implementations.h" /* diff --git a/providers/implementations/signature/dsa.c b/providers/implementations/signature/dsa.c index addef0079a..1eef3c9165 100644 --- a/providers/implementations/signature/dsa.c +++ b/providers/implementations/signature/dsa.c @@ -14,7 +14,7 @@ #include #include #include "prov/implementations.h" -#include "internal/provider_ctx.h" +#include "prov/provider_ctx.h" static OSSL_OP_signature_newctx_fn dsa_newctx; static OSSL_OP_signature_sign_init_fn dsa_signature_init;