Source-Changes-HG archive

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

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



details:   https://anonhg.NetBSD.org/src/rev/15071f3852e4
branches:  trunk
changeset: 446512:15071f3852e4
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/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/INSTALL                                          |    10 +-
 crypto/external/bsd/openssl/dist/NOTES.ANDROID                                    |    18 +-
 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/openssl-vms.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/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/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/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_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_list.c                         |     3 +-
 crypto/external/bsd/openssl/dist/crypto/err/openssl.txt                           |     1 +
 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_vms.c                           |    11 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_win.c                           |     4 +-
 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/x509/by_dir.c                             |     2 +-
 crypto/external/bsd/openssl/dist/crypto/x509/by_file.c                            |     2 +-
 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/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/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/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/ssl_cert.c                                   |    17 +-
 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/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/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/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 +-
 169 files changed, 3342 insertions(+), 1469 deletions(-)

diffs (truncated from 9920 to 300 lines):

diff -r 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/.gitignore
--- a/crypto/external/bsd/openssl/dist/.gitignore       Sat Dec 08 21:14:36 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 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/00-base-templates.conf    Sat Dec 08 21:14:36 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 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/15-android.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/15-android.conf   Sat Dec 08 21:14:36 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 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/15-ios.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/15-ios.conf       Sat Dec 08 21:14:36 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 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/README
--- a/crypto/external/bsd/openssl/dist/Configurations/README    Sat Dec 08 21:14:36 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 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/common.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/common.tmpl       Sat Dec 08 21:14:36 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;
-             }
-         }
-     }
- }
-
  # Build mandatory generated headers
  foreach (@{$unified_info{depends}->{""}}) { dogenerate($_); }
 
diff -r 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/common0.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/common0.tmpl      Sat Dec 08 21:14:36 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/common0.tmpl      Sat Dec 08 22:33:03 2018 +0000
@@ -16,7 +16,7 @@
              ? ()
              : ( map { @{$unified_info{shared_sources}->{$_}} }
                  keys %{$unified_info{shared_sources}} ),
-         # Things we explicitely depend on are usually generated
+         # Things we explicitly depend on are usually generated
          ( map { $_ eq "" ? () : @{$unified_info{depends}->{$_}} }
                keys %{$unified_info{depends}} ));
  our @generated =
diff -r 91527b155907 -r 15071f3852e4 crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl  Sat Dec 08 21:14:36 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl  Sat Dec 08 22:33:03 2018 +0000
@@ -513,12 +513,10 @@
 
 # Install helper targets #############################################
 
-install_sw : all install_shared _install_dev_ns -
-             install_engines _install_runtime_ns -
+install_sw : install_dev install_engines install_runtime -
              install_startup install_ivp
 
-uninstall_sw : uninstall_shared _uninstall_dev_ns -
-               uninstall_engines _uninstall_runtime_ns -
+uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime -
                uninstall_startup uninstall_ivp
 
 install_docs : install_html_docs
@@ -547,17 +545,7 @@
                 COPY/PROT=W:R {- sourcefile("apps", "ct_log_list.cnf") -} -
                         ossl_dataroot:[000000]ct_log_list.cnf
 
-install_shared : check_INSTALLTOP
-        @ {- output_off() if $disabled{shared}; "" -} !
-        @ WRITE SYS$OUTPUT "*** Installing shareable images"
-        @ ! Install shared (runtime) libraries
-        - CREATE/DIR ossl_installroot:[LIB.'arch']
-        {- join("\n        ",
-                map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" }
-                @install_shlibs) -}
-        @ {- output_on() if $disabled{shared}; "" -} !
-



Home | Main Index | Thread Index | Old Index