[openssl-commits] [openssl] master update
The branch master has been updated via b754a8a1590b8c5c9662c8a0ba49573991488b20 (commit) from 5674466e007d892ec55441059b3763abd5dd5440 (commit) - Log - commit b754a8a1590b8c5c9662c8a0ba49573991488b20 Author: Daniel DeFreez Date: Wed Feb 13 14:26:14 2019 +0800 Fix null pointer dereference in cms_RecipientInfo_kari_init CLA: trivial Reviewed-by: Bernd Edlinger Reviewed-by: Paul Yang Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8137) --- Summary of changes: crypto/cms/cms_kari.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index 4ee7017..9f1f5d5 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -282,7 +282,7 @@ static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari, return rv; } -/* Initialise a ktri based on passed certificate and key */ +/* Initialise a kari based on passed certificate and key */ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk, unsigned int flags) @@ -299,6 +299,9 @@ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, kari->version = 3; rek = M_ASN1_new_of(CMS_RecipientEncryptedKey); +if (rek == NULL) +return 0; + if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) { M_ASN1_free_of(rek, CMS_RecipientEncryptedKey); return 0; _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] OpenSSL_1_1_1-stable update
The branch OpenSSL_1_1_1-stable has been updated via 851437094aca6067d425f7869751df41cde775fe (commit) from 2cf7fd698ec1375421f91338ff8a44e7da5238b6 (commit) - Log - commit 851437094aca6067d425f7869751df41cde775fe Author: Daniel DeFreez Date: Wed Feb 13 14:26:14 2019 +0800 Fix null pointer dereference in cms_RecipientInfo_kari_init CLA: trivial Reviewed-by: Bernd Edlinger Reviewed-by: Paul Yang Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8137) (cherry picked from commit b754a8a1590b8c5c9662c8a0ba49573991488b20) --- Summary of changes: crypto/cms/cms_kari.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index 3bc46fe..f104eec 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -282,7 +282,7 @@ static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari, return rv; } -/* Initialise a ktri based on passed certificate and key */ +/* Initialise a kari based on passed certificate and key */ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk, unsigned int flags) @@ -299,6 +299,9 @@ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, kari->version = 3; rek = M_ASN1_new_of(CMS_RecipientEncryptedKey); +if (rek == NULL) +return 0; + if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) { M_ASN1_free_of(rek, CMS_RecipientEncryptedKey); return 0; _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via 5674466e007d892ec55441059b3763abd5dd5440 (commit) from 7f4268bff3cf49b96d25bfd83013ee310c31520b (commit) - Log - commit 5674466e007d892ec55441059b3763abd5dd5440 Author: Richard Levitte Date: Tue Feb 12 11:37:43 2019 +0100 Move libapps headers into their own directory This got triggered by test/testutil.h including ../apps/opt.h. Some compilers do all inclusions from the directory of the C file being compiled, so when a C file includes a header file with a relative file spec, and that header file also includes another header file with a relative file spec, the compiler no longer follows. As a specific example, test/testutil/basic_output.c included ../testutil.h. Fine so far, but then, test/testutil.h includes ../apps/opt.h, and the compiler ends up trying to include (seen from the source top) test/apps/opt.h rather than apps/opt.h, and fails. The solution could have been to simply add apps/ as an inclusion directory. However, that directory also has header files that have nothing to do with libapps, so we take this a bit further, create apps/include and move libapps specific headers there, and then add apps/include as inclusion directory in the build.info files where needed. Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/8210) --- Summary of changes: apps/build.info | 4 +- apps/{ => include}/apps.h| 0 apps/{ => include}/apps_ui.h | 0 apps/{ => include}/fmt.h | 0 apps/{ => include}/opt.h | 0 apps/{ => include}/s_apps.h | 0 test/build.info | 226 +-- test/testutil.h | 2 +- 8 files changed, 116 insertions(+), 116 deletions(-) rename apps/{ => include}/apps.h (100%) rename apps/{ => include}/apps_ui.h (100%) rename apps/{ => include}/fmt.h (100%) rename apps/{ => include}/opt.h (100%) rename apps/{ => include}/s_apps.h (100%) diff --git a/apps/build.info b/apps/build.info index 7a5e876..9b77c46 100644 --- a/apps/build.info +++ b/apps/build.info @@ -15,12 +15,12 @@ IF[{- !$disabled{apps} -}] LIBS{noinst}=libapps.a SOURCE[libapps.a]={- join(" ", @apps_lib_src) -} - INCLUDE[libapps.a]=.. ../include + INCLUDE[libapps.a]=.. ../include include PROGRAMS=openssl SOURCE[openssl]={- join(" ", @apps_init_src) -} SOURCE[openssl]={- join(" ", @apps_openssl_src) -} - INCLUDE[openssl]=.. ../include + INCLUDE[openssl]=.. ../include include DEPEND[openssl]=libapps.a ../libssl IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}] diff --git a/apps/apps.h b/apps/include/apps.h similarity index 100% rename from apps/apps.h rename to apps/include/apps.h diff --git a/apps/apps_ui.h b/apps/include/apps_ui.h similarity index 100% rename from apps/apps_ui.h rename to apps/include/apps_ui.h diff --git a/apps/fmt.h b/apps/include/fmt.h similarity index 100% rename from apps/fmt.h rename to apps/include/fmt.h diff --git a/apps/opt.h b/apps/include/opt.h similarity index 100% rename from apps/opt.h rename to apps/include/opt.h diff --git a/apps/s_apps.h b/apps/include/s_apps.h similarity index 100% rename from apps/s_apps.h rename to apps/include/s_apps.h diff --git a/test/build.info b/test/build.info index b2b7375..7d4f953 100644 --- a/test/build.info +++ b/test/build.info @@ -15,7 +15,7 @@ IF[{- !$disabled{tests} -}] testutil/format_output.c testutil/tap_bio.c \ testutil/test_cleanup.c testutil/main.c testutil/init.c \ testutil/options.c testutil/test_options.c ../apps/opt.c - INCLUDE[libtestutil.a]=../include .. + INCLUDE[libtestutil.a]=../include ../apps/include .. DEPEND[libtestutil.a]=../libcrypto PROGRAMS{noinst}=\ @@ -48,234 +48,234 @@ IF[{- !$disabled{tests} -}] sysdefaulttest errtest gosttest SOURCE[versions]=versions.c - INCLUDE[versions]=../include + INCLUDE[versions]=../include ../apps/include DEPEND[versions]=../libcrypto SOURCE[aborttest]=aborttest.c - INCLUDE[aborttest]=../include + INCLUDE[aborttest]=../include ../apps/include DEPEND[aborttest]=../libcrypto SOURCE[sanitytest]=sanitytest.c - INCLUDE[sanitytest]=../include + INCLUDE[sanitytest]=../include ../apps/include DEPEND[sanitytest]=../libcrypto libtestutil.a SOURCE[rsa_complex]=rsa_complex.c - INCLUDE[rsa_complex]=../include + INCLUDE[rsa_complex]=../include ../apps/include SOURCE[test_test]=test_test.c - INCLUDE[test_test]=../include + INCLUDE[test_test]=../include ../apps/include DEPEND[test_test]=../libcrypto libtestutil.a SOURCE[exdatatest]=exdatatest.c - INCLUDE[exdatatest]=../include + INCLUDE[exdatatest]=../include ../apps/include DEPEND[exdatatest]=../libcrypto libtestutil.a SOURCE[bn
[openssl-commits] Fixed: openssl/openssl#23004 (OpenSSL_1_1_1-stable - 2cf7fd6)
Build Update for openssl/openssl - Build: #23004 Status: Fixed Duration: 16 mins and 40 secs Commit: 2cf7fd6 (OpenSSL_1_1_1-stable) Author: Andy Polyakov Message: AArch64 assembly pack: authenticate return addresses. ARMv8.3 adds pointer authentication extension, which in this case allows to ensure that, when offloaded to stack, return address is same at return as at entry to the subroutine. The new instructions are nops on processors that don't implement the extension, so that the vetification is backward compatible. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8205) (cherry picked from commit 9a18aae5f21efc59da8b697ad67d5d37b95ab322) View the changeset: https://github.com/openssl/openssl/compare/af250b36eb53...2cf7fd698ec1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492485010?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Passed: openssl/openssl#23002 (master - 7f4268b)
Build Update for openssl/openssl - Build: #23002 Status: Passed Duration: 19 mins and 11 secs Commit: 7f4268b (master) Author: Pauli Message: Fix master build. The recent change from ENGINES to MODULES broke the configure it seems. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/8219) View the changeset: https://github.com/openssl/openssl/compare/583fd0c1085c...7f4268bff3cf View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492474315?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] OpenSSL_1_1_1-stable update
The branch OpenSSL_1_1_1-stable has been updated via 2cf7fd698ec1375421f91338ff8a44e7da5238b6 (commit) from af250b36eb537bc2b185e35e24f187380a98ebb4 (commit) - Log - commit 2cf7fd698ec1375421f91338ff8a44e7da5238b6 Author: Andy Polyakov Date: Mon Feb 11 15:33:43 2019 +0100 AArch64 assembly pack: authenticate return addresses. ARMv8.3 adds pointer authentication extension, which in this case allows to ensure that, when offloaded to stack, return address is same at return as at entry to the subroutine. The new instructions are nops on processors that don't implement the extension, so that the vetification is backward compatible. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8205) (cherry picked from commit 9a18aae5f21efc59da8b697ad67d5d37b95ab322) --- Summary of changes: crypto/aes/asm/aesv8-armx.pl | 2 ++ crypto/aes/asm/vpaes-armv8.pl | 18 ++ crypto/bn/asm/armv8-mont.pl | 4 crypto/chacha/asm/chacha-armv8.pl | 8 crypto/ec/asm/ecp_nistz256-armv8.pl | 28 +++- crypto/poly1305/asm/poly1305-armv8.pl | 2 ++ crypto/sha/asm/keccak1600-armv8.pl| 14 ++ crypto/sha/asm/sha512-armv8.pl| 2 ++ 8 files changed, 77 insertions(+), 1 deletion(-) diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index 8b37cfc..ffa52ab 100755 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl @@ -262,6 +262,7 @@ $code.=<<___; ${prefix}_set_decrypt_key: ___ $code.=<<___ if ($flavour =~ /64/); + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 ___ @@ -305,6 +306,7 @@ $code.=<<___if ($flavour !~ /64/); ___ $code.=<<___ if ($flavour =~ /64/); ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret ___ $code.=<<___; diff --git a/crypto/aes/asm/vpaes-armv8.pl b/crypto/aes/asm/vpaes-armv8.pl index 5131e13..5758133 100755 --- a/crypto/aes/asm/vpaes-armv8.pl +++ b/crypto/aes/asm/vpaes-armv8.pl @@ -255,6 +255,7 @@ _vpaes_encrypt_core: .type vpaes_encrypt,%function .align 4 vpaes_encrypt: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -264,6 +265,7 @@ vpaes_encrypt: st1 {v0.16b}, [$out] ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_encrypt,.-vpaes_encrypt @@ -486,6 +488,7 @@ _vpaes_decrypt_core: .type vpaes_decrypt,%function .align 4 vpaes_decrypt: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -495,6 +498,7 @@ vpaes_decrypt: st1 {v0.16b}, [$out] ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_decrypt,.-vpaes_decrypt @@ -665,6 +669,7 @@ _vpaes_key_preheat: .type _vpaes_schedule_core,%function .align 4 _vpaes_schedule_core: + .inst 0xd503233f // paciasp stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -829,6 +834,7 @@ _vpaes_schedule_core: eor v6.16b, v6.16b, v6.16b // vpxor%xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor%xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + .inst 0xd50323bf // autiasp ret .size _vpaes_schedule_core,.-_vpaes_schedule_core @@ -1041,6 +1047,7 @@ _vpaes_schedule_mangle: .type vpaes_set_encrypt_key,%function .align 4 vpaes_set_encrypt_key: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]!// ABI spec says so @@ -1056,6 +1063,7 @@ vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key @@ -1063,6 +1071,7 @@ vpaes_set_encrypt_key: .type vpaes_set_decrypt_key,%function .align 4 vpaes_set_decrypt_key: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]!// ABI spec says so @@ -1082,6 +1091,7 @@ vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key ___ @@ -1098,6 +1108,7 @@ vpaes_cbc_encrypt: cmp w5, #0 // check direction b.eqvpaes_cbc_decrypt
[openssl-commits] Errored: openssl/openssl#23001 (master - 583fd0c)
Build Update for openssl/openssl - Build: #23001 Status: Errored Duration: 4 mins and 45 secs Commit: 583fd0c (master) Author: Pauli Message: Macro typo fix not propagated Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/8217) View the changeset: https://github.com/openssl/openssl/compare/e5fee28f0e49...583fd0c1085c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492473350?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via 7f4268bff3cf49b96d25bfd83013ee310c31520b (commit) from 583fd0c1085c6297e3dd632ac588afee723aae5a (commit) - Log - commit 7f4268bff3cf49b96d25bfd83013ee310c31520b Author: Pauli Date: Wed Feb 13 09:30:20 2019 +1000 Fix master build. The recent change from ENGINES to MODULES broke the configure it seems. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/8219) --- Summary of changes: engines/build.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/build.info b/engines/build.info index f94e620..e493ced 100644 --- a/engines/build.info +++ b/engines/build.info @@ -43,7 +43,7 @@ IF[{- !$disabled{"engine"} -}] ENDIF ENDIF IF[{- !$disabled{"devcryptoeng"} -}] - ENGINES=devcrypto + MODULES=devcrypto SOURCE[devcrypto]=e_devcrypto.c DEPEND[devcrypto]=../libcrypto INCLUDE[devcrypto]=../include _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Errored: openssl/openssl#23000 (master - e5fee28)
Build Update for openssl/openssl - Build: #23000 Status: Errored Duration: 3 mins and 55 secs Commit: e5fee28 (master) Author: Pauli Message: Fix typo in comment Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/8218) View the changeset: https://github.com/openssl/openssl/compare/54b5fb2dab8b...e5fee28f0e49 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492472326?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via 583fd0c1085c6297e3dd632ac588afee723aae5a (commit) from e5fee28f0e49fe2e07b2088985eee2d0ffaaf17e (commit) - Log - commit 583fd0c1085c6297e3dd632ac588afee723aae5a Author: Pauli Date: Wed Feb 13 08:30:49 2019 +1000 Macro typo fix not propagated Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/8217) --- Summary of changes: engines/e_devcrypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/e_devcrypto.c b/engines/e_devcrypto.c index 1d733e5..77f0e48 100644 --- a/engines/e_devcrypto.c +++ b/engines/e_devcrypto.c @@ -1048,7 +1048,7 @@ static const ENGINE_CMD_DEFN devcrypto_cmds[] = { OPENSSL_MSTR(DEVCRYPTO_USE_SOFTWARE) "=allow all drivers, " OPENSSL_MSTR(DEVCRYPTO_REJECT_SOFTWARE) "=use if acceleration can't be determined) [default=" -OPENSSL_MSTR(DEVCRYPTO_DEFAULT_USE_SOFDTRIVERS) "]", +OPENSSL_MSTR(DEVCRYPTO_DEFAULT_USE_SOFTDRIVERS) "]", ENGINE_CMD_FLAG_NUMERIC}, #endif _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via e5fee28f0e49fe2e07b2088985eee2d0ffaaf17e (commit) from 54b5fb2dab8b216c11adfbe6320c27e18a44ffb3 (commit) - Log - commit e5fee28f0e49fe2e07b2088985eee2d0ffaaf17e Author: Pauli Date: Wed Feb 13 09:22:36 2019 +1000 Fix typo in comment Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/8218) --- Summary of changes: crypto/sparse_array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/sparse_array.c b/crypto/sparse_array.c index b256478..9255f9d 100644 --- a/crypto/sparse_array.c +++ b/crypto/sparse_array.c @@ -44,7 +44,7 @@ /* * From the number of bits, work out: *the number of pointers in a tree node; - *a bit mask to quickly extra an index and + *a bit mask to quickly extract an index and *the maximum depth of the tree structure. */ #define SA_BLOCK_MAX(1 << OPENSSL_SA_BLOCK_BITS) _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build completed: openssl master.22394
Build openssl master.22394 completed Commit fe474de9bb by Pauli on 2/12/2019 11:30 PM: Fix master build. Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22393
Build openssl master.22393 failed Commit 2eba95d4f0 by Pauli on 2/12/2019 11:22 PM: Fix typo in comment Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22392
Build openssl master.22392 failed Commit 83b0a79ac1 by Pauli on 2/12/2019 10:30 PM: Macro typo fix not propagated Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings
Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings Commit log since last time: 54b5fb2dab To use BN_BITS2, we'd better include openssl/bn.h c703a808a1 eng_devcrypto.c: close open session on init c244aa7bda CHANGES: add note about building devcrypto dynamic 2afebe0bab e_devcrypto: make the /dev/crypto engine dynamic 9a18aae5f2 AArch64 assembly pack: authenticate return addresses. a40f0f6475 Add sparse array data type. Build log ended with (last 100 lines): $ CC=clang ../openssl/config -d --strict-warnings Operating system: x86_64-whatever-linux2 Configuring OpenSSL version 3.0.0-dev for target linux-x86_64-clang Using os-specific seed configuration Failure! Makefile wasn't produced. Please read INSTALL and associated NOTES files. You may also have to look over your available compiler tool chain or change your configuration. Something wrong with this line: ENGINES=devcrypto at /home/openssl/run-checker/openssl/engines/build.info at ../openssl/Configure line 1887. $ make clean make: *** No rule to make target 'clean'. Stop. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22391
Build openssl master.22391 failed Commit c84fe02d12 by David Makepeace on 6/21/2018 9:16 PM: Added new EVP/KDF API. Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22390
Build openssl master.22390 failed Commit ac092b4a9e by David Asraf on 2/7/2019 9:51 AM: Add EC_GROUP_get0_field Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22387
Build openssl master.22387 failed Commit cf32d324d2 by Eneas U de Queiroz on 2/12/2019 6:53 PM: eng_devcrypto.c: fix cipher_ctrl function Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Errored: openssl/openssl#22991 (master - 54b5fb2)
Build Update for openssl/openssl - Build: #22991 Status: Errored Duration: 4 mins and 59 secs Commit: 54b5fb2 (master) Author: Richard Levitte Message: To use BN_BITS2, we'd better include openssl/bn.h Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8212) View the changeset: https://github.com/openssl/openssl/compare/c703a808a139...54b5fb2dab8b View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492337649?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22386
Build openssl master.22386 failed Commit 54b5fb2dab by Richard Levitte on 2/12/2019 7:33 PM: To use BN_BITS2, we'd better include openssl/bn.h Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Errored: openssl/openssl#22989 (master - c703a80)
Build Update for openssl/openssl - Build: #22989 Status: Errored Duration: 7 mins and 50 secs Commit: c703a80 (master) Author: Eneas U de Queiroz Message: eng_devcrypto.c: close open session on init cipher_init may be called on an already initialized context, without a necessary cleanup. This separates cleanup from initialization, closing an eventual open session before creating a new one. Signed-off-by: Eneas U de Queiroz Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7859) View the changeset: https://github.com/openssl/openssl/compare/9a18aae5f21e...c703a808a139 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492325199?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via 54b5fb2dab8b216c11adfbe6320c27e18a44ffb3 (commit) from c703a808a1394fea7f77067db20c9508e6964d0b (commit) - Log - commit 54b5fb2dab8b216c11adfbe6320c27e18a44ffb3 Author: Richard Levitte Date: Tue Feb 12 19:54:08 2019 +0100 To use BN_BITS2, we'd better include openssl/bn.h Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8212) --- Summary of changes: crypto/sparse_array.c | 1 + 1 file changed, 1 insertion(+) diff --git a/crypto/sparse_array.c b/crypto/sparse_array.c index 8b56b25..b256478 100644 --- a/crypto/sparse_array.c +++ b/crypto/sparse_array.c @@ -9,6 +9,7 @@ */ #include +#include #include "internal/sparse_array.h" /* _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22384
Build openssl master.22384 failed Commit c703a808a1 by Eneas U de Queiroz on 2/12/2019 7:06 PM: eng_devcrypto.c: close open session on init Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22382
Build openssl master.22382 failed Commit 8e7596e150 by Richard Levitte on 2/12/2019 6:54 PM: To use BN_BITS2, we'd better include openssl/bn.h Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22380
Build openssl master.22380 failed Commit a42174ed76 by David Asraf on 2/7/2019 9:51 AM: Add EC_GROUP_get0_field Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via c703a808a1394fea7f77067db20c9508e6964d0b (commit) via c244aa7bdac4eb26504b68e430557ed3e5a12ae9 (commit) via 2afebe0bab5e03c9ae1555fd79044940245d7235 (commit) from 9a18aae5f21efc59da8b697ad67d5d37b95ab322 (commit) - Log - commit c703a808a1394fea7f77067db20c9508e6964d0b Author: Eneas U de Queiroz Date: Tue Feb 12 10:44:19 2019 -0200 eng_devcrypto.c: close open session on init cipher_init may be called on an already initialized context, without a necessary cleanup. This separates cleanup from initialization, closing an eventual open session before creating a new one. Signed-off-by: Eneas U de Queiroz Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7859) commit c244aa7bdac4eb26504b68e430557ed3e5a12ae9 Author: Eneas U de Queiroz Date: Thu Nov 8 11:07:44 2018 -0200 CHANGES: add note about building devcrypto dynamic Signed-off-by: Eneas U de Queiroz Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7859) commit 2afebe0bab5e03c9ae1555fd79044940245d7235 Author: Eneas U de Queiroz Date: Tue Nov 6 10:57:03 2018 -0200 e_devcrypto: make the /dev/crypto engine dynamic Engine has been moved from crypto/engine/eng_devcrypto.c to engines/e_devcrypto.c. Signed-off-by: Eneas U de Queiroz Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7859) --- Summary of changes: CHANGES| 3 + crypto/engine/build.info | 3 - crypto/init.c | 34 ++--- engines/build.info | 13 ++ .../eng_devcrypto.c => engines/e_devcrypto.c | 160 ++--- 5 files changed, 144 insertions(+), 69 deletions(-) rename crypto/engine/eng_devcrypto.c => engines/e_devcrypto.c (94%) diff --git a/CHANGES b/CHANGES index 9d712f0..02258ce 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,9 @@ Changes between 1.1.1 and 3.0.0 [xx XXX ] + *) Build devcrypto engine as a dynamic engine. + [Eneas U de Queiroz] + *) Add keyed BLAKE2 to EVP_MAC. [Antoine Salon] diff --git a/crypto/engine/build.info b/crypto/engine/build.info index e00802a..47fe948 100644 --- a/crypto/engine/build.info +++ b/crypto/engine/build.info @@ -6,6 +6,3 @@ SOURCE[../../libcrypto]=\ tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c tb_eckey.c \ eng_openssl.c eng_cnf.c eng_dyn.c \ eng_rdrand.c -IF[{- !$disabled{devcryptoeng} -}] - SOURCE[../../libcrypto]=eng_devcrypto.c -ENDIF diff --git a/crypto/init.c b/crypto/init.c index 22d28a9..ddea63a 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -353,18 +353,6 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_openssl) engine_load_openssl_int(); return 1; } -# ifndef OPENSSL_NO_DEVCRYPTOENG -static CRYPTO_ONCE engine_devcrypto = CRYPTO_ONCE_STATIC_INIT; -DEFINE_RUN_ONCE_STATIC(ossl_init_engine_devcrypto) -{ -# ifdef OPENSSL_INIT_DEBUG -fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_devcrypto: " -"engine_load_devcrypto_int()\n"); -# endif -engine_load_devcrypto_int(); -return 1; -} -# endif # ifndef OPENSSL_NO_RDRAND static CRYPTO_ONCE engine_rdrand = CRYPTO_ONCE_STATIC_INIT; @@ -389,6 +377,18 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_dynamic) return 1; } # ifndef OPENSSL_NO_STATIC_ENGINE +# ifndef OPENSSL_NO_DEVCRYPTOENG +static CRYPTO_ONCE engine_devcrypto = CRYPTO_ONCE_STATIC_INIT; +DEFINE_RUN_ONCE_STATIC(ossl_init_engine_devcrypto) +{ +# ifdef OPENSSL_INIT_DEBUG +fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_devcrypto: " +"engine_load_devcrypto_int()\n"); +# endif +engine_load_devcrypto_int(); +return 1; +} +# endif # if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_PADLOCK) static CRYPTO_ONCE engine_padlock = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_padlock) @@ -747,11 +747,6 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) if ((opts & OPENSSL_INIT_ENGINE_OPENSSL) && !RUN_ONCE(&engine_openssl, ossl_init_engine_openssl)) return 0; -# if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_DEVCRYPTOENG) -if ((opts & OPENSSL_INIT_ENGINE_CRYPTODEV) -&& !RUN_ONCE(&engine_devcrypto, ossl_init_engine_devcrypto)) -return 0; -# endif # ifndef OPENSSL_NO_RDRAND if ((opts & OPENSSL_INIT_ENGINE_RDRAND) && !RUN_ONCE(&engine_rdrand, ossl_init_engine_rdrand)) @@ -761,6 +756,11 @@ int OPENSSL_init_crypto(uint64_t opts, const OPE
[openssl-commits] Build completed: openssl master.22378
Build openssl master.22378 completed Commit 9a18aae5f2 by Andy Polyakov on 2/12/2019 6:00 PM: AArch64 assembly pack: authenticate return addresses. Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Still Failing: openssl/openssl#22983 (master - 9a18aae)
Build Update for openssl/openssl - Build: #22983 Status: Still Failing Duration: 19 mins and 6 secs Commit: 9a18aae (master) Author: Andy Polyakov Message: AArch64 assembly pack: authenticate return addresses. ARMv8.3 adds pointer authentication extension, which in this case allows to ensure that, when offloaded to stack, return address is same at return as at entry to the subroutine. The new instructions are nops on processors that don't implement the extension, so that the vetification is backward compatible. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8205) View the changeset: https://github.com/openssl/openssl/compare/a40f0f647571...9a18aae5f21e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492295430?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via 9a18aae5f21efc59da8b697ad67d5d37b95ab322 (commit) from a40f0f6475711f01d32c4cdc39e54311b7e9c876 (commit) - Log - commit 9a18aae5f21efc59da8b697ad67d5d37b95ab322 Author: Andy Polyakov Date: Mon Feb 11 15:33:43 2019 +0100 AArch64 assembly pack: authenticate return addresses. ARMv8.3 adds pointer authentication extension, which in this case allows to ensure that, when offloaded to stack, return address is same at return as at entry to the subroutine. The new instructions are nops on processors that don't implement the extension, so that the vetification is backward compatible. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8205) --- Summary of changes: crypto/aes/asm/aesv8-armx.pl | 2 ++ crypto/aes/asm/vpaes-armv8.pl | 18 ++ crypto/bn/asm/armv8-mont.pl | 4 crypto/chacha/asm/chacha-armv8.pl | 8 crypto/ec/asm/ecp_nistz256-armv8.pl | 28 +++- crypto/poly1305/asm/poly1305-armv8.pl | 2 ++ crypto/sha/asm/keccak1600-armv8.pl| 14 ++ crypto/sha/asm/sha512-armv8.pl| 2 ++ 8 files changed, 77 insertions(+), 1 deletion(-) diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index b61bdba..9ab2158 100755 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl @@ -262,6 +262,7 @@ $code.=<<___; ${prefix}_set_decrypt_key: ___ $code.=<<___ if ($flavour =~ /64/); + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 ___ @@ -305,6 +306,7 @@ $code.=<<___if ($flavour !~ /64/); ___ $code.=<<___ if ($flavour =~ /64/); ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret ___ $code.=<<___; diff --git a/crypto/aes/asm/vpaes-armv8.pl b/crypto/aes/asm/vpaes-armv8.pl index 1fce0c5..ece9f20 100755 --- a/crypto/aes/asm/vpaes-armv8.pl +++ b/crypto/aes/asm/vpaes-armv8.pl @@ -255,6 +255,7 @@ _vpaes_encrypt_core: .type vpaes_encrypt,%function .align 4 vpaes_encrypt: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -264,6 +265,7 @@ vpaes_encrypt: st1 {v0.16b}, [$out] ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_encrypt,.-vpaes_encrypt @@ -486,6 +488,7 @@ _vpaes_decrypt_core: .type vpaes_decrypt,%function .align 4 vpaes_decrypt: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -495,6 +498,7 @@ vpaes_decrypt: st1 {v0.16b}, [$out] ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_decrypt,.-vpaes_decrypt @@ -665,6 +669,7 @@ _vpaes_key_preheat: .type _vpaes_schedule_core,%function .align 4 _vpaes_schedule_core: + .inst 0xd503233f // paciasp stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -829,6 +834,7 @@ _vpaes_schedule_core: eor v6.16b, v6.16b, v6.16b // vpxor%xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor%xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + .inst 0xd50323bf // autiasp ret .size _vpaes_schedule_core,.-_vpaes_schedule_core @@ -1041,6 +1047,7 @@ _vpaes_schedule_mangle: .type vpaes_set_encrypt_key,%function .align 4 vpaes_set_encrypt_key: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]!// ABI spec says so @@ -1056,6 +1063,7 @@ vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key @@ -1063,6 +1071,7 @@ vpaes_set_encrypt_key: .type vpaes_set_decrypt_key,%function .align 4 vpaes_set_decrypt_key: + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]!// ABI spec says so @@ -1082,6 +1091,7 @@ vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + .inst 0xd50323bf // autiasp ret .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key ___ @@ -1098,6 +1108,7 @@ vpaes_cbc_encrypt: cmp w5, #0 // check direction b.eqvpaes_cbc_decrypt + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-16]!
[openssl-commits] Build failed: openssl master.22377
Build openssl master.22377 failed Commit 463d18f565 by Rich Salz on 2/12/2019 5:23 PM: Moved buildinf.h Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build completed: openssl master.22376
Build openssl master.22376 completed Commit a8491cc018 by Markus Stockhausen on 2/11/2019 5:38 PM: MIPS32R3 provides the EXT instruction to extract bits from Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Build failed: openssl master.22375
Build openssl master.22375 failed Commit b1de3849f7 by Antonio Iacono on 2/12/2019 5:04 PM: Add function pkcs11_get_console_pin Configure your notification preferences _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] Broken: openssl/openssl#22974 (master - a40f0f6)
Build Update for openssl/openssl - Build: #22974 Status: Broken Duration: 22 mins and 12 secs Commit: a40f0f6 (master) Author: Pauli Message: Add sparse array data type. This commit adds a space and time efficient sparse array data structure. The structure's raw API is wrapped by inline functions which provide type safety. Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/8197) View the changeset: https://github.com/openssl/openssl/compare/dff298135b9b...a40f0f647571 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/492105455?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits
[openssl-commits] [openssl] master update
The branch master has been updated via a40f0f6475711f01d32c4cdc39e54311b7e9c876 (commit) from dff298135b9b8bbaac1f452a219bb446e50728d1 (commit) - Log - commit a40f0f6475711f01d32c4cdc39e54311b7e9c876 Author: Pauli Date: Thu Jan 24 12:15:54 2019 +1000 Add sparse array data type. This commit adds a space and time efficient sparse array data structure. The structure's raw API is wrapped by inline functions which provide type safety. Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/8197) --- Summary of changes: crypto/README.sparse_array | 155 +++ crypto/build.info | 4 +- crypto/include/internal/sparse_array.h | 78 crypto/sparse_array.c | 213 + doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod | 112 +++ test/build.info| 6 +- .../{02-test_lhash.t => 02-test_sparse_array.t}| 6 +- test/sparse_array_test.c | 103 ++ 8 files changed, 671 insertions(+), 6 deletions(-) create mode 100644 crypto/README.sparse_array create mode 100644 crypto/include/internal/sparse_array.h create mode 100644 crypto/sparse_array.c create mode 100644 doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod copy test/recipes/{02-test_lhash.t => 02-test_sparse_array.t} (63%) create mode 100644 test/sparse_array_test.c diff --git a/crypto/README.sparse_array b/crypto/README.sparse_array new file mode 100644 index 000..947c34d --- /dev/null +++ b/crypto/README.sparse_array @@ -0,0 +1,155 @@ +The sparse_array.c file contains an implementation of a sparse array that +attempts to be both space and time efficient. + +The sparse array is represented using a tree structure. Each node in the +tree contains a block of pointers to either the user supplied leaf values or +to another node. + +There are a number of parameters used to define the block size: + +OPENSSL_SA_BLOCK_BITS Specifies the number of bits covered by each block +SA_BLOCK_MAXSpecifies the number of pointers in each block +SA_BLOCK_MASK Specifies a bit mask to perform modulo block size +SA_BLOCK_MAX_LEVELS Indicates the maximum possible height of the tree + +These constants are inter-related: +SA_BLOCK_MAX= 2 ^ OPENSSL_SA_BLOCK_BITS +SA_BLOCK_MASK = SA_BLOCK_MAX - 1 +SA_BLOCK_MAX_LEVELS = number of bits in size_t divided by + OPENSSL_SA_BLOCK_BITS rounded up to the next multiple + of OPENSSL_SA_BLOCK_BITS + +OPENSSL_SA_BLOCK_BITS can be defined at compile time and this overrides the +built in setting. + +As a space and performance optimisation, the height of the tree is usually +less than the maximum possible height. Only sufficient height is allocated to +accommodate the largest index added to the data structure. + +The largest index used to add a value to the array determines the tree height: + ++--+-+ +| Largest Added Index | Height of Tree| ++--+-+ +| SA_BLOCK_MAX - 1 | 1 | +| SA_BLOCK_MAX ^ 2 - 1 | 2 | +| SA_BLOCK_MAX ^ 3 - 1 | 3 | +| ... | ...| +| size_t max | SA_BLOCK_MAX_LEVELS | ++--+-+ + +The tree height is dynamically increased as needed based on additions. + +An empty tree is represented by a NULL root pointer. Inserting a value at +index 0 results in the allocation of a top level node full of null pointers +except for the single pointer to the user's data (N = SA_BLOCK_MAX for +breviety): + +++ +|Root| +|Node| ++-+--+ + | + | + | + v ++-+-+---+---+---+---+ +| 0 | 1 | 2 |...|N-1| +| |nil|nil|...|nil| ++-+-+---+---+---+---+ + | + | + | + v ++-+--+ +|User| +|Data| +++ +Index 0 + + +Inserting at element 2N+1 creates a new root node and pushes down the old root +node. It then creates a second second level node to hold the pointer to the +user's new data: + +++ +|Root| +|Node| ++-+--+ + | + | + | + v ++-+-+---+---+---+---+ +| 0 | 1 | 2 |...|N-1| +| |nil| |...|nil| ++-+-+---+-+-+---+---+ + | | + | +--+ + | | +
[openssl-commits] [openssl] OpenSSL_1_1_0-stable update
The branch OpenSSL_1_1_0-stable has been updated via 54a622697eced33a6029fd5e7dd452cfb99bb72e (commit) from 152abc5522d869668f50deeb99cd0d948d0df4c1 (commit) - Log - commit 54a622697eced33a6029fd5e7dd452cfb99bb72e Author: Richard Levitte Date: Mon Feb 11 12:22:02 2019 +0100 crypto/engine/eng_cryptodev.c: fix bignum<->crp conversion bn2crparam() incorrectly delivered a big endian byte string to cryptodev. Using BN_bn2lebinpad() instead of BN_bn2bin() fixes this. crparam2bn() had a hack that avoided this issue in the other direction, but allocated an intermediary chunk of memory to get correct endianness. Using BN_lebin2bn() avoids this allocation. Fixes #8202 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8204) --- Summary of changes: crypto/engine/eng_cryptodev.c | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c index 5572735..1450fdd 100644 --- a/crypto/engine/eng_cryptodev.c +++ b/crypto/engine/eng_cryptodev.c @@ -1228,14 +1228,14 @@ static int bn2crparam(const BIGNUM *a, struct crparam *crp) crp->crp_p = (caddr_t) b; crp->crp_nbits = bits; -BN_bn2bin(a, b); +BN_bn2lebinpad(a, b, bytes); return (0); } /* Convert a /dev/crypto parameter to a BIGNUM */ static int crparam2bn(struct crparam *crp, BIGNUM *a) { -u_int8_t *pd; +u_int8_t *b; int i, bytes; bytes = (crp->crp_nbits + 7) / 8; @@ -1243,15 +1243,9 @@ static int crparam2bn(struct crparam *crp, BIGNUM *a) if (bytes == 0) return (-1); -if ((pd = OPENSSL_malloc(bytes)) == NULL) -return (-1); - -for (i = 0; i < bytes; i++) -pd[i] = crp->crp_p[bytes - i - 1]; - -BN_bin2bn(pd, bytes, a); -free(pd); +b = (u_int8_t *)crp->crp_p; +BN_lebin2bn(b, bytes, a); return (0); } _ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits