Source-Changes-HG archive

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

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



details:   https://anonhg.NetBSD.org/src/rev/3c28b77def84
branches:  OPENSSL
changeset: 946803:3c28b77def84
user:      christos <christos%NetBSD.org@localhost>
date:      Thu Dec 10 00:12:35 2020 +0000

description:
Changes between 1.1.1h and 1.1.1i [08 Dec 2020]

Fixed NULL pointer deref in the GENERAL_NAME_cmp function This
function could crash if both GENERAL_NAMEs contain an EDIPARTYNAME.
If an attacker can control both items being compared then this
could lead to a possible denial of service attack. OpenSSL itself
uses the GENERAL_NAME_cmp function for two purposes:

Comparing CRL distribution point names between an available CRL
and a CRL distribution point embedded in an X509 certificate When
verifying that a timestamp response token signer matches the
timestamp authority name (exposed via the API functions
TS_RESP_verify_response and TS_RESP_verify_token) (CVE-2020-1971)
Matt Caswell

Changes between 1.1.1g and 1.1.1h [22 Sep 2020]
Certificates with explicit curve parameters are now disallowed in
verification chains if the X509_V_FLAG_X509_STRICT flag is used.

Tomas Mraz

The 'MinProtocol' and 'MaxProtocol' configuration commands now
silently ignore TLS protocol version bounds when configuring
DTLS-based contexts, and conversely, silently ignore DTLS protocol
version bounds when configuring TLS-based contexts. The commands
can be repeated to set bounds of both types. The same applies with
the corresponding "min_protocol" and "max_protocol" command-line
switches, in case some application uses both TLS and DTLS.

SSL_CTX instances that are created for a fixed protocol version
(e.g. TLSv1_server_method()) also silently ignore version bounds.
Previously attempts to apply bounds to these protocol versions
would result in an error. Now only the "version-flexible" SSL_CTX
instances are subject to limits in configuration files in command-line
options.

Viktor Dukhovni

Handshake now fails if Extended Master Secret extension is dropped
on renegotiation.

Tomas Mraz

The Oracle Developer Studio compiler will start reporting deprecated
APIs

diffstat:

 crypto/external/bsd/openssl/dist/CHANGES                                                        |   63 +
 crypto/external/bsd/openssl/dist/Configurations/10-main.conf                                    |   24 +-
 crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl                           |    4 +-
 crypto/external/bsd/openssl/dist/Configure                                                      |   38 +-
 crypto/external/bsd/openssl/dist/NEWS                                                           |   12 +
 crypto/external/bsd/openssl/dist/NOTES.ANDROID                                                  |    4 +-
 crypto/external/bsd/openssl/dist/NOTES.PERL                                                     |    2 +-
 crypto/external/bsd/openssl/dist/NOTES.VMS                                                      |    2 +-
 crypto/external/bsd/openssl/dist/NOTES.WIN                                                      |   10 +-
 crypto/external/bsd/openssl/dist/README                                                         |    2 +-
 crypto/external/bsd/openssl/dist/apps/ca.c                                                      |    6 +-
 crypto/external/bsd/openssl/dist/apps/cms.c                                                     |    8 +-
 crypto/external/bsd/openssl/dist/apps/genpkey.c                                                 |    8 +-
 crypto/external/bsd/openssl/dist/apps/rsa8192.pem                                               |    4 +-
 crypto/external/bsd/openssl/dist/apps/s_client.c                                                |   22 +-
 crypto/external/bsd/openssl/dist/apps/x509.c                                                    |    4 +-
 crypto/external/bsd/openssl/dist/appveyor.yml                                                   |    3 +-
 crypto/external/bsd/openssl/dist/config                                                         |    8 +-
 crypto/external/bsd/openssl/dist/crypto/aes/aes_core.c                                          |  351 ---------
 crypto/external/bsd/openssl/dist/crypto/aes/aes_ige.c                                           |   16 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-mb-x86_64.pl                              |    2 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-sha1-x86_64.pl                            |    2 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-sha256-x86_64.pl                          |    2 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesv8-armx.pl                                   |   38 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/asn1_err.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/d2i_pr.c                                           |    4 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/tasn_dec.c                                         |   21 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/tasn_enc.c                                         |   18 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/x_algor.c                                          |   34 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_addr.c                                            |    6 +-
 crypto/external/bsd/openssl/dist/crypto/bio/b_print.c                                           |    8 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_acpt.c                                          |    6 +-
 crypto/external/bsd/openssl/dist/crypto/bio/bss_conn.c                                          |   36 +-
 crypto/external/bsd/openssl/dist/crypto/bn/asm/rsaz-avx2.pl                                     |    2 +-
 crypto/external/bsd/openssl/dist/crypto/bn/asm/rsaz-x86_64.pl                                   |    2 +-
 crypto/external/bsd/openssl/dist/crypto/bn/asm/x86_64-mont.pl                                   |    2 +-
 crypto/external/bsd/openssl/dist/crypto/bn/asm/x86_64-mont5.pl                                  |    2 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c                                             |  386 +++++----
 crypto/external/bsd/openssl/dist/crypto/bn/bn_lib.c                                             |   22 +-
 crypto/external/bsd/openssl/dist/crypto/bn/bn_mpi.c                                             |    4 +-
 crypto/external/bsd/openssl/dist/crypto/chacha/asm/chacha-armv8.pl                              |    1 +
 crypto/external/bsd/openssl/dist/crypto/chacha/asm/chacha-x86.pl                                |    2 +-
 crypto/external/bsd/openssl/dist/crypto/chacha/asm/chacha-x86_64.pl                             |    2 +-
 crypto/external/bsd/openssl/dist/crypto/cmac/cmac.c                                             |   21 +-
 crypto/external/bsd/openssl/dist/crypto/cms/cms_lib.c                                           |    5 +-
 crypto/external/bsd/openssl/dist/crypto/cms/cms_sd.c                                            |    6 +-
 crypto/external/bsd/openssl/dist/crypto/cms/cms_smime.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/conf/conf_def.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/dso/dso_win32.c                                         |    6 +-
 crypto/external/bsd/openssl/dist/crypto/ec/asm/ecp_nistz256-armv4.pl                            |    6 +-
 crypto/external/bsd/openssl/dist/crypto/ec/asm/ecp_nistz256-x86_64.pl                           |    2 +-
 crypto/external/bsd/openssl/dist/crypto/ec/asm/x25519-x86_64.pl                                 |    2 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_ameth.c                                           |   27 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_asn1.c                                            |   40 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_err.c                                             |    3 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_key.c                                             |   83 ++-
 crypto/external/bsd/openssl/dist/crypto/ec/ec_lib.c                                             |    1 +
 crypto/external/bsd/openssl/dist/crypto/ec/ec_local.h                                           |    4 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp224.c                                       |    9 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp521.c                                       |   33 +-
 crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistz256.c                                       |  302 +------
 crypto/external/bsd/openssl/dist/crypto/engine/eng_lib.c                                        |    3 +-
 crypto/external/bsd/openssl/dist/crypto/err/openssl.txt                                         |    7 +
 crypto/external/bsd/openssl/dist/crypto/evp/bio_ok.c                                            |    4 +-
 crypto/external/bsd/openssl/dist/crypto/evp/e_aes.c                                             |    5 -
 crypto/external/bsd/openssl/dist/crypto/evp/encode.c                                            |    4 +-
 crypto/external/bsd/openssl/dist/crypto/mem_sec.c                                               |    4 +-
 crypto/external/bsd/openssl/dist/crypto/modes/asm/aesni-gcm-x86_64.pl                           |    2 +-
 crypto/external/bsd/openssl/dist/crypto/modes/asm/ghash-x86_64.pl                               |    2 +-
 crypto/external/bsd/openssl/dist/crypto/modes/cbc128.c                                          |   21 +-
 crypto/external/bsd/openssl/dist/crypto/modes/ccm128.c                                          |   24 +-
 crypto/external/bsd/openssl/dist/crypto/modes/cfb128.c                                          |   20 +-
 crypto/external/bsd/openssl/dist/crypto/modes/ctr128.c                                          |   13 +-
 crypto/external/bsd/openssl/dist/crypto/modes/gcm128.c                                          |   24 +-
 crypto/external/bsd/openssl/dist/crypto/modes/modes_local.h                                     |   21 +-
 crypto/external/bsd/openssl/dist/crypto/modes/ofb128.c                                          |   13 +-
 crypto/external/bsd/openssl/dist/crypto/modes/xts128.c                                          |   26 +-
 crypto/external/bsd/openssl/dist/crypto/o_str.c                                                 |    4 +-
 crypto/external/bsd/openssl/dist/crypto/o_time.c                                                |    4 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pem_err.c                                           |    6 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pem_lib.c                                           |   34 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pem_pkey.c                                          |    8 +-
 crypto/external/bsd/openssl/dist/crypto/pem/pvkfmt.c                                            |   12 +-
 crypto/external/bsd/openssl/dist/crypto/pkcs7/pk7_smime.c                                       |    4 +-
 crypto/external/bsd/openssl/dist/crypto/poly1305/asm/poly1305-armv8.pl                          |    8 +-
 crypto/external/bsd/openssl/dist/crypto/poly1305/asm/poly1305-x86.pl                            |    2 +-
 crypto/external/bsd/openssl/dist/crypto/poly1305/asm/poly1305-x86_64.pl                         |    2 +-
 crypto/external/bsd/openssl/dist/crypto/rand/drbg_ctr.c                                         |  200 +++-
 crypto/external/bsd/openssl/dist/crypto/rand/drbg_lib.c                                         |   58 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_lib.c                                         |    2 -
 crypto/external/bsd/openssl/dist/crypto/rand/rand_local.h                                       |   19 +-
 crypto/external/bsd/openssl/dist/crypto/rand/rand_unix.c                                        |   24 +-
 crypto/external/bsd/openssl/dist/crypto/rand/randfile.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/rsa/rsa_ameth.c                                         |   11 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha1-586.pl                                     |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha1-armv8.pl                                   |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha1-mb-x86_64.pl                               |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha1-x86_64.pl                                  |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha256-586.pl                                   |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha256-mb-x86_64.pl                             |    2 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha512-armv8.pl                                 |    7 +-
 crypto/external/bsd/openssl/dist/crypto/sha/asm/sha512-x86_64.pl                                |    2 +-
 crypto/external/bsd/openssl/dist/crypto/store/loader_file.c                                     |   38 +-
 crypto/external/bsd/openssl/dist/crypto/store/store_lib.c                                       |    8 +-
 crypto/external/bsd/openssl/dist/crypto/ts/ts_rsp_sign.c                                        |    2 +
 crypto/external/bsd/openssl/dist/crypto/ui/ui_openssl.c                                         |   12 +-
 crypto/external/bsd/openssl/dist/crypto/whrlpool/wp_block.c                                     |   34 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_att.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_cmp.c                                         |    2 +
 crypto/external/bsd/openssl/dist/crypto/x509/x509_err.c                                         |    3 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_local.h                                       |    4 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_req.c                                         |   14 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_txt.c                                         |    4 +-
 crypto/external/bsd/openssl/dist/crypto/x509/x509_vfy.c                                         |  213 ++++-
 crypto/external/bsd/openssl/dist/crypto/x509/x_pubkey.c                                         |    9 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/pcy_data.c                                       |    3 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_alt.c                                         |    3 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_genn.c                                        |   52 +-
 crypto/external/bsd/openssl/dist/crypto/x509v3/v3_purp.c                                        |   64 +-
 crypto/external/bsd/openssl/dist/doc/man1/CA.pl.pod                                             |   10 +-
 crypto/external/bsd/openssl/dist/doc/man1/ca.pod                                                |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/dgst.pod                                              |    5 +-
 crypto/external/bsd/openssl/dist/doc/man1/enc.pod                                               |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/ocsp.pod                                              |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/pkcs12.pod                                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/pkcs8.pod                                             |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/pkeyutl.pod                                           |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/s_client.pod                                          |    8 +-
 crypto/external/bsd/openssl/dist/doc/man1/s_server.pod                                          |    6 +-
 crypto/external/bsd/openssl/dist/doc/man1/s_time.pod                                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man1/sess_id.pod                                           |    2 +-
 crypto/external/bsd/openssl/dist/doc/man1/ts.pod                                                |   94 +-
 crypto/external/bsd/openssl/dist/doc/man1/tsget.pod                                             |   30 +-
 crypto/external/bsd/openssl/dist/doc/man1/verify.pod                                            |   23 +-
 crypto/external/bsd/openssl/dist/doc/man1/x509.pod                                              |    2 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASN1_INTEGER_get_int64.pod                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASN1_STRING_length.pod                                |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASN1_TIME_set.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASN1_TYPE_get.pod                                     |   10 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASYNC_WAIT_CTX_new.pod                                |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/ASYNC_start_job.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BF_encrypt.pod                                        |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_ADDR.pod                                          |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_ADDRINFO.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_connect.pod                                       |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_ctrl.pod                                          |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_get_data.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_parse_hostserv.pod                                |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_read.pod                                          |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_s_accept.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_s_bio.pod                                         |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_s_connect.pod                                     |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_s_file.pod                                        |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BIO_set_callback.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BN_add.pod                                            |   10 +-
 crypto/external/bsd/openssl/dist/doc/man3/BN_bn2bin.pod                                         |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BN_generate_prime.pod                                 |    2 +-
 crypto/external/bsd/openssl/dist/doc/man3/BN_mod_mul_montgomery.pod                             |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/BN_set_bit.pod                                        |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/CMS_verify.pod                                        |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/CRYPTO_THREAD_run_once.pod                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/CRYPTO_memcmp.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/DES_random_key.pod                                    |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/DH_get0_pqg.pod                                       |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/DH_set_method.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/DSA_set_method.pod                                    |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/DTLSv1_listen.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/ECDSA_SIG_new.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/EC_GROUP_new.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EC_KEY_new.pod                                        |   12 +-
 crypto/external/bsd/openssl/dist/doc/man3/EC_POINT_new.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/ENGINE_add.pod                                        |   22 +-
 crypto/external/bsd/openssl/dist/doc/man3/ERR_get_error.pod                                     |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/ERR_print_errors.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/ERR_put_error.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_DigestInit.pod                                    |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_DigestSignInit.pod                                |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_DigestVerifyInit.pod                              |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_EncodeInit.pod                                    |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_EncryptInit.pod                                   |   27 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_OpenInit.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_CTX_ctrl.pod                                 |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_CTX_new.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_keygen.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_PKEY_new.pod                                      |    3 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_SealInit.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_SignInit.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/EVP_VerifyInit.pod                                    |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/HMAC.pod                                              |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/OCSP_cert_to_id.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/OCSP_request_add1_nonce.pod                           |    2 +-
 crypto/external/bsd/openssl/dist/doc/man3/OCSP_resp_find_status.pod                             |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/OCSP_sendreq_new.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_LH_COMPFUNC.pod                               |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_config.pod                                    |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_ia32cap.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_init_crypto.pod                               |   12 +-
 crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_init_ssl.pod                                  |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/OSSL_STORE_open.pod                                   |   33 +-
 crypto/external/bsd/openssl/dist/doc/man3/PEM_read_bio_PrivateKey.pod                           |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/PKCS7_verify.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/RAND_DRBG_new.pod                                     |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/RAND_DRBG_set_callbacks.pod                           |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/RAND_add.pod                                          |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/RAND_load_file.pod                                    |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/RSA_blinding_on.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/RSA_private_encrypt.pod                               |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/RSA_set_method.pod                                    |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SHA256_Init.pod                                       |    5 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CONF_cmd.pod                                      |   39 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_dane_enable.pod                               |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_alpn_select_cb.pod                        |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_generate_session_id.pod                   |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_info_callback.pod                         |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_max_cert_list.pod                         |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_mode.pod                                  |   22 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_options.pod                               |   20 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_psk_client_callback.pod                   |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_read_ahead.pod                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_security_level.pod                        |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_session_cache_mode.pod                    |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_session_id_context.pod                    |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_session_ticket_cb.pod                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_split_send_fragment.pod                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod            |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod                  |   19 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_use_psk_identity_hint.pod                     |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_accept.pod                                        |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_alloc_buffers.pod                                 |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_connect.pod                                       |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_do_handshake.pod                                  |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_get_all_async_fds.pod                             |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_get_error.pod                                     |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_new.pod                                           |   75 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_pending.pod                                       |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_read.pod                                          |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_read_early_data.pod                               |   19 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set1_host.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set_bio.pod                                       |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set_fd.pod                                        |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_set_shutdown.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_shutdown.pod                                      |   24 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_state_string.pod                                  |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_want.pod                                          |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/SSL_write.pod                                         |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/UI_UTIL_read_pw.pod                                   |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/UI_create_method.pod                                  |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/UI_new.pod                                            |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509V3_get_d2i.pod                                    |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_ALGOR_dup.pod                                    |   18 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_LOOKUP_hash_dir.pod                              |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_LOOKUP_meth_new.pod                              |    2 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_STORE_CTX_get_error.pod                          |    6 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_STORE_CTX_new.pod                                |    8 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_STORE_CTX_set_verify_cb.pod                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_STORE_set_verify_cb_func.pod                     |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_VERIFY_PARAM_set_flags.pod                       |   17 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_check_ca.pod                                     |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_check_host.pod                                   |   10 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_check_issued.pod                                 |   19 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_check_purpose.pod                                |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509_get0_signature.pod                               |   22 +-
 crypto/external/bsd/openssl/dist/doc/man3/X509v3_get_ext_by_NID.pod                             |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/d2i_DHparams.pod                                      |    4 +-
 crypto/external/bsd/openssl/dist/doc/man3/d2i_X509.pod                                          |   12 +-
 crypto/external/bsd/openssl/dist/doc/man5/config.pod                                            |   17 +-
 crypto/external/bsd/openssl/dist/doc/man5/x509v3_config.pod                                     |    6 +-
 crypto/external/bsd/openssl/dist/doc/man7/SM2.pod                                               |    4 +-
 crypto/external/bsd/openssl/dist/doc/man7/evp.pod                                               |   14 +-
 crypto/external/bsd/openssl/dist/doc/man7/ossl_store.pod                                        |    4 +-
 crypto/external/bsd/openssl/dist/e_os.h                                                         |    2 +-
 crypto/external/bsd/openssl/dist/fuzz/asn1.c                                                    |    3 +-
 crypto/external/bsd/openssl/dist/include/openssl/asn1err.h                                      |    8 +-
 crypto/external/bsd/openssl/dist/include/openssl/bn.h                                           |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/e_os2.h                                        |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/ec.h                                           |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/ecerr.h                                        |    3 +-
 crypto/external/bsd/openssl/dist/include/openssl/opensslconf.h.in                               |    7 +-
 crypto/external/bsd/openssl/dist/include/openssl/opensslv.h                                     |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/pemerr.h                                       |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/ssl.h                                          |    4 +-
 crypto/external/bsd/openssl/dist/include/openssl/ssl3.h                                         |    5 +-
 crypto/external/bsd/openssl/dist/include/openssl/x509.h                                         |    7 +-
 crypto/external/bsd/openssl/dist/include/openssl/x509_vfy.h                                     |    6 +-
 crypto/external/bsd/openssl/dist/include/openssl/x509err.h                                      |    7 +-
 crypto/external/bsd/openssl/dist/ssl/bio_ssl.c                                                  |    3 +-
 crypto/external/bsd/openssl/dist/ssl/record/rec_layer_d1.c                                      |    6 +-
 crypto/external/bsd/openssl/dist/ssl/record/ssl3_buffer.c                                       |    4 +-
 crypto/external/bsd/openssl/dist/ssl/s3_lib.c                                                   |   21 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_conf.c                                                 |    9 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_lib.c                                                  |   24 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_rsa.c                                                  |   28 +-
 crypto/external/bsd/openssl/dist/ssl/ssl_sess.c                                                 |    4 +-
 crypto/external/bsd/openssl/dist/ssl/statem/extensions.c                                        |   14 +-
 crypto/external/bsd/openssl/dist/ssl/statem/extensions_srvr.c                                   |    2 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_clnt.c                                       |   16 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_lib.c                                        |   35 +-
 crypto/external/bsd/openssl/dist/ssl/statem/statem_srvr.c                                       |    2 +-
 crypto/external/bsd/openssl/dist/ssl/t1_lib.c                                                   |   74 +-
 crypto/external/bsd/openssl/dist/ssl/t1_trce.c                                                  |   23 +-
 crypto/external/bsd/openssl/dist/ssl/tls13_enc.c                                                |   11 +-
 crypto/external/bsd/openssl/dist/test/asn1_decode_test.c                                        |   38 +-
 crypto/external/bsd/openssl/dist/test/asn1_encode_test.c                                        |   35 +-
 crypto/external/bsd/openssl/dist/test/bioprinttest.c                                            |    3 +-
 crypto/external/bsd/openssl/dist/test/build.info                                                |    9 +
 crypto/external/bsd/openssl/dist/test/certs/ca-cert-ec-explicit.pem                             |   19 +
 crypto/external/bsd/openssl/dist/test/certs/ca-cert-ec-named.pem                                |   14 +
 crypto/external/bsd/openssl/dist/test/certs/ca-key-ec-explicit.pem                              |   10 +
 crypto/external/bsd/openssl/dist/test/certs/ca-key-ec-named.pem                                 |    5 +
 crypto/external/bsd/openssl/dist/test/certs/ee-cert-ec-explicit.pem                             |   16 +
 crypto/external/bsd/openssl/dist/test/certs/ee-cert-ec-named-explicit.pem                       |   11 +
 crypto/external/bsd/openssl/dist/test/certs/ee-cert-ec-named-named.pem                          |   11 +
 crypto/external/bsd/openssl/dist/test/certs/ee-key-ec-explicit.pem                              |   10 +
 crypto/external/bsd/openssl/dist/test/certs/ee-key-ec-named-explicit.pem                        |    5 +
 crypto/external/bsd/openssl/dist/test/certs/ee-key-ec-named-named.pem                           |    5 +
 crypto/external/bsd/openssl/dist/test/certs/ee-self-signed.pem                                  |   19 +
 crypto/external/bsd/openssl/dist/test/certs/root-expired.pem                                    |   18 +
 crypto/external/bsd/openssl/dist/test/certs/setup.sh                                            |   20 +-
 crypto/external/bsd/openssl/dist/test/cmactest.c                                                |  210 +++++
 crypto/external/bsd/openssl/dist/test/drbgtest.c                                                |   81 +-
 crypto/external/bsd/openssl/dist/test/ec_internal_test.c                                        |  103 ++-
 crypto/external/bsd/openssl/dist/test/ectest.c                                                  |   84 ++-
 crypto/external/bsd/openssl/dist/test/handshake_helper.c                                        |    5 +-
 crypto/external/bsd/openssl/dist/test/recipes/04-test_pem.t                                     |    5 +-
 crypto/external/bsd/openssl/dist/test/recipes/04-test_pem_data/cert-254-chars-at-the-end.pem    |    6 +
 crypto/external/bsd/openssl/dist/test/recipes/04-test_pem_data/cert-254-chars-in-the-middle.pem |    5 +
 crypto/external/bsd/openssl/dist/test/recipes/04-test_pem_data/cert-oneline-multiple-of-254.pem |    3 +
 crypto/external/bsd/openssl/dist/test/recipes/05-test_cmac.t                                    |   12 +
 crypto/external/bsd/openssl/dist/test/recipes/15-test_ec.t                                      |   56 +-
 crypto/external/bsd/openssl/dist/test/recipes/15-test_genec.t                                   |  306 +++++++
 crypto/external/bsd/openssl/dist/test/recipes/20-test_dgst.t                                    |  104 ++
 crypto/external/bsd/openssl/dist/test/recipes/25-test_req.t                                     |   44 +-
 crypto/external/bsd/openssl/dist/test/recipes/25-test_verify.t                                  |   30 +-
 crypto/external/bsd/openssl/dist/test/rsa_test.c                                                |   26 +-
 crypto/external/bsd/openssl/dist/test/sslapitest.c                                              |  201 +++++-
 crypto/external/bsd/openssl/dist/test/tested25519.pem                                           |    3 +
 crypto/external/bsd/openssl/dist/test/tested25519pub.pem                                        |    3 +
 crypto/external/bsd/openssl/dist/test/tested448.pem                                             |    4 +
 crypto/external/bsd/openssl/dist/test/tested448pub.pem                                          |    4 +
 crypto/external/bsd/openssl/dist/test/tls13encryptiontest.c                                     |    4 +-
 crypto/external/bsd/openssl/dist/test/v3nametest.c                                              |  346 ++++++++-
 crypto/external/bsd/openssl/dist/util/libcrypto.num                                             |    4 +
 crypto/external/bsd/openssl/dist/util/mkrc.pl                                                   |    4 +-
 343 files changed, 4255 insertions(+), 2079 deletions(-)

diffs (truncated from 13838 to 300 lines):

diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/CHANGES
--- a/crypto/external/bsd/openssl/dist/CHANGES  Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/CHANGES  Thu Dec 10 00:12:35 2020 +0000
@@ -7,6 +7,69 @@
  https://github.com/openssl/openssl/commits/ and pick the appropriate
  release branch.
 
+ Changes between 1.1.1h and 1.1.1i [8 Dec 2020]
+
+  *) Fixed NULL pointer deref in the GENERAL_NAME_cmp function
+     This function could crash if both GENERAL_NAMEs contain an EDIPARTYNAME.
+     If an attacker can control both items being compared  then this could lead
+     to a possible denial of service attack. OpenSSL itself uses the
+     GENERAL_NAME_cmp function for two purposes:
+     1) Comparing CRL distribution point names between an available CRL and a
+        CRL distribution point embedded in an X509 certificate
+     2) When verifying that a timestamp response token signer matches the
+        timestamp authority name (exposed via the API functions
+        TS_RESP_verify_response and TS_RESP_verify_token)
+     (CVE-2020-1971)
+     [Matt Caswell]
+
+  *) Add support for Apple Silicon M1 Macs with the darwin64-arm64-cc target.
+     [Stuart Carnie]
+
+  *) The security callback, which can be customised by application code, supports
+     the security operation SSL_SECOP_TMP_DH. This is defined to take an EVP_PKEY
+     in the "other" parameter. In most places this is what is passed. All these
+     places occur server side. However there was one client side call of this
+     security operation and it passed a DH object instead. This is incorrect
+     according to the definition of SSL_SECOP_TMP_DH, and is inconsistent with all
+     of the other locations. Therefore this client side call has been changed to
+     pass an EVP_PKEY instead.
+     [Matt Caswell]
+
+  *) In 1.1.1h, an expired trusted (root) certificate was not anymore rejected
+     when validating a certificate path. This check is restored in 1.1.1i.
+     [David von Oheimb]
+
+ Changes between 1.1.1g and 1.1.1h [22 Sep 2020]
+
+  *) Certificates with explicit curve parameters are now disallowed in
+     verification chains if the X509_V_FLAG_X509_STRICT flag is used.
+     [Tomas Mraz]
+
+  *) The 'MinProtocol' and 'MaxProtocol' configuration commands now silently
+     ignore TLS protocol version bounds when configuring DTLS-based contexts, and
+     conversely, silently ignore DTLS protocol version bounds when configuring
+     TLS-based contexts.  The commands can be repeated to set bounds of both
+     types.  The same applies with the corresponding "min_protocol" and
+     "max_protocol" command-line switches, in case some application uses both TLS
+     and DTLS.
+  
+     SSL_CTX instances that are created for a fixed protocol version (e.g.
+     TLSv1_server_method()) also silently ignore version bounds.  Previously
+     attempts to apply bounds to these protocol versions would result in an
+     error.  Now only the "version-flexible" SSL_CTX instances are subject to
+     limits in configuration files in command-line options.
+     [Viktor Dukhovni]
+
+  *) Handshake now fails if Extended Master Secret extension is dropped
+     on renegotiation.
+     [Tomas Mraz]
+
+  *) Accidentally, an expired trusted (root) certificate is not anymore rejected
+     when validating a certificate path.
+     [David von Oheimb]
+
+  *) The Oracle Developer Studio compiler will start reporting deprecated APIs
+
  Changes between 1.1.1f and 1.1.1g [21 Apr 2020]
 
   *) Fixed segmentation fault in SSL_check_chain()
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/Configurations/10-main.conf
--- a/crypto/external/bsd/openssl/dist/Configurations/10-main.conf      Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/10-main.conf      Thu Dec 10 00:12:35 2020 +0000
@@ -741,7 +741,7 @@
         inherit_from     => [ "linux-generic32", asm("mips64_asm") ],
         cflags           => add("-mabi=n32"),
         cxxflags         => add("-mabi=n32"),
-        bn_ops           => "SIXTY_FOUR_BIT RC4_CHAR",
+        bn_ops           => "RC4_CHAR",
         perlasm_scheme   => "n32",
         multilib         => "32",
     },
@@ -1125,7 +1125,7 @@
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O"),
         cflags           => add(threads("-pthread")),
-        ex_libs          => threads("-pthread"),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         perlasm_scheme   => "aix32",
         shared_ldflag    => add_before("-shared -static-libgcc"),
@@ -1138,7 +1138,7 @@
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O"),
         cflags           => combine("-maix64", threads("-pthread")),
-        ex_libs          => threads("-pthread"),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         perlasm_scheme   => "aix64",
         shared_ldflag    => add_before("-shared -static-libgcc"),
@@ -1154,7 +1154,7 @@
         cflags           => combine("-q32 -qmaxmem=16384 -qro -qroconst",
                                     threads("-qthreaded")),
         cppflags         => threads("-D_THREAD_SAFE"),
-        ex_libs          => threads("-lpthreads"),
+        ex_libs          => add(threads("-lpthreads")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         perlasm_scheme   => "aix32",
         shared_cflag     => "-qpic",
@@ -1169,7 +1169,7 @@
         cflags           => combine("-q64 -qmaxmem=16384 -qro -qroconst",
                                     threads("-qthreaded")),
         cppflags         => threads("-D_THREAD_SAFE"),
-        ex_libs          => threads("-lpthreads"),
+        ex_libs          => add(threads("-lpthreads")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         perlasm_scheme   => "aix64",
         dso_scheme       => "dlfcn",
@@ -1365,9 +1365,9 @@
             }
             push @ex_libs, '$(PORTSDK_LIBPATH)/portlib.lib'
                 if (defined(env('PORTSDK_LIBPATH')));
-            push @ex_libs, ' /nodefaultlib coredll.lib corelibc.lib'
-                if (env('TARGETCPU') eq "X86");
-            return @ex_libs;
+            push @ex_libs, '/nodefaultlib coredll.lib corelibc.lib'
+                if (env('TARGETCPU') =~ /^X86|^ARMV4[IT]/);
+            return join(" ", @ex_libs);
         }),
     },
 
@@ -1557,6 +1557,14 @@
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         perlasm_scheme   => "macosx",
     },
+    "darwin64-arm64-cc" => {
+        inherit_from     => [ "darwin-common", asm("aarch64_asm") ],
+        CFLAGS           => add("-Wall"),
+        cflags           => add("-arch arm64"),
+        lib_cppflags     => add("-DL_ENDIAN"),
+        bn_ops           => "SIXTY_FOUR_BIT_LONG",
+        perlasm_scheme   => "ios64",
+    },
 
 ##### GNU Hurd
     "hurd-x86" => {
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl
--- a/crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl     Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl     Thu Dec 10 00:12:35 2020 +0000
@@ -211,8 +211,8 @@
                     join(' ', $target{cppflags} || (),
                               (map { '-D'.quotify1($_) } @{$target{defines}},
                                                          @{$config{defines}}),
-                              (map { '-I'.quotify1($_) } @{$target{includes}},
-                                                         @{$config{includes}}),
+                              (map { '-I'.'"'.$_.'"' } @{$target{includes}},
+                                                       @{$config{includes}}),
                               @{$config{cppflags}}) -}
 CNF_CFLAGS={- join(' ', $target{cflags} || (),
                         @{$config{cflags}}) -}
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/Configure
--- a/crypto/external/bsd/openssl/dist/Configure        Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/Configure        Thu Dec 10 00:12:35 2020 +0000
@@ -217,12 +217,22 @@
 # Unified build supports separate build dir
 my $srcdir = catdir(absolutedir(dirname($0))); # catdir ensures local syntax
 my $blddir = catdir(absolutedir("."));         # catdir ensures local syntax
+
+# File::Spec::Unix doesn't detect case insensitivity, so we make sure to
+# check if the source and build directory are really the same, and make
+# them so.  This avoids all kinds of confusion later on.
+# We must check @File::Spec::ISA rather than using File::Spec->isa() to
+# know if File::Spec ended up loading File::Spec::Unix.
+$srcdir = $blddir
+    if (grep(/::Unix$/, @File::Spec::ISA)
+        && samedir($srcdir, $blddir));
+
 my $dofile = abs2rel(catfile($srcdir, "util/dofile.pl"));
 
 my $local_config_envname = 'OPENSSL_LOCAL_CONFIG_DIR';
 
-$config{sourcedir} = abs2rel($srcdir);
-$config{builddir} = abs2rel($blddir);
+$config{sourcedir} = abs2rel($srcdir, $blddir);
+$config{builddir} = abs2rel($blddir, $blddir);
 
 # Collect reconfiguration information if needed
 my @argvcopy=@ARGV;
@@ -1049,6 +1059,9 @@
     print "Using os-specific seed configuration\n";
     push @seed_sources, 'os';
 }
+if (scalar(grep { $_ eq 'egd' } @seed_sources) > 0) {
+    delete $disabled{'egd'};
+}
 if (scalar(grep { $_ eq 'none' } @seed_sources) > 0) {
     die "Cannot seed with none and anything else" if scalar(@seed_sources) > 1;
     warn <<_____ if scalar(@seed_sources) == 1;
@@ -3424,6 +3437,27 @@
     return realpath($dir);
 }
 
+# Check if all paths are one and the same, using stat.  They must both exist
+# We need this for the cases when File::Spec doesn't detect case insensitivity
+# (File::Spec::Unix assumes case sensitivity)
+sub samedir {
+    die "samedir expects two arguments\n" unless scalar @_ == 2;
+
+    my @stat0 = stat($_[0]);    # First argument
+    my @stat1 = stat($_[1]);    # Second argument
+
+    die "Couldn't stat $_[0]" unless @stat0;
+    die "Couldn't stat $_[1]" unless @stat1;
+
+    # Compare device number
+    return 0 unless ($stat0[0] == $stat1[0]);
+    # Compare "inode".  The perl manual recommends comparing as
+    # string rather than as number.
+    return 0 unless ($stat0[1] eq $stat1[1]);
+
+    return 1;                   # All the same
+}
+
 sub quotify {
     my %processors = (
         perl    => sub { my $x = shift;
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/NEWS
--- a/crypto/external/bsd/openssl/dist/NEWS     Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/NEWS     Thu Dec 10 00:12:35 2020 +0000
@@ -5,6 +5,18 @@
   This file gives a brief overview of the major changes between each OpenSSL
   release. For more details please read the CHANGES file.
 
+  Major changes between OpenSSL 1.1.1h and OpenSSL 1.1.1i [8 Dec 2020]
+
+      o Fixed NULL pointer deref in GENERAL_NAME_cmp (CVE-2020-1971)
+
+  Major changes between OpenSSL 1.1.1g and OpenSSL 1.1.1h [22 Sep 2020]
+
+      o Disallow explicit curve parameters in verifications chains when
+        X509_V_FLAG_X509_STRICT is used
+      o Enable 'MinProtocol' and 'MaxProtocol' to configure both TLS and DTLS
+        contexts
+      o Oracle Developer Studio will start reporting deprecation warnings
+
   Major changes between OpenSSL 1.1.1f and OpenSSL 1.1.1g [21 Apr 2020]
 
       o Fixed segmentation fault in SSL_check_chain() (CVE-2020-1967)
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/NOTES.ANDROID
--- a/crypto/external/bsd/openssl/dist/NOTES.ANDROID    Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/NOTES.ANDROID    Thu Dec 10 00:12:35 2020 +0000
@@ -6,8 +6,8 @@
  -------------------
 
  Beside basic tools like perl and make you'll need to download the Android
- NDK. It's available for Linux, Mac OS X and Windows, but only Linux
- version was actually tested. There is no reason to believe that Mac OS X
+ NDK. It's available for Linux, macOS and Windows, but only Linux
+ version was actually tested. There is no reason to believe that macOS
  wouldn't work. And as for Windows, it's unclear which "shell" would be
  suitable, MSYS2 might have best chances. NDK version should play lesser
  role, the goal is to support a range of most recent versions.
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/NOTES.PERL
--- a/crypto/external/bsd/openssl/dist/NOTES.PERL       Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/NOTES.PERL       Thu Dec 10 00:12:35 2020 +0000
@@ -109,7 +109,7 @@
 
         $ cpan -f -i Text::Template
 
-    Note: on VMS, you must quote any argument that contains upper case
+    Note: on VMS, you must quote any argument that contains uppercase
     characters, so the lines above would be:
 
         $ cpan -i "Text::Template"
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/NOTES.VMS
--- a/crypto/external/bsd/openssl/dist/NOTES.VMS        Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/NOTES.VMS        Thu Dec 10 00:12:35 2020 +0000
@@ -18,7 +18,7 @@
  An ANSI C compiled is needed among other things.  This means that
  VAX C is not and will not be supported.
 
- We have only tested with DEC C (a.k.a HP VMS C / VSI C) and require
+ We have only tested with DEC C (aka HP VMS C / VSI C) and require
  version 7.1 or later.  Compiling with a different ANSI C compiler may
  require some work.
 
diff -r 34e64fa8a1de -r 3c28b77def84 crypto/external/bsd/openssl/dist/NOTES.WIN
--- a/crypto/external/bsd/openssl/dist/NOTES.WIN        Fri Apr 24 19:34:15 2020 +0000
+++ b/crypto/external/bsd/openssl/dist/NOTES.WIN        Thu Dec 10 00:12:35 2020 +0000
@@ -12,11 +12,11 @@
  and require --cross-compile-prefix option. While on MSYS[2] it's solved
  rather by placing gcc that produces "MinGW binary" code 1st on $PATH.
  This is customarily source of confusion. "Hosted" applications "live" in
- emulated file system name space with POSIX-y root, mount points, /dev
+ emulated filesystem name space with POSIX-y root, mount points, /dev
  and even /proc. Confusion is intensified by the fact that MSYS2 shell
  (or rather emulated execve(2) call) examines the binary it's about to



Home | Main Index | Thread Index | Old Index