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 *) Constructed ASN.1 types ...



details:   https://anonhg.NetBSD.org/src/rev/5451ef811a07
branches:  trunk
changeset: 360924:5451ef811a07
user:      christos <christos%NetBSD.org@localhost>
date:      Fri Apr 06 22:49:06 2018 +0000

description:
*) Constructed ASN.1 types with a recursive definition could exceed the stack

     Constructed ASN.1 types with a recursive definition (such as can be found
     in PKCS7) could eventually exceed the stack given malicious input with
     excessive recursion. This could result in a Denial Of Service attack. There
     are no such structures used within SSL/TLS that come from untrusted sources
     so this is considered safe.

     This issue was reported to OpenSSL on 4th January 2018 by the OSS-fuzz
     project.
     (CVE-2018-0739)
     [Matt Caswell]

  *) Incorrect CRYPTO_memcmp on HP-UX PA-RISC

     Because of an implementation bug the PA-RISC CRYPTO_memcmp function is
     effectively reduced to only comparing the least significant bit of each
     byte. This allows an attacker to forge messages that would be considered as
     authenticated in an amount of tries lower than that guaranteed by the
     security claims of the scheme. The module can only be compiled by the
     HP-UX assembler, so that only HP-UX PA-RISC targets are affected.

     This issue was reported to OpenSSL on 2nd March 2018 by Peter Waltenberg
     (IBM).
     (CVE-2018-0733)
     [Andy Polyakov]

  *) Add a build target 'build_all_generated', to build all generated files
     and only that.  This can be used to prepare everything that requires
     things like perl for a system that lacks perl and then move everything
     to that system and do the rest of the build there.
     [Richard Levitte]

  *) Backport SSL_OP_NO_RENGOTIATION

     OpenSSL 1.0.2 and below had the ability to disable renegotiation using the
     (undocumented) SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS flag. Due to the opacity
     changes this is no longer possible in 1.1.0. Therefore the new
     SSL_OP_NO_RENEGOTIATION option from 1.1.1-dev has been backported to
     1.1.0 to provide equivalent functionality.

     Note that if an application built against 1.1.0h headers (or above) is run
     using an older version of 1.1.0 (prior to 1.1.0h) then the option will be
     accepted but nothing will happen, i.e. renegotiation will not be prevented.
     [Matt Caswell]

  *) Removed the OS390-Unix config target.  It relied on a script that doesn't
     exist.
     [Rich Salz]

  *) rsaz_1024_mul_avx2 overflow bug on x86_64

     There is an overflow bug in the AVX2 Montgomery multiplication procedure
     used in exponentiation with 1024-bit moduli. No EC algorithms are affected.
     Analysis suggests that attacks against RSA and DSA as a result of this
     defect would be very difficult to perform and are not believed likely.
     Attacks against DH1024 are considered just feasible, because most of the
     work necessary to deduce information about a private key may be performed
     offline. The amount of resources required for such an attack would be
     significant. However, for an attack on TLS to be meaningful, the server
     would have to share the DH1024 private key among multiple clients, which is
     no longer an option since CVE-2016-0701.

     This only affects processors that support the AVX2 but not ADX extensions
     like Intel Haswell (4th generation).

     This issue was reported to OpenSSL by David Benjamin (Google). The issue
     was originally found via the OSS-Fuzz project.
     (CVE-2017-3738)
     [Andy Polyakov]

diffstat:

 crypto/external/bsd/openssl/dist/.travis.yml                                |     2 +-
 crypto/external/bsd/openssl/dist/Configurations/10-main.conf                |    44 +-
 crypto/external/bsd/openssl/dist/Configurations/README                      |    27 +-
 crypto/external/bsd/openssl/dist/Configurations/common.tmpl                 |     6 +-
 crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl            |     4 +
 crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl          |    67 +-
 crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl       |    15 +-
 crypto/external/bsd/openssl/dist/LICENSE                                    |     2 +-
 crypto/external/bsd/openssl/dist/apps/CA.pl.in                              |     6 +-
 crypto/external/bsd/openssl/dist/apps/app_rand.c                            |     4 +-
 crypto/external/bsd/openssl/dist/apps/apps.c                                |    48 +-
 crypto/external/bsd/openssl/dist/apps/apps.h                                |    13 +-
 crypto/external/bsd/openssl/dist/apps/ciphers.c                             |     2 +-
 crypto/external/bsd/openssl/dist/apps/cms.c                                 |    10 +-
 crypto/external/bsd/openssl/dist/apps/dhparam.c                             |     4 +-
 crypto/external/bsd/openssl/dist/apps/dsa.c                                 |     3 +
 crypto/external/bsd/openssl/dist/apps/dsaparam.c                            |    11 +-
 crypto/external/bsd/openssl/dist/apps/ecparam.c                             |    20 +-
 crypto/external/bsd/openssl/dist/apps/enc.c                                 |    28 +-
 crypto/external/bsd/openssl/dist/apps/errstr.c                              |     2 +-
 crypto/external/bsd/openssl/dist/apps/genrsa.c                              |    14 +-
 crypto/external/bsd/openssl/dist/apps/opt.c                                 |    18 +-
 crypto/external/bsd/openssl/dist/apps/passwd.c                              |    20 +-
 crypto/external/bsd/openssl/dist/apps/pkcs12.c                              |    10 +-
 crypto/external/bsd/openssl/dist/apps/pkcs8.c                               |     4 +-
 crypto/external/bsd/openssl/dist/apps/pkeyutl.c                             |    43 +-
 crypto/external/bsd/openssl/dist/apps/prime.c                               |    12 +-
 crypto/external/bsd/openssl/dist/apps/progs.pl                              |     6 +-
 crypto/external/bsd/openssl/dist/apps/rand.c                                |    12 +-
 crypto/external/bsd/openssl/dist/apps/req.c                                 |    36 +-
 crypto/external/bsd/openssl/dist/apps/s_socket.c                            |    53 +-
 crypto/external/bsd/openssl/dist/apps/srp.c                                 |    23 +-
 crypto/external/bsd/openssl/dist/apps/version.c                             |     9 +-
 crypto/external/bsd/openssl/dist/apps/vms_term_sock.c                       |    12 +-
 crypto/external/bsd/openssl/dist/apps/x509.c                                |    18 +-
 crypto/external/bsd/openssl/dist/config.com                                 |     8 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-armv4.pl                |    14 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/bsaes-armv7.pl              |    14 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_i2d_fp.c                     |     3 +
 crypto/external/bsd/openssl/dist/crypto/asn1/a_mbstr.c                      |     4 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_object.c                     |     4 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/ameth_lib.c                    |    26 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/asn1_err.c                     |     3 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/asn1_par.c                     |     8 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/bio_asn1.c                     |     4 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/tasn_prn.c                     |     2 +-
 crypto/external/bsd/openssl/dist/crypto/async/arch/async_posix.h            |     4 +-
 crypto/external/bsd/openssl/dist/crypto/async/async.c                       |     6 +-
 crypto/external/bsd/openssl/dist/crypto/async/async_wait.c                  |     2 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_addr.c                        |     2 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_dump.c                        |    43 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_print.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_sock2.c                       |    15 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bf_buff.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bf_lbuf.c                       |    11 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bf_nbio.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bf_null.c                       |    32 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bio_cb.c                        |     2 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bio_err.c                       |     3 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bio_meth.c                      |    19 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_acpt.c                      |    11 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_conn.c                      |    20 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_dgram.c                     |     9 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_fd.c                        |     5 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_mem.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_null.c                      |    23 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_sock.c                      |     4 +-
 crypto/external/bsd/openssl/dist/crypto/bn/asm/rsaz-avx2.pl                 |    15 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_add.c                         |     6 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/cms/cms_sd.c                        |     6 +-
 crypto/external/bsd/openssl/dist/crypto/conf/conf_mod.c                     |     2 +-
 crypto/external/bsd/openssl/dist/crypto/des/ecb_enc.c                       |     2 +-
 crypto/external/bsd/openssl/dist/crypto/des/fcrypt.c                        |     2 +-
 crypto/external/bsd/openssl/dist/crypto/des/set_key.c                       |     2 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_mult.c                        |    12 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp224.c                   |     7 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp256.c                   |    35 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp521.c                   |    15 +-
 crypto/external/bsd/openssl/dist/crypto/engine/eng_fat.c                    |     1 +
 crypto/external/bsd/openssl/dist/crypto/engine/eng_table.c                  |     7 +-
 crypto/external/bsd/openssl/dist/crypto/err/err.c                           |     8 +
 crypto/external/bsd/openssl/dist/crypto/err/err_prn.c                       |     2 +-
 crypto/external/bsd/openssl/dist/crypto/evp/bio_b64.c                       |    17 +-
 crypto/external/bsd/openssl/dist/crypto/evp/bio_enc.c                       |     7 +-
 crypto/external/bsd/openssl/dist/crypto/evp/bio_md.c                        |     7 +-
 crypto/external/bsd/openssl/dist/crypto/evp/bio_ok.c                        |     7 +-
 crypto/external/bsd/openssl/dist/crypto/evp/e_camellia.c                    |     6 +-
 crypto/external/bsd/openssl/dist/crypto/evp/evp_err.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/evp/evp_pbe.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/evp/p5_crpt2.c                      |     2 +-
 crypto/external/bsd/openssl/dist/crypto/include/internal/evp_int.h          |     4 +-
 crypto/external/bsd/openssl/dist/crypto/init.c                              |     2 +-
 crypto/external/bsd/openssl/dist/crypto/mem_dbg.c                           |     8 +-
 crypto/external/bsd/openssl/dist/crypto/mem_sec.c                           |    17 +-
 crypto/external/bsd/openssl/dist/crypto/objects/obj_dat.c                   |    29 +-
 crypto/external/bsd/openssl/dist/crypto/ocsp/ocsp_lcl.h                     |    16 +
 crypto/external/bsd/openssl/dist/crypto/pariscid.pl                         |     4 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pem_info.c                      |     2 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pem_lib.c                       |     2 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pvkfmt.c                        |    22 +-
 crypto/external/bsd/openssl/dist/crypto/rc4/asm/rc4-c64xplus.pl             |     4 +-
 crypto/external/bsd/openssl/dist/crypto/rc4/build.info                      |     2 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_ameth.c                     |     5 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_gen.c                       |    34 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_pss.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/x509/t_x509.c                       |     4 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_v3.c                      |     5 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_alt.c                     |     4 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_conf.c                    |    10 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_info.c                    |     2 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_lib.c                     |    25 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_purp.c                    |     9 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_utl.c                     |    42 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3err.c                      |     3 +-
 crypto/external/bsd/openssl/dist/demos/bio/cmod.cnf                         |     2 +-
 crypto/external/bsd/openssl/dist/doc/apps/ca.pod                            |     6 +-
 crypto/external/bsd/openssl/dist/doc/apps/cms.pod                           |     2 +-
 crypto/external/bsd/openssl/dist/doc/apps/ecparam.pod                       |     6 +-
 crypto/external/bsd/openssl/dist/doc/apps/engine.pod                        |    12 +-
 crypto/external/bsd/openssl/dist/doc/apps/x509.pod                          |    20 +-
 crypto/external/bsd/openssl/dist/doc/apps/x509v3_config.pod                 |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ASN1_STRING_length.pod          |     6 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_ctrl.pod                    |    10 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_meth_new.pod                |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_s_mem.pod                   |     6 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_set_callback.pod            |     6 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_zero.pod                     |    23 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EC_POINT_new.pod                |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ENGINE_add.pod                  |    12 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_CIPHER_meth_new.pod         |    31 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_MD_meth_new.pod             |    17 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_SignInit.pod                |     7 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_VerifyInit.pod              |     7 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OCSP_resp_find_status.pod       |    15 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_VERSION_NUMBER.pod      |     7 +-
 crypto/external/bsd/openssl/dist/doc/crypto/PKCS7_sign.pod                  |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/PKCS7_sign_add_signer.pod       |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_VERIFY_PARAM_set_flags.pod |    30 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_get0_notBefore.pod         |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_get_extension_flags.pod    |     8 +-
 crypto/external/bsd/openssl/dist/doc/openssl-c-indent.el                    |     2 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_cmd.pod                   |    14 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_config.pod                 |     2 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_dane_enable.pod            |     4 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_options.pod            |     9 +-
 crypto/external/bsd/openssl/dist/doc/ssl/ssl.pod                            |    10 +-
 crypto/external/bsd/openssl/dist/engines/afalg/e_afalg.c                    |    12 +-
 crypto/external/bsd/openssl/dist/engines/e_dasync.c                         |     4 +-
 crypto/external/bsd/openssl/dist/include/internal/bio.h                     |     6 +-
 crypto/external/bsd/openssl/dist/include/openssl/asn1.h                     |     3 +-
 crypto/external/bsd/openssl/dist/include/openssl/bio.h                      |    13 +-
 crypto/external/bsd/openssl/dist/include/openssl/e_os2.h                    |     3 +-
 crypto/external/bsd/openssl/dist/include/openssl/evp.h                      |     3 +-
 crypto/external/bsd/openssl/dist/include/openssl/ocsp.h                     |    18 +-
 crypto/external/bsd/openssl/dist/include/openssl/opensslconf.h.in           |     4 +-
 crypto/external/bsd/openssl/dist/include/openssl/opensslv.h                 |    13 +-
 crypto/external/bsd/openssl/dist/include/openssl/ssl.h                      |    35 +-
 crypto/external/bsd/openssl/dist/include/openssl/x509v3.h                   |     4 +-
 crypto/external/bsd/openssl/dist/ssl/bio_ssl.c                              |    29 +-
 crypto/external/bsd/openssl/dist/ssl/record/rec_layer_d1.c                  |    29 +-
 crypto/external/bsd/openssl/dist/ssl/record/rec_layer_s3.c                  |    52 +-
 crypto/external/bsd/openssl/dist/ssl/record/ssl3_record.c                   |    15 +-
 crypto/external/bsd/openssl/dist/ssl/s3_msg.c                               |    27 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_cert.c                             |     6 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_conf.c                             |     6 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_init.c                             |     6 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem.c                        |    10 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_clnt.c                   |     2 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_dtls.c                   |    30 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_lib.c                    |    45 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_locl.h                   |     3 +-
 crypto/external/bsd/openssl/dist/ssl/t1_trce.c                              |     6 +-
 crypto/external/bsd/openssl/dist/test/asynciotest.c                         |     5 +-
 crypto/external/bsd/openssl/dist/test/bad_dtls_test.c                       |     2 +-
 crypto/external/bsd/openssl/dist/test/build.info                            |    13 +-
 crypto/external/bsd/openssl/dist/test/clienthellotest.c                     |     8 +-
 crypto/external/bsd/openssl/dist/test/d2i_test.c                            |     2 +-
 crypto/external/bsd/openssl/dist/test/dtlstest.c                            |     7 +-
 crypto/external/bsd/openssl/dist/test/fatalerrtest.c                        |   125 +
 crypto/external/bsd/openssl/dist/test/generate_ssl_tests.pl                 |     2 +-
 crypto/external/bsd/openssl/dist/test/handshake_helper.c                    |    32 +-
 crypto/external/bsd/openssl/dist/test/igetest.c                             |   134 +-
 crypto/external/bsd/openssl/dist/test/ocspapitest.c                         |   168 +
 crypto/external/bsd/openssl/dist/test/recipes/04-test_pem.t                 |     6 +-
 crypto/external/bsd/openssl/dist/test/recipes/40-test_rehash.t              |     9 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslcbcpadding.t       |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslcertstatus.t       |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslextension.t        |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslmessages.t         |     6 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslrecords.t          |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslsessiontick.t      |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslskewith0p.t        |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_sslvertol.t           |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/70-test_tlsextms.t            |     4 +-
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ocsp.t                |    11 +-
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ocsp_data/cert.pem    |    19 +
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ocsp_data/key.pem     |    28 +
 crypto/external/bsd/openssl/dist/test/recipes/80-test_pkcs12.t              |     6 +-
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ssl_new.t             |     5 +-
 crypto/external/bsd/openssl/dist/test/recipes/80-test_ssl_old.t             |     7 +-
 crypto/external/bsd/openssl/dist/test/recipes/90-test_fatalerr.t            |    21 +
 crypto/external/bsd/openssl/dist/test/recipes/tconversion.pl                |     3 +-
 crypto/external/bsd/openssl/dist/test/run_tests.pl                          |     9 +-
 crypto/external/bsd/openssl/dist/test/sanitytest.c                          |     2 +-
 crypto/external/bsd/openssl/dist/test/shlibloadtest.c                       |    18 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/06-sni-ticket.conf.in       |     2 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/08-npn.conf.in              |     2 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/09-alpn.conf.in             |     2 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/12-ct.conf.in               |     2 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/13-fragmentation.conf.in    |     2 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/17-renegotiate.conf         |   118 +-
 crypto/external/bsd/openssl/dist/test/ssl-tests/17-renegotiate.conf.in      |    60 +-
 crypto/external/bsd/openssl/dist/test/ssl_test.c                            |    14 +-
 crypto/external/bsd/openssl/dist/test/sslapitest.c                          |    37 +-
 crypto/external/bsd/openssl/dist/test/sslcorrupttest.c                      |     7 +-
 crypto/external/bsd/openssl/dist/test/ssltest_old.c                         |    67 +-
 crypto/external/bsd/openssl/dist/test/ssltestlib.c                          |    27 +-
 crypto/external/bsd/openssl/dist/test/ssltestlib.h                          |     3 +-
 crypto/external/bsd/openssl/dist/util/copy.pl                               |     3 +-
 crypto/external/bsd/openssl/dist/util/dofile.pl                             |    14 +-
 crypto/external/bsd/openssl/dist/util/indent.pro                            |     3 +-
 crypto/external/bsd/openssl/dist/util/libcrypto.num                         |     2 +
 crypto/external/bsd/openssl/dist/util/perl/OpenSSL/Glob.pm                  |    21 +
 crypto/external/bsd/openssl/dist/util/perl/OpenSSL/Test.pm                  |  1051 ++++++++++
 crypto/external/bsd/openssl/dist/util/perl/OpenSSL/Test/Simple.pm           |    91 +
 crypto/external/bsd/openssl/dist/util/perl/OpenSSL/Test/Utils.pm            |   240 ++
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/ClientHello.pm          |   242 ++
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/Message.pm              |   456 ++++
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/NewSessionTicket.pm     |    81 +
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/Proxy.pm                |   553 +++++
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/Record.pm               |   339 +++
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/ServerHello.pm          |   210 +
 crypto/external/bsd/openssl/dist/util/perl/TLSProxy/ServerKeyExchange.pm    |   134 +
 crypto/external/bsd/openssl/dist/util/perl/with_fallback.pm                 |    25 +
 crypto/external/bsd/openssl/dist/util/process_docs.pl                       |     4 +-
 crypto/external/bsd/openssl/dist/util/shlib_wrap.sh.in                      |    20 +
 237 files changed, 5533 insertions(+), 1017 deletions(-)

diffs (truncated from 11881 to 300 lines):

diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/.travis.yml
--- a/crypto/external/bsd/openssl/dist/.travis.yml      Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/.travis.yml      Fri Apr 06 22:49:06 2018 +0000
@@ -158,7 +158,7 @@
       else
           echo -e '+\057 MAKE UPDATE FAILED'; false;
       fi;
-      git diff --quiet
+      git diff --exit-code
     - if [ -n "$CHECKDOCS" ]; then
           if $make doc-nits; then
               echo -e '+\057\057 MAKE DOC-NITS OK';
diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/Configurations/10-main.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/10-main.conf      Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/10-main.conf      Fri Apr 06 22:49:06 2018 +0000
@@ -204,6 +204,7 @@
                                               debug   => "-O0 -g",
                                               release => "-O3 -fomit-frame-pointer"),
                                        threads("-pthread")),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "BN_LLONG",
         shared_cflag     => "-fPIC",
         shared_ldflag    => "-shared -static-libgcc",
@@ -223,6 +224,7 @@
                                               debug   => "-O0 -g",
                                               release => "-O3"),
                                        threads("-pthread")),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         perlasm_scheme   => "elf",
         shared_cflag     => "-fPIC",
@@ -268,6 +270,7 @@
                                               debug   => "-O0 -g",
                                               release => "-O3"),
                                        threads("-pthread")),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         shared_cflag     => "-fPIC",
         shared_ldflag    => "-shared",
@@ -432,7 +435,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O3"),
                                     threads("-pthread")),
-        ex_libs          => add("-Wl,+s -ldld"),
+        ex_libs          => add("-Wl,+s -ldld", threads("-pthread")),
         bn_ops           => "BN_LLONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dl",
@@ -551,7 +554,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O3"),
                                     threads("-pthread")),
-        ex_libs          => add("-ldl"),
+        ex_libs          => add("-ldl", threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -568,7 +571,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O3"),
                                     threads("-pthread")),
-        ex_libs          => add("-ldl"),
+        ex_libs          => add("-ldl", threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -583,7 +586,7 @@
     "MPE/iX-gcc" => {
         inherit_from     => [ "BASE_unix" ],
         cc               => "gcc",
-        cflags           => "-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
+        cflags           => "-DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
         sys_id           => "MPE",
         ex_libs          => add("-L/SYSLOG/PUB -lsyslog -lsocket -lcurses"),
         thread_scheme    => "(unknown)",
@@ -599,7 +602,7 @@
         cc               => "gcc",
         cflags           => combine("-std=c9x -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -O3",
                                     threads("-pthread")),
-        ex_libs          => "-lrt",    # for mlock(2)
+        ex_libs          => add("-lrt", threads("-pthread")), # for mlock(2)
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -611,7 +614,7 @@
         cc               => "cc",
         cflags           => combine("-std1 -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -tune host -fast -readonly_strings",
                                     threads("-pthread")),
-        ex_libs          => "-lrt",    # for mlock(2)
+        ex_libs          => add("-lrt", threads("-pthread")), # for mlock(2)
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -632,7 +635,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O3"),
                                     threads("-pthread")),
-        ex_libs          => add("-ldl"),
+        ex_libs          => add("-ldl", threads("-pthread")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -896,7 +899,7 @@
     #
     # ANDROID_NDK=/some/where/android-ndk-10d
     # CROSS_SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm
-    # CROSS_COMPILE=arm-linux-adroideabi-
+    # CROSS_COMPILE=arm-linux-androideabi-
     # PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/bin
     #
     "android" => {
@@ -1177,6 +1180,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O"),
                                     threads("-pthread")),
+        ex_libs          => add(threads("-pthread")),
         sys_id           => "AIX",
         bn_ops           => "BN_LLONG RC4_CHAR",
         thread_scheme    => "pthreads",
@@ -1194,6 +1198,7 @@
                                            debug   => "-O0 -g",
                                            release => "-O"),
                                     threads("-pthread")),
+        ex_libs          => add(threads("-pthread")),
         sys_id           => "AIX",
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         thread_scheme    => "pthreads",
@@ -1251,18 +1256,6 @@
         thread_scheme    => "(unknown)",
     },
 
-# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe
-# You need to compile using the c89.sh wrapper in the tools directory, because the
-# IBM compiler does not like the -L switch after any object modules.
-#
-    "OS390-Unix" => {
-        inherit_from     => [ "BASE_unix" ],
-        cc               => "c89.sh",
-        cflags           => "-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H  -D_ALL_SOURCE",
-        bn_ops           => "THIRTY_TWO_BIT RC4_CHAR",
-        thread_scheme    => "(unknown)",
-    },
-
 #### Visual C targets
 #
 # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
@@ -1590,6 +1583,7 @@
         inherit_from     => [ "darwin-common", asm("ppc32_asm") ],
         cflags           => add("-arch ppc -std=gnu9x -DB_ENDIAN -Wa,-force_cpusubtype_ALL"),
         perlasm_scheme   => "osx32",
+        shared_cflag     => add("-fno-common"),
         shared_ldflag    => "-arch ppc -dynamiclib",
     },
     "darwin64-ppc-cc" => {
@@ -1659,7 +1653,7 @@
         cc               => "gcc",
         cflags           => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
                                     threads("-pthread")),
-        ex_libs          => add("-ldl"),
+        ex_libs          => add("-ldl", threads("-pthread")),
         bn_ops           => "BN_LLONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -1735,9 +1729,7 @@
     "uClinux-dist" => {
         inherit_from     => [ "BASE_unix" ],
         cc               => "$ENV{'CC'}",
-        cflags           => combine("\$(CFLAGS)",
-                                    threads("-D_REENTRANT")),
-        plib_lflags      => "\$(LDFLAGS)",
+        cflags           => combine(threads("-D_REENTRANT")),
         ex_libs          => add("\$(LDLIBS)"),
         bn_ops           => "BN_LLONG",
         thread_scheme    => "pthreads",
@@ -1751,9 +1743,7 @@
     "uClinux-dist64" => {
         inherit_from     => [ "BASE_unix" ],
         cc               => "$ENV{'CC'}",
-        cflags           => combine("\$(CFLAGS)",
-                                    threads("-D_REENTRANT")),
-        plib_lflags      => "\$(LDFLAGS)",
+        cflags           => combine(threads("-D_REENTRANT")),
         ex_libs          => add("\$(LDLIBS)"),
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         thread_scheme    => "pthreads",
diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/Configurations/README
--- a/crypto/external/bsd/openssl/dist/Configurations/README    Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/README    Fri Apr 06 22:49:06 2018 +0000
@@ -18,10 +18,14 @@
 Configurations of OpenSSL target platforms
 ==========================================
 
-Target configurations are a collection of facts that we know about
+Configuration targets are a collection of facts that we know about
 different platforms and their capabilities.  We organise them in a
 hash table, where each entry represent a specific target.
 
+Note that configuration target names must be unique across all config
+files.  The Configure script does check that a config file doesn't
+have config targets that shadow config targets from other files.
+
 In each table entry, the following keys are significant:
 
         inherit_from    => Other targets to inherit values from.
@@ -86,6 +90,27 @@
                            files.  On unix, this defaults to "" (NOTE:
                            this is here for future use, it's not
                            implemented yet)
+        shlib_variant   => A "variant" identifier inserted between the base
+                           shared library name and the extension.  On "unixy"
+                           platforms (BSD, Linux, Solaris, MacOS/X, ...) this
+                           supports installation of custom OpenSSL libraries
+                           that don't conflict with other builds of OpenSSL
+                           installed on the system.  The variant identifier
+                           becomes part of the SONAME of the library and also
+                           any symbol versions (symbol versions are not used or
+                           needed with MacOS/X).  For example, on a system
+                           where a default build would normally create the SSL
+                           shared library as 'libssl.so -> libssl.so.1.1' with
+                           the value of the symlink as the SONAME, a target
+                           definition that sets 'shlib_variant => "-abc"' will
+                           create 'libssl.so -> libssl-abc.so.1.1', again with
+                           an SONAME equal to the value of the symlink.  The
+                           symbol versions associated with the variant library
+                           would then be 'OPENSSL_ABC_<version>' rather than
+                           the default 'OPENSSL_<version>'. The string inserted
+                           into symbol versions is obtained by mapping all
+                           letters in the "variant" identifier to upper case
+                           and all non-alphanumeric characters to '_'.
 
         thread_scheme   => The type of threads is used on the
                            configured platform.  Currently known
diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/Configurations/common.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/common.tmpl       Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/common.tmpl       Fri Apr 06 22:49:06 2018 +0000
@@ -52,8 +52,7 @@
                              generator_incs => $unified_info{includes}->{$script},
                              generator_deps => $unified_info{depends}->{$script},
                              deps => $unified_info{depends}->{$src},
-                             incs => [ @{$unified_info{includes}->{$bin}},
-                                       @{$unified_info{includes}->{$obj}} ],
+                             incs => $unified_info{includes}->{$obj},
                              %opts);
          foreach (@{$unified_info{depends}->{$src}}) {
              dogenerate($_, $obj, $bin, %opts);
@@ -74,8 +73,7 @@
          $OUT .= src2obj(obj => $obj_no_o,
                          srcs => $unified_info{sources}->{$obj},
                          deps => $unified_info{depends}->{$obj},
-                         incs => [ @{$unified_info{includes}->{$bin}},
-                                   @{$unified_info{includes}->{$obj}} ],
+                         incs => $unified_info{includes}->{$obj},
                          %opts);
          foreach ((@{$unified_info{sources}->{$obj}},
                    @{$unified_info{depends}->{$obj}})) {
diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl  Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl  Fri Apr 06 22:49:06 2018 +0000
@@ -264,6 +264,10 @@
 # Kept around for backward compatibility
 build_apps build_tests : build_programs
 
+# Convenience target to prebuild all generated files, not just the mandatory
+# ones
+build_all_generated : $(GENERATED_MANDATORY) $(GENERATED)
+
 test : tests
 {- dependmagic('tests'); -} : build_programs_nodep, build_engines_nodep
         @ ! {- output_off() if $disabled{tests}; "" -}
diff -r 451bf4baff90 -r 5451ef811a07 crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl        Fri Apr 06 22:11:51 2018 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl        Fri Apr 06 22:49:06 2018 +0000
@@ -8,6 +8,7 @@
      our $exeext = $target{exe_extension} || "";
      our $libext = $target{lib_extension} || ".a";
      our $shlibext = $target{shared_extension} || ".so";
+     our $shlibvariant = $target{shlib_variant} || "";
      our $shlibextsimple = $target{shared_extension_simple} || ".so";
      our $shlibextimport = $target{shared_import_extension} || "";
      our $dsoext = $target{dso_extension} || ".so";
@@ -40,7 +41,7 @@
      sub shlib {
          return () if $disabled{shared};
          my $lib = shift;
-         return $unified_info{sharednames}->{$lib} . $shlibext;
+         return $unified_info{sharednames}->{$lib}. $shlibvariant. $shlibext;
      }
      sub shlib_simple {
          return () if $disabled{shared};
@@ -97,8 +98,7 @@
 {- output_on() if $disabled{makedepend}; "" -}
 GENERATED_MANDATORY={- join(" ", @{$unified_info{depends}->{""}} ) -}
 GENERATED={- join(" ",
-                  ( map { (my $x = $_) =~ s|\.S$|\.s|; $x }
-                    grep { defined $unified_info{generate}->{$_} }
+                  ( grep { defined $unified_info{generate}->{$_} }
                     map { @{$unified_info{sources}->{$_}} }
                     grep { /\.o$/ } keys %{$unified_info{sources}} ),
                   ( grep { /\.h$/ } keys %{$unified_info{generate}} )) -}
@@ -207,9 +207,8 @@




Home | Main Index | Thread Index | Old Index