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 Import of OpenSSL 1.0.2j.



details:   https://anonhg.NetBSD.org/src/rev/d8474d729b65
branches:  trunk
changeset: 818448:d8474d729b65
user:      spz <spz%NetBSD.org@localhost>
date:      Fri Oct 14 16:01:16 2016 +0000

description:
Import of OpenSSL 1.0.2j.

The 1.0.2 branch of OpenSSL is the current long term support branch.

Differences between 1.0.1 and 1.0.2:
      o Suite B support for TLS 1.2 and DTLS 1.2
      o Support for DTLS 1.2
      o TLS automatic EC curve selection.
      o API to set TLS supported signature algorithms and curves
      o SSL_CONF configuration API.
      o TLS Brainpool support.
      o ALPN support.
      o CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH.

Security fixes from the previous version (1.0.1t) in NetBSD:
      o OCSP Status Request extension unbounded memory growth (CVE-2016-6304)
      o SWEET32 Mitigation (CVE-2016-2183)
      o OOB write in MDC2_Update() (CVE-2016-6303)
      o Malformed SHA512 ticket DoS (CVE-2016-6302)
      o OOB write in BN_bn2dec() (CVE-2016-2182)
      o OOB read in TS_OBJ_print_bio() (CVE-2016-2180)
      o Pointer arithmetic undefined behaviour (CVE-2016-2177)
      o Constant time flag not preserved in DSA signing (CVE-2016-2178)
      o DTLS buffered message DoS (CVE-2016-2179)
      o DTLS replay protection DoS (CVE-2016-2181)
      o Certificate message OOB reads (CVE-2016-6306)

diffstat:

 crypto/external/bsd/openssl/dist/CONTRIBUTING                                |    93 +-
 crypto/external/bsd/openssl/dist/GitConfigure                                |     8 +
 crypto/external/bsd/openssl/dist/GitMake                                     |     5 +
 crypto/external/bsd/openssl/dist/INSTALL.W32                                 |    22 +-
 crypto/external/bsd/openssl/dist/Makefile.org                                |    45 +-
 crypto/external/bsd/openssl/dist/Makefile.shared                             |     8 +-
 crypto/external/bsd/openssl/dist/apps/CA.pl.in                               |     3 +-
 crypto/external/bsd/openssl/dist/apps/app_rand.c                             |     3 -
 crypto/external/bsd/openssl/dist/apps/apps.c                                 |   306 +-
 crypto/external/bsd/openssl/dist/apps/apps.h                                 |    26 +-
 crypto/external/bsd/openssl/dist/apps/ciphers.c                              |    16 +-
 crypto/external/bsd/openssl/dist/apps/cms.c                                  |   146 +-
 crypto/external/bsd/openssl/dist/apps/crl.c                                  |    92 +-
 crypto/external/bsd/openssl/dist/apps/dgst.c                                 |    43 +-
 crypto/external/bsd/openssl/dist/apps/dhparam.c                              |     9 +-
 crypto/external/bsd/openssl/dist/apps/ecparam.c                              |     3 +
 crypto/external/bsd/openssl/dist/apps/enc.c                                  |     2 +-
 crypto/external/bsd/openssl/dist/apps/genrsa.c                               |     2 +-
 crypto/external/bsd/openssl/dist/apps/openssl-vms.cnf                        |     2 +-
 crypto/external/bsd/openssl/dist/apps/passwd.c                               |     4 +-
 crypto/external/bsd/openssl/dist/apps/pkcs12.c                               |    83 +-
 crypto/external/bsd/openssl/dist/apps/pkcs8.c                                |    10 +
 crypto/external/bsd/openssl/dist/apps/pkeyutl.c                              |   120 +-
 crypto/external/bsd/openssl/dist/apps/req.c                                  |    18 +-
 crypto/external/bsd/openssl/dist/apps/rsautl.c                               |     6 +-
 crypto/external/bsd/openssl/dist/apps/s_apps.h                               |    34 +-
 crypto/external/bsd/openssl/dist/apps/s_cb.c                                 |   804 +++-
 crypto/external/bsd/openssl/dist/apps/s_socket.c                             |    11 +-
 crypto/external/bsd/openssl/dist/apps/smime.c                                |     6 +
 crypto/external/bsd/openssl/dist/apps/srp.c                                  |     2 +
 crypto/external/bsd/openssl/dist/apps/verify.c                               |    28 +-
 crypto/external/bsd/openssl/dist/apps/vms_term_sock.c                        |   590 ++
 crypto/external/bsd/openssl/dist/apps/vms_term_sock.h                        |    30 +
 crypto/external/bsd/openssl/dist/apps/x509.c                                 |    80 +-
 crypto/external/bsd/openssl/dist/config                                      |    28 +-
 crypto/external/bsd/openssl/dist/crypto/LPdir_nyi.c                          |     3 -
 crypto/external/bsd/openssl/dist/crypto/LPdir_unix.c                         |     4 -
 crypto/external/bsd/openssl/dist/crypto/LPdir_win32.c                        |     4 -
 crypto/external/bsd/openssl/dist/crypto/LPdir_wince.c                        |     4 -
 crypto/external/bsd/openssl/dist/crypto/aes/aes_wrap.c                       |   186 +-
 crypto/external/bsd/openssl/dist/crypto/aes/aes_x86core.c                    |     6 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-586.pl                   |   285 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-armv4.pl                 |   139 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-mips.pl                  |  1061 +++-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-ppc.pl                   |   117 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aes-s390x.pl                 |    29 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-mb-x86_64.pl           |  1395 +++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-sha256-x86_64.pl       |  1705 ++++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-x86.pl                 |   644 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesp8-ppc.pl                 |  1942 +++++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aest4-sparcv9.pl             |   919 +++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/aesv8-armx.pl                |   989 ++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/bsaes-armv7.pl               |  2451 ++++++++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/bsaes-x86_64.pl              |    74 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/vpaes-ppc.pl                 |  1586 ++++++
 crypto/external/bsd/openssl/dist/crypto/aes/asm/vpaes-x86.pl                 |   112 +-
 crypto/external/bsd/openssl/dist/crypto/aes/asm/vpaes-x86_64.pl              |   100 +-
 crypto/external/bsd/openssl/dist/crypto/arm64cpuid.S                         |    46 +
 crypto/external/bsd/openssl/dist/crypto/armv4cpuid.S                         |   109 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_bytes.c                       |    58 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_gentm.c                       |    46 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_object.c                      |    10 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/a_set.c                         |     9 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/ameth_lib.c                     |    26 +-
 crypto/external/bsd/openssl/dist/crypto/asn1/asn1.h                          |    10 +-
 crypto/external/bsd/openssl/dist/crypto/ebcdic.c                             |     2 +-
 crypto/external/bsd/openssl/dist/crypto/o_init.c                             |     3 +
 crypto/external/bsd/openssl/dist/crypto/o_str.c                              |     2 +-
 crypto/external/bsd/openssl/dist/crypto/o_time.c                             |   199 +-
 crypto/external/bsd/openssl/dist/crypto/o_time.h                             |     2 +
 crypto/external/bsd/openssl/dist/crypto/ppc_arch.h                           |    10 +
 crypto/external/bsd/openssl/dist/crypto/s390xcpuid.S                         |    44 +-
 crypto/external/bsd/openssl/dist/crypto/sparc_arch.h                         |   101 +
 crypto/external/bsd/openssl/dist/crypto/sparcv9cap.c                         |   204 +-
 crypto/external/bsd/openssl/dist/crypto/symhacks.h                           |    34 +-
 crypto/external/bsd/openssl/dist/crypto/x86cpuid.pl                          |    31 +-
 crypto/external/bsd/openssl/dist/doc/HOWTO/keys.txt                          |     5 +-
 crypto/external/bsd/openssl/dist/doc/README                                  |    27 +-
 crypto/external/bsd/openssl/dist/doc/apps/c_rehash.pod                       |    43 +-
 crypto/external/bsd/openssl/dist/doc/apps/ciphers.pod                        |    81 +-
 crypto/external/bsd/openssl/dist/doc/apps/cms.pod                            |    50 +-
 crypto/external/bsd/openssl/dist/doc/apps/ocsp.pod                           |     4 +-
 crypto/external/bsd/openssl/dist/doc/apps/pkcs12.pod                         |     2 +-
 crypto/external/bsd/openssl/dist/doc/apps/pkcs8.pod                          |    12 +
 crypto/external/bsd/openssl/dist/doc/apps/pkeyutl.pod                        |    13 +
 crypto/external/bsd/openssl/dist/doc/apps/req.pod                            |    24 +-
 crypto/external/bsd/openssl/dist/doc/apps/s_client.pod                       |    26 +-
 crypto/external/bsd/openssl/dist/doc/apps/s_server.pod                       |    31 +-
 crypto/external/bsd/openssl/dist/doc/apps/smime.pod                          |     5 +-
 crypto/external/bsd/openssl/dist/doc/apps/verify.pod                         |    48 +-
 crypto/external/bsd/openssl/dist/doc/apps/x509.pod                           |    14 +-
 crypto/external/bsd/openssl/dist/doc/apps/x509v3_config.pod                  |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ASN1_STRING_length.pod           |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ASN1_STRING_print_ex.pod         |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ASN1_TIME_set.pod                |   129 +
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_f_ssl.pod                    |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_find_type.pod                |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_s_bio.pod                    |     3 +
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_s_connect.pod                |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BIO_s_mem.pod                    |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_BLINDING_new.pod              |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_CTX_new.pod                   |    10 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_bn2bin.pod                    |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_generate_prime.pod            |    90 +-
 crypto/external/bsd/openssl/dist/doc/crypto/BN_rand.pod                      |     8 +-
 crypto/external/bsd/openssl/dist/doc/crypto/CMS_add0_cert.pod                |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/CMS_get0_RecipientInfos.pod      |    16 +-
 crypto/external/bsd/openssl/dist/doc/crypto/CMS_get0_SignerInfos.pod         |     8 +-
 crypto/external/bsd/openssl/dist/doc/crypto/CMS_verify.pod                   |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/DH_generate_parameters.pod       |    43 +-
 crypto/external/bsd/openssl/dist/doc/crypto/DSA_generate_parameters.pod      |    54 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EC_GFp_simple_method.pod         |    60 +
 crypto/external/bsd/openssl/dist/doc/crypto/EC_GROUP_copy.pod                |   174 +
 crypto/external/bsd/openssl/dist/doc/crypto/EC_GROUP_new.pod                 |    95 +
 crypto/external/bsd/openssl/dist/doc/crypto/EC_KEY_new.pod                   |   108 +
 crypto/external/bsd/openssl/dist/doc/crypto/EC_POINT_add.pod                 |    72 +
 crypto/external/bsd/openssl/dist/doc/crypto/EC_POINT_new.pod                 |   128 +
 crypto/external/bsd/openssl/dist/doc/crypto/ERR_remove_state.pod             |    21 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_BytesToKey.pod               |     9 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_PKEY_CTX_ctrl.pod            |    10 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_PKEY_cmp.pod                 |     8 +-
 crypto/external/bsd/openssl/dist/doc/crypto/EVP_SealInit.pod                 |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OBJ_nid2obj.pod                  |    21 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_VERSION_NUMBER.pod       |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_config.pod               |    20 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_ia32cap.pod              |   107 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_instrument_bus.pod       |    42 +
 crypto/external/bsd/openssl/dist/doc/crypto/OPENSSL_load_builtin_modules.pod |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/OpenSSL_add_all_algorithms.pod   |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/PKCS7_verify.pod                 |     6 +-
 crypto/external/bsd/openssl/dist/doc/crypto/RAND_egd.pod                     |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/RSA_generate_key.pod             |    39 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_NAME_add_entry_by_txt.pod   |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_STORE_CTX_get_error.pod     |     8 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_VERIFY_PARAM_set_flags.pod  |    81 +-
 crypto/external/bsd/openssl/dist/doc/crypto/X509_check_host.pod              |   140 +
 crypto/external/bsd/openssl/dist/doc/crypto/X509_verify_cert.pod             |    13 +-
 crypto/external/bsd/openssl/dist/doc/crypto/buffer.pod                       |    12 +-
 crypto/external/bsd/openssl/dist/doc/crypto/crypto.pod                       |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/d2i_DSAPublicKey.pod             |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/d2i_ECPKParameters.pod           |    84 +
 crypto/external/bsd/openssl/dist/doc/crypto/d2i_X509_CRL.pod                 |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ec.pod                           |   201 +
 crypto/external/bsd/openssl/dist/doc/crypto/ecdsa.pod                        |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/engine.pod                       |    10 +-
 crypto/external/bsd/openssl/dist/doc/crypto/evp.pod                          |    66 +-
 crypto/external/bsd/openssl/dist/doc/crypto/hmac.pod                         |    22 +-
 crypto/external/bsd/openssl/dist/doc/crypto/i2d_PKCS7_bio_stream.pod         |     2 +-
 crypto/external/bsd/openssl/dist/doc/crypto/rand.pod                         |     4 +-
 crypto/external/bsd/openssl/dist/doc/crypto/sha.pod                          |    66 +-
 crypto/external/bsd/openssl/dist/doc/crypto/ui.pod                           |    12 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CIPHER_get_name.pod             |    13 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_COMP_add_compression_method.pod |    12 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_CTX_new.pod                |    40 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_CTX_set1_prefix.pod        |    49 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_CTX_set_flags.pod          |    68 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_CTX_set_ssl_ctx.pod        |    47 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_cmd.pod                    |   439 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CONF_cmd_argv.pod               |    42 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_add1_chain_cert.pod         |   150 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_add_extra_chain_cert.pod    |    13 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_get0_param.pod              |    55 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_new.pod                     |    18 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_sess_set_cache_size.pod     |     6 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set1_curves.pod             |   103 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set1_verify_cert_store.pod  |    91 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_alpn_select_cb.pod      |   126 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_cert_cb.pod             |    68 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_cert_store.pod          |     7 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_cipher_list.pod         |     2 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_custom_cli_ext.pod      |   133 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_options.pod             |     2 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod    |     2 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_use_certificate.pod         |    24 +-
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_CTX_use_serverinfo.pod          |    54 +
 crypto/external/bsd/openssl/dist/doc/ssl/SSL_check_chain.pod                 |    85 +
 crypto/external/bsd/openssl/dist/doc/ssl/ssl.pod                             |     6 +-
 crypto/external/bsd/openssl/dist/doc/ssleay.txt                              |     2 +-
 crypto/external/bsd/openssl/dist/e_os2.h                                     |     2 +-
 179 files changed, 19749 insertions(+), 1734 deletions(-)

diffs (truncated from 27065 to 300 lines):

diff -r af9bb1b26f3d -r d8474d729b65 crypto/external/bsd/openssl/dist/CONTRIBUTING
--- a/crypto/external/bsd/openssl/dist/CONTRIBUTING     Fri Oct 14 15:58:34 2016 +0000
+++ b/crypto/external/bsd/openssl/dist/CONTRIBUTING     Fri Oct 14 16:01:16 2016 +0000
@@ -1,38 +1,75 @@
-HOW TO CONTRIBUTE TO OpenSSL
-----------------------------
+HOW TO CONTRIBUTE TO PATCHES OpenSSL
+------------------------------------
 
-Development is coordinated on the openssl-dev mailing list (see
-http://www.openssl.org for information on subscribing). If you
-would like to submit a patch, send it to rt%openssl.org@localhost with
-the string "[PATCH]" in the subject. Please be sure to include a
-textual explanation of what your patch does.
+(Please visit https://www.openssl.org/community/getting-started.html for
+other ideas about how to contribute.)
 
-You can also make GitHub pull requests. If you do this, please also send
-mail to rt%openssl.org@localhost with a brief description and a link to the PR so
-that we can more easily keep track of it.
-
+Development is coordinated on the openssl-dev mailing list (see the
+above link or https://mta.openssl.org for information on subscribing).
 If you are unsure as to whether a feature will be useful for the general
-OpenSSL community please discuss it on the openssl-dev mailing list first.
-Someone may be already working on the same thing or there may be a good
-reason as to why that feature isn't implemented.
+OpenSSL community you might want to discuss it on the openssl-dev mailing
+list first.  Someone may be already working on the same thing or there
+may be a good reason as to why that feature isn't implemented.
 
-Patches should be as up to date as possible, preferably relative to the
-current Git or the last snapshot. They should follow our coding style
-(see https://www.openssl.org/policies/codingstyle.html) and compile without
-warnings using the --strict-warnings flag.  OpenSSL compiles on many varied
-platforms: try to ensure you only use portable features.
+The best way to submit a patch is to make a pull request on GitHub.
+(It is not necessary to send mail to rt%openssl.org@localhost to open a ticket!)
+If you think the patch could use feedback from the community, please
+start a thread on openssl-dev.
 
-Our preferred format for patch files is "git format-patch" output. For example
-to provide a patch file containing the last commit in your local git repository
-use the following command:
+You can also submit patches by sending it as mail to rt%openssl.org@localhost.
+Please include the word "PATCH" and an explanation of what the patch
+does in the subject line.  If you do this, our preferred format is "git
+format-patch" output. For example to provide a patch file containing the
+last commit in your local git repository use the following command:
 
-# git format-patch --stdout HEAD^ >mydiffs.patch
+    % git format-patch --stdout HEAD^ >mydiffs.patch
 
 Another method of creating an acceptable patch file without using git is as
 follows:
 
-# cd openssl-work
-# [your changes]
-# ./Configure dist; make clean
-# cd ..
-# diff -ur openssl-orig openssl-work > mydiffs.patch
+    % cd openssl-work
+    ...make your changes...
+    % ./Configure dist; make clean
+    % cd ..
+    % diff -ur openssl-orig openssl-work >mydiffs.patch
+
+Note that pull requests are generally easier for the team, and community, to
+work with.  Pull requests benefit from all of the standard GitHub features,
+including code review tools, simpler integration, and CI build support.
+
+No matter how a patch is submitted, the following items will help make
+the acceptance and review process faster:
+
+    1. Anything other than trivial contributions will require a contributor
+    licensing agreement, giving us permission to use your code. See
+    https://www.openssl.org/policies/cla.html for details.
+
+    2.  All source files should start with the following text (with
+    appropriate comment characters at the start of each line and the
+    year(s) updated):
+
+        Copyright 20xx-20yy The OpenSSL Project Authors. All Rights Reserved.
+
+        Licensed under the OpenSSL license (the "License").  You may not use
+        this file except in compliance with the License.  You can obtain a copy
+        in the file LICENSE in the source distribution or at
+        https://www.openssl.org/source/license.html
+
+    3.  Patches should be as current as possible.  When using GitHub, please
+    expect to have to rebase and update often. Note that we do not accept merge
+    commits. You will be asked to remove them before a patch is considered
+    acceptable.
+
+    4.  Patches should follow our coding style (see
+    https://www.openssl.org/policies/codingstyle.html) and compile without
+    warnings. Where gcc or clang is availble you should use the
+    --strict-warnings Configure option.  OpenSSL compiles on many varied
+    platforms: try to ensure you only use portable features.
+
+    5.  When at all possible, patches should include tests. These can either be
+    added to an existing test, or completely new.  Please see test/README
+    for information on the test framework.
+
+    6.  New features or changed functionality must include documentation. Please
+    look at the "pod" files in doc/apps, doc/crypto and doc/ssl for examples of
+    our style.
diff -r af9bb1b26f3d -r d8474d729b65 crypto/external/bsd/openssl/dist/GitConfigure
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/external/bsd/openssl/dist/GitConfigure     Fri Oct 14 16:01:16 2016 +0000
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+BRANCH=`git rev-parse --abbrev-ref HEAD`
+
+./Configure $@ no-symlinks
+make files
+util/mk1mf.pl OUT=out.$BRANCH TMP=tmp.$BRANCH INC=inc.$BRANCH copy > makefile.$BRANCH
+make -f makefile.$BRANCH init
diff -r af9bb1b26f3d -r d8474d729b65 crypto/external/bsd/openssl/dist/GitMake
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/external/bsd/openssl/dist/GitMake  Fri Oct 14 16:01:16 2016 +0000
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+BRANCH=`git rev-parse --abbrev-ref HEAD`
+
+make -f makefile.$BRANCH $@
diff -r af9bb1b26f3d -r d8474d729b65 crypto/external/bsd/openssl/dist/INSTALL.W32
--- a/crypto/external/bsd/openssl/dist/INSTALL.W32      Fri Oct 14 15:58:34 2016 +0000
+++ b/crypto/external/bsd/openssl/dist/INSTALL.W32      Fri Oct 14 16:01:16 2016 +0000
@@ -300,17 +300,17 @@
 
  If you link with static OpenSSL libraries [those built with ms/nt.mak],
  then you're expected to additionally link your application with
- WS2_32.LIB, ADVAPI32.LIB, GDI32.LIB and USER32.LIB. Those developing
- non-interactive service applications might feel concerned about linking
- with the latter two, as they are justly associated with interactive
- desktop, which is not available to service processes. The toolkit is
- designed to detect in which context it's currently executed, GUI,
- console app or service, and act accordingly, namely whether or not to
- actually make GUI calls. Additionally those who wish to
- /DELAYLOAD:GDI32.DLL and /DELAYLOAD:USER32.DLL and actually keep them
- off service process should consider implementing and exporting from
- .exe image in question own _OPENSSL_isservice not relying on USER32.DLL.
- E.g., on Windows Vista and later you could:
+ WS2_32.LIB, GDI32.LIB, ADVAPI32.LIB, CRYPT32.LIB and USER32.LIB. Those
+ developing non-interactive service applications might feel concerned about
+ linking with GDI32.LIB and USER32.LIB, as they are justly associated with
+ interactive desktop, which is not available to service processes. The toolkit
+ is designed to detect in which context it's currently executed, GUI, console
+ app or service, and act accordingly, namely whether or not to actually make
+ GUI calls. Additionally those who wish to /DELAYLOAD:GDI32.DLL and
+ /DELAYLOAD:USER32.DLL and actually keep them off service process should
+ consider implementing and exporting from .exe image in question own
+ _OPENSSL_isservice not relying on USER32.DLL. E.g., on Windows Vista and
+ later you could:
 
        __declspec(dllexport) __cdecl BOOL _OPENSSL_isservice(void)
        {   DWORD sess;
diff -r af9bb1b26f3d -r d8474d729b65 crypto/external/bsd/openssl/dist/Makefile.org
--- a/crypto/external/bsd/openssl/dist/Makefile.org     Fri Oct 14 15:58:34 2016 +0000
+++ b/crypto/external/bsd/openssl/dist/Makefile.org     Fri Oct 14 16:01:16 2016 +0000
@@ -66,10 +66,11 @@
 ARFLAGS=
 AR=ar $(ARFLAGS) r
 RANLIB= ranlib
+RC= windres
 NM= nm
 PERL= perl
 TAR= tar
-TARFLAGS= --no-recursion --record-size=10240
+TARFLAGS= --no-recursion
 MAKEDEPPROG=makedepend
 LIBDIR=lib
 
@@ -88,6 +89,7 @@
 # CPUID module collects small commonly used assembler snippets
 CPUID_OBJ= 
 BN_ASM= bn_asm.o
+EC_ASM=
 DES_ENC= des_enc.o fcrypt_b.o
 AES_ENC= aes_core.o aes_cbc.o
 BF_ENC= bf_enc.o
@@ -201,10 +203,13 @@
                $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS}     \
                $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
 
-BUILDENV=      PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
+# LC_ALL=C ensures that error [and other] messages are delivered in
+# same language for uniform treatment.
+BUILDENV=      LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\
                CC='$(CC)' CFLAG='$(CFLAG)'                     \
                AS='$(CC)' ASFLAG='$(CFLAG) -c'                 \
                AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)'        \
+               RC='$(RC)'                                      \
                CROSS_COMPILE='$(CROSS_COMPILE)'        \
                PERL='$(PERL)' ENGDIRS='$(ENGDIRS)'             \
                SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)'     \
@@ -220,8 +225,8 @@
                EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)'       \
                SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
                PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)'     \
-               CPUID_OBJ='$(CPUID_OBJ)'                        \
-               BN_ASM='$(BN_ASM)' DES_ENC='$(DES_ENC)'         \
+               CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)'     \
+               EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)'         \
                AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)'     \
                BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)'       \
                RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)'       \
@@ -329,7 +334,7 @@
                        done; \
                fi; \
                ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
-               if [ "$(PLATFORM)" = "Cygwin" ]; then \
+               if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
                        ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
                fi; \
        done
@@ -363,6 +368,7 @@
            echo 'exec_prefix=$${prefix}'; \
            echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
            echo 'includedir=$${prefix}/include'; \
+           echo 'enginesdir=$${libdir}/engines'; \
            echo ''; \
            echo 'Name: OpenSSL-libcrypto'; \
            echo 'Description: OpenSSL cryptography library'; \
@@ -378,11 +384,11 @@
            echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
            echo 'includedir=$${prefix}/include'; \
            echo ''; \
-           echo 'Name: OpenSSL'; \
+           echo 'Name: OpenSSL-libssl'; \
            echo 'Description: Secure Sockets Layer and cryptography libraries'; \
            echo 'Version: '$(VERSION); \
-           echo 'Requires: '; \
-           echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
+           echo 'Requires.private: libcrypto'; \
+           echo 'Libs: -L$${libdir} -lssl'; \
            echo 'Libs.private: $(EX_LIBS)'; \
            echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
 
@@ -395,10 +401,7 @@
            echo 'Name: OpenSSL'; \
            echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
            echo 'Version: '$(VERSION); \
-           echo 'Requires: '; \
-           echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
-           echo 'Libs.private: $(EX_LIBS)'; \
-           echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
+           echo 'Requires: libssl libcrypto' ) > openssl.pc
 
 Makefile: Makefile.org Configure config
        @echo "Makefile is older than Makefile.org, Configure or config."
@@ -561,11 +564,7 @@
                do \
                        if [ -f "$$i" -o -f "$$i.a" ]; then \
                        (       echo installing $$i; \
-                               if [ "$(PLATFORM)" != "Cygwin" ]; then \
-                                       cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
-                                       chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
-                                       mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                               else \
+                               if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
                                        c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
                                        cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
                                        chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
@@ -573,6 +572,10 @@
                                        cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
                                        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
                                        mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
+                               else \
+                                       cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
+                                       chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
+                                       mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
                                fi ); \
                                if expr $(PLATFORM) : 'mingw' > /dev/null; then \
                                (       case $$i in \
@@ -605,6 +608,10 @@
 
 install_html_docs:
        here="`pwd`"; \
+       filecase=; \
+       case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \
+               filecase=-i; \
+       esac; \
        for subdir in apps crypto ssl; do \
                mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \
                for i in doc/$$subdir/*.pod; do \
@@ -633,9 +640,9 @@
        @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
        here="`pwd`"; \
        filecase=; \
-       if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
+       case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \
                filecase=-i; \
-       fi; \
+       esac; \
        set -e; for i in doc/apps/*.pod; do \
                fn=`basename $$i .pod`; \



Home | Main Index | Thread Index | Old Index