aboutsummaryrefslogtreecommitdiff
path: root/security/botan110/files/extra-patch-openssl11
diff options
context:
space:
mode:
Diffstat (limited to 'security/botan110/files/extra-patch-openssl11')
-rw-r--r--security/botan110/files/extra-patch-openssl11262
1 files changed, 0 insertions, 262 deletions
diff --git a/security/botan110/files/extra-patch-openssl11 b/security/botan110/files/extra-patch-openssl11
deleted file mode 100644
index 584e7aa309e8..000000000000
--- a/security/botan110/files/extra-patch-openssl11
+++ /dev/null
@@ -1,262 +0,0 @@
---- src/engine/openssl/ossl_bc.cpp.orig 2017-10-02 06:00:00 UTC
-+++ src/engine/openssl/ossl_bc.cpp
-@@ -8,10 +8,6 @@
- #include <botan/internal/openssl_engine.h>
- #include <openssl/evp.h>
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-- #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
--#endif
--
- namespace Botan {
-
- namespace {
-@@ -44,7 +40,7 @@ class EVP_BlockCipher : public BlockCipher
- size_t block_sz;
- Key_Length_Specification cipher_key_spec;
- std::string cipher_name;
-- mutable EVP_CIPHER_CTX encrypt, decrypt;
-+ mutable EVP_CIPHER_CTX *encrypt, *decrypt;
- };
-
- /*
-@@ -59,14 +55,15 @@ EVP_BlockCipher::EVP_BlockCipher(const EVP_CIPHER* alg
- if(EVP_CIPHER_mode(algo) != EVP_CIPH_ECB_MODE)
- throw Invalid_Argument("EVP_BlockCipher: Non-ECB EVP was passed in");
-
-- EVP_CIPHER_CTX_init(&encrypt);
-- EVP_CIPHER_CTX_init(&decrypt);
-+ if ((encrypt = EVP_CIPHER_CTX_new()) == NULL)
-+ throw Invalid_Argument("EVP_BlockCipher: EVP_CIPHER_CTX_new failed");
-+ EVP_EncryptInit_ex(encrypt, algo, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_padding(encrypt, 0);
-
-- EVP_EncryptInit_ex(&encrypt, algo, 0, 0, 0);
-- EVP_DecryptInit_ex(&decrypt, algo, 0, 0, 0);
--
-- EVP_CIPHER_CTX_set_padding(&encrypt, 0);
-- EVP_CIPHER_CTX_set_padding(&decrypt, 0);
-+ if ((decrypt = EVP_CIPHER_CTX_new()) == NULL)
-+ throw Invalid_Argument("EVP_BlockCipher: EVP_CIPHER_CTX_new failed");
-+ EVP_DecryptInit_ex(decrypt, algo, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_padding(decrypt, 0);
- }
-
- /*
-@@ -83,14 +80,15 @@ EVP_BlockCipher::EVP_BlockCipher(const EVP_CIPHER* alg
- if(EVP_CIPHER_mode(algo) != EVP_CIPH_ECB_MODE)
- throw Invalid_Argument("EVP_BlockCipher: Non-ECB EVP was passed in");
-
-- EVP_CIPHER_CTX_init(&encrypt);
-- EVP_CIPHER_CTX_init(&decrypt);
-+ if ((encrypt = EVP_CIPHER_CTX_new()) == NULL)
-+ throw Invalid_Argument("EVP_BlockCipher: EVP_CIPHER_CTX_new failed");
-+ EVP_EncryptInit_ex(encrypt, algo, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_padding(encrypt, 0);
-
-- EVP_EncryptInit_ex(&encrypt, algo, 0, 0, 0);
-- EVP_DecryptInit_ex(&decrypt, algo, 0, 0, 0);
--
-- EVP_CIPHER_CTX_set_padding(&encrypt, 0);
-- EVP_CIPHER_CTX_set_padding(&decrypt, 0);
-+ if ((decrypt = EVP_CIPHER_CTX_new()) == NULL)
-+ throw Invalid_Argument("EVP_BlockCipher: EVP_CIPHER_CTX_new failed");
-+ EVP_DecryptInit_ex(decrypt, algo, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_padding(decrypt, 0);
- }
-
- /*
-@@ -98,8 +96,8 @@ EVP_BlockCipher::EVP_BlockCipher(const EVP_CIPHER* alg
- */
- EVP_BlockCipher::~EVP_BlockCipher()
- {
-- EVP_CIPHER_CTX_cleanup(&encrypt);
-- EVP_CIPHER_CTX_cleanup(&decrypt);
-+ EVP_CIPHER_CTX_cleanup(encrypt);
-+ EVP_CIPHER_CTX_cleanup(decrypt);
- }
-
- /*
-@@ -109,7 +107,7 @@ void EVP_BlockCipher::encrypt_n(const byte in[], byte
- size_t blocks) const
- {
- int out_len = 0;
-- EVP_EncryptUpdate(&encrypt, out, &out_len, in, blocks * block_sz);
-+ EVP_EncryptUpdate(encrypt, out, &out_len, in, blocks * block_sz);
- }
-
- /*
-@@ -119,7 +117,7 @@ void EVP_BlockCipher::decrypt_n(const byte in[], byte
- size_t blocks) const
- {
- int out_len = 0;
-- EVP_DecryptUpdate(&decrypt, out, &out_len, in, blocks * block_sz);
-+ EVP_DecryptUpdate(decrypt, out, &out_len, in, blocks * block_sz);
- }
-
- /*
-@@ -134,19 +132,19 @@ void EVP_BlockCipher::key_schedule(const byte key[], s
- full_key += std::make_pair(key, 8);
- }
- else
-- if(EVP_CIPHER_CTX_set_key_length(&encrypt, length) == 0 ||
-- EVP_CIPHER_CTX_set_key_length(&decrypt, length) == 0)
-+ if(EVP_CIPHER_CTX_set_key_length(encrypt, length) == 0 ||
-+ EVP_CIPHER_CTX_set_key_length(decrypt, length) == 0)
- throw Invalid_Argument("EVP_BlockCipher: Bad key length for " +
- cipher_name);
-
- if(cipher_name == "RC2")
- {
-- EVP_CIPHER_CTX_ctrl(&encrypt, EVP_CTRL_SET_RC2_KEY_BITS, length*8, 0);
-- EVP_CIPHER_CTX_ctrl(&decrypt, EVP_CTRL_SET_RC2_KEY_BITS, length*8, 0);
-+ EVP_CIPHER_CTX_ctrl(encrypt, EVP_CTRL_SET_RC2_KEY_BITS, length*8, 0);
-+ EVP_CIPHER_CTX_ctrl(decrypt, EVP_CTRL_SET_RC2_KEY_BITS, length*8, 0);
- }
-
-- EVP_EncryptInit_ex(&encrypt, 0, 0, full_key.begin(), 0);
-- EVP_DecryptInit_ex(&decrypt, 0, 0, full_key.begin(), 0);
-+ EVP_EncryptInit_ex(encrypt, 0, 0, full_key.begin(), 0);
-+ EVP_DecryptInit_ex(decrypt, 0, 0, full_key.begin(), 0);
- }
-
- /*
-@@ -154,7 +152,7 @@ void EVP_BlockCipher::key_schedule(const byte key[], s
- */
- BlockCipher* EVP_BlockCipher::clone() const
- {
-- return new EVP_BlockCipher(EVP_CIPHER_CTX_cipher(&encrypt),
-+ return new EVP_BlockCipher(EVP_CIPHER_CTX_cipher(encrypt),
- cipher_name,
- cipher_key_spec.minimum_keylength(),
- cipher_key_spec.maximum_keylength(),
-@@ -166,16 +164,16 @@ BlockCipher* EVP_BlockCipher::clone() const
- */
- void EVP_BlockCipher::clear()
- {
-- const EVP_CIPHER* algo = EVP_CIPHER_CTX_cipher(&encrypt);
-+ const EVP_CIPHER* algo = EVP_CIPHER_CTX_cipher(encrypt);
-
-- EVP_CIPHER_CTX_cleanup(&encrypt);
-- EVP_CIPHER_CTX_cleanup(&decrypt);
-- EVP_CIPHER_CTX_init(&encrypt);
-- EVP_CIPHER_CTX_init(&decrypt);
-- EVP_EncryptInit_ex(&encrypt, algo, 0, 0, 0);
-- EVP_DecryptInit_ex(&decrypt, algo, 0, 0, 0);
-- EVP_CIPHER_CTX_set_padding(&encrypt, 0);
-- EVP_CIPHER_CTX_set_padding(&decrypt, 0);
-+ EVP_CIPHER_CTX_cleanup(encrypt);
-+ EVP_CIPHER_CTX_cleanup(decrypt);
-+ EVP_CIPHER_CTX_init(encrypt);
-+ EVP_CIPHER_CTX_init(decrypt);
-+ EVP_EncryptInit_ex(encrypt, algo, 0, 0, 0);
-+ EVP_DecryptInit_ex(decrypt, algo, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_padding(encrypt, 0);
-+ EVP_CIPHER_CTX_set_padding(decrypt, 0);
- }
-
- }
---- src/engine/openssl/ossl_md.cpp.orig 2017-10-02 06:00:00 UTC
-+++ src/engine/openssl/ossl_md.cpp
-@@ -8,10 +8,6 @@
- #include <botan/internal/openssl_engine.h>
- #include <openssl/evp.h>
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-- #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
--#endif
--
- namespace Botan {
-
- namespace {
-@@ -28,12 +24,12 @@ class EVP_HashFunction : public HashFunction
-
- size_t output_length() const
- {
-- return EVP_MD_size(EVP_MD_CTX_md(&md));
-+ return EVP_MD_size(EVP_MD_CTX_md(md));
- }
-
- size_t hash_block_size() const
- {
-- return EVP_MD_block_size(EVP_MD_CTX_md(&md));
-+ return EVP_MD_block_size(EVP_MD_CTX_md(md));
- }
-
- EVP_HashFunction(const EVP_MD*, const std::string&);
-@@ -44,7 +40,7 @@ class EVP_HashFunction : public HashFunction
-
- size_t block_size;
- std::string algo_name;
-- EVP_MD_CTX md;
-+ EVP_MD_CTX *md;
- };
-
- /*
-@@ -52,7 +48,7 @@ class EVP_HashFunction : public HashFunction
- */
- void EVP_HashFunction::add_data(const byte input[], size_t length)
- {
-- EVP_DigestUpdate(&md, input, length);
-+ EVP_DigestUpdate(md, input, length);
- }
-
- /*
-@@ -60,9 +56,9 @@ void EVP_HashFunction::add_data(const byte input[], si
- */
- void EVP_HashFunction::final_result(byte output[])
- {
-- EVP_DigestFinal_ex(&md, output, 0);
-- const EVP_MD* algo = EVP_MD_CTX_md(&md);
-- EVP_DigestInit_ex(&md, algo, 0);
-+ EVP_DigestFinal_ex(md, output, 0);
-+ const EVP_MD* algo = EVP_MD_CTX_md(md);
-+ EVP_DigestInit_ex(md, algo, 0);
- }
-
- /*
-@@ -70,8 +66,8 @@ void EVP_HashFunction::final_result(byte output[])
- */
- void EVP_HashFunction::clear()
- {
-- const EVP_MD* algo = EVP_MD_CTX_md(&md);
-- EVP_DigestInit_ex(&md, algo, 0);
-+ const EVP_MD* algo = EVP_MD_CTX_md(md);
-+ EVP_DigestInit_ex(md, algo, 0);
- }
-
- /*
-@@ -79,7 +75,7 @@ void EVP_HashFunction::clear()
- */
- HashFunction* EVP_HashFunction::clone() const
- {
-- const EVP_MD* algo = EVP_MD_CTX_md(&md);
-+ const EVP_MD* algo = EVP_MD_CTX_md(md);
- return new EVP_HashFunction(algo, name());
- }
-
-@@ -90,8 +86,9 @@ EVP_HashFunction::EVP_HashFunction(const EVP_MD* algo,
- const std::string& name) :
- algo_name(name)
- {
-- EVP_MD_CTX_init(&md);
-- EVP_DigestInit_ex(&md, algo, 0);
-+ if ((md = EVP_MD_CTX_new()) == NULL)
-+ throw Invalid_Argument("EVP_HashFunction: EVP_MD_CTX_new failed");
-+ EVP_DigestInit_ex(md, algo, 0);
- }
-
- /*
-@@ -99,7 +96,11 @@ EVP_HashFunction::EVP_HashFunction(const EVP_MD* algo,
- */
- EVP_HashFunction::~EVP_HashFunction()
- {
-- EVP_MD_CTX_cleanup(&md);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+ EVP_MD_CTX_free(md);
-+#else
-+ EVP_MD_CTX_cleanup(md);
-+#endif
- }
-
- }