diff options
author | Eneas U de Queiroz <cote2004-github@yahoo.com> | 2018-10-24 11:25:00 -0300 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-02-12 22:23:26 +0100 |
commit | d872d00b2f7e31b98e11e83922d1aaefc270647e (patch) | |
tree | 70a74b004144e1a2d16c71b6d4aff626e085c498 /package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch | |
parent | be3892284ca77a69615351b106b8dfbadad728c4 (diff) | |
download | upstream-d872d00b2f7e31b98e11e83922d1aaefc270647e.tar.gz upstream-d872d00b2f7e31b98e11e83922d1aaefc270647e.tar.bz2 upstream-d872d00b2f7e31b98e11e83922d1aaefc270647e.zip |
openssl: update to version 1.1.1a
This version adds the following functionality:
* TLS 1.3
* AFALG engine support for hardware accelleration
* x25519 ECC curve support
* CRIME protection: disable use of compression by default
* Support for ChaCha20 and Poly1305
Patches fixing bugs in the /dev/crypto engine were applied, from
https://github.com/openssl/openssl/pull/7585
This increses the size of the ipk binray on MIPS32 by about 32%:
old:
693.941 bin/packages/mips_24kc/base/libopenssl1.0.0_1.0.2q-2_mips_24kc.ipk
193.827 bin/packages/mips_24kc/base/openssl-util_1.0.2q-2_mips_24kc.ipk
new:
912.493 bin/packages/mips_24kc/base/libopenssl1.1_1.1.1a-2_mips_24kc.ipk
239.316 bin/packages/mips_24kc/base/openssl-util_1.1.1a-2_mips_24kc.ipk
Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
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, 54 insertions, 0 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 new file mode 100644 index 0000000000..948ff7c2bc --- /dev/null +++ b/package/libs/openssl/patches/240-eng_devcrypto-add-cipher-CTX-copy-function.patch @@ -0,0 +1,54 @@ +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], |