Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/OPENSSL]: src/crypto/external/bsd/openssl/dist Changes between 1.1.1 and...



details:   https://anonhg.NetBSD.org/src/rev/46a345d790b3
branches:  OPENSSL
changeset: 446511:46a345d790b3
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Dec 08 22:33:03 2018 +0000

description:
Changes between 1.1.1 and 1.1.1a [20 Nov 2018]

  *) Timing vulnerability in DSA signature generation

     The OpenSSL DSA signature algorithm has been shown to be vulnerable to a
     timing side channel attack. An attacker could use variations in the signing
     algorithm to recover the private key.

     This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser.
     (CVE-2018-0734)
     [Paul Dale]

  *) Timing vulnerability in ECDSA signature generation

     The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a
     timing side channel attack. An attacker could use variations in the signing
     algorithm to recover the private key.

     This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser.
     (CVE-2018-0735)
     [Paul Dale]

  *) Added EVP_PKEY_ECDH_KDF_X9_63 and ecdh_KDF_X9_63() as replacements for
     the EVP_PKEY_ECDH_KDF_X9_62 KDF type and ECDH_KDF_X9_62(). The old names
     are retained for backwards compatibility.
     [Antoine Salon]

  *) Fixed the issue that RAND_add()/RAND_seed() silently discards random input
     if its length exceeds 4096 bytes. The limit has been raised to a buffer size
     of two gigabytes and the error handling improved.

     This issue was reported to OpenSSL by Dr. Falko Strenzke. It has been
     categorized as a normal bug, not a security issue, because the DRBG reseeds
     automatically and is fully functional even without additional randomness
     provided by the application.

diffstat:

 crypto/external/bsd/openssl/dist/.gitignore                                       |     1 +
 crypto/external/bsd/openssl/dist/CHANGES                                          |    37 +-
 crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf            |     8 +-
 crypto/external/bsd/openssl/dist/Configurations/15-android.conf                   |    48 +-
 crypto/external/bsd/openssl/dist/Configurations/15-ios.conf                       |    22 +-
 crypto/external/bsd/openssl/dist/Configurations/README                            |     2 +-
 crypto/external/bsd/openssl/dist/Configurations/common.tmpl                       |    41 -
 crypto/external/bsd/openssl/dist/Configurations/common0.tmpl                      |     2 +-
 crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl                  |    53 +-
 crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl                |    86 +-
 crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl             |    99 +-
 crypto/external/bsd/openssl/dist/Configure                                        |    81 +-
 crypto/external/bsd/openssl/dist/INSTALL                                          |    10 +-
 crypto/external/bsd/openssl/dist/NEWS                                             |     5 +
 crypto/external/bsd/openssl/dist/NOTES.ANDROID                                    |    18 +-
 crypto/external/bsd/openssl/dist/README                                           |     2 +-
 crypto/external/bsd/openssl/dist/apps/app_rand.c                                  |     3 +-
 crypto/external/bsd/openssl/dist/apps/apps.c                                      |     6 +
 crypto/external/bsd/openssl/dist/apps/apps.h                                      |     6 +-
 crypto/external/bsd/openssl/dist/apps/ca.c                                        |    21 +-
 crypto/external/bsd/openssl/dist/apps/ocsp.c                                      |     2 +
 crypto/external/bsd/openssl/dist/apps/openssl-vms.cnf                             |     2 -
 crypto/external/bsd/openssl/dist/apps/openssl.cnf                                 |     2 -
 crypto/external/bsd/openssl/dist/apps/opt.c                                       |     1 -
 crypto/external/bsd/openssl/dist/apps/rehash.c                                    |     2 +-
 crypto/external/bsd/openssl/dist/apps/rsa.c                                       |     7 +-
 crypto/external/bsd/openssl/dist/apps/s_cb.c                                      |     3 +-
 crypto/external/bsd/openssl/dist/apps/s_server.c                                  |    10 +-
 crypto/external/bsd/openssl/dist/apps/speed.c                                     |     2 +-
 crypto/external/bsd/openssl/dist/apps/x509.c                                      |     4 +-
 crypto/external/bsd/openssl/dist/crypto/LPdir_unix.c                              |     2 +-
 crypto/external/bsd/openssl/dist/crypto/async/arch/async_posix.h                  |     3 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_sock2.c                             |     2 +
 crypto/external/bsd/openssl/dist/crypto/bio/bio_lib.c                             |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_log.c                             |     5 +
 crypto/external/bsd/openssl/dist/crypto/bn/asm/x86_64-gcc.c                       |     8 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_exp.c                               |     2 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_lib.c                               |    42 +-
 crypto/external/bsd/openssl/dist/crypto/build.info                                |     2 +-
 crypto/external/bsd/openssl/dist/crypto/conf/conf_api.c                           |     5 +-
 crypto/external/bsd/openssl/dist/crypto/conf/conf_mod.c                           |     7 +-
 crypto/external/bsd/openssl/dist/crypto/cryptlib.c                                |     2 +-
 crypto/external/bsd/openssl/dist/crypto/ct/ct_log.c                               |     2 +-
 crypto/external/bsd/openssl/dist/crypto/dsa/dsa_gen.c                             |     6 +
 crypto/external/bsd/openssl/dist/crypto/dsa/dsa_ossl.c                            |    61 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_ameth.c                             |     4 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_mult.c                              |     6 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_pmeth.c                             |     4 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecdh_kdf.c                             |    19 +-
 crypto/external/bsd/openssl/dist/crypto/engine/eng_devcrypto.c                    |   132 +-
 crypto/external/bsd/openssl/dist/crypto/engine/eng_list.c                         |     3 +-
 crypto/external/bsd/openssl/dist/crypto/err/openssl.txt                           |     1 +
 crypto/external/bsd/openssl/dist/crypto/evp/e_aes.c                               |     2 +-
 crypto/external/bsd/openssl/dist/crypto/evp/e_rc2.c                               |    10 +-
 crypto/external/bsd/openssl/dist/crypto/evp/pmeth_lib.c                           |     6 +-
 crypto/external/bsd/openssl/dist/crypto/getenv.c                                  |    31 +
 crypto/external/bsd/openssl/dist/crypto/include/internal/ec_int.h                 |     8 +
 crypto/external/bsd/openssl/dist/crypto/include/internal/rand_int.h               |     7 +-
 crypto/external/bsd/openssl/dist/crypto/kdf/hkdf.c                                |    14 +-
 crypto/external/bsd/openssl/dist/crypto/mem_sec.c                                 |    50 +-
 crypto/external/bsd/openssl/dist/crypto/o_fopen.c                                 |     4 +-
 crypto/external/bsd/openssl/dist/crypto/pkcs12/p12_mutl.c                         |    18 +-
 crypto/external/bsd/openssl/dist/crypto/poly1305/poly1305_ieee754.c               |     2 +-
 crypto/external/bsd/openssl/dist/crypto/rand/drbg_ctr.c                           |    12 +-
 crypto/external/bsd/openssl/dist/crypto/rand/drbg_lib.c                           |   225 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_err.c                           |     1 +
 crypto/external/bsd/openssl/dist/crypto/rand/rand_lcl.h                           |    69 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_lib.c                           |   136 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_unix.c                          |    56 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_vms.c                           |    11 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_win.c                           |     4 +-
 crypto/external/bsd/openssl/dist/crypto/rand/randfile.c                           |    44 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_lib.c                             |    16 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_meth.c                            |     4 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_ossl.c                            |     3 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/keccak1600-s390x.pl               |     4 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha512p8-ppc.pl                   |    29 +-
 crypto/external/bsd/openssl/dist/crypto/siphash/siphash.c                         |    14 +-
 crypto/external/bsd/openssl/dist/crypto/sm2/sm2_crypt.c                           |     5 +-
 crypto/external/bsd/openssl/dist/crypto/sm2/sm2_sign.c                            |     1 +
 crypto/external/bsd/openssl/dist/crypto/ui/ui_openssl.c                           |    18 +
 crypto/external/bsd/openssl/dist/crypto/x509/by_dir.c                             |     2 +-
 crypto/external/bsd/openssl/dist/crypto/x509/by_file.c                            |     2 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_vfy.c                           |    11 +-
 crypto/external/bsd/openssl/dist/doc/man1/ca.pod                                  |     6 +-
 crypto/external/bsd/openssl/dist/doc/man1/enc.pod                                 |    48 +-
 crypto/external/bsd/openssl/dist/doc/man1/openssl.pod                             |    57 +
 crypto/external/bsd/openssl/dist/doc/man1/req.pod                                 |     6 +-
 crypto/external/bsd/openssl/dist/doc/man1/rsa.pod                                 |    25 +-
 crypto/external/bsd/openssl/dist/doc/man1/s_server.pod                            |    14 +-
 crypto/external/bsd/openssl/dist/doc/man1/storeutl.pod                            |     7 +-
 crypto/external/bsd/openssl/dist/doc/man1/x509.pod                                |    11 +-
 crypto/external/bsd/openssl/dist/doc/man3/DES_random_key.pod                      |    28 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_DigestInit.pod                      |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_CTX_ctrl.pod                   |   283 ++-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod            |     4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod  |     4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_set1_RSA.pod                   |    35 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_aes.pod                             |     8 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_aria.pod                            |     8 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_bf_cbc.pod                          |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_camellia.pod                        |     8 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_cast5_cbc.pod                       |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_des.pod                             |    32 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_idea_cbc.pod                        |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_md5.pod                             |     4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_rc2_cbc.pod                         |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_rc5_32_12_16_cbc.pod                |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_seed_cbc.pod                        |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_sm4_cbc.pod                         |     3 +
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_VERSION_NUMBER.pod              |     7 +-
 crypto/external/bsd/openssl/dist/doc/man3/RSA_meth_new.pod                        |     4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set0_CA_list.pod                |   148 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set1_curves.pod                 |     5 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_quiet_shutdown.pod          |     6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_get_error.pod                       |     2 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_get_peer_signature_nid.pod          |    12 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_get_peer_tmp_key.pod                |    53 +
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set_bio.pod                         |     4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set_shutdown.pod                    |    10 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_shutdown.pod                        |    78 +-
 crypto/external/bsd/openssl/dist/doc/man7/RAND_DRBG.pod                           |     2 +-
 crypto/external/bsd/openssl/dist/e_os.h                                           |    17 +-
 crypto/external/bsd/openssl/dist/fuzz/README.md                                   |     2 +-
 crypto/external/bsd/openssl/dist/fuzz/helper.py                                   |     4 +-
 crypto/external/bsd/openssl/dist/include/internal/cryptlib.h                      |     2 +
 crypto/external/bsd/openssl/dist/include/internal/tsan_assist.h                   |     6 +
 crypto/external/bsd/openssl/dist/include/openssl/cryptoerr.h                      |     3 +
 crypto/external/bsd/openssl/dist/include/openssl/ec.h                             |    13 +-
 crypto/external/bsd/openssl/dist/include/openssl/ocsp.h                           |     3 -
 crypto/external/bsd/openssl/dist/include/openssl/opensslv.h                       |     4 +-
 crypto/external/bsd/openssl/dist/include/openssl/rand_drbg.h                      |    24 +-
 crypto/external/bsd/openssl/dist/include/openssl/randerr.h                        |     1 +
 crypto/external/bsd/openssl/dist/include/openssl/rsa.h                            |     6 +-
 crypto/external/bsd/openssl/dist/include/openssl/ssl.h                            |    18 +-
 crypto/external/bsd/openssl/dist/include/openssl/symhacks.h                       |    17 +-
 crypto/external/bsd/openssl/dist/include/openssl/tls1.h                           |     1 +
 crypto/external/bsd/openssl/dist/ssl/d1_lib.c                                     |    93 +-
 crypto/external/bsd/openssl/dist/ssl/record/rec_layer_d1.c                        |     5 +-
 crypto/external/bsd/openssl/dist/ssl/record/record.h                              |     6 +-
 crypto/external/bsd/openssl/dist/ssl/record/record_locl.h                         |     2 -
 crypto/external/bsd/openssl/dist/ssl/record/ssl3_record.c                         |    25 +
 crypto/external/bsd/openssl/dist/ssl/s3_cbc.c                                     |     7 +-
 crypto/external/bsd/openssl/dist/ssl/s3_enc.c                                     |     8 +-
 crypto/external/bsd/openssl/dist/ssl/s3_lib.c                                     |    24 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_cert.c                                   |    17 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_ciph.c                                   |     2 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_lib.c                                    |    62 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_locl.h                                   |    22 +-
 crypto/external/bsd/openssl/dist/ssl/statem/extensions.c                          |    12 +-
 crypto/external/bsd/openssl/dist/ssl/statem/extensions_clnt.c                     |    13 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem.c                              |     5 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_clnt.c                         |    12 +
 crypto/external/bsd/openssl/dist/ssl/statem/statem_lib.c                          |    59 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_locl.h                         |     3 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_srvr.c                         |    44 +-
 crypto/external/bsd/openssl/dist/ssl/t1_lib.c                                     |    45 +
 crypto/external/bsd/openssl/dist/ssl/tls13_enc.c                                  |    16 +-
 crypto/external/bsd/openssl/dist/test/bio_callback_test.c                         |   117 +-
 crypto/external/bsd/openssl/dist/test/build.info                                  |    13 +-
 crypto/external/bsd/openssl/dist/test/certs/server-ecdsa-brainpoolP256r1-cert.pem |    16 +
 crypto/external/bsd/openssl/dist/test/certs/server-ecdsa-brainpoolP256r1-key.pem  |     5 +
 crypto/external/bsd/openssl/dist/test/certs/setup.sh                              |     4 +
 crypto/external/bsd/openssl/dist/test/ct_test.c                                   |     4 +-
 crypto/external/bsd/openssl/dist/test/drbgtest.c                                  |   183 +-
 crypto/external/bsd/openssl/dist/test/dtlstest.c                                  |    86 +
 crypto/external/bsd/openssl/dist/test/ecdsatest.c                                 |    59 +-
 crypto/external/bsd/openssl/dist/test/evp_extra_test.c                            |    46 +
 crypto/external/bsd/openssl/dist/test/evp_test.c                                  |    37 +-
 crypto/external/bsd/openssl/dist/test/handshake_helper.c                          |     2 +-
 crypto/external/bsd/openssl/dist/test/recipes/02-test_internal_ctype.t            |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_asn1.t             |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_chacha.t           |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_curve448.t         |     3 -
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_modes.t            |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_poly1305.t         |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_siphash.t          |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_sm2.t              |     3 -
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_sm4.t              |     3 -
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_ssl_cert_table.t   |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/03-test_internal_x509.t             |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/06-test-rdrand.t                    |     3 -
 crypto/external/bsd/openssl/dist/test/recipes/30-test_evp_data/evpmac.txt         |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ssl_new.t                   |     3 +-
 crypto/external/bsd/openssl/dist/test/recipes/90-test_shlibload.t                 |    27 +-
 crypto/external/bsd/openssl/dist/test/recipes/90-test_tls13encryption.t           |     3 -
 crypto/external/bsd/openssl/dist/test/rsa_complex.c                               |    27 +
 crypto/external/bsd/openssl/dist/test/secmemtest.c                                |     9 +-
 crypto/external/bsd/openssl/dist/test/siphash_internal_test.c                     |     4 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/20-cert-select.conf               |  1045 +++++----
 crypto/external/bsd/openssl/dist/test/ssl-tests/20-cert-select.conf.in            |    39 +
 crypto/external/bsd/openssl/dist/test/ssl-tests/28-seclevel.conf                  |   102 +
 crypto/external/bsd/openssl/dist/test/ssl-tests/28-seclevel.conf.in               |    58 +
 crypto/external/bsd/openssl/dist/test/sslapitest.c                                |   327 +++
 crypto/external/bsd/openssl/dist/test/ssltest_old.c                               |     2 +-
 crypto/external/bsd/openssl/dist/test/ssltestlib.c                                |    84 +-
 crypto/external/bsd/openssl/dist/test/ssltestlib.h                                |     7 +-
 crypto/external/bsd/openssl/dist/util/add-depends.pl                              |    12 +-
 crypto/external/bsd/openssl/dist/util/indent.pro                                  |     4 +
 crypto/external/bsd/openssl/dist/util/libcrypto.num                               |     2 +-
 crypto/external/bsd/openssl/dist/util/libssl.num                                  |     1 +
 crypto/external/bsd/openssl/dist/util/mkdef.pl                                    |    12 +-
 crypto/external/bsd/openssl/dist/util/mkrc.pl                                     |     2 +-
 crypto/external/bsd/openssl/dist/util/perl/OpenSSL/Test.pm                        |     2 +-
 crypto/external/bsd/openssl/dist/util/private.num                                 |    43 +-
 crypto/external/bsd/openssl/dist/util/shlib_wrap.sh.in                            |    28 +-
 206 files changed, 3974 insertions(+), 1785 deletions(-)

diffs (truncated from 12124 to 300 lines):

diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/.gitignore
--- a/crypto/external/bsd/openssl/dist/.gitignore       Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/.gitignore       Sat Dec 08 22:33:03 2018 +0000
@@ -59,6 +59,7 @@
 /test/v3ext
 /test/versions
 /test/ossl_shim/ossl_shim
+/test/rsa_complex
 
 # Certain files that get created by tests on the fly
 /test/test-runs
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/CHANGES
--- a/crypto/external/bsd/openssl/dist/CHANGES  Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/CHANGES  Sat Dec 08 22:33:03 2018 +0000
@@ -7,6 +7,42 @@
  https://github.com/openssl/openssl/commits/ and pick the appropriate
  release branch.
 
+ Changes between 1.1.1 and 1.1.1a [20 Nov 2018]
+
+  *) Timing vulnerability in DSA signature generation
+
+     The OpenSSL DSA signature algorithm has been shown to be vulnerable to a
+     timing side channel attack. An attacker could use variations in the signing
+     algorithm to recover the private key.
+
+     This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser.
+     (CVE-2018-0734)
+     [Paul Dale]
+
+  *) Timing vulnerability in ECDSA signature generation
+
+     The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a
+     timing side channel attack. An attacker could use variations in the signing
+     algorithm to recover the private key.
+
+     This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser.
+     (CVE-2018-0735)
+     [Paul Dale]
+
+  *) Added EVP_PKEY_ECDH_KDF_X9_63 and ecdh_KDF_X9_63() as replacements for
+     the EVP_PKEY_ECDH_KDF_X9_62 KDF type and ECDH_KDF_X9_62(). The old names
+     are retained for backwards compatibility.
+     [Antoine Salon]
+
+  *) Fixed the issue that RAND_add()/RAND_seed() silently discards random input
+     if its length exceeds 4096 bytes. The limit has been raised to a buffer size
+     of two gigabytes and the error handling improved.
+
+     This issue was reported to OpenSSL by Dr. Falko Strenzke. It has been
+     categorized as a normal bug, not a security issue, because the DRBG reseeds
+     automatically and is fully functional even without additional randomness
+     provided by the application.
+
  Changes between 1.1.0i and 1.1.1 [11 Sep 2018]
 
   *) Add a new ClientHello callback. Provides a callback interface that gives
@@ -13103,4 +13139,3 @@
   *) A minor bug in ssl/s3_clnt.c where there would always be 4 0
      bytes sent in the client random.
      [Edward Bishop <ebishop%spyglass.com@localhost>]
-
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf    Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf    Sat Dec 08 22:33:03 2018 +0000
@@ -45,7 +45,7 @@
        shared_extension        => "",
 
        #### Defaults for the benefit of the config targets who don't inherit
-       #### a BASE and assume Unixly defaults
+       #### a BASE and assume Unix defaults
        #### THESE WILL DISAPPEAR IN OpenSSL 1.2
        build_scheme    => [ "unified", "unix" ],
        build_file      => "Makefile",
@@ -102,6 +102,8 @@
                                      ? "ranlib" : "" },
         RC              => "windres",
 
+        shared_extension => ".so",
+
         build_scheme    => [ "unified", "unix" ],
         build_file      => "Makefile",
     },
@@ -142,6 +144,8 @@
         mtinflag        => "-manifest ",
         mtoutflag       => "-outputresource:",
 
+        shared_extension => ".dll",
+
         build_file      => "makefile",
         build_scheme    => [ "unified", "windows" ],
     },
@@ -160,6 +164,8 @@
                     return [ @incs ];
                 }),
 
+        shared_extension => ".exe",
+
         build_file       => "descrip.mms",
         build_scheme     => [ "unified", "VMS" ],
     },
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/Configurations/15-android.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/15-android.conf   Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/15-android.conf   Sat Dec 08 22:33:03 2018 +0000
@@ -24,7 +24,12 @@
 
             my $ndk = $ENV{ANDROID_NDK};
             die "\$ANDROID_NDK is not defined"  if (!$ndk);
-            die "\$ANDROID_NDK=$ndk is invalid" if (!-d "$ndk/platforms");
+            if (!-d "$ndk/platforms" && !-f "$ndk/AndroidVersion.txt") {
+                # $ndk/platforms is traditional "all-inclusive" NDK, while
+                # $ndk/AndroidVersion.txt is so-called standalone toolchain
+                # tailored for specific target down to API level.
+                die "\$ANDROID_NDK=$ndk is invalid";
+            }
             $ndk = canonpath($ndk);
 
             my $ndkver = undef;
@@ -40,10 +45,18 @@
                 close $fh;
             }
 
-            my $sysroot;
+            my ($sysroot, $api, $arch);
+
+            $config{target} =~ m|[^-]+-([^-]+)$|;      # split on dash
+            $arch = $1;
 
-            if (!($sysroot = $ENV{CROSS_SYSROOT})) {
-                my $api = "*";
+            if ($sysroot = $ENV{CROSS_SYSROOT}) {
+                $sysroot =~ m|/android-([0-9]+)/arch-(\w+)/?$|;
+                ($api, $arch) = ($1, $2);
+            } elsif (-f "$ndk/AndroidVersion.txt") {
+                $sysroot = "$ndk/sysroot";
+            } else {
+                $api = "*";
 
                 # see if user passed -D__ANDROID_API__=N
                 foreach (@{$useradd{CPPDEFINES}}, @{$user{CPPFLAGS}}) {
@@ -59,19 +72,17 @@
                                      } glob("$ndk/platforms/android-$api");
                 die "no $ndk/platforms/android-$api" if ($#platforms < 0);
 
-                $config{target} =~ m|[^-]+-([^-]+)$|;   # split on dash
-                $sysroot = "@platforms[$#platforms]/arch-$1";
+                $sysroot = "@platforms[$#platforms]/arch-$arch";
+                $sysroot =~ m|/android-([0-9]+)/arch-$arch|;
+                $api = $1;
             }
             die "no sysroot=$sysroot"   if (!-d $sysroot);
 
-            $sysroot =~ m|/android-([0-9]+)/arch-(\w+)/?$|;
-            my ($api, $arch) = ($1, $2);
-
             my $triarch = $triplet{$arch};
             my $cflags;
             my $cppflags;
 
-            # see if there is NDK clang on $PATH
+            # see if there is NDK clang on $PATH, "universal" or "standalone"
             if (which("clang") =~ m|^$ndk/.*/prebuilt/([^/]+)/|) {
                 my $host=$1;
                 # harmonize with gcc default
@@ -83,6 +94,23 @@
                         .  "/$tritools-4.9/prebuilt/$host";
                 $user{CC} = "clang" if ($user{CC} !~ m|clang|);
                 $user{CROSS_COMPILE} = undef;
+                if (which("llvm-ar") =~ m|^$ndk/.*/prebuilt/([^/]+)/|) {
+                    $user{AR} = "llvm-ar";
+                    $user{ARFLAGS} = [ "rs" ];
+                    $user{RANLIB} = ":";
+                }
+            } elsif (-f "$ndk/AndroidVersion.txt") {    #"standalone toolchain"
+                my $cc = $user{CC} // "clang";
+                # One can probably argue that both clang and gcc should be
+                # probed, but support for "standalone toolchain" was added
+                # *after* announcement that gcc is being phased out, so
+                # favouring clang is considered adequate. Those who insist
+                # have option to enforce test for gcc with CC=gcc.
+                if (which("$triarch-$cc") !~ m|^$ndk|) {
+                    die "no NDK $triarch-$cc on \$PATH";
+                }
+                $user{CC} = $cc;
+                $user{CROSS_COMPILE} = "$triarch-";
             } elsif ($user{CC} eq "clang") {
                 die "no NDK clang on \$PATH";
             } else {
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/Configurations/15-ios.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/15-ios.conf       Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/15-ios.conf       Sat Dec 08 22:33:03 2018 +0000
@@ -6,31 +6,31 @@
 # work...
 #
 my %targets = (
+    "ios-common" => {
+        template         => 1,
+        inherit_from     => [ "darwin-common" ],
+        sys_id           => "iOS",
+        disable          => [ "engine", "async" ],
+    },
     "ios-xcrun" => {
-        inherit_from     => [ "darwin-common", asm("armv4_asm") ],
+        inherit_from     => [ "ios-common", asm("armv4_asm") ],
         # It should be possible to go below iOS 6 and even add -arch armv6,
         # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant
         # at this point.
         CC               => "xcrun -sdk iphoneos cc",
         cflags           => add("-arch armv7 -mios-version-min=6.0.0 -fno-common"),
-        sys_id           => "iOS",
         perlasm_scheme   => "ios32",
-        disable          => [ "engine" ],
     },
     "ios64-xcrun" => {
-        inherit_from     => [ "darwin-common", asm("aarch64_asm") ],
+        inherit_from     => [ "ios-common", asm("aarch64_asm") ],
         CC               => "xcrun -sdk iphoneos cc",
         cflags           => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"),
-        sys_id           => "iOS",
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         perlasm_scheme   => "ios64",
-        disable          => [ "engine" ],
     },
     "iossimulator-xcrun" => {
-        inherit_from     => [ "darwin-common" ],
+        inherit_from     => [ "ios-common" ],
         CC               => "xcrun -sdk iphonesimulator cc",
-        sys_id           => "iOS",
-        disable          => [ "engine" ],
     },
 # It takes three prior-set environment variables to make it work:
 #
@@ -46,10 +46,8 @@
 # CROSS_SDK=iPhoneOS.sdk
 #
     "iphoneos-cross" => {
-        inherit_from     => [ "darwin-common" ],
+        inherit_from     => [ "ios-common" ],
         cflags           => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"),
-        sys_id           => "iOS",
-        disable          => [ "engine" ],
     },
     "ios-cross" => {
         inherit_from     => [ "ios-xcrun" ],
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/Configurations/README
--- a/crypto/external/bsd/openssl/dist/Configurations/README    Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/README    Sat Dec 08 22:33:03 2018 +0000
@@ -233,7 +233,7 @@
                            apps, as needed by the target.  This code
                            cannot be placed in a library, as the rest
                            of the code isn't expected to link to it
-                           explicitely.
+                           explicitly.
         cpuid_asm_src   => assembler implementation of cpuid code as
                            well as OPENSSL_cleanse().
                            Default to mem_clr.c
diff -r e171a1789f11 -r 46a345d790b3 crypto/external/bsd/openssl/dist/Configurations/common.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/common.tmpl       Sun Sep 23 13:17:27 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/common.tmpl       Sat Dec 08 22:33:03 2018 +0000
@@ -203,47 +203,6 @@
  # Start with populating the cache with all the overrides
  %cache = map { $_ => 1 } @{$unified_info{overrides}};
 
- # For convenience collect information regarding directories where
- # files are generated, those generated files and the end product
- # they end up in where applicable.  Then, add build rules for those
- # directories
- if (exists &generatedir) {
-     my %loopinfo = ( "dso" => [ @{$unified_info{engines}} ],
-                      "lib" => [ @{$unified_info{libraries}} ],
-                      "bin" => [ @{$unified_info{programs}} ],
-                      "script" => [ @{$unified_info{scripts}} ] );
-     foreach my $type (keys %loopinfo) {
-         foreach my $product (@{$loopinfo{$type}}) {
-             my %dirs = ();
-             my $pd = dirname($product);
-
-             # We already have a "test" target, and the current directory
-             # is just silly to make a target for
-             $dirs{$pd} = 1 unless $pd eq "test" || $pd eq ".";
-
-             foreach (@{$unified_info{sources}->{$product}}) {
-                 my $d = dirname($_);
-
-                 # We don't want to create targets for source directories
-                 # when building out of source
-                 next if ($config{sourcedir} ne $config{builddir}
-                          && $d =~ m|^\Q$config{sourcedir}\E|);
-                 # We already have a "test" target, and the current directory
-                 # is just silly to make a target for
-                 next if $d eq "test" || $d eq ".";
-
-                 $dirs{$d} = 1;
-                 push @{$unified_info{dirinfo}->{$d}->{deps}}, $_
-                     if $d ne $pd;
-             }
-             foreach (keys %dirs) {
-                 push @{$unified_info{dirinfo}->{$_}->{products}->{$type}},
-                 $product;
-             }



Home | Main Index | Thread Index | Old Index