You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openssl3/0019-dual-abi.patch

1286 lines
49 KiB

diff -up openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi openssl-3.0.0-beta1/crypto/evp/exchange.c
--- openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi 2021-07-02 15:28:23.331896975 +0200
+++ openssl-3.0.0-beta1/crypto/evp/exchange.c 2021-07-02 17:17:56.332300741 +0200
@@ -472,6 +472,7 @@ const char *EVP_KEYEXCH_get0_description
{
return keyexch->description;
}
+RHEL_ALIAS1(EVP_KEYEXCH_description);
int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name)
{
diff -up openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kdf_lib.c
--- openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi 2021-07-02 14:57:12.576376884 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kdf_lib.c 2021-07-02 14:59:05.277356425 +0200
@@ -92,11 +92,13 @@ const char *EVP_KDF_get0_name(const EVP_
{
return kdf->type_name;
}
+RHEL_ALIAS1(EVP_KDF_name);
const char *EVP_KDF_get0_description(const EVP_KDF *kdf)
{
return kdf->description;
}
+RHEL_ALIAS1(EVP_KDF_description);
int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name)
{
@@ -107,6 +109,7 @@ const OSSL_PROVIDER *EVP_KDF_get0_provid
{
return kdf->prov;
}
+RHEL_ALIAS1(EVP_KDF_provider);
const EVP_KDF *EVP_KDF_CTX_kdf(EVP_KDF_CTX *ctx)
{
diff -up openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kem.c
--- openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi 2021-07-02 14:59:25.315530582 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kem.c 2021-07-02 15:28:04.812733083 +0200
@@ -328,6 +328,7 @@ OSSL_PROVIDER *EVP_KEM_get0_provider(con
{
return kem->prov;
}
+RHEL_ALIAS1(EVP_KEM_provider);
EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
const char *properties)
@@ -352,11 +353,13 @@ const char *EVP_KEM_get0_name(const EVP_
{
return kem->type_name;
}
+RHEL_ALIAS1(EVP_KEM_name);
const char *EVP_KEM_get0_description(const EVP_KEM *kem)
{
return kem->description;
}
+RHEL_ALIAS1(EVP_KEM_description);
void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,
void (*fn)(EVP_KEM *kem, void *arg),
diff -up openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi 2021-07-12 23:22:43.652838373 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c 2021-07-12 23:40:46.085974883 +0200
@@ -430,6 +430,7 @@ const OSSL_PROVIDER *OSSL_DECODER_get0_p
return decoder->base.prov;
}
+RHEL_ALIAS1(OSSL_DECODER_provider);
const char *OSSL_DECODER_get0_properties(const OSSL_DECODER *decoder)
{
@@ -440,6 +441,7 @@ const char *OSSL_DECODER_get0_properties
return decoder->base.algodef->property_definition;
}
+RHEL_ALIAS1(OSSL_DECODER_properties);
const OSSL_PROPERTY_LIST *
ossl_decoder_parsed_properties(const OSSL_DECODER *decoder)
@@ -471,6 +473,7 @@ const char *OSSL_DECODER_get0_descriptio
{
return decoder->base.algodef->algorithm_description;
}
+RHEL_ALIAS1(OSSL_DECODER_description);
int OSSL_DECODER_is_a(const OSSL_DECODER *decoder, const char *name)
{
diff -up openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi 2021-07-12 23:22:06.307513672 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c 2021-07-08 14:20:58.568247805 +0200
@@ -439,6 +439,7 @@ const OSSL_PROVIDER *OSSL_ENCODER_get0_p
return encoder->base.prov;
}
+RHEL_ALIAS1(OSSL_ENCODER_provider);
const char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder)
{
@@ -449,6 +450,7 @@ const char *OSSL_ENCODER_get0_properties
return encoder->base.algodef->property_definition;
}
+RHEL_ALIAS1(OSSL_ENCODER_properties);
const OSSL_PROPERTY_LIST *
ossl_encoder_parsed_properties(const OSSL_ENCODER *encoder)
diff -up openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi openssl-3.0.0-beta1/crypto/evp/signature.c
--- openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi 2021-07-12 23:35:50.113380220 +0200
+++ openssl-3.0.0-beta1/crypto/evp/signature.c 2021-07-12 23:42:13.074732176 +0200
@@ -304,6 +304,7 @@ OSSL_PROVIDER *EVP_SIGNATURE_get0_provid
{
return signature->prov;
}
+RHEL_ALIAS1(EVP_SIGNATURE_provider);
EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
const char *properties)
diff -up openssl-3.0.0-beta1/crypto/provider.c.dual-abi openssl-3.0.0-beta1/crypto/provider.c
--- openssl-3.0.0-beta1/crypto/provider.c.dual-abi 2021-07-12 23:20:52.911866341 +0200
+++ openssl-3.0.0-beta1/crypto/provider.c 2021-07-08 14:17:56.222526254 +0200
@@ -133,6 +133,7 @@ const char *OSSL_PROVIDER_get0_name(cons
{
return ossl_provider_name(prov);
}
+RHEL_ALIAS1(OSSL_PROVIDER_name);
int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx,
int (*cb)(OSSL_PROVIDER *provider,
diff -up openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi openssl-3.0.0-beta1/crypto/store/store_meth.c
--- openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi 2021-07-12 23:19:45.894383707 +0200
+++ openssl-3.0.0-beta1/crypto/store/store_meth.c 2021-07-08 10:32:19.767282116 +0200
@@ -398,6 +398,7 @@ const OSSL_PROVIDER *OSSL_STORE_LOADER_g
return loader->prov;
}
+RHEL_ALIAS1(OSSL_STORE_LOADER_provider);
const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader)
{
@@ -408,6 +409,7 @@ const char *OSSL_STORE_LOADER_get0_prope
return loader->propdef;
}
+RHEL_ALIAS1(OSSL_STORE_LOADER_properties);
int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader)
{
@@ -423,6 +425,7 @@ const char *OSSL_STORE_LOADER_get0_descr
{
return loader->description;
}
+RHEL_ALIAS1(OSSL_STORE_LOADER_description);
int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader, const char *name)
{
diff -up openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi 2021-07-13 01:01:18.919145746 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c 2021-07-13 01:02:00.137533120 +0200
@@ -23,6 +23,21 @@
*/
#define NAME_SEPARATOR ':'
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
/* Simple method structure constructor and destructor */
static OSSL_DECODER *ossl_decoder_new(void)
{
diff -up openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi 2021-07-13 01:01:31.433263354 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c 2021-07-13 01:02:26.169777773 +0200
@@ -23,6 +23,21 @@
*/
#define NAME_SEPARATOR ':'
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
/* Simple method structure constructor and destructor */
static OSSL_ENCODER *ossl_encoder_new(void)
{
diff -up openssl-3.0.0-beta1/crypto/evp/asymcipher.c.dual-abi openssl-3.0.0-beta1/crypto/evp/asymcipher.c
--- openssl-3.0.0-beta1/crypto/evp/asymcipher.c.dual-abi 2021-07-13 01:11:45.757160664 +0200
+++ openssl-3.0.0-beta1/crypto/evp/asymcipher.c 2021-07-13 01:12:10.821406727 +0200
@@ -17,6 +17,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation,
const OSSL_PARAM params[])
{
@@ -413,6 +428,7 @@ OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_prov
{
return cipher->prov;
}
+RHEL_ALIAS1(EVP_ASYM_CIPHER_provider);
EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
const char *properties)
@@ -437,11 +453,13 @@ const char *EVP_ASYM_CIPHER_get0_name(co
{
return cipher->type_name;
}
+RHEL_ALIAS1(EVP_ASYM_CIPHER_name);
const char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER *cipher)
{
return cipher->description;
}
+RHEL_ALIAS1(EVP_ASYM_CIPHER_description);
void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
void (*fn)(EVP_ASYM_CIPHER *cipher,
diff -up openssl-3.0.0-beta1/crypto/evp/evp_rand.c.dual-abi openssl-3.0.0-beta1/crypto/evp/evp_rand.c
--- openssl-3.0.0-beta1/crypto/evp/evp_rand.c.dual-abi 2021-07-13 00:54:33.231325700 +0200
+++ openssl-3.0.0-beta1/crypto/evp/evp_rand.c 2021-07-13 00:57:22.596922955 +0200
@@ -26,6 +26,22 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
+
struct evp_rand_st {
OSSL_PROVIDER *prov;
int name_id;
@@ -302,11 +318,13 @@ const char *EVP_RAND_get0_name(const EVP
{
return rand->type_name;
}
+RHEL_ALIAS1(EVP_RAND_name);
const char *EVP_RAND_get0_description(const EVP_RAND *rand)
{
return rand->description;
}
+RHEL_ALIAS1(EVP_RAND_description);
int EVP_RAND_is_a(const EVP_RAND *rand, const char *name)
{
@@ -317,6 +335,7 @@ const OSSL_PROVIDER *EVP_RAND_get0_provi
{
return rand->prov;
}
+RHEL_ALIAS1(EVP_RAND_provider);
int EVP_RAND_get_params(EVP_RAND *rand, OSSL_PARAM params[])
{
@@ -399,6 +418,7 @@ EVP_RAND *EVP_RAND_CTX_get0_rand(EVP_RAN
{
return ctx->meth;
}
+RHEL_ALIAS1(EVP_RAND_CTX_rand);
static int evp_rand_get_ctx_params_locked(EVP_RAND_CTX *ctx,
OSSL_PARAM params[])
@@ -633,6 +653,7 @@ unsigned int EVP_RAND_get_strength(EVP_R
evp_rand_unlock(ctx);
return res;
}
+RHEL_ALIAS1(EVP_RAND_strength);
static int evp_rand_nonce_locked(EVP_RAND_CTX *ctx, unsigned char *out,
size_t outlen)
@@ -667,6 +688,7 @@ int EVP_RAND_get_state(EVP_RAND_CTX *ctx
state = EVP_RAND_STATE_ERROR;
return state;
}
+RHEL_ALIAS1(EVP_RAND_state);
static int evp_rand_verify_zeroization_locked(EVP_RAND_CTX *ctx)
{
diff -up openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi openssl-3.0.0-beta1/crypto/evp/exchange.c
--- openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi 2021-07-12 23:58:50.656415550 +0200
+++ openssl-3.0.0-beta1/crypto/evp/exchange.c 2021-07-13 00:43:35.764165305 +0200
@@ -17,6 +17,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static EVP_KEYEXCH *evp_keyexch_new(OSSL_PROVIDER *prov)
{
EVP_KEYEXCH *exchange = OPENSSL_zalloc(sizeof(EVP_KEYEXCH));
@@ -170,6 +185,7 @@ OSSL_PROVIDER *EVP_KEYEXCH_get0_provider
{
return exchange->prov;
}
+RHEL_ALIAS1(EVP_KEYEXCH_provider);
EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
const char *properties)
@@ -467,6 +483,7 @@ const char *EVP_KEYEXCH_get0_name(const
{
return keyexch->type_name;
}
+RHEL_ALIAS1(EVP_KEYEXCH_name);
const char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch)
{
diff -up openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kdf_lib.c
--- openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi 2021-07-13 01:05:40.212601404 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kdf_lib.c 2021-07-13 01:06:03.238817806 +0200
@@ -23,6 +23,21 @@
#include "internal/provider.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf)
{
EVP_KDF_CTX *ctx = NULL;
diff -up openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kem.c
--- openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi 2021-07-13 01:05:02.966251358 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kem.c 2021-07-13 01:04:49.023120319 +0200
@@ -17,6 +17,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation,
const OSSL_PARAM params[])
{
diff -up openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c.dual-abi openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c
--- openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c.dual-abi 2021-07-13 00:01:22.784863826 +0200
+++ openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c 2021-07-13 00:44:18.815566635 +0200
@@ -17,6 +17,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static void *keymgmt_new(void)
{
EVP_KEYMGMT *keymgmt = NULL;
@@ -250,6 +265,7 @@ const OSSL_PROVIDER *EVP_KEYMGMT_get0_pr
{
return keymgmt->prov;
}
+RHEL_ALIAS1(EVP_KEYMGMT_provider);
int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt)
{
@@ -260,11 +276,13 @@ const char *EVP_KEYMGMT_get0_description
{
return keymgmt->description;
}
+RHEL_ALIAS1(EVP_KEYMGMT_description);
const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt)
{
return keymgmt->type_name;
}
+RHEL_ALIAS1(EVP_KEYMGMT_name);
int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name)
{
diff -up openssl-3.0.0-beta1/crypto/evp/mac_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/mac_lib.c
--- openssl-3.0.0-beta1/crypto/evp/mac_lib.c.dual-abi 2021-07-13 00:03:56.495327168 +0200
+++ openssl-3.0.0-beta1/crypto/evp/mac_lib.c 2021-07-13 00:44:48.459842988 +0200
@@ -19,6 +19,21 @@
#include "internal/provider.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac)
{
EVP_MAC_CTX *ctx = OPENSSL_zalloc(sizeof(EVP_MAC_CTX));
@@ -81,6 +96,7 @@ EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CT
{
return ctx->meth;
}
+RHEL_ALIAS1(EVP_MAC_CTX_mac);
static size_t get_size_t_ctx_param(EVP_MAC_CTX *ctx, const char *name)
{
@@ -212,11 +228,13 @@ const char *EVP_MAC_get0_name(const EVP_
{
return mac->type_name;
}
+RHEL_ALIAS1(EVP_MAC_name);
const char *EVP_MAC_get0_description(const EVP_MAC *mac)
{
return mac->description;
}
+RHEL_ALIAS1(EVP_MAC_description);
int EVP_MAC_is_a(const EVP_MAC *mac, const char *name)
{
diff -up openssl-3.0.0-beta1/crypto/evp/mac_meth.c.dual-abi openssl-3.0.0-beta1/crypto/evp/mac_meth.c
--- openssl-3.0.0-beta1/crypto/evp/mac_meth.c.dual-abi 2021-07-13 00:06:10.565599500 +0200
+++ openssl-3.0.0-beta1/crypto/evp/mac_meth.c 2021-07-13 00:45:14.925089707 +0200
@@ -7,6 +7,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static int evp_mac_up_ref(void *vmac)
{
EVP_MAC *mac = vmac;
@@ -179,6 +194,7 @@ const OSSL_PROVIDER *EVP_MAC_get0_provid
{
return mac->prov;
}
+RHEL_ALIAS1(EVP_MAC_provider);
const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac)
{
diff -up openssl-3.0.0-beta1/crypto/evp/p_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/p_lib.c
--- openssl-3.0.0-beta1/crypto/evp/p_lib.c.dual-abi 2021-07-13 00:49:03.477220320 +0200
+++ openssl-3.0.0-beta1/crypto/evp/p_lib.c 2021-07-13 00:53:25.178683891 +0200
@@ -49,6 +49,21 @@
#include "e_os.h" /* strcasecmp on Windows */
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const char *str,
int len, EVP_KEYMGMT *keymgmt);
static void evp_pkey_free_it(EVP_PKEY *key);
@@ -69,6 +84,7 @@ int EVP_PKEY_get_bits(const EVP_PKEY *pk
}
return size < 0 ? 0 : size;
}
+RHEL_ALIAS1(EVP_PKEY_bits);
int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey)
{
@@ -81,6 +97,7 @@ int EVP_PKEY_get_security_bits(const EVP
}
return size < 0 ? 0 : size;
}
+RHEL_ALIAS1(EVP_PKEY_security_bits);
int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
{
@@ -974,11 +991,13 @@ int EVP_PKEY_get_id(const EVP_PKEY *pkey
{
return pkey->type;
}
+RHEL_ALIAS1(EVP_PKEY_id);
int EVP_PKEY_get_base_id(const EVP_PKEY *pkey)
{
return EVP_PKEY_type(pkey->type);
}
+RHEL_ALIAS1(EVP_PKEY_base_id);
/*
* These hard coded cases are pure hackery to get around the fact
@@ -1780,6 +1799,7 @@ int EVP_PKEY_get_size(const EVP_PKEY *pk
}
return size < 0 ? 0 : size;
}
+RHEL_ALIAS1(EVP_PKEY_size);
const char *EVP_PKEY_get0_description(const EVP_PKEY *pkey)
{
@@ -1794,6 +1814,7 @@ const char *EVP_PKEY_get0_description(co
#endif
return NULL;
}
+RHEL_ALIAS1(EVP_PKEY_description);
void *evp_pkey_export_to_provider(EVP_PKEY *pk, OSSL_LIB_CTX *libctx,
EVP_KEYMGMT **keymgmt,
diff -up openssl-3.0.0-beta1/crypto/evp/pmeth_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/pmeth_lib.c
--- openssl-3.0.0-beta1/crypto/evp/pmeth_lib.c.dual-abi 2021-07-13 00:47:14.791207121 +0200
+++ openssl-3.0.0-beta1/crypto/evp/pmeth_lib.c 2021-07-13 00:48:48.716082716 +0200
@@ -34,6 +34,21 @@
#ifndef FIPS_MODULE
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static int evp_pkey_ctx_store_cached_data(EVP_PKEY_CTX *ctx,
int keytype, int optype,
int cmd, const char *name,
@@ -1076,6 +1091,7 @@ int EVP_PKEY_CTX_set_hkdf_mode(EVP_PKEY_
return EVP_PKEY_CTX_set_params(ctx, int_params);
}
+RHEL_ALIAS1(EVP_PKEY_CTX_hkdf_mode);
int EVP_PKEY_CTX_set1_pbe_pass(EVP_PKEY_CTX *ctx, const char *pass,
int passlen)
diff -up openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi openssl-3.0.0-beta1/crypto/evp/signature.c
--- openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi 2021-07-13 00:58:07.602347388 +0200
+++ openssl-3.0.0-beta1/crypto/evp/signature.c 2021-07-13 00:59:52.391332550 +0200
@@ -18,6 +18,21 @@
#include "crypto/evp.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
static EVP_SIGNATURE *evp_signature_new(OSSL_PROVIDER *prov)
{
EVP_SIGNATURE *signature = OPENSSL_zalloc(sizeof(EVP_SIGNATURE));
@@ -329,11 +344,13 @@ const char *EVP_SIGNATURE_get0_name(cons
{
return signature->type_name;
}
+RHEL_ALIAS1(EVP_SIGNATURE_name);
const char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature)
{
return signature->description;
}
+RHEL_ALIAS1(EVP_SIGNATURE_description);
void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,
void (*fn)(EVP_SIGNATURE *signature,
diff -up openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi openssl-3.0.0-beta1/crypto/store/store_meth.c
--- openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi 2021-07-13 01:02:51.062011712 +0200
+++ openssl-3.0.0-beta1/crypto/store/store_meth.c 2021-07-13 01:03:16.138247380 +0200
@@ -15,6 +15,21 @@
#include "internal/provider.h"
#include "store_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
int OSSL_STORE_LOADER_up_ref(OSSL_STORE_LOADER *loader)
{
int ref = 0;
diff -up openssl-3.0.0-beta1/crypto/http/http_client.c.dual-abi openssl-3.0.0-beta1/crypto/http/http_client.c
--- openssl-3.0.0-beta1/crypto/http/http_client.c.dual-abi 2021-07-13 22:47:01.463713204 +0200
+++ openssl-3.0.0-beta1/crypto/http/http_client.c 2021-07-13 22:46:32.064435146 +0200
@@ -784,6 +784,11 @@ int OSSL_HTTP_REQ_CTX_nbio_d2i(OSSL_HTTP
}
+int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OSSL_HTTP_REQ_CTX *rctx)
+{
+ return OSSL_HTTP_REQ_CTX_nbio_d2i(rctx, (ASN1_VALUE **)(presp), ASN1_ITEM_rptr(OCSP_RESPONSE));
+}
+
#ifndef OPENSSL_NO_SOCK
/* set up a new connection BIO, to HTTP server or to HTTP(S) proxy if given */
diff -up openssl-3.0.0-beta1/include/openssl/http.h.dual-abi openssl-3.0.0-beta1/include/openssl/http.h
--- openssl-3.0.0-beta1/include/openssl/http.h.dual-abi 2021-07-13 22:46:13.628260778 +0200
+++ openssl-3.0.0-beta1/include/openssl/http.h 2021-07-13 22:45:33.390880219 +0200
@@ -52,6 +52,7 @@ int OSSL_HTTP_REQ_CTX_set1_req(OSSL_HTTP
int OSSL_HTTP_REQ_CTX_nbio(OSSL_HTTP_REQ_CTX *rctx);
int OSSL_HTTP_REQ_CTX_nbio_d2i(OSSL_HTTP_REQ_CTX *rctx,
ASN1_VALUE **pval, const ASN1_ITEM *it);
+int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OSSL_HTTP_REQ_CTX *rctx);
BIO *OSSL_HTTP_REQ_CTX_exchange(OSSL_HTTP_REQ_CTX *rctx);
BIO *OSSL_HTTP_REQ_CTX_get0_mem_bio(const OSSL_HTTP_REQ_CTX *rctx);
size_t OSSL_HTTP_REQ_CTX_get_resp_len(const OSSL_HTTP_REQ_CTX *rctx);
diff -up openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi 2021-07-13 23:41:29.425486504 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c 2021-07-13 23:42:00.393819678 +0200
@@ -497,6 +497,7 @@ const char *OSSL_ENCODER_get0_descriptio
{
return encoder->base.algodef->algorithm_description;
}
+RHEL_ALIAS1(OSSL_ENCODER_description);
int OSSL_ENCODER_is_a(const OSSL_ENCODER *encoder, const char *name)
{
diff -up openssl-3.0.0-beta1/util/libcrypto.num.dual-abi openssl-3.0.0-beta1/util/libcrypto.num
--- openssl-3.0.0-beta1/util/libcrypto.num.dual-abi 2021-07-13 23:38:25.166562563 +0200
+++ openssl-3.0.0-beta1/util/libcrypto.num 2021-07-13 23:40:38.622939932 +0200
@@ -5414,3 +5414,76 @@ ASN1_item_d2i_bio_ex
EVP_PKEY_get0_provider 5554 3_0_0 EXIST::FUNCTION:
EVP_PKEY_CTX_get0_provider 5555 3_0_0 EXIST::FUNCTION:
ossl_safe_getenv ? 3_0_0 EXIST::FUNCTION:
+EVP_ASYM_CIPHER_description ? 3_0_0 EXIST::FUNCTION:
+EVP_ASYM_CIPHER_name ? 3_0_0 EXIST::FUNCTION:
+EVP_ASYM_CIPHER_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_block_size ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_encrypting ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_iv_length ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_key_length ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_nid ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_num ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_CTX_tag_length ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_block_size ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_description ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_flags ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_iv_length ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_key_length ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_mode ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_name ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_nid ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_CIPHER_type ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_description ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_name ? 3_0_0 EXIST::FUNCTION:
+EVP_KDF_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_KEM_description ? 3_0_0 EXIST::FUNCTION:
+EVP_KEM_name ? 3_0_0 EXIST::FUNCTION:
+EVP_KEM_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_description ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_name ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYEXCH_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_description ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_name ? 3_0_0 EXIST::FUNCTION:
+EVP_KEYMGMT_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_mac ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_description ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_name ? 3_0_0 EXIST::FUNCTION:
+EVP_MAC_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_CTX_md_data ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_CTX_pkey_ctx ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_block_size ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_description ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_flags ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_name ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_pkey_type ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_size ? 3_0_0 EXIST::FUNCTION:
+EVP_MD_type ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_CTX_hkdf_mode ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_base_id ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_bits ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_description ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_id ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_security_bits ? 3_0_0 EXIST::FUNCTION:
+EVP_PKEY_size ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_CTX_rand ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_description ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_name ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_provider ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_state ? 3_0_0 EXIST::FUNCTION:
+EVP_RAND_strength ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_description ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_name ? 3_0_0 EXIST::FUNCTION:
+EVP_SIGNATURE_provider ? 3_0_0 EXIST::FUNCTION:
+OCSP_sendreq_nbio ? 3_0_0 EXIST::FUNCTION:
+OSSL_DECODER_description ? 3_0_0 EXIST::FUNCTION:
+OSSL_DECODER_provider ? 3_0_0 EXIST::FUNCTION:
+OSSL_ENCODER_description ? 3_0_0 EXIST::FUNCTION:
+OSSL_ENCODER_properties ? 3_0_0 EXIST::FUNCTION:
+OSSL_ENCODER_provider ? 3_0_0 EXIST::FUNCTION:
+OSSL_PROVIDER_name ? 3_0_0 EXIST::FUNCTION:
+OSSL_STORE_LOADER_description ? 3_0_0 EXIST::FUNCTION:
+OSSL_STORE_LOADER_properties ? 3_0_0 EXIST::FUNCTION:
+OSSL_STORE_LOADER_provider ? 3_0_0 EXIST::FUNCTION:
+OCSP_sendreq_nbio ? 3_0_0 EXIST::FUNCTION:
diff -up openssl-3.0.0-beta1/crypto/provider.c.dual-abi openssl-3.0.0-beta1/crypto/provider.c
--- openssl-3.0.0-beta1/crypto/provider.c.dual-abi 2021-07-14 00:37:49.301207962 +0200
+++ openssl-3.0.0-beta1/crypto/provider.c 2021-07-14 00:39:34.796200433 +0200
@@ -13,6 +13,21 @@
#include "internal/provider.h"
#include "provider_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *libctx, const char *name,
int retain_fallbacks)
{
diff -up openssl-3.0.0-beta1/util/libcrypto.num.dual-abi openssl-3.0.0-beta1/util/libcrypto.num
--- openssl-3.0.0-beta1/util/libcrypto.num.dual-abi 2021-07-14 08:43:00.374838367 +0200
+++ openssl-3.0.0-beta1/util/libcrypto.num 2021-07-14 08:43:20.421006957 +0200
@@ -5486,4 +5486,3 @@ OSSL_PROVIDER_name ? 3_0_0 EXIS
OSSL_STORE_LOADER_description ? 3_0_0 EXIST::FUNCTION:
OSSL_STORE_LOADER_properties ? 3_0_0 EXIST::FUNCTION:
OSSL_STORE_LOADER_provider ? 3_0_0 EXIST::FUNCTION:
-OCSP_sendreq_nbio ? 3_0_0 EXIST::FUNCTION:
diff -up openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c.dual-abi 2021-07-17 22:00:59.773016162 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/decoder_meth.c 2021-07-17 22:02:15.768898376 +0200
@@ -38,6 +38,9 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define OSSL_DECODER_provider OSSL_DECODER_get0_provider
+#define OSSL_DECODER_properties OSSL_DECODER_get0_properties
+#define OSSL_DECODER_description OSSL_DECODER_get0_description
/* Simple method structure constructor and destructor */
static OSSL_DECODER *ossl_decoder_new(void)
{
diff -up openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c
--- openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c.dual-abi 2021-07-17 22:11:45.414684273 +0200
+++ openssl-3.0.0-beta1/crypto/encode_decode/encoder_meth.c 2021-07-17 22:13:31.863953270 +0200
@@ -38,6 +38,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define OSSL_ENCODER_provider OSSL_ENCODER_get0_provider
+#define OSSL_ENCODER_properties OSSL_ENCODER_get0_properties
+#define OSSL_ENCODER_description OSSL_ENCODER_get0_description
+
/* Simple method structure constructor and destructor */
static OSSL_ENCODER *ossl_encoder_new(void)
{
diff -up openssl-3.0.0-beta1/crypto/evp/asymcipher.c.dual-abi openssl-3.0.0-beta1/crypto/evp/asymcipher.c
--- openssl-3.0.0-beta1/crypto/evp/asymcipher.c.dual-abi 2021-07-17 22:41:57.601106537 +0200
+++ openssl-3.0.0-beta1/crypto/evp/asymcipher.c 2021-07-17 22:43:21.232142660 +0200
@@ -32,6 +32,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_ASYM_CIPHER_provider EVP_ASYM_CIPHER_get0_provider
+#define EVP_ASYM_CIPHER_name EVP_ASYM_CIPHER_get0_name
+#define EVP_ASYM_CIPHER_description EVP_ASYM_CIPHER_get0_description
+
static int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation,
const OSSL_PARAM params[])
{
diff -up openssl-3.0.0-beta1/crypto/evp/evp_rand.c.dual-abi openssl-3.0.0-beta1/crypto/evp/evp_rand.c
--- openssl-3.0.0-beta1/crypto/evp/evp_rand.c.dual-abi 2021-07-17 22:29:25.742454581 +0200
+++ openssl-3.0.0-beta1/crypto/evp/evp_rand.c 2021-07-17 22:33:36.158699400 +0200
@@ -41,6 +41,12 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_RAND_name EVP_RAND_get0_name
+#define EVP_RAND_description EVP_RAND_get0_description
+#define EVP_RAND_provider EVP_RAND_get0_provider
+#define EVP_RAND_CTX_rand EVP_RAND_CTX_get0_rand
+#define EVP_RAND_strength EVP_RAND_get_strength
+#define EVP_RAND_state EVP_RAND_get_state
struct evp_rand_st {
OSSL_PROVIDER *prov;
diff -up openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kdf_lib.c
--- openssl-3.0.0-beta1/crypto/evp/kdf_lib.c.dual-abi 2021-07-19 11:05:37.011176112 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kdf_lib.c 2021-07-19 11:07:00.979312903 +0200
@@ -38,6 +38,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_KDF_description EVP_KDF_get0_description
+#define EVP_KDF_name EVP_KDF_get0_name
+#define EVP_KDF_provider EVP_KDF_get0_provider
+
EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf)
{
EVP_KDF_CTX *ctx = NULL;
diff -up openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi openssl-3.0.0-beta1/crypto/evp/kem.c
--- openssl-3.0.0-beta1/crypto/evp/kem.c.dual-abi 2021-07-17 22:43:48.398479226 +0200
+++ openssl-3.0.0-beta1/crypto/evp/kem.c 2021-07-17 22:57:43.456546917 +0200
@@ -32,6 +32,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_KEM_provider EVP_KEM_get0_provider
+#define EVP_KEM_name EVP_KEM_get0_name
+#define EVP_KEM_description EVP_KEM_get0_description
+
static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation,
const OSSL_PARAM params[])
{
diff -up openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c.dual-abi openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c
--- openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c.dual-abi 2021-07-17 22:37:22.080738360 +0200
+++ openssl-3.0.0-beta1/crypto/evp/keymgmt_meth.c 2021-07-17 22:39:05.847978640 +0200
@@ -32,6 +32,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_KEYMGMT_provider EVP_KEYMGMT_get0_provider
+#define EVP_KEYMGMT_name EVP_KEYMGMT_get0_name
+#define EVP_KEYMGMT_description EVP_KEYMGMT_get0_description
+
static void *keymgmt_new(void)
{
EVP_KEYMGMT *keymgmt = NULL;
diff -up openssl-3.0.0-beta1/crypto/evp/mac_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/mac_lib.c
--- openssl-3.0.0-beta1/crypto/evp/mac_lib.c.dual-abi 2021-07-17 22:26:15.364131776 +0200
+++ openssl-3.0.0-beta1/crypto/evp/mac_lib.c 2021-07-17 22:29:32.718539694 +0200
@@ -34,6 +34,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_MAC_name EVP_MAC_get0_name
+#define EVP_MAC_description EVP_MAC_get0_description
+# define EVP_MAC_CTX_mac EVP_MAC_CTX_get0_mac
+
EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac)
{
EVP_MAC_CTX *ctx = OPENSSL_zalloc(sizeof(EVP_MAC_CTX));
diff -up openssl-3.0.0-beta1/crypto/evp/mac_meth.c.dual-abi openssl-3.0.0-beta1/crypto/evp/mac_meth.c
--- openssl-3.0.0-beta1/crypto/evp/mac_meth.c.dual-abi 2021-07-17 22:27:04.406730147 +0200
+++ openssl-3.0.0-beta1/crypto/evp/mac_meth.c 2021-07-17 22:30:30.482255830 +0200
@@ -22,6 +22,8 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+# define EVP_MAC_provider EVP_MAC_get0_provider
+
static int evp_mac_up_ref(void *vmac)
{
EVP_MAC *mac = vmac;
diff -up openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi openssl-3.0.0-beta1/crypto/evp/signature.c
--- openssl-3.0.0-beta1/crypto/evp/signature.c.dual-abi 2021-07-17 22:40:02.942686000 +0200
+++ openssl-3.0.0-beta1/crypto/evp/signature.c 2021-07-17 22:41:27.180729654 +0200
@@ -33,6 +33,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_SIGNATURE_provider EVP_SIGNATURE_get0_provider
+#define EVP_SIGNATURE_name EVP_SIGNATURE_get0_name
+#define EVP_SIGNATURE_description EVP_SIGNATURE_get0_description
+
static EVP_SIGNATURE *evp_signature_new(OSSL_PROVIDER *prov)
{
EVP_SIGNATURE *signature = OPENSSL_zalloc(sizeof(EVP_SIGNATURE));
diff -up openssl-3.0.0-beta1/crypto/provider.c.dual-abi openssl-3.0.0-beta1/crypto/provider.c
--- openssl-3.0.0-beta1/crypto/provider.c.dual-abi 2021-07-19 11:07:31.301723423 +0200
+++ openssl-3.0.0-beta1/crypto/provider.c 2021-07-19 11:08:09.354238585 +0200
@@ -28,6 +28,8 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define OSSL_PROVIDER_name OSSL_PROVIDER_get0_name
+
OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *libctx, const char *name,
int retain_fallbacks)
{
diff -up openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi openssl-3.0.0-beta1/crypto/store/store_meth.c
--- openssl-3.0.0-beta1/crypto/store/store_meth.c.dual-abi 2021-07-19 11:09:38.398444097 +0200
+++ openssl-3.0.0-beta1/crypto/store/store_meth.c 2021-07-19 12:35:14.153417504 +0200
@@ -30,6 +30,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define OSSL_STORE_LOADER_provider OSSL_STORE_LOADER_get0_provider
+#define OSSL_STORE_LOADER_properties OSSL_STORE_LOADER_get0_properties
+#define OSSL_STORE_LOADER_description OSSL_STORE_LOADER_get0_description
+
int OSSL_STORE_LOADER_up_ref(OSSL_STORE_LOADER *loader)
{
int ref = 0;
diff -up openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi openssl-3.0.0-beta1/crypto/evp/exchange.c
--- openssl-3.0.0-beta1/crypto/evp/exchange.c.dual-abi 2021-07-19 12:53:41.708859841 +0200
+++ openssl-3.0.0-beta1/crypto/evp/exchange.c 2021-07-19 12:54:27.782435636 +0200
@@ -32,6 +32,10 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_KEYEXCH_provider EVP_KEYEXCH_get0_provider
+#define EVP_KEYEXCH_name EVP_KEYEXCH_get0_name
+#define EVP_KEYEXCH_description EVP_KEYEXCH_get0_description
+
static EVP_KEYEXCH *evp_keyexch_new(OSSL_PROVIDER *prov)
{
EVP_KEYEXCH *exchange = OPENSSL_zalloc(sizeof(EVP_KEYEXCH));
diff -up openssl-3.0.0-beta1/crypto/evp/p_lib.c.dual-abi openssl-3.0.0-beta1/crypto/evp/p_lib.c
--- openssl-3.0.0-beta1/crypto/evp/p_lib.c.dual-abi 2021-07-19 13:07:31.799790073 +0200
+++ openssl-3.0.0-beta1/crypto/evp/p_lib.c 2021-07-19 13:08:23.334480304 +0200
@@ -64,6 +64,8 @@
#define RHEL_ALIAS1(old_id) \
RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+#define EVP_PKEY_description EVP_PKEY_get0_description
+
static int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const char *str,
int len, EVP_KEYMGMT *keymgmt);
static void evp_pkey_free_it(EVP_PKEY *key);
diff -up openssl-3.0.0-beta2/crypto/evp/evp_lib.c.dual-abi openssl-3.0.0-beta2/crypto/evp/evp_lib.c
--- openssl-3.0.0-beta2/crypto/evp/evp_lib.c.dual-abi 2021-08-03 12:50:08.359814508 +0200
+++ openssl-3.0.0-beta2/crypto/evp/evp_lib.c 2021-08-03 12:55:14.025810602 +0200
@@ -28,6 +28,26 @@
#include "internal/provider.h"
#include "evp_local.h"
+/* Macro machinery. */
+
+/* Defines OLD_STRING (a C string) as an alias for NEW_ID (a C
+ * identifier). The controlling C identifier symbol is ALIAS_ID (a C
+ * identifier). */
+#define RHEL_ALIAS3(alias_id, new_id, old_string) \
+ extern __typeof(new_id) alias_id \
+ __asm__ (old_string) \
+ __attribute__ ((__copy__ (new_id), __alias__ (#new_id)))
+
+/* Defines an alias using OLD_ID, which must be an macro identifier
+ * that expands to the new identifier. */
+#define RHEL_ALIAS1(old_id) \
+ RHEL_ALIAS3(RHEL_ALIAS_##old_id, old_id, #old_id)
+
+#define EVP_MD_description EVP_MD_get0_description
+#define EVP_MD_provider EVP_MD_get0_provider
+#define EVP_CIPHER_description EVP_CIPHER_get0_description
+#define EVP_CIPHER_provider EVP_CIPHER_get0_provider
+
#if !defined(FIPS_MODULE)
# include "crypto/asn1.h"
diff -up openssl-3.0.0-beta2/crypto/evp/evp_lib.c.dual-abi openssl-3.0.0-beta2/crypto/evp/evp_lib.c
--- openssl-3.0.0-beta2/crypto/evp/evp_lib.c.dual-abi 2021-08-03 13:11:46.436671855 +0200
+++ openssl-3.0.0-beta2/crypto/evp/evp_lib.c 2021-08-03 13:31:36.873461438 +0200
@@ -337,6 +337,7 @@ int EVP_CIPHER_get_type(const EVP_CIPHER
#endif
}
}
+RHEL_ALIAS1(EVP_CIPHER_type);
int evp_cipher_cache_constants(EVP_CIPHER *cipher)
{
@@ -389,11 +390,13 @@ int EVP_CIPHER_get_block_size(const EVP_
{
return cipher->block_size;
}
+RHEL_ALIAS1(EVP_CIPHER_block_size);
int EVP_CIPHER_CTX_get_block_size(const EVP_CIPHER_CTX *ctx)
{
return EVP_CIPHER_get_block_size(ctx->cipher);
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_block_size);
int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *e)
{
@@ -466,11 +469,13 @@ int EVP_CIPHER_CTX_is_encrypting(const E
{
return ctx->encrypt;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_encrypting);
unsigned long EVP_CIPHER_get_flags(const EVP_CIPHER *cipher)
{
return cipher->flags;
}
+RHEL_ALIAS1(EVP_CIPHER_flags);
void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx)
{
@@ -501,6 +506,7 @@ int EVP_CIPHER_get_iv_length(const EVP_C
{
return cipher->iv_len;
}
+RHEL_ALIAS1(EVP_CIPHER_iv_length);
int EVP_CIPHER_CTX_get_iv_length(const EVP_CIPHER_CTX *ctx)
{
@@ -522,6 +543,7 @@ legacy:
}
return len;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_iv_length);
int EVP_CIPHER_CTX_get_tag_length(const EVP_CIPHER_CTX *ctx)
{
@@ -533,6 +539,7 @@ int EVP_CIPHER_CTX_get_tag_length(const
ret = evp_do_ciph_ctx_getparams(ctx->cipher, ctx->algctx, params);
return ret == 1 ? (int)v : 0;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_tag_length);
#ifndef OPENSSL_NO_DEPRECATED_3_0
const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx)
@@ -615,6 +622,7 @@ int EVP_CIPHER_CTX_get_num(const EVP_CIP
return ok != 0 ? (int)v : EVP_CTRL_RET_UNSUPPORTED;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_num);
int EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num)
{
@@ -634,6 +642,7 @@ int EVP_CIPHER_get_key_length(const EVP_
{
return cipher->key_len;
}
+RHEL_ALIAS1(EVP_CIPHER_key_length);
int EVP_CIPHER_CTX_get_key_length(const EVP_CIPHER_CTX *ctx)
{
@@ -646,16 +655,19 @@ int EVP_CIPHER_CTX_get_key_length(const
return ok != 0 ? (int)v : EVP_CTRL_RET_UNSUPPORTED;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_key_length);
int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher)
{
return cipher->nid;
}
+RHEL_ALIAS1(EVP_CIPHER_nid);
int EVP_CIPHER_CTX_get_nid(const EVP_CIPHER_CTX *ctx)
{
return ctx->cipher->nid;
}
+RHEL_ALIAS1(EVP_CIPHER_CTX_nid);
int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name)
{
@@ -679,6 +691,7 @@ const char *EVP_CIPHER_get0_name(const E
return NULL;
#endif
}
+RHEL_ALIAS1(EVP_CIPHER_name);
const char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher)
{
@@ -690,6 +703,7 @@ const char *EVP_CIPHER_get0_description(
return NULL;
#endif
}
+RHEL_ALIAS1(EVP_CIPHER_description);
int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
void (*fn)(const char *name, void *data),
@@ -705,11 +719,13 @@ const OSSL_PROVIDER *EVP_CIPHER_get0_pro
{
return cipher->prov;
}
+RHEL_ALIAS1(EVP_CIPHER_provider);
int EVP_CIPHER_get_mode(const EVP_CIPHER *cipher)
{
return EVP_CIPHER_get_flags(cipher) & EVP_CIPH_MODE;
}
+RHEL_ALIAS1(EVP_CIPHER_mode);
int EVP_MD_is_a(const EVP_MD *md, const char *name)
{
@@ -733,6 +749,7 @@ const char *EVP_MD_get0_description(cons
return NULL;
#endif
}
+RHEL_ALIAS1(EVP_MD_description);
const char *EVP_MD_get0_name(const EVP_MD *md)
{
@@ -746,6 +763,7 @@ const char *EVP_MD_get0_name(const EVP_M
return NULL;
#endif
}
+RHEL_ALIAS1(EVP_MD_name);
int EVP_MD_names_do_all(const EVP_MD *md,
void (*fn)(const char *name, void *data),
@@ -761,16 +779,19 @@ const OSSL_PROVIDER *EVP_MD_get0_provide
{
return md->prov;
}
+RHEL_ALIAS1(EVP_MD_provider);
int EVP_MD_get_type(const EVP_MD *md)
{
return md->type;
}
+RHEL_ALIAS1(EVP_MD_type);
int EVP_MD_get_pkey_type(const EVP_MD *md)
{
return md->pkey_type;
}
+RHEL_ALIAS1(EVP_MD_pkey_type);
int EVP_MD_get_block_size(const EVP_MD *md)
{
@@ -780,6 +801,7 @@ int EVP_MD_get_block_size(const EVP_MD *
}
return md->block_size;
}
+RHEL_ALIAS1(EVP_MD_block_size);
int EVP_MD_get_size(const EVP_MD *md)
{
@@ -789,11 +811,13 @@ int EVP_MD_get_size(const EVP_MD *md)
}
return md->md_size;
}
+RHEL_ALIAS1(EVP_MD_size);
unsigned long EVP_MD_get_flags(const EVP_MD *md)
{
return md->flags;
}
+RHEL_ALIAS1(EVP_MD_flags);
EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type)
{
@@ -1008,6 +1032,7 @@ EVP_PKEY_CTX *EVP_MD_CTX_get_pkey_ctx(co
{
return ctx->pctx;
}
+RHEL_ALIAS1(EVP_MD_CTX_pkey_ctx);
#if !defined(FIPS_MODULE)
void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx)
@@ -1034,6 +1059,7 @@ void *EVP_MD_CTX_get0_md_data(const EVP_
{
return ctx->md_data;
}
+RHEL_ALIAS1(EVP_MD_CTX_md_data);
int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,
const void *data, size_t count)