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/8b6fbc437c3c
branches: trunk
changeset: 831580:8b6fbc437c3c
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 de27e1f024e2 -r 8b6fbc437c3c 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 de27e1f024e2 -r 8b6fbc437c3c 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 de27e1f024e2 -r 8b6fbc437c3c 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 de27e1f024e2 -r 8b6fbc437c3c 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 de27e1f024e2 -r 8b6fbc437c3c 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 de27e1f024e2 -r 8b6fbc437c3c 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