diff options
Diffstat (limited to 'package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch')
-rw-r--r-- | package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch b/package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch deleted file mode 100644 index 948ff7c2bc..0000000000 --- a/package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a19d1a1d370e2959555fccbafc4e970634840352 Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz <cote2004-github@yahoo.com> -Date: Tue, 13 Nov 2018 09:23:22 -0200 -Subject: [PATCH 5/7] eng_devcrypto: add cipher CTX copy function - -The engine needs a custom cipher context copy function to open a new -/dev/crypto session. - -Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com> - -Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> -Reviewed-by: Richard Levitte <levitte@openssl.org> -(Merged from https://github.com/openssl/openssl/pull/7585) - -(cherry picked from commit 6d99e238397859f2df58c60e28905193b2dd6762) - ---- a/crypto/engine/eng_devcrypto.c -+++ b/crypto/engine/eng_devcrypto.c -@@ -207,6 +207,22 @@ static int cipher_do_cipher(EVP_CIPHER_C - return 1; - } - -+static int cipher_ctrl(EVP_CIPHER_CTX *ctx, int type, int p1, void* p2) -+{ -+ EVP_CIPHER_CTX *to_ctx = (EVP_CIPHER_CTX *)p2; -+ struct cipher_ctx *cipher_ctx; -+ -+ if (type == EVP_CTRL_COPY) { -+ /* when copying the context, a new session needs to be initialized */ -+ cipher_ctx = (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); -+ return (cipher_ctx == NULL) -+ || cipher_init(to_ctx, cipher_ctx->sess.key, EVP_CIPHER_CTX_iv(ctx), -+ (cipher_ctx->op == COP_ENCRYPT)); -+ } -+ -+ return -1; -+} -+ - static int cipher_cleanup(EVP_CIPHER_CTX *ctx) - { - struct cipher_ctx *cipher_ctx = -@@ -258,10 +274,12 @@ static void prepare_cipher_methods(void) - cipher_data[i].ivlen) - || !EVP_CIPHER_meth_set_flags(known_cipher_methods[i], - cipher_data[i].flags -+ | EVP_CIPH_CUSTOM_COPY - | EVP_CIPH_FLAG_DEFAULT_ASN1) - || !EVP_CIPHER_meth_set_init(known_cipher_methods[i], cipher_init) - || !EVP_CIPHER_meth_set_do_cipher(known_cipher_methods[i], - cipher_do_cipher) -+ || !EVP_CIPHER_meth_set_ctrl(known_cipher_methods[i], cipher_ctrl) - || !EVP_CIPHER_meth_set_cleanup(known_cipher_methods[i], - cipher_cleanup) - || !EVP_CIPHER_meth_set_impl_ctx_size(known_cipher_methods[i], |