From no-reply at appveyor.com Thu Nov 1 08:55:57 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 01 Nov 2018 08:55:57 +0000 Subject: [openssl-commits] Build failed: openssl master.20707 Message-ID: <20181101085557.1.79EDBB7EB0FE40B6@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 1 09:22:44 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 01 Nov 2018 09:22:44 +0000 Subject: [openssl-commits] Build completed: openssl master.20708 Message-ID: <20181101092244.1.DD9BA7829BA42248@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Thu Nov 1 14:42:00 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 01 Nov 2018 14:42:00 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541083320.594855.11904.nullmailer@dev.openssl.org> The branch master has been updated via 3bed01a09071fb289484dfd265f0a8a991537282 (commit) from 54f3e855d48d08e9623a7ced715e263352c95274 (commit) - Log ----------------------------------------------------------------- commit 3bed01a09071fb289484dfd265f0a8a991537282 Author: Richard Levitte Date: Thu Nov 1 13:55:32 2018 +0100 Configure: ensure empty arrays aren't created inadvertently Just refering to a hash table element as an array reference will automatically create that element. Avoid that by defaulting to a separate empty array reference. Fixes #7543 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7544) ----------------------------------------------------------------------- Summary of changes: Configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configure b/Configure index bf0c2d5..f46be6b 100755 --- a/Configure +++ b/Configure @@ -2344,7 +2344,7 @@ EOF my %dirs = (); my $pd = dirname($product); - foreach (@{$unified_info{sources}->{$product}}, + foreach (@{$unified_info{sources}->{$product} // []}, @{$unified_info{shared_sources}->{$product} // []}) { my $d = dirname($_); From pauli at openssl.org Thu Nov 1 22:01:34 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:01:34 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541109694.471971.28396.nullmailer@dev.openssl.org> The branch master has been updated via 0d1f7ae3c928486120b682a6ce6efcaeb36229d6 (commit) from 3bed01a09071fb289484dfd265f0a8a991537282 (commit) - Log ----------------------------------------------------------------- commit 0d1f7ae3c928486120b682a6ce6efcaeb36229d6 Author: Pauli Date: Thu Nov 1 14:25:20 2018 +1000 openssl list -mac-algorithms support. Reviewed-by: Richard Levitte Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7541) ----------------------------------------------------------------------- Summary of changes: apps/openssl.c | 21 ++++++++++++++++++++- doc/man1/list.pod | 8 ++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/apps/openssl.c b/apps/openssl.c index 3d6b276..67b75e4 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -297,6 +297,20 @@ static void list_md_fn(const EVP_MD *m, } } +static void list_mac_fn(const EVP_MAC *m, + const char *from, const char *to, void *arg) +{ + if (m != NULL) { + BIO_printf(arg, "%s\n", EVP_MAC_name(m)); + } else { + if (from == NULL) + from = ""; + if (to == NULL) + to = ""; + BIO_printf(arg, "%s => %s\n", from, to); + } +} + static void list_missing_help(void) { const FUNCTION *fp; @@ -396,7 +410,7 @@ static void list_options_for_command(const char *command) /* Unified enum for help and list commands. */ typedef enum HELPLIST_CHOICE { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_ONE, - OPT_COMMANDS, OPT_DIGEST_COMMANDS, OPT_OPTIONS, + OPT_COMMANDS, OPT_DIGEST_COMMANDS, OPT_MAC_ALGORITHMS, OPT_OPTIONS, OPT_DIGEST_ALGORITHMS, OPT_CIPHER_COMMANDS, OPT_CIPHER_ALGORITHMS, OPT_PK_ALGORITHMS, OPT_PK_METHOD, OPT_DISABLED, OPT_MISSING_HELP, OPT_OBJECTS @@ -410,6 +424,8 @@ const OPTIONS list_options[] = { "List of message digest commands"}, {"digest-algorithms", OPT_DIGEST_ALGORITHMS, '-', "List of message digest algorithms"}, + {"mac-algorithms", OPT_MAC_ALGORITHMS, '-', + "List of message authentication code algorithms"}, {"cipher-commands", OPT_CIPHER_COMMANDS, '-', "List of cipher commands"}, {"cipher-algorithms", OPT_CIPHER_ALGORITHMS, '-', "List of cipher algorithms"}, @@ -457,6 +473,9 @@ opthelp: case OPT_DIGEST_ALGORITHMS: EVP_MD_do_all_sorted(list_md_fn, bio_out); break; + case OPT_MAC_ALGORITHMS: + EVP_MAC_do_all_sorted(list_mac_fn, bio_out); + break; case OPT_CIPHER_COMMANDS: list_type(FT_cipher, one); break; diff --git a/doc/man1/list.pod b/doc/man1/list.pod index f2fd06b..eeb099b 100644 --- a/doc/man1/list.pod +++ b/doc/man1/list.pod @@ -13,6 +13,7 @@ B [B<-commands>] [B<-digest-commands>] [B<-digest-algorithms>] +[B<-mac-algorithms>] [B<-cipher-commands>] [B<-cipher-algorithms>] [B<-public-key-algorithms>] @@ -53,6 +54,13 @@ If a line is of the form foo => bar then B is an alias for the official algorithm name, B. +=item B<-mac-algorithms> + +Display a list of message authentication code algorithms. +If a line is of the form + foo => bar +then B is an alias for the official algorithm name, B. + =item B<-cipher-commands> Display a list of cipher commands, which are typically used as input From pauli at openssl.org Thu Nov 1 22:10:30 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:10:30 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541110230.133557.31168.nullmailer@dev.openssl.org> The branch master has been updated via 00496b6423605391864fbbd1693f23631a1c5239 (commit) from 0d1f7ae3c928486120b682a6ce6efcaeb36229d6 (commit) - Log ----------------------------------------------------------------- commit 00496b6423605391864fbbd1693f23631a1c5239 Author: Pauli Date: Thu Nov 1 08:44:11 2018 +1000 Add a constant time flag to one of the bignums to avoid a timing leak. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7549) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_ossl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index 2dd2d74..7a0b087 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -223,6 +223,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, } while (BN_is_zero(k)); BN_set_flags(k, BN_FLG_CONSTTIME); + BN_set_flags(l, BN_FLG_CONSTTIME); if (dsa->flags & DSA_FLAG_CACHE_MONT_P) { if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p, From pauli at openssl.org Thu Nov 1 22:14:49 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:14:49 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541110489.166923.32555.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 6039651c43944cf4633483a74c2ef3a6b8c0c6c0 (commit) from 222b0a8e1a43e67c8d65fd325828d8860ed2d348 (commit) - Log ----------------------------------------------------------------- commit 6039651c43944cf4633483a74c2ef3a6b8c0c6c0 Author: Pauli Date: Thu Nov 1 08:44:11 2018 +1000 Add a constant time flag to one of the bignums to avoid a timing leak. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7549) (cherry picked from commit 00496b6423605391864fbbd1693f23631a1c5239) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_ossl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index 2dd2d74..7a0b087 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -223,6 +223,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, } while (BN_is_zero(k)); BN_set_flags(k, BN_FLG_CONSTTIME); + BN_set_flags(l, BN_FLG_CONSTTIME); if (dsa->flags & DSA_FLAG_CACHE_MONT_P) { if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p, From pauli at openssl.org Thu Nov 1 22:16:20 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:16:20 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1541110580.677815.956.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 26d7fce13d469f8d1a1b42131467ed4a65f8137b (commit) from 003f1bfd185267cc67ac9dc521a27d7a2af0d0ee (commit) - Log ----------------------------------------------------------------- commit 26d7fce13d469f8d1a1b42131467ed4a65f8137b Author: Pauli Date: Thu Nov 1 08:44:11 2018 +1000 Add a constant time flag to one of the bignums to avoid a timing leak. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7549) (cherry picked from commit 00496b6423605391864fbbd1693f23631a1c5239) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_ossl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index be58625..868283a 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -225,6 +225,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, } while (BN_is_zero(k)); BN_set_flags(k, BN_FLG_CONSTTIME); + BN_set_flags(l, BN_FLG_CONSTTIME); if (dsa->flags & DSA_FLAG_CACHE_MONT_P) { if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p, From pauli at openssl.org Thu Nov 1 22:18:30 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:18:30 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1541110710.900869.2007.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 880d1c76ed9916cddb97fe05fb4c144f0f6f1012 (commit) from ebf65dbe1a67682d7e1f58db9c53ef737fb37f32 (commit) - Log ----------------------------------------------------------------- commit 880d1c76ed9916cddb97fe05fb4c144f0f6f1012 Author: Pauli Date: Thu Nov 1 08:44:11 2018 +1000 Add a constant time flag to one of the bignums to avoid a timing leak. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7549) (cherry picked from commit 00496b6423605391864fbbd1693f23631a1c5239) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_ossl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index 80daf60..c887c3c 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -295,9 +295,9 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) { BN_set_flags(&k, BN_FLG_CONSTTIME); + BN_set_flags(&l, BN_FLG_CONSTTIME); } - if (dsa->flags & DSA_FLAG_CACHE_MONT_P) { if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p, CRYPTO_LOCK_DSA, dsa->p, ctx)) From pauli at openssl.org Thu Nov 1 22:41:29 2018 From: pauli at openssl.org (Paul I. Dale) Date: Thu, 01 Nov 2018 22:41:29 +0000 Subject: [openssl-commits] [web] master update Message-ID: <1541112089.602989.5016.nullmailer@dev.openssl.org> The branch master has been updated via b78d963402ca83b6ede75f1a5d42d64ca61c2c49 (commit) from ec4583cb047f1dd56918b38f5a36941747d50d28 (commit) - Log ----------------------------------------------------------------- commit b78d963402ca83b6ede75f1a5d42d64ca61c2c49 Author: Pauli Date: Fri Nov 2 08:40:27 2018 +1000 Update advisory for CVE-2018-0734 indicating that it introduced a new issue and that this has been fixed. Git commit versions are included. ----------------------------------------------------------------------- Summary of changes: news/secadv/20181030.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/news/secadv/20181030.txt b/news/secadv/20181030.txt index b33ac41..7569b56 100644 --- a/news/secadv/20181030.txt +++ b/news/secadv/20181030.txt @@ -19,6 +19,11 @@ git repository. This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. +As a result of the changes made to mitigate this vulnerability, a new +side channel attack was created. The mitigation for this new vulnerability +can be found in these commits: 6039651c43 (for 1.1.1), 26d7fce13d (for 1.1.0) +and 880d1c76ed (for 1.0.2) + References ========== From builds at travis-ci.org Thu Nov 1 22:44:42 2018 From: builds at travis-ci.org (Travis CI) Date: Thu, 01 Nov 2018 22:44:42 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21457 (master - 00496b6) In-Reply-To: Message-ID: <5bdb81dab51cf_43fb517741a38910c1@40cc1ebc-13fd-4593-8f03-e785ee50bf2b.mail> Build Update for openssl/openssl ------------------------------------- Build: #21457 Status: Broken Duration: 21 mins and 25 secs Commit: 00496b6 (master) Author: Pauli Message: Add a constant time flag to one of the bignums to avoid a timing leak. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7549) View the changeset: https://github.com/openssl/openssl/compare/0d1f7ae3c928...00496b642360 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/449580103?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From yang.yang at baishancloud.com Fri Nov 2 04:07:17 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Fri, 02 Nov 2018 04:07:17 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541131637.101083.11506.nullmailer@dev.openssl.org> The branch master has been updated via e5a8712d03334c4b7cb9f29d6d1daee399c1223e (commit) from 00496b6423605391864fbbd1693f23631a1c5239 (commit) - Log ----------------------------------------------------------------- commit e5a8712d03334c4b7cb9f29d6d1daee399c1223e Author: Paul Yang Date: Thu Nov 1 23:27:31 2018 +0800 Fix a doc-nit in EVP_PKEY_CTX_ctrl.pod [skip-ci] Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7546) ----------------------------------------------------------------------- Summary of changes: doc/man3/EVP_PKEY_CTX_ctrl.pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod index 75fba58..4982e92 100644 --- a/doc/man3/EVP_PKEY_CTX_ctrl.pod +++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod @@ -116,7 +116,7 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm); #include - + int EVP_PKEY_CTX_set_ec_paramgen_curve_nid(EVP_PKEY_CTX *ctx, int nid); int EVP_PKEY_CTX_set_ec_param_enc(EVP_PKEY_CTX *ctx, int param_enc); int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode); From builds at travis-ci.org Fri Nov 2 04:25:58 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 02 Nov 2018 04:25:58 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21466 (master - e5a8712) In-Reply-To: Message-ID: <5bdbd1d622678_43fc29de5d3242221dc@4930b591-4a54-4402-bb9e-4760a8684cb9.mail> Build Update for openssl/openssl ------------------------------------- Build: #21466 Status: Fixed Duration: 17 mins and 59 secs Commit: e5a8712 (master) Author: Paul Yang Message: Fix a doc-nit in EVP_PKEY_CTX_ctrl.pod [skip-ci] Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7546) View the changeset: https://github.com/openssl/openssl/compare/00496b642360...e5a8712d0333 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/449672531?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Fri Nov 2 09:58:42 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 02 Nov 2018 09:58:42 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541152722.567630.27704.nullmailer@dev.openssl.org> The branch master has been updated via d91d443f0d26262148d1dc9d29f9fdf025b958ca (commit) from e5a8712d03334c4b7cb9f29d6d1daee399c1223e (commit) - Log ----------------------------------------------------------------- commit d91d443f0d26262148d1dc9d29f9fdf025b958ca Author: Richard Levitte Date: Fri Oct 19 00:36:04 2018 +0200 apps: Stop pretending to care about Netscape keys The documentation says some commands care, but the code says differently. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7440) ----------------------------------------------------------------------- Summary of changes: apps/apps.h | 6 +++--- apps/opt.c | 1 - apps/rsa.c | 4 ++-- apps/x509.c | 4 ++-- doc/man1/rsa.pod | 25 +++++-------------------- doc/man1/x509.pod | 11 +++++------ 6 files changed, 17 insertions(+), 34 deletions(-) diff --git a/apps/apps.h b/apps/apps.h index 5b98d27..d9eb650 100644 --- a/apps/apps.h +++ b/apps/apps.h @@ -369,7 +369,7 @@ typedef struct string_int_pair_st { # define OPT_FMT_SMIME (1L << 3) # define OPT_FMT_ENGINE (1L << 4) # define OPT_FMT_MSBLOB (1L << 5) -# define OPT_FMT_NETSCAPE (1L << 6) +/* (1L << 6) was OPT_FMT_NETSCAPE, but wasn't used */ # define OPT_FMT_NSS (1L << 7) # define OPT_FMT_TEXT (1L << 8) # define OPT_FMT_HTTP (1L << 9) @@ -378,8 +378,8 @@ typedef struct string_int_pair_st { # define OPT_FMT_PDS (OPT_FMT_PEMDER | OPT_FMT_SMIME) # define OPT_FMT_ANY ( \ OPT_FMT_PEMDER | OPT_FMT_PKCS12 | OPT_FMT_SMIME | \ - OPT_FMT_ENGINE | OPT_FMT_MSBLOB | OPT_FMT_NETSCAPE | \ - OPT_FMT_NSS | OPT_FMT_TEXT | OPT_FMT_HTTP | OPT_FMT_PVK) + OPT_FMT_ENGINE | OPT_FMT_MSBLOB | OPT_FMT_NSS | \ + OPT_FMT_TEXT | OPT_FMT_HTTP | OPT_FMT_PVK) char *opt_progname(const char *argv0); char *opt_getprog(void); diff --git a/apps/opt.c b/apps/opt.c index cc14184..6668565 100644 --- a/apps/opt.c +++ b/apps/opt.c @@ -168,7 +168,6 @@ static OPT_PAIR formats[] = { {"smime", OPT_FMT_SMIME}, {"engine", OPT_FMT_ENGINE}, {"msblob", OPT_FMT_MSBLOB}, - {"netscape", OPT_FMT_NETSCAPE}, {"nss", OPT_FMT_NSS}, {"text", OPT_FMT_TEXT}, {"http", OPT_FMT_HTTP}, diff --git a/apps/rsa.c b/apps/rsa.c index 6458b3d..5098a20 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -38,8 +38,8 @@ typedef enum OPTION_choice { const OPTIONS rsa_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"inform", OPT_INFORM, 'f', "Input format, one of DER NET PEM"}, - {"outform", OPT_OUTFORM, 'f', "Output format, one of DER NET PEM PVK"}, + {"inform", OPT_INFORM, 'f', "Input format, one of DER PEM"}, + {"outform", OPT_OUTFORM, 'f', "Output format, one of DER PEM PVK"}, {"in", OPT_IN, 's', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pubin", OPT_PUBIN, '-', "Expect a public key in input file"}, diff --git a/apps/x509.c b/apps/x509.c index d40960c..81291a9 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -67,10 +67,10 @@ typedef enum OPTION_choice { const OPTIONS x509_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, {"inform", OPT_INFORM, 'f', - "Input format - default PEM (one of DER, NET or PEM)"}, + "Input format - default PEM (one of DER or PEM)"}, {"in", OPT_IN, '<', "Input file - default stdin"}, {"outform", OPT_OUTFORM, 'f', - "Output format - default PEM (one of DER, NET or PEM)"}, + "Output format - default PEM (one of DER or PEM)"}, {"out", OPT_OUT, '>', "Output file - default stdout"}, {"keyform", OPT_KEYFORM, 'F', "Private key format - default PEM"}, {"passin", OPT_PASSIN, 's', "Private key password/pass-phrase source"}, diff --git a/doc/man1/rsa.pod b/doc/man1/rsa.pod index 14a8fb1..37f6461 100644 --- a/doc/man1/rsa.pod +++ b/doc/man1/rsa.pod @@ -9,8 +9,8 @@ rsa - RSA key processing tool B B [B<-help>] -[B<-inform PEM|NET|DER>] -[B<-outform PEM|NET|DER>] +[B<-inform PEM|DER>] +[B<-outform PEM|DER>] [B<-in filename>] [B<-passin arg>] [B<-out filename>] @@ -53,16 +53,15 @@ utility. Print out a usage message. -=item B<-inform DER|NET|PEM> +=item B<-inform DER|PEM> This specifies the input format. The B option uses an ASN1 DER encoded form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. The B form is the default format: it consists of the B format base64 encoded with additional header and footer lines. On input PKCS#8 format private -keys are also accepted. The B form is a format is described in the B -section. +keys are also accepted. -=item B<-outform DER|NET|PEM> +=item B<-outform DER|PEM> This specifies the output format, the options have the same meaning and default as the B<-inform> option. @@ -158,17 +157,6 @@ The PEM B format uses the header and footer lines: -----BEGIN RSA PUBLIC KEY----- -----END RSA PUBLIC KEY----- -The B form is a format compatible with older Netscape servers -and Microsoft IIS .key files, this uses unsalted RC4 for its encryption. -It is not very secure and so should only be used when necessary. - -Some newer version of IIS have additional data in the exported .key -files. To use these with the utility, view the file with a binary editor -and look for the string "private-key", then trace back to the byte -sequence 0x30, 0x82 (this is an ASN1 SEQUENCE). Copy all the data -from this point onwards to another file and use that as the input -to the B utility with the B<-inform NET> option. - =head1 EXAMPLES To remove the pass phrase on an RSA private key: @@ -197,9 +185,6 @@ Output the public part of a private key in B format: =head1 BUGS -The command line password arguments don't currently work with -B format. - There should be an option that automatically handles .key files, without having to manually edit them. diff --git a/doc/man1/x509.pod b/doc/man1/x509.pod index 6e4d288..547da5d 100644 --- a/doc/man1/x509.pod +++ b/doc/man1/x509.pod @@ -9,8 +9,8 @@ x509 - Certificate display and signing utility B B [B<-help>] -[B<-inform DER|PEM|NET>] -[B<-outform DER|PEM|NET>] +[B<-inform DER|PEM>] +[B<-outform DER|PEM>] [B<-keyform DER|PEM>] [B<-CAform DER|PEM>] [B<-CAkeyform DER|PEM>] @@ -86,16 +86,15 @@ various sections. Print out a usage message. -=item B<-inform DER|PEM|NET> +=item B<-inform DER|PEM> This specifies the input format normally the command will expect an X509 certificate but this can change if other options such as B<-req> are present. The DER format is the DER encoding of the certificate and PEM is the base64 encoding of the DER encoding with header and footer lines -added. The NET option is an obscure Netscape server format that is now -obsolete. The default format is PEM. +added. The default format is PEM. -=item B<-outform DER|PEM|NET> +=item B<-outform DER|PEM> This specifies the output format, the options have the same meaning and default as the B<-inform> option. From levitte at openssl.org Fri Nov 2 09:59:25 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 02 Nov 2018 09:59:25 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541152765.050198.28959.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via b33e7698b8cb853bf94623e5e26f860a893eb677 (commit) from 6039651c43944cf4633483a74c2ef3a6b8c0c6c0 (commit) - Log ----------------------------------------------------------------- commit b33e7698b8cb853bf94623e5e26f860a893eb677 Author: Richard Levitte Date: Fri Oct 19 00:36:04 2018 +0200 apps: Stop pretending to care about Netscape keys The documentation says some commands care, but the code says differently. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7440) (cherry picked from commit d91d443f0d26262148d1dc9d29f9fdf025b958ca) ----------------------------------------------------------------------- Summary of changes: apps/apps.h | 6 +++--- apps/opt.c | 1 - apps/rsa.c | 4 ++-- apps/x509.c | 4 ++-- doc/man1/rsa.pod | 25 +++++-------------------- doc/man1/x509.pod | 11 +++++------ 6 files changed, 17 insertions(+), 34 deletions(-) diff --git a/apps/apps.h b/apps/apps.h index 5b98d27..d9eb650 100644 --- a/apps/apps.h +++ b/apps/apps.h @@ -369,7 +369,7 @@ typedef struct string_int_pair_st { # define OPT_FMT_SMIME (1L << 3) # define OPT_FMT_ENGINE (1L << 4) # define OPT_FMT_MSBLOB (1L << 5) -# define OPT_FMT_NETSCAPE (1L << 6) +/* (1L << 6) was OPT_FMT_NETSCAPE, but wasn't used */ # define OPT_FMT_NSS (1L << 7) # define OPT_FMT_TEXT (1L << 8) # define OPT_FMT_HTTP (1L << 9) @@ -378,8 +378,8 @@ typedef struct string_int_pair_st { # define OPT_FMT_PDS (OPT_FMT_PEMDER | OPT_FMT_SMIME) # define OPT_FMT_ANY ( \ OPT_FMT_PEMDER | OPT_FMT_PKCS12 | OPT_FMT_SMIME | \ - OPT_FMT_ENGINE | OPT_FMT_MSBLOB | OPT_FMT_NETSCAPE | \ - OPT_FMT_NSS | OPT_FMT_TEXT | OPT_FMT_HTTP | OPT_FMT_PVK) + OPT_FMT_ENGINE | OPT_FMT_MSBLOB | OPT_FMT_NSS | \ + OPT_FMT_TEXT | OPT_FMT_HTTP | OPT_FMT_PVK) char *opt_progname(const char *argv0); char *opt_getprog(void); diff --git a/apps/opt.c b/apps/opt.c index cc14184..6668565 100644 --- a/apps/opt.c +++ b/apps/opt.c @@ -168,7 +168,6 @@ static OPT_PAIR formats[] = { {"smime", OPT_FMT_SMIME}, {"engine", OPT_FMT_ENGINE}, {"msblob", OPT_FMT_MSBLOB}, - {"netscape", OPT_FMT_NETSCAPE}, {"nss", OPT_FMT_NSS}, {"text", OPT_FMT_TEXT}, {"http", OPT_FMT_HTTP}, diff --git a/apps/rsa.c b/apps/rsa.c index 6458b3d..5098a20 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -38,8 +38,8 @@ typedef enum OPTION_choice { const OPTIONS rsa_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"inform", OPT_INFORM, 'f', "Input format, one of DER NET PEM"}, - {"outform", OPT_OUTFORM, 'f', "Output format, one of DER NET PEM PVK"}, + {"inform", OPT_INFORM, 'f', "Input format, one of DER PEM"}, + {"outform", OPT_OUTFORM, 'f', "Output format, one of DER PEM PVK"}, {"in", OPT_IN, 's', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pubin", OPT_PUBIN, '-', "Expect a public key in input file"}, diff --git a/apps/x509.c b/apps/x509.c index d40960c..81291a9 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -67,10 +67,10 @@ typedef enum OPTION_choice { const OPTIONS x509_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, {"inform", OPT_INFORM, 'f', - "Input format - default PEM (one of DER, NET or PEM)"}, + "Input format - default PEM (one of DER or PEM)"}, {"in", OPT_IN, '<', "Input file - default stdin"}, {"outform", OPT_OUTFORM, 'f', - "Output format - default PEM (one of DER, NET or PEM)"}, + "Output format - default PEM (one of DER or PEM)"}, {"out", OPT_OUT, '>', "Output file - default stdout"}, {"keyform", OPT_KEYFORM, 'F', "Private key format - default PEM"}, {"passin", OPT_PASSIN, 's', "Private key password/pass-phrase source"}, diff --git a/doc/man1/rsa.pod b/doc/man1/rsa.pod index 14a8fb1..37f6461 100644 --- a/doc/man1/rsa.pod +++ b/doc/man1/rsa.pod @@ -9,8 +9,8 @@ rsa - RSA key processing tool B B [B<-help>] -[B<-inform PEM|NET|DER>] -[B<-outform PEM|NET|DER>] +[B<-inform PEM|DER>] +[B<-outform PEM|DER>] [B<-in filename>] [B<-passin arg>] [B<-out filename>] @@ -53,16 +53,15 @@ utility. Print out a usage message. -=item B<-inform DER|NET|PEM> +=item B<-inform DER|PEM> This specifies the input format. The B option uses an ASN1 DER encoded form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. The B form is the default format: it consists of the B format base64 encoded with additional header and footer lines. On input PKCS#8 format private -keys are also accepted. The B form is a format is described in the B -section. +keys are also accepted. -=item B<-outform DER|NET|PEM> +=item B<-outform DER|PEM> This specifies the output format, the options have the same meaning and default as the B<-inform> option. @@ -158,17 +157,6 @@ The PEM B format uses the header and footer lines: -----BEGIN RSA PUBLIC KEY----- -----END RSA PUBLIC KEY----- -The B form is a format compatible with older Netscape servers -and Microsoft IIS .key files, this uses unsalted RC4 for its encryption. -It is not very secure and so should only be used when necessary. - -Some newer version of IIS have additional data in the exported .key -files. To use these with the utility, view the file with a binary editor -and look for the string "private-key", then trace back to the byte -sequence 0x30, 0x82 (this is an ASN1 SEQUENCE). Copy all the data -from this point onwards to another file and use that as the input -to the B utility with the B<-inform NET> option. - =head1 EXAMPLES To remove the pass phrase on an RSA private key: @@ -197,9 +185,6 @@ Output the public part of a private key in B format: =head1 BUGS -The command line password arguments don't currently work with -B format. - There should be an option that automatically handles .key files, without having to manually edit them. diff --git a/doc/man1/x509.pod b/doc/man1/x509.pod index 6e4d288..547da5d 100644 --- a/doc/man1/x509.pod +++ b/doc/man1/x509.pod @@ -9,8 +9,8 @@ x509 - Certificate display and signing utility B B [B<-help>] -[B<-inform DER|PEM|NET>] -[B<-outform DER|PEM|NET>] +[B<-inform DER|PEM>] +[B<-outform DER|PEM>] [B<-keyform DER|PEM>] [B<-CAform DER|PEM>] [B<-CAkeyform DER|PEM>] @@ -86,16 +86,15 @@ various sections. Print out a usage message. -=item B<-inform DER|PEM|NET> +=item B<-inform DER|PEM> This specifies the input format normally the command will expect an X509 certificate but this can change if other options such as B<-req> are present. The DER format is the DER encoding of the certificate and PEM is the base64 encoding of the DER encoding with header and footer lines -added. The NET option is an obscure Netscape server format that is now -obsolete. The default format is PEM. +added. The default format is PEM. -=item B<-outform DER|PEM|NET> +=item B<-outform DER|PEM> This specifies the output format, the options have the same meaning and default as the B<-inform> option. From matt at openssl.org Fri Nov 2 10:05:03 2018 From: matt at openssl.org (Matt Caswell) Date: Fri, 02 Nov 2018 10:05:03 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1541153103.301465.31391.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via f1e5009c1c95b708b9ba21c23693f95468089419 (commit) from 880d1c76ed9916cddb97fe05fb4c144f0f6f1012 (commit) - Log ----------------------------------------------------------------- commit f1e5009c1c95b708b9ba21c23693f95468089419 Author: Matt Caswell Date: Tue Oct 16 17:08:11 2018 +0100 Properly handle duplicated messages from the next epoch Since 3884b47b7c we may attempt to buffer a record from the next epoch that has already been buffered. Prior to that this never occurred. We simply ignore a failure to buffer a duplicated record. Fixes #6902 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7415) ----------------------------------------------------------------------- Summary of changes: ssl/d1_pkt.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c index f5deddf..23aa9db 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -293,14 +293,12 @@ dtls1_buffer_record(SSL *s, record_pqueue *queue, unsigned char *priority) return (-1); } - /* insert should not fail, since duplicates are dropped */ if (pqueue_insert(queue->q, item) == NULL) { - SSLerr(SSL_F_DTLS1_BUFFER_RECORD, ERR_R_INTERNAL_ERROR); + /* Must be a duplicate so ignore it */ if (rdata->rbuf.buf != NULL) OPENSSL_free(rdata->rbuf.buf); OPENSSL_free(rdata); pitem_free(item); - return (-1); } return (1); From levitte at openssl.org Fri Nov 2 14:01:23 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 02 Nov 2018 14:01:23 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541167283.640947.30513.nullmailer@dev.openssl.org> The branch master has been updated via 2b201ce9417cc6e617b7ca2db0a99cc87bbc343b (commit) from d91d443f0d26262148d1dc9d29f9fdf025b958ca (commit) - Log ----------------------------------------------------------------- commit 2b201ce9417cc6e617b7ca2db0a99cc87bbc343b Author: Richard Levitte Date: Fri Nov 2 10:11:55 2018 +0100 doc/man7/EVP_MAC_*.pod: incorrect english corrected Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/7552) ----------------------------------------------------------------------- Summary of changes: doc/man7/EVP_MAC_CMAC.pod | 2 +- doc/man7/EVP_MAC_HMAC.pod | 2 +- doc/man7/EVP_MAC_SIPHASH.pod | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/man7/EVP_MAC_CMAC.pod b/doc/man7/EVP_MAC_CMAC.pod index bb37472..12c18a8 100644 --- a/doc/man7/EVP_MAC_CMAC.pod +++ b/doc/man7/EVP_MAC_CMAC.pod @@ -22,7 +22,7 @@ The supported controls are: =item B -EVP_MAC_ctrl_str() takes to type string for this control: +EVP_MAC_ctrl_str() takes two type strings for this control: =over 4 diff --git a/doc/man7/EVP_MAC_HMAC.pod b/doc/man7/EVP_MAC_HMAC.pod index 8276ff3..3e6f252 100644 --- a/doc/man7/EVP_MAC_HMAC.pod +++ b/doc/man7/EVP_MAC_HMAC.pod @@ -22,7 +22,7 @@ The supported controls are: =item B -EVP_MAC_ctrl_str() takes to type string for this control: +EVP_MAC_ctrl_str() takes two type strings for this control: =over 4 diff --git a/doc/man7/EVP_MAC_SIPHASH.pod b/doc/man7/EVP_MAC_SIPHASH.pod index 841cd7d..0d1349f 100644 --- a/doc/man7/EVP_MAC_SIPHASH.pod +++ b/doc/man7/EVP_MAC_SIPHASH.pod @@ -28,7 +28,7 @@ The value string is expected to contain a decimal number. =item B -EVP_MAC_ctrl_str() takes to type string for this control: +EVP_MAC_ctrl_str() takes two type strings for this control: =over 4 From levitte at openssl.org Fri Nov 2 19:22:34 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 02 Nov 2018 19:22:34 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541186554.963874.4346.nullmailer@dev.openssl.org> The branch master has been updated via 681e8cacdbdc44ac00af29b6656fc52745a9baa2 (commit) via 458c7dad9e3f59490fb0908c1a27ca39e4cf38dd (commit) via 28ac1bd9a97d9725273956e26d89ccfa5b4de67b (commit) via 36af124bfb209b49cb92a5fb9fab627d9cd4a44b (commit) from 2b201ce9417cc6e617b7ca2db0a99cc87bbc343b (commit) - Log ----------------------------------------------------------------- commit 681e8cacdbdc44ac00af29b6656fc52745a9baa2 Author: Richard Levitte Date: Fri Nov 2 10:24:24 2018 +0100 crypto/engine/eng_devcrypto.c: ensure we don't leak resources If engine building fails for some reason, we must make sure to close the /dev/crypto handle. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) commit 458c7dad9e3f59490fb0908c1a27ca39e4cf38dd Author: Richard Levitte Date: Wed Oct 31 19:23:44 2018 +0100 crypto/engine/eng_devcrypto.c: open /dev/crypto only once We opened /dev/crypto once for each session, which is quite unnecessary. With this change, we open /dev/crypto once at engine init, and close it on unload. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) commit 28ac1bd9a97d9725273956e26d89ccfa5b4de67b Author: Richard Levitte Date: Sat Oct 27 09:26:22 2018 +0200 crypto/engine/eng_devcrypto.c: new compilers are strict on prototypes Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) commit 36af124bfb209b49cb92a5fb9fab627d9cd4a44b Author: Richard Levitte Date: Sat Oct 27 09:15:04 2018 +0200 crypto/engine/eng_devcrypto.c: add digest copy Copying an EVP_MD_CTX, including the implementation local bits, is a necessary operation. In this case, though, it's the same as initializing the local bits to be "copied to". Fixes #7495 Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) ----------------------------------------------------------------------- Summary of changes: crypto/engine/eng_devcrypto.c | 126 +++++++++++++++++++++++------------------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/crypto/engine/eng_devcrypto.c b/crypto/engine/eng_devcrypto.c index 51105ec..4a0ba09 100644 --- a/crypto/engine/eng_devcrypto.c +++ b/crypto/engine/eng_devcrypto.c @@ -28,6 +28,13 @@ # define CHECK_BSD_STYLE_MACROS #endif +/* + * ONE global file descriptor for all sessions. This allows operations + * such as digest session data copying (see digest_copy()), but is also + * saner... why re-open /dev/crypto for every session? + */ +static int cfd; + /****************************************************************************** * * Ciphers @@ -39,7 +46,6 @@ *****/ struct cipher_ctx { - int cfd; struct session_op sess; /* to pass from init to do_cipher */ @@ -135,19 +141,13 @@ static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, const struct cipher_data_st *cipher_d = get_cipher_data(EVP_CIPHER_CTX_nid(ctx)); - if ((cipher_ctx->cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { - SYSerr(SYS_F_OPEN, errno); - return 0; - } - memset(&cipher_ctx->sess, 0, sizeof(cipher_ctx->sess)); cipher_ctx->sess.cipher = cipher_d->devcryptoid; cipher_ctx->sess.keylen = cipher_d->keylen; cipher_ctx->sess.key = (void *)key; cipher_ctx->op = enc ? COP_ENCRYPT : COP_DECRYPT; - if (ioctl(cipher_ctx->cfd, CIOCGSESSION, &cipher_ctx->sess) < 0) { + if (ioctl(cfd, CIOCGSESSION, &cipher_ctx->sess) < 0) { SYSerr(SYS_F_IOCTL, errno); - close(cipher_ctx->cfd); return 0; } @@ -186,7 +186,7 @@ static int cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, cryp.flags = COP_FLAG_WRITE_IV; #endif - if (ioctl(cipher_ctx->cfd, CIOCCRYPT, &cryp) < 0) { + if (ioctl(cfd, CIOCCRYPT, &cryp) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } @@ -212,14 +212,10 @@ static int cipher_cleanup(EVP_CIPHER_CTX *ctx) struct cipher_ctx *cipher_ctx = (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); - if (ioctl(cipher_ctx->cfd, CIOCFSESSION, &cipher_ctx->sess.ses) < 0) { + if (ioctl(cfd, CIOCFSESSION, &cipher_ctx->sess.ses) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } - if (close(cipher_ctx->cfd) < 0) { - SYSerr(SYS_F_CLOSE, errno); - return 0; - } return 1; } @@ -233,14 +229,10 @@ static int known_cipher_nids[OSSL_NELEM(cipher_data)]; static int known_cipher_nids_amount = -1; /* -1 indicates not yet initialised */ static EVP_CIPHER *known_cipher_methods[OSSL_NELEM(cipher_data)] = { NULL, }; -static void prepare_cipher_methods() +static void prepare_cipher_methods(void) { size_t i; struct session_op sess; - int cfd; - - if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) - return; memset(&sess, 0, sizeof(sess)); sess.key = (void *)"01234567890123456789012345678901234567890123456789"; @@ -281,8 +273,6 @@ static void prepare_cipher_methods() cipher_data[i].nid; } } - - close(cfd); } static const EVP_CIPHER *get_cipher_method(int nid) @@ -308,7 +298,7 @@ static void destroy_cipher_method(int nid) known_cipher_methods[i] = NULL; } -static void destroy_all_cipher_methods() +static void destroy_all_cipher_methods(void) { size_t i; @@ -329,11 +319,12 @@ static int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher, /* * We only support digests if the cryptodev implementation supports multiple - * data updates. Otherwise, we would be forced to maintain a cache, which is - * perilous if there's a lot of data coming in (if someone wants to checksum - * an OpenSSL tarball, for example). + * data updates and session copying. Otherwise, we would be forced to maintain + * a cache, which is perilous if there's a lot of data coming in (if someone + * wants to checksum an OpenSSL tarball, for example). */ -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#if defined(CIOCCPHASH) && defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#define IMPLEMENT_DIGEST /****************************************************************************** * @@ -346,7 +337,6 @@ static int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher, *****/ struct digest_ctx { - int cfd; struct session_op sess; int init; }; @@ -413,19 +403,12 @@ static int digest_init(EVP_MD_CTX *ctx) const struct digest_data_st *digest_d = get_digest_data(EVP_MD_CTX_type(ctx)); - if (digest_ctx->init == 0 - && (digest_ctx->cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { - SYSerr(SYS_F_OPEN, errno); - return 0; - } - digest_ctx->init = 1; memset(&digest_ctx->sess, 0, sizeof(digest_ctx->sess)); digest_ctx->sess.mac = digest_d->devcryptoid; - if (ioctl(digest_ctx->cfd, CIOCGSESSION, &digest_ctx->sess) < 0) { + if (ioctl(cfd, CIOCGSESSION, &digest_ctx->sess) < 0) { SYSerr(SYS_F_IOCTL, errno); - close(digest_ctx->cfd); return 0; } @@ -444,7 +427,7 @@ static int digest_op(struct digest_ctx *ctx, const void *src, size_t srclen, cryp.dst = NULL; cryp.mac = res; cryp.flags = flags; - return ioctl(ctx->cfd, CIOCCRYPT, &cryp); + return ioctl(cfd, CIOCCRYPT, &cryp); } static int digest_update(EVP_MD_CTX *ctx, const void *data, size_t count) @@ -472,7 +455,7 @@ static int digest_final(EVP_MD_CTX *ctx, unsigned char *md) SYSerr(SYS_F_IOCTL, errno); return 0; } - if (ioctl(digest_ctx->cfd, CIOCFSESSION, &digest_ctx->sess.ses) < 0) { + if (ioctl(cfd, CIOCFSESSION, &digest_ctx->sess.ses) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } @@ -480,16 +463,38 @@ static int digest_final(EVP_MD_CTX *ctx, unsigned char *md) return 1; } -static int digest_cleanup(EVP_MD_CTX *ctx) +static int digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) { - struct digest_ctx *digest_ctx = - (struct digest_ctx *)EVP_MD_CTX_md_data(ctx); + struct digest_ctx *digest_from = + (struct digest_ctx *)EVP_MD_CTX_md_data(from); + struct digest_ctx *digest_to = + (struct digest_ctx *)EVP_MD_CTX_md_data(to); + struct cphash_op cphash; + + if (digest_from == NULL) + return 1; - if (close(digest_ctx->cfd) < 0) { - SYSerr(SYS_F_CLOSE, errno); + if (digest_from->init != 1) { + SYSerr(SYS_F_IOCTL, EINVAL); return 0; } + if (!digest_init(to)) { + SYSerr(SYS_F_IOCTL, errno); + return 0; + } + + cphash.src_ses = digest_from->sess.ses; + cphash.dst_ses = digest_to->sess.ses; + if (ioctl(cfd, CIOCCPHASH, &cphash) < 0) { + SYSerr(SYS_F_IOCTL, errno); + return 0; + } + return 1; +} + +static int digest_cleanup(EVP_MD_CTX *ctx) +{ return 1; } @@ -502,14 +507,10 @@ static int known_digest_nids[OSSL_NELEM(digest_data)]; static int known_digest_nids_amount = -1; /* -1 indicates not yet initialised */ static EVP_MD *known_digest_methods[OSSL_NELEM(digest_data)] = { NULL, }; -static void prepare_digest_methods() +static void prepare_digest_methods(void) { size_t i; struct session_op sess; - int cfd; - - if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) - return; memset(&sess, 0, sizeof(sess)); @@ -532,6 +533,7 @@ static void prepare_digest_methods() || !EVP_MD_meth_set_init(known_digest_methods[i], digest_init) || !EVP_MD_meth_set_update(known_digest_methods[i], digest_update) || !EVP_MD_meth_set_final(known_digest_methods[i], digest_final) + || !EVP_MD_meth_set_copy(known_digest_methods[i], digest_copy) || !EVP_MD_meth_set_cleanup(known_digest_methods[i], digest_cleanup) || !EVP_MD_meth_set_app_datasize(known_digest_methods[i], sizeof(struct digest_ctx))) { @@ -541,8 +543,6 @@ static void prepare_digest_methods() known_digest_nids[known_digest_nids_amount++] = digest_data[i].nid; } } - - close(cfd); } static const EVP_MD *get_digest_method(int nid) @@ -568,7 +568,7 @@ static void destroy_digest_method(int nid) known_digest_methods[i] = NULL; } -static void destroy_all_digest_methods() +static void destroy_all_digest_methods(void) { size_t i; @@ -598,9 +598,12 @@ static int devcrypto_digests(ENGINE *e, const EVP_MD **digest, static int devcrypto_unload(ENGINE *e) { destroy_all_cipher_methods(); -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST destroy_all_digest_methods(); #endif + + close(cfd); + return 1; } /* @@ -611,23 +614,30 @@ void engine_load_devcrypto_int() { ENGINE *e = NULL; - if (access("/dev/crypto", R_OK | W_OK) < 0) { - fprintf(stderr, - "/dev/crypto not present, not enabling devcrypto engine\n"); + if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { + fprintf(stderr, "Could not open /dev/crypto: %s\n", strerror(errno)); return; } prepare_cipher_methods(); -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST prepare_digest_methods(); #endif - if ((e = ENGINE_new()) == NULL) + if ((e = ENGINE_new()) == NULL + || !ENGINE_set_destroy_function(e, devcrypto_unload)) { + ENGINE_free(e); + /* + * We know that devcrypto_unload() won't be called when one of the + * above two calls have failed, so we close cfd explicitly here to + * avoid leaking resources. + */ + close(cfd); return; + } if (!ENGINE_set_id(e, "devcrypto") || !ENGINE_set_name(e, "/dev/crypto engine") - || !ENGINE_set_destroy_function(e, devcrypto_unload) /* * Asymmetric ciphers aren't well supported with /dev/crypto. Among the BSD @@ -664,7 +674,7 @@ void engine_load_devcrypto_int() # endif #endif || !ENGINE_set_ciphers(e, devcrypto_ciphers) -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST || !ENGINE_set_digests(e, devcrypto_digests) #endif ) { From levitte at openssl.org Fri Nov 2 19:24:22 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 02 Nov 2018 19:24:22 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541186662.240822.5334.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via cd01707b7f7e71b6c5df013212c9b3613e9eab7c (commit) via 120fc33e29957864168dd3693df5992b62e58c04 (commit) via dcbbcf083c562b99e5a71429f7f35d7f171fc462 (commit) via 3dcca12a206119a1faed773135949d4b56af12c9 (commit) from b33e7698b8cb853bf94623e5e26f860a893eb677 (commit) - Log ----------------------------------------------------------------- commit cd01707b7f7e71b6c5df013212c9b3613e9eab7c Author: Richard Levitte Date: Fri Nov 2 10:24:24 2018 +0100 crypto/engine/eng_devcrypto.c: ensure we don't leak resources If engine building fails for some reason, we must make sure to close the /dev/crypto handle. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) (cherry picked from commit 681e8cacdbdc44ac00af29b6656fc52745a9baa2) commit 120fc33e29957864168dd3693df5992b62e58c04 Author: Richard Levitte Date: Wed Oct 31 19:23:44 2018 +0100 crypto/engine/eng_devcrypto.c: open /dev/crypto only once We opened /dev/crypto once for each session, which is quite unnecessary. With this change, we open /dev/crypto once at engine init, and close it on unload. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) (cherry picked from commit 458c7dad9e3f59490fb0908c1a27ca39e4cf38dd) commit dcbbcf083c562b99e5a71429f7f35d7f171fc462 Author: Richard Levitte Date: Sat Oct 27 09:26:22 2018 +0200 crypto/engine/eng_devcrypto.c: new compilers are strict on prototypes Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) (cherry picked from commit 28ac1bd9a97d9725273956e26d89ccfa5b4de67b) commit 3dcca12a206119a1faed773135949d4b56af12c9 Author: Richard Levitte Date: Sat Oct 27 09:15:04 2018 +0200 crypto/engine/eng_devcrypto.c: add digest copy Copying an EVP_MD_CTX, including the implementation local bits, is a necessary operation. In this case, though, it's the same as initializing the local bits to be "copied to". Fixes #7495 Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7506) (cherry picked from commit 36af124bfb209b49cb92a5fb9fab627d9cd4a44b) ----------------------------------------------------------------------- Summary of changes: crypto/engine/eng_devcrypto.c | 126 +++++++++++++++++++++++------------------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/crypto/engine/eng_devcrypto.c b/crypto/engine/eng_devcrypto.c index 51105ec..4a0ba09 100644 --- a/crypto/engine/eng_devcrypto.c +++ b/crypto/engine/eng_devcrypto.c @@ -28,6 +28,13 @@ # define CHECK_BSD_STYLE_MACROS #endif +/* + * ONE global file descriptor for all sessions. This allows operations + * such as digest session data copying (see digest_copy()), but is also + * saner... why re-open /dev/crypto for every session? + */ +static int cfd; + /****************************************************************************** * * Ciphers @@ -39,7 +46,6 @@ *****/ struct cipher_ctx { - int cfd; struct session_op sess; /* to pass from init to do_cipher */ @@ -135,19 +141,13 @@ static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, const struct cipher_data_st *cipher_d = get_cipher_data(EVP_CIPHER_CTX_nid(ctx)); - if ((cipher_ctx->cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { - SYSerr(SYS_F_OPEN, errno); - return 0; - } - memset(&cipher_ctx->sess, 0, sizeof(cipher_ctx->sess)); cipher_ctx->sess.cipher = cipher_d->devcryptoid; cipher_ctx->sess.keylen = cipher_d->keylen; cipher_ctx->sess.key = (void *)key; cipher_ctx->op = enc ? COP_ENCRYPT : COP_DECRYPT; - if (ioctl(cipher_ctx->cfd, CIOCGSESSION, &cipher_ctx->sess) < 0) { + if (ioctl(cfd, CIOCGSESSION, &cipher_ctx->sess) < 0) { SYSerr(SYS_F_IOCTL, errno); - close(cipher_ctx->cfd); return 0; } @@ -186,7 +186,7 @@ static int cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, cryp.flags = COP_FLAG_WRITE_IV; #endif - if (ioctl(cipher_ctx->cfd, CIOCCRYPT, &cryp) < 0) { + if (ioctl(cfd, CIOCCRYPT, &cryp) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } @@ -212,14 +212,10 @@ static int cipher_cleanup(EVP_CIPHER_CTX *ctx) struct cipher_ctx *cipher_ctx = (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); - if (ioctl(cipher_ctx->cfd, CIOCFSESSION, &cipher_ctx->sess.ses) < 0) { + if (ioctl(cfd, CIOCFSESSION, &cipher_ctx->sess.ses) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } - if (close(cipher_ctx->cfd) < 0) { - SYSerr(SYS_F_CLOSE, errno); - return 0; - } return 1; } @@ -233,14 +229,10 @@ static int known_cipher_nids[OSSL_NELEM(cipher_data)]; static int known_cipher_nids_amount = -1; /* -1 indicates not yet initialised */ static EVP_CIPHER *known_cipher_methods[OSSL_NELEM(cipher_data)] = { NULL, }; -static void prepare_cipher_methods() +static void prepare_cipher_methods(void) { size_t i; struct session_op sess; - int cfd; - - if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) - return; memset(&sess, 0, sizeof(sess)); sess.key = (void *)"01234567890123456789012345678901234567890123456789"; @@ -281,8 +273,6 @@ static void prepare_cipher_methods() cipher_data[i].nid; } } - - close(cfd); } static const EVP_CIPHER *get_cipher_method(int nid) @@ -308,7 +298,7 @@ static void destroy_cipher_method(int nid) known_cipher_methods[i] = NULL; } -static void destroy_all_cipher_methods() +static void destroy_all_cipher_methods(void) { size_t i; @@ -329,11 +319,12 @@ static int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher, /* * We only support digests if the cryptodev implementation supports multiple - * data updates. Otherwise, we would be forced to maintain a cache, which is - * perilous if there's a lot of data coming in (if someone wants to checksum - * an OpenSSL tarball, for example). + * data updates and session copying. Otherwise, we would be forced to maintain + * a cache, which is perilous if there's a lot of data coming in (if someone + * wants to checksum an OpenSSL tarball, for example). */ -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#if defined(CIOCCPHASH) && defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#define IMPLEMENT_DIGEST /****************************************************************************** * @@ -346,7 +337,6 @@ static int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher, *****/ struct digest_ctx { - int cfd; struct session_op sess; int init; }; @@ -413,19 +403,12 @@ static int digest_init(EVP_MD_CTX *ctx) const struct digest_data_st *digest_d = get_digest_data(EVP_MD_CTX_type(ctx)); - if (digest_ctx->init == 0 - && (digest_ctx->cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { - SYSerr(SYS_F_OPEN, errno); - return 0; - } - digest_ctx->init = 1; memset(&digest_ctx->sess, 0, sizeof(digest_ctx->sess)); digest_ctx->sess.mac = digest_d->devcryptoid; - if (ioctl(digest_ctx->cfd, CIOCGSESSION, &digest_ctx->sess) < 0) { + if (ioctl(cfd, CIOCGSESSION, &digest_ctx->sess) < 0) { SYSerr(SYS_F_IOCTL, errno); - close(digest_ctx->cfd); return 0; } @@ -444,7 +427,7 @@ static int digest_op(struct digest_ctx *ctx, const void *src, size_t srclen, cryp.dst = NULL; cryp.mac = res; cryp.flags = flags; - return ioctl(ctx->cfd, CIOCCRYPT, &cryp); + return ioctl(cfd, CIOCCRYPT, &cryp); } static int digest_update(EVP_MD_CTX *ctx, const void *data, size_t count) @@ -472,7 +455,7 @@ static int digest_final(EVP_MD_CTX *ctx, unsigned char *md) SYSerr(SYS_F_IOCTL, errno); return 0; } - if (ioctl(digest_ctx->cfd, CIOCFSESSION, &digest_ctx->sess.ses) < 0) { + if (ioctl(cfd, CIOCFSESSION, &digest_ctx->sess.ses) < 0) { SYSerr(SYS_F_IOCTL, errno); return 0; } @@ -480,16 +463,38 @@ static int digest_final(EVP_MD_CTX *ctx, unsigned char *md) return 1; } -static int digest_cleanup(EVP_MD_CTX *ctx) +static int digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) { - struct digest_ctx *digest_ctx = - (struct digest_ctx *)EVP_MD_CTX_md_data(ctx); + struct digest_ctx *digest_from = + (struct digest_ctx *)EVP_MD_CTX_md_data(from); + struct digest_ctx *digest_to = + (struct digest_ctx *)EVP_MD_CTX_md_data(to); + struct cphash_op cphash; + + if (digest_from == NULL) + return 1; - if (close(digest_ctx->cfd) < 0) { - SYSerr(SYS_F_CLOSE, errno); + if (digest_from->init != 1) { + SYSerr(SYS_F_IOCTL, EINVAL); return 0; } + if (!digest_init(to)) { + SYSerr(SYS_F_IOCTL, errno); + return 0; + } + + cphash.src_ses = digest_from->sess.ses; + cphash.dst_ses = digest_to->sess.ses; + if (ioctl(cfd, CIOCCPHASH, &cphash) < 0) { + SYSerr(SYS_F_IOCTL, errno); + return 0; + } + return 1; +} + +static int digest_cleanup(EVP_MD_CTX *ctx) +{ return 1; } @@ -502,14 +507,10 @@ static int known_digest_nids[OSSL_NELEM(digest_data)]; static int known_digest_nids_amount = -1; /* -1 indicates not yet initialised */ static EVP_MD *known_digest_methods[OSSL_NELEM(digest_data)] = { NULL, }; -static void prepare_digest_methods() +static void prepare_digest_methods(void) { size_t i; struct session_op sess; - int cfd; - - if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) - return; memset(&sess, 0, sizeof(sess)); @@ -532,6 +533,7 @@ static void prepare_digest_methods() || !EVP_MD_meth_set_init(known_digest_methods[i], digest_init) || !EVP_MD_meth_set_update(known_digest_methods[i], digest_update) || !EVP_MD_meth_set_final(known_digest_methods[i], digest_final) + || !EVP_MD_meth_set_copy(known_digest_methods[i], digest_copy) || !EVP_MD_meth_set_cleanup(known_digest_methods[i], digest_cleanup) || !EVP_MD_meth_set_app_datasize(known_digest_methods[i], sizeof(struct digest_ctx))) { @@ -541,8 +543,6 @@ static void prepare_digest_methods() known_digest_nids[known_digest_nids_amount++] = digest_data[i].nid; } } - - close(cfd); } static const EVP_MD *get_digest_method(int nid) @@ -568,7 +568,7 @@ static void destroy_digest_method(int nid) known_digest_methods[i] = NULL; } -static void destroy_all_digest_methods() +static void destroy_all_digest_methods(void) { size_t i; @@ -598,9 +598,12 @@ static int devcrypto_digests(ENGINE *e, const EVP_MD **digest, static int devcrypto_unload(ENGINE *e) { destroy_all_cipher_methods(); -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST destroy_all_digest_methods(); #endif + + close(cfd); + return 1; } /* @@ -611,23 +614,30 @@ void engine_load_devcrypto_int() { ENGINE *e = NULL; - if (access("/dev/crypto", R_OK | W_OK) < 0) { - fprintf(stderr, - "/dev/crypto not present, not enabling devcrypto engine\n"); + if ((cfd = open("/dev/crypto", O_RDWR, 0)) < 0) { + fprintf(stderr, "Could not open /dev/crypto: %s\n", strerror(errno)); return; } prepare_cipher_methods(); -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST prepare_digest_methods(); #endif - if ((e = ENGINE_new()) == NULL) + if ((e = ENGINE_new()) == NULL + || !ENGINE_set_destroy_function(e, devcrypto_unload)) { + ENGINE_free(e); + /* + * We know that devcrypto_unload() won't be called when one of the + * above two calls have failed, so we close cfd explicitly here to + * avoid leaking resources. + */ + close(cfd); return; + } if (!ENGINE_set_id(e, "devcrypto") || !ENGINE_set_name(e, "/dev/crypto engine") - || !ENGINE_set_destroy_function(e, devcrypto_unload) /* * Asymmetric ciphers aren't well supported with /dev/crypto. Among the BSD @@ -664,7 +674,7 @@ void engine_load_devcrypto_int() # endif #endif || !ENGINE_set_ciphers(e, devcrypto_ciphers) -#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_FINAL) +#ifdef IMPLEMENT_DIGEST || !ENGINE_set_digests(e, devcrypto_digests) #endif ) { From no-reply at appveyor.com Sat Nov 3 17:49:01 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 03 Nov 2018 17:49:01 +0000 Subject: [openssl-commits] Build failed: openssl master.20766 Message-ID: <20181103174901.1.3834F47980B4620E@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Nov 3 22:26:40 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 03 Nov 2018 22:26:40 +0000 Subject: [openssl-commits] Build failed: openssl master.20767 Message-ID: <20181103222640.1.61EA73D3BB46D7FB@appveyor.com> An HTML attachment was scrubbed... URL: From kaduk at mit.edu Sun Nov 4 04:26:52 2018 From: kaduk at mit.edu (kaduk at mit.edu) Date: Sun, 04 Nov 2018 04:26:52 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541305612.868686.22693.nullmailer@dev.openssl.org> The branch master has been updated via 2aaa0b146b967397a6e61fa8df969e7847f82086 (commit) via 95658c32436017aeeef3d8598957071baf6769a9 (commit) from 681e8cacdbdc44ac00af29b6656fc52745a9baa2 (commit) - Log ----------------------------------------------------------------- commit 2aaa0b146b967397a6e61fa8df969e7847f82086 Author: Benjamin Kaduk Date: Mon Oct 22 11:54:20 2018 -0500 Restore sensible "sess_accept" counter tracking Commit 9ef9088c1585e13b9727796f15f77da64dbbe623 switched the SSL/SSL_CTX statistics counters to using Thread-Sanitizer-friendly primitives. However, it erroneously converted an addition of -1 (for s->session_ctx->stats.sess_accept) to an addition of +1, since that is the only counter API provided by the internal tsan_assist.h header until the previous commit. This means that for each accepted (initial) connection, the session_ctx's counter would get doubly incremented, and the (switched) ctx's counter would also get incremented. Restore the counter decrement so that each accepted connection increments exactly one counter exactly once (in net effect). Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7464) commit 95658c32436017aeeef3d8598957071baf6769a9 Author: Benjamin Kaduk Date: Mon Oct 22 11:51:35 2018 -0500 Add tsan_decr() API, counterpart of tsan_counter() The existing tsan_counter() API increments a reference counter. Provide a new API, tsan_decr(), to decrement such a reference counter. This can be used, for example, when a reference is added to the session_ctx's sess_accept stats but should more properly be tracked in the regular ctx's statistics. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7464) ----------------------------------------------------------------------- Summary of changes: include/internal/tsan_assist.h | 6 ++++++ ssl/statem/extensions.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/internal/tsan_assist.h b/include/internal/tsan_assist.h index 2c76383..f30ffe3 100644 --- a/include/internal/tsan_assist.h +++ b/include/internal/tsan_assist.h @@ -57,6 +57,7 @@ # define tsan_load(ptr) atomic_load_explicit((ptr), memory_order_relaxed) # define tsan_store(ptr, val) atomic_store_explicit((ptr), (val), memory_order_relaxed) # define tsan_counter(ptr) atomic_fetch_add_explicit((ptr), 1, memory_order_relaxed) +# define tsan_decr(ptr) atomic_fetch_add_explicit((ptr), -1, memory_order_relaxed) # define tsan_ld_acq(ptr) atomic_load_explicit((ptr), memory_order_acquire) # define tsan_st_rel(ptr, val) atomic_store_explicit((ptr), (val), memory_order_release) # endif @@ -69,6 +70,7 @@ # define tsan_load(ptr) __atomic_load_n((ptr), __ATOMIC_RELAXED) # define tsan_store(ptr, val) __atomic_store_n((ptr), (val), __ATOMIC_RELAXED) # define tsan_counter(ptr) __atomic_fetch_add((ptr), 1, __ATOMIC_RELAXED) +# define tsan_decr(ptr) __atomic_fetch_add((ptr), -1, __ATOMIC_RELAXED) # define tsan_ld_acq(ptr) __atomic_load_n((ptr), __ATOMIC_ACQUIRE) # define tsan_st_rel(ptr, val) __atomic_store_n((ptr), (val), __ATOMIC_RELEASE) # endif @@ -113,8 +115,11 @@ # pragma intrinsic(_InterlockedExchangeAdd64) # define tsan_counter(ptr) (sizeof(*(ptr)) == 8 ? _InterlockedExchangeAdd64((ptr), 1) \ : _InterlockedExchangeAdd((ptr), 1)) +# define tsan_decr(ptr) (sizeof(*(ptr)) == 8 ? _InterlockedExchangeAdd64((ptr), -1) \ + : _InterlockedExchangeAdd((ptr), -1)) # else # define tsan_counter(ptr) _InterlockedExchangeAdd((ptr), 1) +# define tsan_decr(ptr) _InterlockedExchangeAdd((ptr), -1) # endif # if !defined(_ISO_VOLATILE) # define tsan_ld_acq(ptr) (*(ptr)) @@ -129,6 +134,7 @@ # define tsan_load(ptr) (*(ptr)) # define tsan_store(ptr, val) (*(ptr) = (val)) # define tsan_counter(ptr) ((*(ptr))++) +# define tsan_decr(ptr) ((*(ptr))--) /* * Lack of tsan_ld_acq and tsan_ld_rel means that compiler support is not * sophisticated enough to support them. Code that relies on them should be diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 8d4939d..ad4256d 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -962,7 +962,7 @@ static int final_server_name(SSL *s, unsigned int context, int sent) */ if (SSL_IS_FIRST_HANDSHAKE(s) && s->ctx != s->session_ctx) { tsan_counter(&s->ctx->stats.sess_accept); - tsan_counter(&s->session_ctx->stats.sess_accept); + tsan_decr(&s->session_ctx->stats.sess_accept); } /* From kaduk at mit.edu Sun Nov 4 04:52:46 2018 From: kaduk at mit.edu (kaduk at mit.edu) Date: Sun, 04 Nov 2018 04:52:46 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541307166.635599.26621.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 33a37a6179bcef6917a28edf7c90a65dcd89ff4a (commit) via a649b52f86a2aa039a15d9c8c0de5b6786bac0fc (commit) from cd01707b7f7e71b6c5df013212c9b3613e9eab7c (commit) - Log ----------------------------------------------------------------- commit 33a37a6179bcef6917a28edf7c90a65dcd89ff4a Author: Benjamin Kaduk Date: Mon Oct 22 11:54:20 2018 -0500 Restore sensible "sess_accept" counter tracking Commit 9ef9088c1585e13b9727796f15f77da64dbbe623 switched the SSL/SSL_CTX statistics counters to using Thread-Sanitizer-friendly primitives. However, it erroneously converted an addition of -1 (for s->session_ctx->stats.sess_accept) to an addition of +1, since that is the only counter API provided by the internal tsan_assist.h header until the previous commit. This means that for each accepted (initial) connection, the session_ctx's counter would get doubly incremented, and the (switched) ctx's counter would also get incremented. Restore the counter decrement so that each accepted connection increments exactly one counter exactly once (in net effect). Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7464) (cherry picked from commit 2aaa0b146b967397a6e61fa8df969e7847f82086) commit a649b52f86a2aa039a15d9c8c0de5b6786bac0fc Author: Benjamin Kaduk Date: Mon Oct 22 11:51:35 2018 -0500 Add tsan_decr() API, counterpart of tsan_counter() The existing tsan_counter() API increments a reference counter. Provide a new API, tsan_decr(), to decrement such a reference counter. This can be used, for example, when a reference is added to the session_ctx's sess_accept stats but should more properly be tracked in the regular ctx's statistics. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7464) (cherry picked from commit 95658c32436017aeeef3d8598957071baf6769a9) ----------------------------------------------------------------------- Summary of changes: include/internal/tsan_assist.h | 6 ++++++ ssl/statem/extensions.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/internal/tsan_assist.h b/include/internal/tsan_assist.h index 2c76383..f30ffe3 100644 --- a/include/internal/tsan_assist.h +++ b/include/internal/tsan_assist.h @@ -57,6 +57,7 @@ # define tsan_load(ptr) atomic_load_explicit((ptr), memory_order_relaxed) # define tsan_store(ptr, val) atomic_store_explicit((ptr), (val), memory_order_relaxed) # define tsan_counter(ptr) atomic_fetch_add_explicit((ptr), 1, memory_order_relaxed) +# define tsan_decr(ptr) atomic_fetch_add_explicit((ptr), -1, memory_order_relaxed) # define tsan_ld_acq(ptr) atomic_load_explicit((ptr), memory_order_acquire) # define tsan_st_rel(ptr, val) atomic_store_explicit((ptr), (val), memory_order_release) # endif @@ -69,6 +70,7 @@ # define tsan_load(ptr) __atomic_load_n((ptr), __ATOMIC_RELAXED) # define tsan_store(ptr, val) __atomic_store_n((ptr), (val), __ATOMIC_RELAXED) # define tsan_counter(ptr) __atomic_fetch_add((ptr), 1, __ATOMIC_RELAXED) +# define tsan_decr(ptr) __atomic_fetch_add((ptr), -1, __ATOMIC_RELAXED) # define tsan_ld_acq(ptr) __atomic_load_n((ptr), __ATOMIC_ACQUIRE) # define tsan_st_rel(ptr, val) __atomic_store_n((ptr), (val), __ATOMIC_RELEASE) # endif @@ -113,8 +115,11 @@ # pragma intrinsic(_InterlockedExchangeAdd64) # define tsan_counter(ptr) (sizeof(*(ptr)) == 8 ? _InterlockedExchangeAdd64((ptr), 1) \ : _InterlockedExchangeAdd((ptr), 1)) +# define tsan_decr(ptr) (sizeof(*(ptr)) == 8 ? _InterlockedExchangeAdd64((ptr), -1) \ + : _InterlockedExchangeAdd((ptr), -1)) # else # define tsan_counter(ptr) _InterlockedExchangeAdd((ptr), 1) +# define tsan_decr(ptr) _InterlockedExchangeAdd((ptr), -1) # endif # if !defined(_ISO_VOLATILE) # define tsan_ld_acq(ptr) (*(ptr)) @@ -129,6 +134,7 @@ # define tsan_load(ptr) (*(ptr)) # define tsan_store(ptr, val) (*(ptr) = (val)) # define tsan_counter(ptr) ((*(ptr))++) +# define tsan_decr(ptr) ((*(ptr))--) /* * Lack of tsan_ld_acq and tsan_ld_rel means that compiler support is not * sophisticated enough to support them. Code that relies on them should be diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 8d4939d..ad4256d 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -962,7 +962,7 @@ static int final_server_name(SSL *s, unsigned int context, int sent) */ if (SSL_IS_FIRST_HANDSHAKE(s) && s->ctx != s->session_ctx) { tsan_counter(&s->ctx->stats.sess_accept); - tsan_counter(&s->session_ctx->stats.sess_accept); + tsan_decr(&s->session_ctx->stats.sess_accept); } /* From scan-admin at coverity.com Sun Nov 4 07:26:20 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 04 Nov 2018 07:26:20 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5bde9f1bc0667_67e2ab1dd750f58714d1@node1.mail> Your request for analysis of openssl/openssl has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEcf-2B75FkFkxwwFKGZV8c1xA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I1-2BQOJ8A0WQCkv1bmCIJ-2B9ZCtdob2w24CVZQLUsgE6mBmfrq8fsaT7MA8x-2BjUIZ8k5uWfs6uO1U5Z3Zkyg1OtCTZkUi5Lnpf7oGURV6hBVC7gsiLXTsuBAXG-2FPrWRPZFvLabvenDk7dRRKeEQFVJSfCx2IsAyMxPDKGGu53JlPALrxpsM5-2Bty8Yub-2Br8TolhOA-3D Build ID: 235651 Analysis Summary: New defects found: 0 Defects eliminated: 2 From scan-admin at coverity.com Sun Nov 4 07:45:54 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 04 Nov 2018 07:45:54 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5bdea3b1558fb_14962ab1dd750f5871432@node1.mail> Your request for analysis of OpenSSL-1.0.2 has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEeuRTZVWU4ku8PUBnVPw8PQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I1S9cq88ZBrvvWXXz-2B7usWcjdn-2Bmn0s6OZoYrpQ-2BGrpoQ5TuabElA929pxqLnweny7ndV1yFR4we3S8vhBo0IwNGooYKU0U6Id7mYUrQ-2BF8m09RkdjgHSkEfXOUXNw4tzPC9MuxjVWBNUIghHKlvTni7UWYIexPMMJHOybSG8th-2Btp44HMYTy-2Fir1usbzh8fmc-3D Build ID: 235659 Analysis Summary: New defects found: 0 Defects eliminated: 0 From pauli at openssl.org Sun Nov 4 22:10:25 2018 From: pauli at openssl.org (Paul I. Dale) Date: Sun, 04 Nov 2018 22:10:25 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541369425.590306.11510.nullmailer@dev.openssl.org> The branch master has been updated via afc580b9b0af0072233e9282915424fd55c366d0 (commit) from 2aaa0b146b967397a6e61fa8df969e7847f82086 (commit) - Log ----------------------------------------------------------------- commit afc580b9b0af0072233e9282915424fd55c366d0 Author: Pauli Date: Mon Nov 5 08:09:41 2018 +1000 GMAC implementation Remove GMAC demo program because it has been superceded by the EVP MAC one Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7548) ----------------------------------------------------------------------- Summary of changes: CHANGES | 3 + Configure | 2 +- crypto/err/openssl.txt | 2 + crypto/evp/c_allm.c | 1 + crypto/evp/evp_err.c | 3 + crypto/gmac/build.info | 2 + crypto/gmac/gmac.c | 183 ++++++++++++++++++++++++ crypto/include/internal/evp_int.h | 1 + crypto/objects/obj_dat.h | 15 +- crypto/objects/obj_mac.num | 1 + crypto/objects/objects.txt | 3 + demos/evp/Makefile | 8 +- demos/evp/gmac.c | 103 ------------- doc/man3/EVP_MAC.pod | 7 + doc/man7/{EVP_MAC_CMAC.pod => EVP_MAC_GMAC.pod} | 26 +++- fuzz/oids.txt | 1 + include/openssl/evp.h | 2 + include/openssl/evperr.h | 2 + include/openssl/obj_mac.h | 5 + test/evp_test.c | 18 +++ test/recipes/30-test_evp_data/evpmac.txt | 69 +++++++++ 21 files changed, 339 insertions(+), 118 deletions(-) create mode 100644 crypto/gmac/build.info create mode 100644 crypto/gmac/gmac.c delete mode 100644 demos/evp/gmac.c copy doc/man7/{EVP_MAC_CMAC.pod => EVP_MAC_GMAC.pod} (66%) diff --git a/CHANGES b/CHANGES index 29be4fc7..de10744 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,9 @@ Changes between 1.1.1 and 1.1.2 [xx XXX xxxx] + *) Add GMAC to EVP_MAC. + [Paul Dale] + *) Ported the HMAC, CMAC and SipHash EVP_PKEY_METHODs to EVP_MAC. [Richard Levitte] diff --git a/Configure b/Configure index f46be6b..53d5549 100755 --- a/Configure +++ b/Configure @@ -308,7 +308,7 @@ $config{sdirs} = [ "bn", "ec", "rsa", "dsa", "dh", "sm2", "dso", "engine", "buffer", "bio", "stack", "lhash", "rand", "err", "evp", "asn1", "pem", "x509", "x509v3", "conf", "txt_db", "pkcs7", "pkcs12", "comp", "ocsp", "ui", - "cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store" + "cms", "ts", "srp", "gmac", "cmac", "ct", "async", "kdf", "store" ]; # test/ subdirectories to build $config{tdirs} = [ "ossl_shim" ]; diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 151bc83..6c52881 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -801,6 +801,7 @@ EVP_F_EVP_PKEY_VERIFY_RECOVER:144:EVP_PKEY_verify_recover EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT:145:EVP_PKEY_verify_recover_init EVP_F_EVP_SIGNFINAL:107:EVP_SignFinal EVP_F_EVP_VERIFYFINAL:108:EVP_VerifyFinal +EVP_F_GMAC_CTRL:215:gmac_ctrl EVP_F_INT_CTX_NEW:157:int_ctx_new EVP_F_OK_NEW:200:ok_new EVP_F_PKCS5_PBE_KEYIVGEN:117:PKCS5_PBE_keyivgen @@ -2223,6 +2224,7 @@ EVP_R_ARIA_KEY_SETUP_FAILED:176:aria key setup failed EVP_R_BAD_DECRYPT:100:bad decrypt EVP_R_BUFFER_TOO_SMALL:155:buffer too small EVP_R_CAMELLIA_KEY_SETUP_FAILED:157:camellia key setup failed +EVP_R_CIPHER_NOT_GCM_MODE:184:cipher not gcm mode EVP_R_CIPHER_PARAMETER_ERROR:122:cipher parameter error EVP_R_COMMAND_NOT_SUPPORTED:147:command not supported EVP_R_COPY_ERROR:173:copy error diff --git a/crypto/evp/c_allm.c b/crypto/evp/c_allm.c index 2bcd9dc..2b9d442 100644 --- a/crypto/evp/c_allm.c +++ b/crypto/evp/c_allm.c @@ -15,6 +15,7 @@ void openssl_add_all_macs_int(void) #ifndef OPENSSL_NO_CMAC EVP_add_mac(&cmac_meth); #endif + EVP_add_mac(&gmac_meth); EVP_add_mac(&hmac_meth); #ifndef OPENSSL_NO_SIPHASH EVP_add_mac(&siphash_meth); diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 32760db..05d9565 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -141,6 +141,7 @@ static const ERR_STRING_DATA EVP_str_functs[] = { "EVP_PKEY_verify_recover_init"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_SIGNFINAL, 0), "EVP_SignFinal"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_VERIFYFINAL, 0), "EVP_VerifyFinal"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_GMAC_CTRL, 0), "gmac_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_INT_CTX_NEW, 0), "int_ctx_new"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_OK_NEW, 0), "ok_new"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKCS5_PBE_KEYIVGEN, 0), "PKCS5_PBE_keyivgen"}, @@ -170,6 +171,8 @@ static const ERR_STRING_DATA EVP_str_reasons[] = { {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_BUFFER_TOO_SMALL), "buffer too small"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_CAMELLIA_KEY_SETUP_FAILED), "camellia key setup failed"}, + {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_CIPHER_NOT_GCM_MODE), + "cipher not gcm mode"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_CIPHER_PARAMETER_ERROR), "cipher parameter error"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_COMMAND_NOT_SUPPORTED), diff --git a/crypto/gmac/build.info b/crypto/gmac/build.info new file mode 100644 index 0000000..6d9f22e --- /dev/null +++ b/crypto/gmac/build.info @@ -0,0 +1,2 @@ +LIBS=../../libcrypto +SOURCE[../../libcrypto]=gmac.c diff --git a/crypto/gmac/gmac.c b/crypto/gmac/gmac.c new file mode 100644 index 0000000..929d9a8 --- /dev/null +++ b/crypto/gmac/gmac.c @@ -0,0 +1,183 @@ +/* + * Copyright 2018 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 + */ + +#include +#include +#include "internal/cryptlib.h" +#include "internal/evp_int.h" + +/* typedef EVP_MAC_IMPL */ +struct evp_mac_impl_st { + EVP_CIPHER *cipher; /* Cache GCM cipher */ + EVP_CIPHER_CTX *ctx; /* Cipher context */ + ENGINE *engine; /* Engine implementating the algorithm */ +}; + +static void gmac_free(EVP_MAC_IMPL *gctx) +{ + if (gctx != NULL) { + EVP_CIPHER_CTX_free(gctx->ctx); + OPENSSL_free(gctx); + } +} + +static EVP_MAC_IMPL *gmac_new(void) +{ + EVP_MAC_IMPL *gctx; + + if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) == NULL + || (gctx->ctx = EVP_CIPHER_CTX_new()) == NULL) { + gmac_free(gctx); + return NULL; + } + return gctx; +} + +static int gmac_copy(EVP_MAC_IMPL *gdst, EVP_MAC_IMPL *gsrc) +{ + gdst->cipher = gsrc->cipher; + gdst->engine = gsrc->engine; + return EVP_CIPHER_CTX_copy(gdst->ctx, gsrc->ctx); +} + +static size_t gmac_size(EVP_MAC_IMPL *gctx) +{ + return EVP_GCM_TLS_TAG_LEN; +} + +static int gmac_init(EVP_MAC_IMPL *gctx) +{ + return 1; +} + +static int gmac_update(EVP_MAC_IMPL *gctx, const unsigned char *data, + size_t datalen) +{ + EVP_CIPHER_CTX *ctx = gctx->ctx; + int outlen; + + while (datalen > INT_MAX) { + if (!EVP_EncryptUpdate(ctx, NULL, &outlen, data, INT_MAX)) + return 0; + data += INT_MAX; + datalen -= INT_MAX; + } + return EVP_EncryptUpdate(ctx, NULL, &outlen, data, datalen); +} + +static int gmac_final(EVP_MAC_IMPL *gctx, unsigned char *out) +{ + int hlen; + + if (!EVP_EncryptFinal_ex(gctx->ctx, out, &hlen) + || !EVP_CIPHER_CTX_ctrl(gctx->ctx, EVP_CTRL_AEAD_GET_TAG, + gmac_size(gctx), out)) + return 0; + return 1; +} + +static int gmac_ctrl(EVP_MAC_IMPL *gctx, int cmd, va_list args) +{ + const unsigned char *p; + size_t len; + EVP_CIPHER_CTX *ctx = gctx->ctx; + const EVP_CIPHER *cipher; + ENGINE *engine; + + switch (cmd) { + case EVP_MAC_CTRL_SET_CIPHER: + cipher = va_arg(args, const EVP_CIPHER *); + if (cipher == NULL) + return 0; + if (EVP_CIPHER_mode(cipher) != EVP_CIPH_GCM_MODE) { + EVPerr(EVP_F_GMAC_CTRL, EVP_R_CIPHER_NOT_GCM_MODE); + return 0; + } + return EVP_EncryptInit_ex(ctx, cipher, NULL, NULL, NULL); + + case EVP_MAC_CTRL_SET_KEY: + p = va_arg(args, const unsigned char *); + len = va_arg(args, size_t); + if (len != (size_t)EVP_CIPHER_CTX_key_length(ctx)) { + EVPerr(EVP_F_GMAC_CTRL, EVP_R_INVALID_KEY_LENGTH); + return 0; + } + return EVP_EncryptInit_ex(ctx, NULL, NULL, p, NULL); + + case EVP_MAC_CTRL_SET_IV: + p = va_arg(args, const unsigned char *); + len = va_arg(args, size_t); + return EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, len, NULL) + && EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, p); + + case EVP_MAC_CTRL_SET_ENGINE: + engine = va_arg(args, ENGINE *); + return EVP_EncryptInit_ex(ctx, NULL, engine, NULL, NULL); + + default: + return -2; + } +} + +static int gmac_ctrl_int(EVP_MAC_IMPL *gctx, int cmd, ...) +{ + int rv; + va_list args; + + va_start(args, cmd); + rv = gmac_ctrl(gctx, cmd, args); + va_end(args); + + return rv; +} + +static int gmac_ctrl_str_cb(void *gctx, int cmd, void *buf, size_t buflen) +{ + return gmac_ctrl_int(gctx, cmd, buf, buflen); +} + +static int gmac_ctrl_str(EVP_MAC_IMPL *gctx, const char *type, + const char *value) +{ + if (!value) + return 0; + if (strcmp(type, "cipher") == 0) { + const EVP_CIPHER *c = EVP_get_cipherbyname(value); + + if (c == NULL) + return 0; + return gmac_ctrl_int(gctx, EVP_MAC_CTRL_SET_CIPHER, c); + } + if (strcmp(type, "key") == 0) + return EVP_str2ctrl(gmac_ctrl_str_cb, gctx, EVP_MAC_CTRL_SET_KEY, + value); + if (strcmp(type, "hexkey") == 0) + return EVP_hex2ctrl(gmac_ctrl_str_cb, gctx, EVP_MAC_CTRL_SET_KEY, + value); + if (strcmp(type, "iv") == 0) + return EVP_str2ctrl(gmac_ctrl_str_cb, gctx, EVP_MAC_CTRL_SET_IV, + value); + if (strcmp(type, "hexiv") == 0) + return EVP_hex2ctrl(gmac_ctrl_str_cb, gctx, EVP_MAC_CTRL_SET_IV, + value); + return -2; +} + +const EVP_MAC gmac_meth = { + EVP_MAC_GMAC, + gmac_new, + gmac_copy, + gmac_free, + gmac_size, + gmac_init, + gmac_update, + gmac_final, + gmac_ctrl, + gmac_ctrl_str +}; diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index 060538e..98adf1f 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -129,6 +129,7 @@ struct evp_mac_st { }; extern const EVP_MAC cmac_meth; +extern const EVP_MAC gmac_meth; extern const EVP_MAC hmac_meth; extern const EVP_MAC siphash_meth; diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index e931f7f..d9365ce 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -10,7 +10,7 @@ */ /* Serialized OID's */ -static const unsigned char so[7762] = { +static const unsigned char so[7767] = { 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */ @@ -1076,9 +1076,10 @@ static const unsigned char so[7762] = { 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x04, /* [ 7736] OBJ_id_tc26_gost_3410_2012_256_paramSetD */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0C, /* [ 7745] OBJ_hmacWithSHA512_224 */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0D, /* [ 7753] OBJ_hmacWithSHA512_256 */ + 0x28,0xCC,0x45,0x03,0x04, /* [ 7761] OBJ_gmac */ }; -#define NUM_NID 1195 +#define NUM_NID 1196 static const ASN1_OBJECT nid_objs[NUM_NID] = { {"UNDEF", "undefined", NID_undef}, {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]}, @@ -2275,9 +2276,10 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"magma-mac", "magma-mac", NID_magma_mac}, {"hmacWithSHA512-224", "hmacWithSHA512-224", NID_hmacWithSHA512_224, 8, &so[7745]}, {"hmacWithSHA512-256", "hmacWithSHA512-256", NID_hmacWithSHA512_256, 8, &so[7753]}, + {"GMAC", "gmac", NID_gmac, 5, &so[7761]}, }; -#define NUM_SN 1186 +#define NUM_SN 1187 static const unsigned int sn_objs[NUM_SN] = { 364, /* "AD_DVCS" */ 419, /* "AES-128-CBC" */ @@ -2424,6 +2426,7 @@ static const unsigned int sn_objs[NUM_SN] = { 297, /* "DVCS" */ 1087, /* "ED25519" */ 1088, /* "ED448" */ + 1195, /* "GMAC" */ 99, /* "GN" */ 1036, /* "HKDF" */ 855, /* "HMAC" */ @@ -3467,7 +3470,7 @@ static const unsigned int sn_objs[NUM_SN] = { 1093, /* "x509ExtAdmission" */ }; -#define NUM_LN 1186 +#define NUM_LN 1187 static const unsigned int ln_objs[NUM_LN] = { 363, /* "AD Time Stamping" */ 405, /* "ANSI X9.62" */ @@ -3961,6 +3964,7 @@ static const unsigned int ln_objs[NUM_LN] = { 509, /* "generationQualifier" */ 601, /* "generic cryptogram" */ 99, /* "givenName" */ + 1195, /* "gmac" */ 976, /* "gost-mac-12" */ 1009, /* "gost89-cbc" */ 814, /* "gost89-cnt" */ @@ -4657,7 +4661,7 @@ static const unsigned int ln_objs[NUM_LN] = { 125, /* "zlib compression" */ }; -#define NUM_OBJ 1071 +#define NUM_OBJ 1072 static const unsigned int obj_objs[NUM_OBJ] = { 0, /* OBJ_undef 0 */ 181, /* OBJ_iso 1 */ @@ -4904,6 +4908,7 @@ static const unsigned int obj_objs[NUM_OBJ] = { 637, /* OBJ_set_brand_Diners 2 23 42 8 30 */ 638, /* OBJ_set_brand_AmericanExpress 2 23 42 8 34 */ 639, /* OBJ_set_brand_JCB 2 23 42 8 35 */ + 1195, /* OBJ_gmac 1 0 9797 3 4 */ 1141, /* OBJ_oscca 1 2 156 10197 */ 805, /* OBJ_cryptopro 1 2 643 2 2 */ 806, /* OBJ_cryptocom 1 2 643 2 9 */ diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 1b6a9c6..487eeff 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1192,3 +1192,4 @@ magma_cfb 1191 magma_mac 1192 hmacWithSHA512_224 1193 hmacWithSHA512_256 1194 +gmac 1195 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index 6dbc41c..1e83dff 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -11,6 +11,9 @@ iso 2 : member-body : ISO Member Body iso 3 : identified-organization +# GMAC OID +iso 0 9797 3 4 : GMAC : gmac + # HMAC OIDs identified-organization 6 1 5 5 8 1 1 : HMAC-MD5 : hmac-md5 identified-organization 6 1 5 5 8 1 2 : HMAC-SHA1 : hmac-sha1 diff --git a/demos/evp/Makefile b/demos/evp/Makefile index 1fb0f39..c2e10a1 100644 --- a/demos/evp/Makefile +++ b/demos/evp/Makefile @@ -7,19 +7,17 @@ # # LD_LIBRARY_PATH=../.. ./aesccm # LD_LIBRARY_PATH=../.. ./aesgcm -# LD_LIBRARY_PATH=../.. ./gmac CFLAGS = $(OPENSSL_INCS_LOCATION) LDFLAGS = $(OPENSSL_LIBS_LOCATION) -lssl -lcrypto -all: aesccm aesgcm gmac +all: aesccm aesgcm aesccm: aesccm.o aesgcm: aesgcm.o -gmac: gmac.o -aesccm aesgcm gmac: +aesccm aesgcm: $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) clean: - $(RM) aesccm aesgcm gmac *.o + $(RM) aesccm aesgcm *.o diff --git a/demos/evp/gmac.c b/demos/evp/gmac.c deleted file mode 100644 index 0b2231b..0000000 --- a/demos/evp/gmac.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2018 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 - */ - -/* - * Simple AES GMAC test program, uses the same NIST data used for the FIPS - * self test but uses the application level EVP APIs. - */ -#include -#include -#include -#include -#include - -/* AES-GMAC test data from NIST public test vectors */ - -static const unsigned char gmac_key[] = { 0x77, 0xbe, 0x63, 0x70, 0x89, 0x71, 0xc4, 0xe2, - 0x40, 0xd1, 0xcb, 0x79, 0xe8, 0xd7, 0x7f, 0xeb }; -static const unsigned char gmac_iv[] = { 0xe0, 0xe0, 0x0f, 0x19, 0xfe, 0xd7, 0xba, 0x01, - 0x36, 0xa7, 0x97, 0xf3 }; -static const unsigned char gmac_aad[] = { 0x7a, 0x43, 0xec, 0x1d, 0x9c, 0x0a, 0x5a, 0x78, - 0xa0, 0xb1, 0x65, 0x33, 0xa6, 0x21, 0x3c, 0xab }; - -static const unsigned char gmac_tag[] = { 0x20, 0x9f, 0xcc, 0x8d, 0x36, 0x75, 0xed, 0x93, - 0x8e, 0x9c, 0x71, 0x66, 0x70, 0x9d, 0xd9, 0x46 }; - -static int aes_gmac(void) -{ - EVP_CIPHER_CTX *ctx; - int outlen, tmplen; - unsigned char outbuf[1024]; - int ret = 0; - - printf("AES GMAC:\n"); - printf("Authenticated Data:\n"); - BIO_dump_fp(stdout, gmac_aad, sizeof(gmac_aad)); - - if ((ctx = EVP_CIPHER_CTX_new()) == NULL) { - printf("EVP_CIPHER_CTX_new: failed\n"); - goto err; - } - - /* Set cipher type and mode */ - if (!EVP_EncryptInit_ex(ctx, EVP_aes_128_gcm(), NULL, NULL, NULL)) { - printf("EVP_EncryptInit_ex: failed\n"); - goto err; - } - - /* Set IV length if default 96 bits is not appropriate */ - if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, sizeof(gmac_iv), - NULL)) { - printf("EVP_CIPHER_CTX_ctrl: set IV length failed\n"); - goto err; - } - - /* Initialise key and IV */ - if (!EVP_EncryptInit_ex(ctx, NULL, NULL, gmac_key, gmac_iv)) { - printf("EVP_EncryptInit_ex: set key and IV failed\n"); - goto err; - } - - /* Zero or more calls to specify any AAD */ - if (!EVP_EncryptUpdate(ctx, NULL, &outlen, gmac_aad, sizeof(gmac_aad))) { - printf("EVP_EncryptUpdate: setting AAD failed\n"); - goto err; - } - - /* Finalise: note get no output for GMAC */ - if (!EVP_EncryptFinal_ex(ctx, outbuf, &outlen)) { - printf("EVP_EncryptFinal_ex: failed\n"); - goto err; - } - - /* Get tag */ - if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, outbuf)) { - printf("EVP_CIPHER_CTX_ctrl: failed\n"); - goto err; - } - - /* Output tag */ - printf("Tag:\n"); - BIO_dump_fp(stdout, outbuf, 16); - - /* Is the tag correct? */ - if (memcmp(outbuf, gmac_tag, sizeof(gmac_tag)) != 0) { - printf("Expected:\n"); - BIO_dump_fp(stdout, gmac_tag, sizeof(gmac_tag)); - } else - ret = 1; -err: - EVP_CIPHER_CTX_free(ctx); - return ret; -} - -int main(int argc, char **argv) -{ - return aes_gmac() ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod index a320181..473d6c9 100644 --- a/doc/man3/EVP_MAC.pod +++ b/doc/man3/EVP_MAC.pod @@ -163,6 +163,12 @@ For MACs that use an underlying computation algorithm, the algorithm I be set first, see B, B and B below. +=item B + +This control expects two arguments: C, C + +Some MAC implementations require an IV, this control sets the IV. + =item B This control expects one arguments: C @@ -327,6 +333,7 @@ F<./foo>) =head1 SEE ALSO L, +L, L, L diff --git a/doc/man7/EVP_MAC_CMAC.pod b/doc/man7/EVP_MAC_GMAC.pod similarity index 66% copy from doc/man7/EVP_MAC_CMAC.pod copy to doc/man7/EVP_MAC_GMAC.pod index 12c18a8..c35d781 100644 --- a/doc/man7/EVP_MAC_CMAC.pod +++ b/doc/man7/EVP_MAC_GMAC.pod @@ -2,15 +2,15 @@ =head1 NAME -EVP_MAC_CMAC - The CMAC EVP_MAC implementation +EVP_MAC_GMAC - The GMAC EVP_MAC implementation =head1 DESCRIPTION -Support for computing CMAC MACs through the B API. +Support for computing GMAC MACs through the B API. =head2 Numeric identity -B is the numeric identity for this implementation, and +B is the numeric identity for this implementation, and can be used in functions like EVP_MAC_CTX_new_id() and EVP_get_macbynid(). @@ -37,11 +37,29 @@ decoded before passing on as control value. =back +=item B + +EVP_MAC_ctrl_str() takes two type strings for this control: + +=over 4 + +=item "iv" + +The value string is used as is. + +=item "hexiv" + +The value string is expected to be a hexadecimal number, which will be +decoded before passing on as control value. + +=back + =item B =item B -These work as described in L. +These work as described in L with the restriction that the +cipher must be an AEAD one. EVP_MAC_ctrl_str() type string for B: "cipher" diff --git a/fuzz/oids.txt b/fuzz/oids.txt index fe363fd..79a68fc 100644 --- a/fuzz/oids.txt +++ b/fuzz/oids.txt @@ -1063,3 +1063,4 @@ OBJ_id_tc26_gost_3410_2012_256_paramSetC="\x2A\x85\x03\x07\x01\x02\x01\x01\x03" OBJ_id_tc26_gost_3410_2012_256_paramSetD="\x2A\x85\x03\x07\x01\x02\x01\x01\x04" OBJ_hmacWithSHA512_224="\x2A\x86\x48\x86\xF7\x0D\x02\x0C" OBJ_hmacWithSHA512_256="\x2A\x86\x48\x86\xF7\x0D\x02\x0D" +OBJ_gmac="\x28\xCC\x45\x03\x04" diff --git a/include/openssl/evp.h b/include/openssl/evp.h index cfd6369..79845aa 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -988,6 +988,7 @@ void EVP_MD_do_all_sorted(void (*fn) /* MAC stuff */ # define EVP_MAC_CMAC NID_cmac +# define EVP_MAC_GMAC NID_gmac # define EVP_MAC_HMAC NID_hmac # define EVP_MAC_SIPHASH NID_siphash @@ -1024,6 +1025,7 @@ void EVP_MAC_do_all_sorted(void (*fn) # define EVP_MAC_CTRL_SET_MD 0x04 /* EVP_MD * */ # define EVP_MAC_CTRL_SET_CIPHER 0x04 /* EVP_CIPHER * */ # define EVP_MAC_CTRL_SET_SIZE 0x05 /* size_t */ +# define EVP_MAC_CTRL_SET_IV 0x06 /* unsigned char *, size_t */ /* PKEY stuff */ int EVP_PKEY_decrypt_old(unsigned char *dec_key, diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index a17e159..17b8187 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -111,6 +111,7 @@ int ERR_load_EVP_strings(void); # define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 # define EVP_F_EVP_SIGNFINAL 107 # define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_GMAC_CTRL 215 # define EVP_F_INT_CTX_NEW 157 # define EVP_F_OK_NEW 200 # define EVP_F_PKCS5_PBE_KEYIVGEN 117 @@ -133,6 +134,7 @@ int ERR_load_EVP_strings(void); # define EVP_R_BAD_DECRYPT 100 # define EVP_R_BUFFER_TOO_SMALL 155 # define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +# define EVP_R_CIPHER_NOT_GCM_MODE 184 # define EVP_R_CIPHER_PARAMETER_ERROR 122 # define EVP_R_COMMAND_NOT_SUPPORTED 147 # define EVP_R_COPY_ERROR 173 diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index 80ff5a7..0a3e4c5 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -44,6 +44,11 @@ #define NID_identified_organization 676 #define OBJ_identified_organization OBJ_iso,3L +#define SN_gmac "GMAC" +#define LN_gmac "gmac" +#define NID_gmac 1195 +#define OBJ_gmac OBJ_iso,0L,9797L,3L,4L + #define SN_hmac_md5 "HMAC-MD5" #define LN_hmac_md5 "hmac-md5" #define NID_hmac_md5 780 diff --git a/test/evp_test.c b/test/evp_test.c index 25b10d3..18b20af 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -838,6 +838,9 @@ typedef struct mac_data_st { /* MAC key */ unsigned char *key; size_t key_len; + /* MAC IV (GMAC) */ + unsigned char *iv; + size_t iv_len; /* Input to MAC */ unsigned char *input; size_t input_len; @@ -925,6 +928,7 @@ static void mac_test_cleanup(EVP_TEST *t) sk_OPENSSL_STRING_pop_free(mdat->controls, openssl_free); OPENSSL_free(mdat->alg); OPENSSL_free(mdat->key); + OPENSSL_free(mdat->iv); OPENSSL_free(mdat->input); OPENSSL_free(mdat->output); } @@ -936,6 +940,8 @@ static int mac_test_parse(EVP_TEST *t, if (strcmp(keyword, "Key") == 0) return parse_bin(value, &mdata->key, &mdata->key_len); + if (strcmp(keyword, "IV") == 0) + return parse_bin(value, &mdata->iv, &mdata->iv_len); if (strcmp(keyword, "Algorithm") == 0) { mdata->alg = OPENSSL_strdup(value); if (!mdata->alg) @@ -1119,6 +1125,18 @@ static int mac_test_run_mac(EVP_TEST *t) goto err; } + if (expected->iv != NULL) { + rv = EVP_MAC_ctrl(ctx, EVP_MAC_CTRL_SET_IV, + expected->iv, expected->iv_len); + if (rv == -2) { + t->err = "MAC_CTRL_INVALID"; + goto err; + } else if (rv <= 0) { + t->err = "MAC_CTRL_ERROR"; + goto err; + } + } + if (!EVP_MAC_init(ctx)) { t->err = "MAC_INIT_ERROR"; goto err; diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 4788626..82a3507 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -386,6 +386,75 @@ Key = 89BCD952A8C8AB371AF48AC7D07085D5EFF702E6D62CDC23 Input = FA620C1BBE97319E9A0CF0492121F7A20EB08A6A709DCBD00AAF38E4F99E754E Output = 8F49A1B7D6AA2258 + +Title = GMAC Tests (from NIST) + +MAC = GMAC +Algorithm = AES-128-GCM +Key = 77BE63708971C4E240D1CB79E8D77FEB +IV = E0E00F19FED7BA0136A797F3 +Input = 7A43EC1D9C0A5A78A0B16533A6213CAB +Output = 209FCC8D3675ED938E9C7166709DD946 + +Title = GMAC Tests (from http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf) + +MAC = GMAC +Algorithm = AES-128-GCM +Key = AD7A2BD03EAC835A6F620FDCB506B345 +IV = 12153524C0895E81B2C28465 +Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001 +Output = F09478A9B09007D06F46E9B6A1DA25DD + +MAC = GMAC +Algorithm = AES-256-GCM +Key = E3C08A8F06C6E3AD95A70557B23F75483CE33021A9C72B7025666204C69C0B72 +IV = 12153524C0895E81B2C28465 +Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001 +Output = 2F0BC5AF409E06D609EA8B7D0FA5EA50 + +MAC = GMAC +Algorithm = AES-128-GCM +Key = 071B113B0CA743FECCCF3D051F737382 +IV = F0761E8DCD3D000176D457ED +Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003 +Output = 0C017BC73B227DFCC9BAFA1C41ACC353 + +MAC = GMAC +Algorithm = AES-256-GCM +Key = 691D3EE909D7F54167FD1CA0B5D769081F2BDE1AEE655FDBAB80BD5295AE6BE7 +IV = F0761E8DCD3D000176D457ED +Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003 +Output = 35217C774BBC31B63166BCF9D4ABED07 + +MAC = GMAC +Algorithm = AES-128-GCM +Key = 013FE00B5F11BE7F866D0CBBC55A7A90 +IV = 7CFDE9F9E33724C68932D612 +Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005 +Output = 217867E50C2DAD74C28C3B50ABDF695A + +MAC = GMAC +Algorithm = AES-256-GCM +Key = 83C093B58DE7FFE1C0DA926AC43FB3609AC1C80FEE1B624497EF942E2F79A823 +IV = 7CFDE9F9E33724C68932D612 +Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005 +Output = 6EE160E8FAECA4B36C86B234920CA975 + +MAC = GMAC +Algorithm = AES-128-GCM +Key = 88EE087FD95DA9FBF6725AA9D757B0CD +IV = 7AE8E2CA4EC500012E58495C +Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007 +Output = 07922B8EBCF10BB2297588CA4C614523 + +MAC = GMAC +Algorithm = AES-256-GCM +Key = 4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5 +IV = 7AE8E2CA4EC500012E58495C +Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007 +Output = 00BDA1B7E87608BCBF470F12157F4C07 + + Title = Poly1305 Tests (from RFC 7539 and others) MAC = Poly1305 From pauli at openssl.org Sun Nov 4 23:38:55 2018 From: pauli at openssl.org (Paul I. Dale) Date: Sun, 04 Nov 2018 23:38:55 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541374735.656358.25977.nullmailer@dev.openssl.org> The branch master has been updated via 748099b9e96e288f0fd1bc72634834d3687831ad (commit) from afc580b9b0af0072233e9282915424fd55c366d0 (commit) - Log ----------------------------------------------------------------- commit 748099b9e96e288f0fd1bc72634834d3687831ad Author: Pauli Date: Mon Nov 5 08:24:50 2018 +1000 Clarify the POD source for the list command. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7563) ----------------------------------------------------------------------- Summary of changes: doc/man1/list.pod | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/doc/man1/list.pod b/doc/man1/list.pod index eeb099b..ca7af49 100644 --- a/doc/man1/list.pod +++ b/doc/man1/list.pod @@ -50,16 +50,14 @@ as input to the L or L commands. =item B<-digest-algorithms> Display a list of message digest algorithms. -If a line is of the form - foo => bar -then B is an alias for the official algorithm name, B. +If a line is of the form C bar> then B is an alias for the +official algorithm name, B. =item B<-mac-algorithms> Display a list of message authentication code algorithms. -If a line is of the form - foo => bar -then B is an alias for the official algorithm name, B. +If a line is of the form C bar> then B is an alias for the +official algorithm name, B. =item B<-cipher-commands> @@ -69,9 +67,8 @@ to the L or L commands. =item B<-cipher-algorithms> Display a list of cipher algorithms. -If a line is of the form - foo => bar -then B is an alias for the official algorithm name, B. +If a line is of the form C bar> then B is an alias for the +official algorithm name, B. =item B<-public-key-algorithms> From yang.yang at baishancloud.com Mon Nov 5 05:08:07 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Mon, 05 Nov 2018 05:08:07 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541394487.690661.5736.nullmailer@dev.openssl.org> The branch master has been updated via c1da4b2afe62644f42f95a8788cd80b0a4925e0c (commit) from 748099b9e96e288f0fd1bc72634834d3687831ad (commit) - Log ----------------------------------------------------------------- commit c1da4b2afe62644f42f95a8788cd80b0a4925e0c Author: Paul Yang Date: Mon Oct 22 14:54:24 2018 +0800 Add poly1305 MAC support This is based on the latest EVP MAC interface introduced in PR #7393. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7459) ----------------------------------------------------------------------- Summary of changes: crypto/err/openssl.txt | 1 + crypto/evp/c_allm.c | 3 + crypto/evp/evp_err.c | 1 + crypto/evp/pkey_mac.c | 33 ++++ crypto/include/internal/evp_int.h | 1 + crypto/poly1305/build.info | 2 +- crypto/poly1305/poly1305_meth.c | 141 +++++++++++++++ crypto/poly1305/poly1305_pmeth.c | 194 --------------------- doc/man3/EVP_MAC.pod | 3 +- .../{EVP_MAC_SIPHASH.pod => EVP_MAC_POLY1305.pod} | 12 +- include/openssl/evp.h | 1 + include/openssl/evperr.h | 1 + test/recipes/30-test_evp_data/evpmac.txt | 20 +++ 13 files changed, 208 insertions(+), 205 deletions(-) create mode 100644 crypto/poly1305/poly1305_meth.c delete mode 100644 crypto/poly1305/poly1305_pmeth.c copy doc/man7/{EVP_MAC_SIPHASH.pod => EVP_MAC_POLY1305.pod} (73%) diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 6c52881..b5a441a 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -810,6 +810,7 @@ EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN:164:PKCS5_v2_PBKDF2_keyivgen EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN:180:PKCS5_v2_scrypt_keyivgen EVP_F_PKEY_MAC_INIT:214:pkey_mac_init EVP_F_PKEY_SET_TYPE:158:pkey_set_type +EVP_F_POLY1305_CTRL:215:poly1305_ctrl EVP_F_RC2_MAGIC_TO_METH:109:rc2_magic_to_meth EVP_F_RC5_CTRL:125:rc5_ctrl EVP_F_S390X_AES_GCM_CTRL:201:s390x_aes_gcm_ctrl diff --git a/crypto/evp/c_allm.c b/crypto/evp/c_allm.c index 2b9d442..ba8acc7 100644 --- a/crypto/evp/c_allm.c +++ b/crypto/evp/c_allm.c @@ -20,4 +20,7 @@ void openssl_add_all_macs_int(void) #ifndef OPENSSL_NO_SIPHASH EVP_add_mac(&siphash_meth); #endif +#ifndef OPENSSL_NO_POLY1305 + EVP_add_mac(&poly1305_meth); +#endif } diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 05d9565..4ef0cf5 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -153,6 +153,7 @@ static const ERR_STRING_DATA EVP_str_functs[] = { "PKCS5_v2_scrypt_keyivgen"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKEY_MAC_INIT, 0), "pkey_mac_init"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKEY_SET_TYPE, 0), "pkey_set_type"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_POLY1305_CTRL, 0), "poly1305_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_RC2_MAGIC_TO_METH, 0), "rc2_magic_to_meth"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_RC5_CTRL, 0), "rc5_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_S390X_AES_GCM_CTRL, 0), "s390x_aes_gcm_ctrl"}, diff --git a/crypto/evp/pkey_mac.c b/crypto/evp/pkey_mac.c index d8c0e89..d9e55ec 100644 --- a/crypto/evp/pkey_mac.c +++ b/crypto/evp/pkey_mac.c @@ -425,3 +425,36 @@ const EVP_PKEY_METHOD siphash_pkey_meth = { pkey_mac_ctrl, pkey_mac_ctrl_str }; + +const EVP_PKEY_METHOD poly1305_pkey_meth = { + EVP_PKEY_POLY1305, + EVP_PKEY_FLAG_SIGCTX_CUSTOM, + pkey_mac_init, + pkey_mac_copy, + pkey_mac_cleanup, + + 0, 0, + + 0, + pkey_mac_keygen, + + 0, 0, + + 0, 0, + + 0, 0, + + pkey_mac_signctx_init, + pkey_mac_signctx, + + 0, 0, + + 0, 0, + + 0, 0, + + 0, 0, + + pkey_mac_ctrl, + pkey_mac_ctrl_str +}; diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index 98adf1f..85d3487 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -132,6 +132,7 @@ extern const EVP_MAC cmac_meth; extern const EVP_MAC gmac_meth; extern const EVP_MAC hmac_meth; extern const EVP_MAC siphash_meth; +extern const EVP_MAC poly1305_meth; /* * This function is internal for now, but can be made external when needed. diff --git a/crypto/poly1305/build.info b/crypto/poly1305/build.info index 631b32b..363d62e 100644 --- a/crypto/poly1305/build.info +++ b/crypto/poly1305/build.info @@ -1,7 +1,7 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - poly1305_pmeth.c \ poly1305_ameth.c \ + poly1305_meth.c \ poly1305.c {- $target{poly1305_asm_src} -} GENERATE[poly1305-sparcv9.S]=asm/poly1305-sparcv9.pl $(PERLASM_SCHEME) diff --git a/crypto/poly1305/poly1305_meth.c b/crypto/poly1305/poly1305_meth.c new file mode 100644 index 0000000..dfee56d --- /dev/null +++ b/crypto/poly1305/poly1305_meth.c @@ -0,0 +1,141 @@ +/* + * Copyright 2018 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 + */ +#include +#include "internal/evp_int.h" +#include "internal/poly1305.h" +#include "internal/cryptlib.h" +#include "poly1305_local.h" + +/* typedef EVP_MAC_IMPL */ +struct evp_mac_impl_st { + POLY1305 *ctx; /* poly1305 context */ +}; + +static EVP_MAC_IMPL *poly1305_new(void) +{ + EVP_MAC_IMPL *ctx; + + if ((ctx = OPENSSL_zalloc(sizeof(*ctx))) == NULL + || (ctx->ctx = OPENSSL_zalloc(sizeof(POLY1305))) == NULL) { + OPENSSL_free(ctx); + return 0; + } + return ctx; +} + +static void poly1305_free(EVP_MAC_IMPL *ctx) +{ + if (ctx != NULL) { + OPENSSL_free(ctx->ctx); + OPENSSL_free(ctx); + } +} + +static int poly1305_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src) +{ + *dst->ctx = *src->ctx; + + return 1; +} + +static size_t poly1305_size(EVP_MAC_IMPL *ctx) +{ + return POLY1305_DIGEST_SIZE; +} + +static int poly1305_init(EVP_MAC_IMPL *ctx) +{ + /* initialize the context in MAC_ctrl function */ + return 1; +} + +static int poly1305_update(EVP_MAC_IMPL *ctx, const unsigned char *data, + size_t datalen) +{ + POLY1305 *poly_ctx = ctx->ctx; + + /* poly1305 has nothing to return in its update function */ + Poly1305_Update(poly_ctx, data, datalen); + return 1; +} + +static int poly1305_final(EVP_MAC_IMPL *ctx, unsigned char *out) +{ + POLY1305 *poly_ctx = ctx->ctx; + + Poly1305_Final(poly_ctx, out); + return 1; +} + +static int poly1305_ctrl(EVP_MAC_IMPL *ctx, int cmd, va_list args) +{ + POLY1305 *poly_ctx = ctx->ctx; + unsigned char *key; + size_t keylen; + + switch (cmd) { + case EVP_MAC_CTRL_SET_KEY: + key = va_arg(args, unsigned char *); + keylen = va_arg(args, size_t); + + if (keylen != POLY1305_KEY_SIZE) { + EVPerr(EVP_F_POLY1305_CTRL, EVP_R_INVALID_KEY_LENGTH); + return 0; + } + Poly1305_Init(poly_ctx, key); + return 1; + default: + return -2; + } + return 1; +} + +static int poly1305_ctrl_int(EVP_MAC_IMPL *ctx, int cmd, ...) +{ + int rv; + va_list args; + + va_start(args, cmd); + rv = poly1305_ctrl(ctx, cmd, args); + va_end(args); + + return rv; +} + +static int poly1305_ctrl_str_cb(void *ctx, int cmd, void *buf, size_t buflen) +{ + return poly1305_ctrl_int(ctx, cmd, buf, buflen); +} + +static int poly1305_ctrl_str(EVP_MAC_IMPL *ctx, + const char *type, const char *value) +{ + if (value == NULL) + return 0; + if (strcmp(type, "key") == 0) + return EVP_str2ctrl(poly1305_ctrl_str_cb, ctx, EVP_MAC_CTRL_SET_KEY, + value); + if (strcmp(type, "hexkey") == 0) + return EVP_hex2ctrl(poly1305_ctrl_str_cb, ctx, EVP_MAC_CTRL_SET_KEY, + value); + return -2; +} + +const EVP_MAC poly1305_meth = { + EVP_MAC_POLY1305, + poly1305_new, + poly1305_copy, + poly1305_free, + poly1305_size, + poly1305_init, + poly1305_update, + poly1305_final, + poly1305_ctrl, + poly1305_ctrl_str +}; diff --git a/crypto/poly1305/poly1305_pmeth.c b/crypto/poly1305/poly1305_pmeth.c deleted file mode 100644 index 3bc24c9..0000000 --- a/crypto/poly1305/poly1305_pmeth.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright 2007-2018 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 - */ - -#include -#include "internal/cryptlib.h" -#include -#include -#include -#include -#include "internal/poly1305.h" -#include "poly1305_local.h" -#include "internal/evp_int.h" - -/* POLY1305 pkey context structure */ - -typedef struct { - ASN1_OCTET_STRING ktmp; /* Temp storage for key */ - POLY1305 ctx; -} POLY1305_PKEY_CTX; - -static int pkey_poly1305_init(EVP_PKEY_CTX *ctx) -{ - POLY1305_PKEY_CTX *pctx; - - if ((pctx = OPENSSL_zalloc(sizeof(*pctx))) == NULL) { - CRYPTOerr(CRYPTO_F_PKEY_POLY1305_INIT, ERR_R_MALLOC_FAILURE); - return 0; - } - pctx->ktmp.type = V_ASN1_OCTET_STRING; - - EVP_PKEY_CTX_set_data(ctx, pctx); - EVP_PKEY_CTX_set0_keygen_info(ctx, NULL, 0); - return 1; -} - -static void pkey_poly1305_cleanup(EVP_PKEY_CTX *ctx) -{ - POLY1305_PKEY_CTX *pctx = EVP_PKEY_CTX_get_data(ctx); - - if (pctx != NULL) { - OPENSSL_clear_free(pctx->ktmp.data, pctx->ktmp.length); - OPENSSL_clear_free(pctx, sizeof(*pctx)); - EVP_PKEY_CTX_set_data(ctx, NULL); - } -} - -static int pkey_poly1305_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) -{ - POLY1305_PKEY_CTX *sctx, *dctx; - - /* allocate memory for dst->data and a new POLY1305_CTX in dst->data->ctx */ - if (!pkey_poly1305_init(dst)) - return 0; - sctx = EVP_PKEY_CTX_get_data(src); - dctx = EVP_PKEY_CTX_get_data(dst); - if (ASN1_STRING_get0_data(&sctx->ktmp) != NULL && - !ASN1_STRING_copy(&dctx->ktmp, &sctx->ktmp)) { - /* cleanup and free the POLY1305_PKEY_CTX in dst->data */ - pkey_poly1305_cleanup(dst); - return 0; - } - memcpy(&dctx->ctx, &sctx->ctx, sizeof(POLY1305)); - return 1; -} - -static int pkey_poly1305_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) -{ - ASN1_OCTET_STRING *key; - POLY1305_PKEY_CTX *pctx = EVP_PKEY_CTX_get_data(ctx); - - if (ASN1_STRING_get0_data(&pctx->ktmp) == NULL) - return 0; - key = ASN1_OCTET_STRING_dup(&pctx->ktmp); - if (key == NULL) - return 0; - return EVP_PKEY_assign_POLY1305(pkey, key); -} - -static int int_update(EVP_MD_CTX *ctx, const void *data, size_t count) -{ - POLY1305_PKEY_CTX *pctx = EVP_PKEY_CTX_get_data(EVP_MD_CTX_pkey_ctx(ctx)); - - Poly1305_Update(&pctx->ctx, data, count); - return 1; -} - -static int poly1305_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) -{ - POLY1305_PKEY_CTX *pctx = ctx->data; - ASN1_OCTET_STRING *key = (ASN1_OCTET_STRING *)ctx->pkey->pkey.ptr; - - if (key->length != POLY1305_KEY_SIZE) - return 0; - EVP_MD_CTX_set_flags(mctx, EVP_MD_CTX_FLAG_NO_INIT); - EVP_MD_CTX_set_update_fn(mctx, int_update); - Poly1305_Init(&pctx->ctx, key->data); - return 1; -} -static int poly1305_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, - EVP_MD_CTX *mctx) -{ - POLY1305_PKEY_CTX *pctx = ctx->data; - - *siglen = POLY1305_DIGEST_SIZE; - if (sig != NULL) - Poly1305_Final(&pctx->ctx, sig); - return 1; -} - -static int pkey_poly1305_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) -{ - POLY1305_PKEY_CTX *pctx = EVP_PKEY_CTX_get_data(ctx); - const unsigned char *key; - size_t len; - - switch (type) { - - case EVP_PKEY_CTRL_MD: - /* ignore */ - break; - - case EVP_PKEY_CTRL_SET_MAC_KEY: - case EVP_PKEY_CTRL_DIGESTINIT: - if (type == EVP_PKEY_CTRL_SET_MAC_KEY) { - /* user explicitly setting the key */ - key = p2; - len = p1; - } else { - /* user indirectly setting the key via EVP_DigestSignInit */ - key = EVP_PKEY_get0_poly1305(EVP_PKEY_CTX_get0_pkey(ctx), &len); - } - if (key == NULL || len != POLY1305_KEY_SIZE || - !ASN1_OCTET_STRING_set(&pctx->ktmp, key, len)) - return 0; - Poly1305_Init(&pctx->ctx, ASN1_STRING_get0_data(&pctx->ktmp)); - break; - - default: - return -2; - - } - return 1; -} - -static int pkey_poly1305_ctrl_str(EVP_PKEY_CTX *ctx, - const char *type, const char *value) -{ - if (value == NULL) - return 0; - if (strcmp(type, "key") == 0) - return EVP_PKEY_CTX_str2ctrl(ctx, EVP_PKEY_CTRL_SET_MAC_KEY, value); - if (strcmp(type, "hexkey") == 0) - return EVP_PKEY_CTX_hex2ctrl(ctx, EVP_PKEY_CTRL_SET_MAC_KEY, value); - return -2; -} - -const EVP_PKEY_METHOD poly1305_pkey_meth = { - EVP_PKEY_POLY1305, - EVP_PKEY_FLAG_SIGCTX_CUSTOM, /* we don't deal with a separate MD */ - pkey_poly1305_init, - pkey_poly1305_copy, - pkey_poly1305_cleanup, - - 0, 0, - - 0, - pkey_poly1305_keygen, - - 0, 0, - - 0, 0, - - 0, 0, - - poly1305_signctx_init, - poly1305_signctx, - - 0, 0, - - 0, 0, - - 0, 0, - - 0, 0, - - pkey_poly1305_ctrl, - pkey_poly1305_ctrl_str -}; diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod index 473d6c9..cc0d543 100644 --- a/doc/man3/EVP_MAC.pod +++ b/doc/man3/EVP_MAC.pod @@ -335,7 +335,8 @@ F<./foo>) L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man7/EVP_MAC_SIPHASH.pod b/doc/man7/EVP_MAC_POLY1305.pod similarity index 73% copy from doc/man7/EVP_MAC_SIPHASH.pod copy to doc/man7/EVP_MAC_POLY1305.pod index 0d1349f..d25e1d5 100644 --- a/doc/man7/EVP_MAC_SIPHASH.pod +++ b/doc/man7/EVP_MAC_POLY1305.pod @@ -2,15 +2,15 @@ =head1 NAME -EVP_MAC_SIPHASH - The SipHash EVP_MAC implementation +EVP_MAC_POLY1305 - The Poly1305 EVP_MAC implementation =head1 DESCRIPTION -Support for computing SipHash MACs through the B API. +Support for computing Poly1305 MACs through the B API. =head2 Numeric identity -B is the numeric identity for this implementation, +B is the numeric identity for this implementation, and can be used in functions like EVP_MAC_CTX_new_id() and EVP_get_macbynid(). @@ -20,12 +20,6 @@ The supported controls are: =over 4 -=item B - -EVP_MAC_ctrl_str() type string: "digestsize" - -The value string is expected to contain a decimal number. - =item B EVP_MAC_ctrl_str() takes two type strings for this control: diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 79845aa..6661e2e 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -991,6 +991,7 @@ void EVP_MD_do_all_sorted(void (*fn) # define EVP_MAC_GMAC NID_gmac # define EVP_MAC_HMAC NID_hmac # define EVP_MAC_SIPHASH NID_siphash +# define EVP_MAC_POLY1305 NID_poly1305 EVP_MAC_CTX *EVP_MAC_CTX_new(const EVP_MAC *mac); EVP_MAC_CTX *EVP_MAC_CTX_new_id(int nid); diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index 17b8187..b5064fd 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -120,6 +120,7 @@ int ERR_load_EVP_strings(void); # define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 # define EVP_F_PKEY_MAC_INIT 214 # define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_POLY1305_CTRL 215 # define EVP_F_RC2_MAGIC_TO_METH 109 # define EVP_F_RC5_CTRL 125 # define EVP_F_S390X_AES_GCM_CTRL 201 diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 82a3507..640e1a1 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -710,3 +710,23 @@ Input = e33594d7505e43b900000000000000003394d7505e4379cd010000000000000000000000 Key = 0100000000000000040000000000000000000000000000000000000000000000 Output = 13000000000000000000000000000000 +# Here are 4 duplicated cases for Poly1305 by EVP_PKEY +MAC = Poly1305 by EVP_PKEY +Key = 0000000000000000000000000000000000000000000000000000000000000000 +Input = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Output = 00000000000000000000000000000000 + +MAC = Poly1305 by EVP_PKEY +Key = 0000000000000000000000000000000036e5f6b5c5e06070f0efca96227a863e +Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f +Output = 36e5f6b5c5e06070f0efca96227a863e + +MAC = Poly1305 by EVP_PKEY +Key = 36e5f6b5c5e06070f0efca96227a863e00000000000000000000000000000000 +Input = 416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f +Output = f3477e7cd95417af89a6b8794c310cf0 + +MAC = Poly1305 by EVP_PKEY +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +Input = 2754776173206272696c6c69672c20616e642074686520736c6974687920746f7665730a446964206779726520616e642067696d626c6520696e2074686520776162653a0a416c6c206d696d737920776572652074686520626f726f676f7665732c0a416e6420746865206d6f6d65207261746873206f757467726162652e +Output = 4541669a7eaaee61e708dc7cbcc5eb62 From builds at travis-ci.org Mon Nov 5 05:27:39 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 05 Nov 2018 05:27:39 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21514 (master - c1da4b2) In-Reply-To: Message-ID: <5bdfd4cb9c5e6_43ff50b617d18821aa@d30b9b60-8a45-46ff-9d88-7594e293e8c1.mail> Build Update for openssl/openssl ------------------------------------- Build: #21514 Status: Broken Duration: 18 mins and 47 secs Commit: c1da4b2 (master) Author: Paul Yang Message: Add poly1305 MAC support This is based on the latest EVP MAC interface introduced in PR #7393. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7459) View the changeset: https://github.com/openssl/openssl/compare/748099b9e96e...c1da4b2afe62 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/450699692?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Mon Nov 5 07:13:17 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 05 Nov 2018 07:13:17 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541401997.019469.27765.nullmailer@dev.openssl.org> The branch master has been updated via 7b34f0fa5d060409be1fb5165ef29e5a159b1e33 (commit) via 0a37ff4dcaf7da498355dfe9a1672905ac5496a5 (commit) via 21712b2fc1e9ad0fa7ff9d6086b4cc6be6cb76a9 (commit) via 25628ab2ba7ebcf3a897944ede4bbeb3796e162c (commit) via b96ab5e6d0125c7e2a6804d568cb2a732cbf4504 (commit) from c1da4b2afe62644f42f95a8788cd80b0a4925e0c (commit) - Log ----------------------------------------------------------------- commit 7b34f0fa5d060409be1fb5165ef29e5a159b1e33 Author: Richard Levitte Date: Fri Nov 2 13:08:38 2018 +0100 Build: Make it possible to have defines assigned to end products as well This simple fix allows the following construct: PROGRAMS=foo SOURCE[foo]=foo.c bar.c DEFINE[foo]=FOO=1 BAR=0 These will trickle down to the build of object files, so building foo.o and bar.o will be done with these options: -DFOO=1 -DBAR=0 (exact syntax depending on platform, of course) Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) commit 0a37ff4dcaf7da498355dfe9a1672905ac5496a5 Author: Richard Levitte Date: Fri Oct 14 17:10:15 2016 +0200 Build: adapt VMS build file template to use the extra macros Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) commit 21712b2fc1e9ad0fa7ff9d6086b4cc6be6cb76a9 Author: Richard Levitte Date: Fri Oct 14 17:10:05 2016 +0200 Build: adapt Windows makefile template to use the extra macros Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) commit 25628ab2ba7ebcf3a897944ede4bbeb3796e162c Author: Richard Levitte Date: Fri Oct 14 17:09:52 2016 +0200 Build: adapt Unix Makefile template to use the extra macros Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) commit b96ab5e6d0125c7e2a6804d568cb2a732cbf4504 Author: Richard Levitte Date: Fri Oct 14 16:56:34 2016 +0200 Build: make it possible to assign macro definitions for specific outputs Sometimes, some specific program or object file might need an extra macro definition of its own. This allows that to be easily done. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) ----------------------------------------------------------------------- Summary of changes: Configurations/README | 4 ++++ Configurations/README.design | 7 ++++--- Configurations/common.tmpl | 4 ++++ Configurations/descrip.mms.tmpl | 11 ++++++++++- Configurations/unix-Makefile.tmpl | 10 ++++++---- Configurations/windows-makefile.tmpl | 12 +++++++----- Configure | 31 +++++++++++++++++++++++++++++++ 7 files changed, 66 insertions(+), 13 deletions(-) diff --git a/Configurations/README b/Configurations/README index 9fd4922..1c67f75 100644 --- a/Configurations/README +++ b/Configurations/README @@ -467,6 +467,10 @@ include paths the build of their source files should use: INCLUDE[foo]=include +It's also possible to specify C macros that should be defined: + + DEFINE[foo]=FOO BAR=1 + In some cases, one might want to generate some source files from others, that's done as follows: diff --git a/Configurations/README.design b/Configurations/README.design index 8c50a92..c0b05bd 100644 --- a/Configurations/README.design +++ b/Configurations/README.design @@ -41,9 +41,10 @@ end products. There are variants for them with '_NO_INST' as suffix (PROGRAM_NO_INST etc) to specify end products that shouldn't get installed. -The variables SOURCE, DEPEND and INCLUDE are indexed by a produced -file, and their values are the source used to produce that particular -produced file, extra dependencies, and include directories needed. +The variables SOURCE, DEPEND, INCLUDE and DEFINE are indexed by a +produced file, and their values are the source used to produce that +particular produced file, extra dependencies, include directories +needed, or C macros to be defined. All their values in all the build.info throughout the source tree are collected together and form a set of programs, libraries, engines and diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl index 4a08655..bf440d9 100644 --- a/Configurations/common.tmpl +++ b/Configurations/common.tmpl @@ -85,6 +85,8 @@ deps => $unified_info{depends}->{$src}, incs => [ @{$unified_info{includes}->{$obj}}, @{$unified_info{includes}->{$bin}} ], + defs => [ @{$unified_info{defines}->{$obj}}, + @{$unified_info{defines}->{$bin}} ], %opts); foreach (@{$unified_info{depends}->{$src}}) { dogenerate($_, $obj, $bin, %opts); @@ -107,6 +109,8 @@ deps => $unified_info{depends}->{$obj}, incs => [ @{$unified_info{includes}->{$obj}}, @{$unified_info{includes}->{$bin}} ], + defs => [ @{$unified_info{defines}->{$obj}}, + @{$unified_info{defines}->{$bin}} ], %opts); foreach ((@{$unified_info{sources}->{$obj}}, @{$unified_info{depends}->{$obj}})) { diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 44b22ed..eb0f9c5 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -199,7 +199,8 @@ ASOUTFLAG={- $target{asoutflag} -}$(OSSL_EMPTY) CNF_ASFLAGS={- join('', $target{asflags} || (), @{$config{asflags}}) -} CNF_DEFINES={- our $defines2 = join('', map { ",$_" } @{$target{defines}}, - @{$config{defines}}) -} + @{$config{defines}}, + "'extradefines'") -} CNF_INCLUDES={- our $includes2 = join(',', @{$target{includes}}, @{$config{includes}}) -} CNF_CPPFLAGS={- our $cppflags2 = join('', $target{cppflags} || (), @@ -810,6 +811,7 @@ EOF @{$args{incs}}); my $incs_on = join("\n\t\@ ", @{$incs_cmds[0]}) || '!'; my $incs_off = join("\n\t\@ ", @{$incs_cmds[1]}) || '!'; + my $defs = join("", map { ",".$_ } @{$args{defs}}); if (defined($generator)) { # If the target is named foo.S in build.info, we want to # end up generating foo.s in two steps. @@ -818,8 +820,10 @@ EOF $target : $args{generator}->[0] $deps $generator \$\@-S \@ $incs_on + \@ extradefines = "$defs" PIPE \$(CPP) $cppflags \$\@-S | - \$(PERL) -ne "/^#(\\s*line)?\\s*[0-9]+\\s+""/ or print" > \$\@-i + \@ DELETE/SYMBOL/LOCAL extradefines \@ $incs_off RENAME \$\@-i \$\@ DELETE \$\@-S @@ -834,9 +838,11 @@ EOF return <<"EOF"; $target : $args{generator}->[0] $deps \@ $incs_on + \@ extradefines = "$defs" SHOW SYMBOL qual_includes PIPE \$(CPP) $cppflags $args{generator}->[0] | - \$(PERL) "-ne" "/^#(\\s*line)?\\s*[0-9]+\\s+""/ or print" > \$\@ + \@ DELETE/SYMBOL/LOCAL extradefines \@ $incs_off EOF } @@ -894,6 +900,7 @@ EOF lib => '$(LIB_CPPFLAGS)', dso => '$(DSO_CPPFLAGS)', bin => '$(BIN_CPPFLAGS)' } -> {$args{intent}}; + my $defs = join("", map { ",".$_ } @{$args{defs}}); my @incs_cmds = includes({ shlib => '$(LIB_INCLUDES)', lib => '$(LIB_INCLUDES)', @@ -914,7 +921,9 @@ $obj.OBJ : $deps ${before} SET DEFAULT $forward \@ $incs_on + \@ extradefines = "$defs" \$(CC) ${cflags}${depbuild} /OBJECT=${objd}${objn}.OBJ /REPOSITORY=$backward $srcs + \@ DELETE/SYMBOL/LOCAL extradefines \@ $incs_off SET DEFAULT $backward ${after} diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index f81ebb0..bac56df 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -996,6 +996,7 @@ reconfigure reconf: my $generator = join(" ", @{$args{generator}}); my $generator_incs = join("", map { " -I".$_ } @{$args{generator_incs}}); my $incs = join("", map { " -I".$_ } @{$args{incs}}); + my $defs = join("", map { " -D".$_ } @{$args{defs}}); my $deps = join(" ", @{$args{generator_deps}}, @{$args{deps}}); if ($args{src} =~ /\.ld$/) { @@ -1049,7 +1050,7 @@ EOF } return <<"EOF"; $args{src}: $args{generator}->[0] $deps - \$(CC) $incs $cppflags -E $args{generator}->[0] | \\ + \$(CC) $incs $cppflags $defs -E $args{generator}->[0] | \\ \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@ EOF } @@ -1065,6 +1066,7 @@ EOF my $srcs = join(" ", @srcs); my $deps = join(" ", @srcs, @{$args{deps}}); my $incs = join("", map { " -I".$_ } @{$args{incs}}); + my $defs = join("", map { " -D".$_ } @{$args{defs}}); my $cmd; my $cmdflags; my $cmdcompile; @@ -1106,13 +1108,13 @@ EOF # hardly a point to drag it along... $recipe .= <<"EOF"; $obj$objext: $deps - $cmd $incs $cmdflags -c -o \$\@ $srcs + $cmd $incs $defs $cmdflags -c -o \$\@ $srcs EOF } elsif (defined $makedepprog && $makedepprog !~ /\/makedepend/ && !grep /\.rc$/, @srcs) { $recipe .= <<"EOF"; $obj$objext: $deps - $cmd $incs $cmdflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs + $cmd $incs $defs $cmdflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs \@touch $obj$depext.tmp \@if cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\ rm -f $obj$depext.tmp; \\ @@ -1123,7 +1125,7 @@ EOF } else { $recipe .= <<"EOF"; $obj$objext: $deps - $cmd $incs $cmdflags $cmdcompile -o \$\@ $srcs + $cmd $incs $defs $cmdflags $cmdcompile -o \$\@ $srcs EOF if (defined $makedepprog && $makedepprog =~ /\/makedepend/) { $recipe .= <<"EOF"; diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 6344d18..45c9280 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -501,6 +501,7 @@ reconfigure reconf: my $generator = '"'.$gen0.'"'.join('', map { " $_" } @gens); my $generator_incs = join("", map { " -I \"$_\"" } @{$args{generator_incs}}); my $incs = join("", map { " /I \"$_\"" } @{$args{incs}}); + my $defs = join("", map { " /D".$_ } @{$args{defs}}); my $deps = @{$args{deps}} ? '"'.join('" "', @{$args{generator_deps}}, @{$args{deps}}).'"' : ''; @@ -558,7 +559,7 @@ EOF $target: "$args{generator}->[0]" $deps set ASM=\$(AS) $generator \$@.S - \$(CPP) $cppflags \$@.S > \$@.i && move /Y \$@.i \$@ + \$(CPP) $cppflags $defs \$@.S > \$@.i && move /Y \$@.i \$@ del /Q \$@.S EOF } @@ -571,7 +572,7 @@ EOF } return <<"EOF"; $target: "$args{generator}->[0]" $deps - \$(CPP) $incs $cppflags "$args{generator}->[0]" > \$@.i && move /Y \$@.i \$@ + \$(CPP) $incs $cppflags $defs "$args{generator}->[0]" > \$@.i && move /Y \$@.i \$@ EOF } } @@ -583,6 +584,7 @@ EOF my $srcs = '"'.join('" "', @srcs).'"'; my $deps = '"'.join('" "', @srcs, @{$args{deps}}).'"'; my $incs = join("", map { ' /I "'.$_.'"' } @{$args{incs}}); + my $defs = join("", map { " /D".$_ } @{$args{defs}}); my $cflags = { shlib => ' $(LIB_CFLAGS)', lib => ' $(LIB_CFLAGS)', dso => ' $(DSO_CFLAGS)', @@ -612,15 +614,15 @@ EOF } elsif ($srcs[0] =~ /.S$/) { return <<"EOF"; $obj$objext: $deps - \$(CC) /EP /D__ASSEMBLER__ $cflags $srcs > \$@.asm && \$(AS) $asflags \$(ASOUTFLAG)\$\@ \$@.asm + \$(CC) /EP /D__ASSEMBLER__ $cflags $defs $srcs > \$@.asm && \$(AS) $asflags \$(ASOUTFLAG)\$\@ \$@.asm EOF } my $recipe = <<"EOF"; $obj$objext: $deps - \$(CC) $cflags -c \$(COUTFLAG)\$\@ $srcs + \$(CC) $cflags $defs -c \$(COUTFLAG)\$\@ $srcs EOF $recipe .= <<"EOF" unless $disabled{makedepend}; - \$(CC) $cflags /Zs /showIncludes $srcs 2>&1 > $obj$depext + \$(CC) $cflags $defs /Zs /showIncludes $srcs 2>&1 > $obj$depext EOF return $recipe; } diff --git a/Configure b/Configure index 53d5549..094898c 100755 --- a/Configure +++ b/Configure @@ -1722,6 +1722,7 @@ if ($builder eq "unified") { my %sources = (); my %shared_sources = (); my %includes = (); + my %defines = (); my %depends = (); my %renames = (); my %sharednames = (); @@ -1837,6 +1838,9 @@ if ($builder eq "unified") { qr/^\s*INCLUDE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ => sub { push @{$includes{$1}}, tokenize($2) if !@skip || $skip[$#skip] > 0 }, + qr/^\s*DEFINE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ + => sub { push @{$defines{$1}}, tokenize($2) + if !@skip || $skip[$#skip] > 0 }, qr/^\s*DEPEND\[((?:\\.|[^\\\]])*)\]\s*=\s*(.*)\s*$/ => sub { push @{$depends{$1}}, tokenize($2) if !@skip || $skip[$#skip] > 0 }, @@ -2169,6 +2173,27 @@ EOF unless grep { $_ eq $ib } @{$unified_info{includes}->{$ddest}->{build}}; } } + + foreach (keys %defines) { + my $dest = $_; + my $ddest = cleanfile($sourced, $_, $blddir); + + # If the destination doesn't exist in source, it can only be + # a generated file in the build tree. + if (! -f $ddest) { + $ddest = cleanfile($buildd, $_, $blddir); + if ($unified_info{rename}->{$ddest}) { + $ddest = $unified_info{rename}->{$ddest}; + } + } + foreach (@{$defines{$dest}}) { + m|^([^=]*)(=.*)?$|; + die "0 length macro name not permitted\n" if $1 eq ""; + die "$1 defined more than once\n" + if defined $unified_info{defines}->{$ddest}->{$1}; + $unified_info{defines}->{$ddest}->{$1} = $2; + } + } } my $ordinals_text = join(', ', sort keys %ordinals); @@ -2311,6 +2336,12 @@ EOF } } } + # Defines + foreach my $dest (sort keys %{$unified_info{defines}}) { + $unified_info{defines}->{$dest} + = [ map { $_.$unified_info{defines}->{$dest}->{$_} } + sort keys %{$unified_info{defines}->{$dest}} ]; + } # Includes foreach my $dest (sort keys %{$unified_info{includes}}) { if (defined($unified_info{includes}->{$dest}->{build})) { From builds at travis-ci.org Mon Nov 5 07:31:43 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 05 Nov 2018 07:31:43 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21515 (master - 7b34f0f) In-Reply-To: Message-ID: <5bdff1df490ba_43fb84c917a3c456ee@8b776a57-08a8-40ae-8d11-1206e5e43201.mail> Build Update for openssl/openssl ------------------------------------- Build: #21515 Status: Still Failing Duration: 8 mins and 48 secs Commit: 7b34f0f (master) Author: Richard Levitte Message: Build: Make it possible to have defines assigned to end products as well This simple fix allows the following construct: PROGRAMS=foo SOURCE[foo]=foo.c bar.c DEFINE[foo]=FOO=1 BAR=0 These will trickle down to the build of object files, so building foo.o and bar.o will be done with these options: -DFOO=1 -DBAR=0 (exact syntax depending on platform, of course) Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7553) View the changeset: https://github.com/openssl/openssl/compare/c1da4b2afe62...7b34f0fa5d06 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/450723237?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Mon Nov 5 08:33:51 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 05 Nov 2018 08:33:51 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541406831.013816.7007.nullmailer@dev.openssl.org> The branch master has been updated via 75d47db49d41176d1f9a363f80e5a45e834563b8 (commit) via e0bf7c0181dbf17323dbd38dfd485970150c5244 (commit) via 9654924f587bd9cd72046607f54a76c679161d26 (commit) via 7f73eafe2f5014ce1f915702c19ee7274e6b8c2d (commit) from 7b34f0fa5d060409be1fb5165ef29e5a159b1e33 (commit) - Log ----------------------------------------------------------------- commit 75d47db49d41176d1f9a363f80e5a45e834563b8 Author: Richard Levitte Date: Sat Nov 3 18:38:04 2018 +0100 Simplify the processing of skipped source directories We kept a number of arrays of directory names to keep track of exactly which directories to look for build.info. Some of these had the extra function to hold the directories to actually build. With the added SUBDIRS keyword, these arrays are no longer needed. The logic for skipping certain directories needs to be kept, though. That is now very much simplified, and is made opportunistic. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7558) commit e0bf7c0181dbf17323dbd38dfd485970150c5244 Author: Richard Levitte Date: Sat Nov 3 18:34:09 2018 +0100 Collapse different classes of macro databases We have $config{openssl_algorithm_defines}, $config{openssl_other_defines} and $config{openssl_thread_defines}. These are treated exactly the same in include/openssl/opensslconf.h.in, so having them separated into three different databases isn't necessary, the reason for the separation being long gone. Therefore, we collapse them into one and the same, $config{openssl_feature_defines}. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7558) commit 9654924f587bd9cd72046607f54a76c679161d26 Author: Richard Levitte Date: Sat Nov 3 18:26:35 2018 +0100 Add SUBDIRS settings in relevant build.info files Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7558) commit 7f73eafe2f5014ce1f915702c19ee7274e6b8c2d Author: Richard Levitte Date: Sat Nov 3 15:03:59 2018 +0100 Build: make it possibly to specify subdirs in build.info This adds a keyword SUBDIRS for build.info, to be used like this: SUBDIRS=foo bar This tells Configure that it should look for 'build.info' in the relative subdirectories 'foo' and 'bar' as well. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7558) ----------------------------------------------------------------------- Summary of changes: CHANGES | 5 ++ Configurations/README | 8 ++- Configure | 114 +++++++++++++++++---------------------- build.info | 4 ++ crypto/build.info | 9 ++++ include/openssl/opensslconf.h.in | 18 +------ test/build.info | 1 + 7 files changed, 76 insertions(+), 83 deletions(-) diff --git a/CHANGES b/CHANGES index de10744..163dd98 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ Changes between 1.1.1 and 1.1.2 [xx XXX xxxx] + *) Instead of having the source directories listed in Configure, add + a 'build.info' keyword SUBDIRS to indicate what sub-directories to + look into. + [Richard Levitte] + *) Add GMAC to EVP_MAC. [Paul Dale] diff --git a/Configurations/README b/Configurations/README index 1c67f75..10463aa 100644 --- a/Configurations/README +++ b/Configurations/README @@ -400,7 +400,13 @@ $sourcedir and $builddir, which are the locations of the source directory for the current build.info file and the corresponding build directory, all relative to the top of the build tree. -To begin with, things to be built are declared by setting specific +'Configure' only knows inherently about the top build.info file. For +any other directory that has one, further directories to look into +must be indicated like this: + + SUBDIRS=something someelse + +On to things to be built; they are declared by setting specific variables: PROGRAMS=foo bar diff --git a/Configure b/Configure index 094898c..94e48b4 100755 --- a/Configure +++ b/Configure @@ -15,7 +15,7 @@ use Config; use FindBin; use lib "$FindBin::Bin/util/perl"; use File::Basename; -use File::Spec::Functions qw/:DEFAULT abs2rel rel2abs/; +use File::Spec::Functions qw/:DEFAULT abs2rel rel2abs splitdir/; use File::Path qw/mkpath/; use OpenSSL::Glob; @@ -298,21 +298,6 @@ $config{libdir}=""; my $auto_threads=1; # enable threads automatically? true by default my $default_ranlib; -# Top level directories to build -$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ]; -# crypto/ subdirectories to build -$config{sdirs} = [ - "objects", - "md2", "md4", "md5", "sha", "mdc2", "hmac", "ripemd", "whrlpool", "poly1305", "blake2", "siphash", "sm3", - "des", "aes", "rc2", "rc4", "rc5", "idea", "aria", "bf", "cast", "camellia", "seed", "sm4", "chacha", "modes", - "bn", "ec", "rsa", "dsa", "dh", "sm2", "dso", "engine", - "buffer", "bio", "stack", "lhash", "rand", "err", - "evp", "asn1", "pem", "x509", "x509v3", "conf", "txt_db", "pkcs7", "pkcs12", "comp", "ocsp", "ui", - "cms", "ts", "srp", "gmac", "cmac", "ct", "async", "kdf", "store" - ]; -# test/ subdirectories to build -$config{tdirs} = [ "ossl_shim" ]; - # Known TLS and DTLS protocols my @tls = qw(ssl3 tls1 tls1_1 tls1_2 tls1_3); my @dtls = qw(dtls1 dtls1_2); @@ -606,10 +591,8 @@ $config{lflags} = [ env('__CNF_LDFLAGS') || () ]; $config{ex_libs} = [ env('__CNF_LDLIBS') || () ]; $config{openssl_api_defines}=[]; -$config{openssl_algorithm_defines}=[]; -$config{openssl_thread_defines}=[]; $config{openssl_sys_defines}=[]; -$config{openssl_other_defines}=[]; +$config{openssl_feature_defines}=[]; $config{options}=""; $config{build_type} = "release"; my $target=""; @@ -1027,7 +1010,7 @@ INSTALL instructions and the RAND_DRBG(7) manual page for more details. _____ } -push @{$config{openssl_other_defines}}, +push @{$config{openssl_feature_defines}}, map { (my $x = $_) =~ tr|[\-a-z]|[_A-Z]|; "OPENSSL_RAND_SEED_$x" } @seed_sources; @@ -1173,6 +1156,19 @@ foreach (keys %user) { # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; +###################################################################### +# Build up information for skipping certain directories depending on disabled +# features, as well as setting up macros for disabled features. + +# This is a tentative database of directories to skip. Some entries may not +# correspond to anything real, but that's ok, they will simply be ignored. +# The actual processing of these entries is done in the build.info lookup +# loop further down. +# +# The key is a Unix formated path in the source tree, the value is an index +# into %disabled_info, so any existing path gets added to a corresponding +# 'skipped' entry in there with the list of skipped directories. +my %skipdir = (); my %disabled_info = (); # For configdata.pm foreach my $what (sort keys %disabled) { $config{options} .= " no-$what"; @@ -1181,32 +1177,18 @@ foreach my $what (sort keys %disabled) { 'dynamic-engine', 'makedepend', 'zlib-dynamic', 'zlib', 'sse2' )) { (my $WHAT = uc $what) =~ s|-|_|g; - - # Fix up C macro end names - $WHAT = "RMD160" if $what eq "ripemd"; + my $skipdir = $what; # fix-up crypto/directory name(s) - $what = "ripemd" if $what eq "rmd160"; - $what = "whrlpool" if $what eq "whirlpool"; + $skipdir = "ripemd" if $what eq "rmd160"; + $skipdir = "whrlpool" if $what eq "whirlpool"; my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; + push @{$config{openssl_feature_defines}}, $macro; - if ((grep { $what eq $_ } @{$config{sdirs}}) - && $what ne 'async' && $what ne 'err') { - @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; - $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; - - if ($what ne 'engine') { - push @{$config{openssl_algorithm_defines}}, $macro; - } else { - @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; - push @{$disabled_info{engine}->{skipped}}, catdir('engines'); - push @{$config{openssl_other_defines}}, $macro; - } - } else { - push @{$config{openssl_other_defines}}, $macro; - } - + $skipdir{engines} = $what if $what eq 'engine'; + $skipdir{"crypto/$skipdir"} = $what + unless $what eq 'async' || $what eq 'err'; } } @@ -1284,7 +1266,7 @@ unless ($disabled{threads}) { # If threads still aren't disabled, add a C macro to ensure the source # code knows about it. Any other flag is taken care of by the configs. unless($disabled{threads}) { - push @{$config{openssl_thread_defines}}, "OPENSSL_THREADS"; + push @{$config{openssl_feature_defines}}, "OPENSSL_THREADS"; } # With "deprecated" disable all deprecated features. @@ -1303,10 +1285,10 @@ if ($target{shared_target} eq "") } if ($disabled{"dynamic-engine"}) { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; + push @{$config{openssl_feature_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; $config{dynamic_engines} = 0; } else { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; + push @{$config{openssl_feature_defines}}, "OPENSSL_NO_STATIC_ENGINE"; $config{dynamic_engines} = 1; } @@ -1576,7 +1558,7 @@ unless ($disabled{afalgeng}) { } } -push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +push @{$config{openssl_feature_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); # Finish up %config by appending things the user gave us on the command line # apart from "make variables" @@ -1677,34 +1659,26 @@ if ($builder eq "unified") { cleanfile($srcdir, catfile("Configurations", "common.tmpl"), $blddir) ]; - my @build_infos = ( [ ".", "build.info" ] ); - foreach (@{$config{dirs}}) { - push @build_infos, [ $_, "build.info" ] - if (-f catfile($srcdir, $_, "build.info")); - } - foreach (@{$config{sdirs}}) { - push @build_infos, [ catdir("crypto", $_), "build.info" ] - if (-f catfile($srcdir, "crypto", $_, "build.info")); - } - foreach (@{$config{engdirs}}) { - push @build_infos, [ catdir("engines", $_), "build.info" ] - if (-f catfile($srcdir, "engines", $_, "build.info")); - } - foreach (@{$config{tdirs}}) { - push @build_infos, [ catdir("test", $_), "build.info" ] - if (-f catfile($srcdir, "test", $_, "build.info")); - } + my @build_dirs = ( [ ] ); # current directory $config{build_infos} = [ ]; my %ordinals = (); - foreach (@build_infos) { - my $sourced = catdir($srcdir, $_->[0]); - my $buildd = catdir($blddir, $_->[0]); + while (@build_dirs) { + my @curd = @{shift @build_dirs}; + my $sourced = catdir($srcdir, @curd); + my $buildd = catdir($blddir, @curd); + + my $unixdir = join('/', @curd); + if (exists $skipdir{$unixdir}) { + my $what = $skipdir{$unixdir}; + push @{$disabled_info{$what}->{skipped}}, catdir(@curd); + next; + } mkpath($buildd); - my $f = $_->[1]; + my $f = 'build.info'; # The basic things we're trying to build my @programs = (); my @programs_install = (); @@ -1783,6 +1757,14 @@ if ($builder eq "unified") { qr/^\s*ENDIF\s*$/ => sub { die "ENDIF out of scope" if ! @skip; pop @skip; }, + qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/ + => sub { + if (!@skip || $skip[$#skip] > 0) { + foreach (tokenize($1)) { + push @build_dirs, [ @curd, splitdir($_, 1) ]; + } + } + }, qr/^\s*PROGRAMS(_NO_INST)?\s*=\s*(.*)\s*$/ => sub { if (!@skip || $skip[$#skip] > 0) { diff --git a/build.info b/build.info index ceb250f..53629c4 100644 --- a/build.info +++ b/build.info @@ -1,3 +1,7 @@ +# Note that some of these directories are filtered in Configure. Look for +# %skipdir there for further explanations. +SUBDIRS=crypto ssl apps test util tools fuzz engines + {- use File::Spec::Functions; diff --git a/crypto/build.info b/crypto/build.info index 2c619c6..a8b2497 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -1,3 +1,12 @@ +# Note that these directories are filtered in Configure. Look for %skipdir +# there for further explanations. +SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 x509v3 conf \ + txt_db pkcs7 pkcs12 ui kdf store \ + md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 blake2 \ + siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \ + seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \ + err comp ocsp cms ts srp cmac ct async + LIBS=../libcrypto SOURCE[../libcrypto]=\ cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c cpt_err.c \ diff --git a/include/openssl/opensslconf.h.in b/include/openssl/opensslconf.h.in index bc98cad..41d1264 100644 --- a/include/openssl/opensslconf.h.in +++ b/include/openssl/opensslconf.h.in @@ -34,22 +34,8 @@ extern "C" { (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/; $OUT .= "#define $macro $value\n"; } - if (@{$config{openssl_algorithm_defines}}) { - foreach (@{$config{openssl_algorithm_defines}}) { - $OUT .= "#ifndef $_\n"; - $OUT .= "# define $_\n"; - $OUT .= "#endif\n"; - } - } - if (@{$config{openssl_thread_defines}}) { - foreach (@{$config{openssl_thread_defines}}) { - $OUT .= "#ifndef $_\n"; - $OUT .= "# define $_\n"; - $OUT .= "#endif\n"; - } - } - if (@{$config{openssl_other_defines}}) { - foreach (@{$config{openssl_other_defines}}) { + if (@{$config{openssl_feature_defines}}) { + foreach (@{$config{openssl_feature_defines}}) { $OUT .= "#ifndef $_\n"; $OUT .= "# define $_\n"; $OUT .= "#endif\n"; diff --git a/test/build.info b/test/build.info index 4d3ea5d..d2acbed 100644 --- a/test/build.info +++ b/test/build.info @@ -1,3 +1,4 @@ +SUBDIRS=ossl_shim {- use File::Spec::Functions; sub rebase_files From no-reply at appveyor.com Mon Nov 5 08:47:36 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 05 Nov 2018 08:47:36 +0000 Subject: [openssl-commits] Build failed: openssl master.20789 Message-ID: <20181105084736.1.8D31BBF62B6886BE@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 5 08:56:48 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 05 Nov 2018 08:56:48 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21516 (master - 75d47db) In-Reply-To: Message-ID: <5be005d07dc25_43fa0010a9688112136@ff19c5ec-9e60-4b12-ab2f-c9549471ae4e.mail> Build Update for openssl/openssl ------------------------------------- Build: #21516 Status: Still Failing Duration: 7 mins and 19 secs Commit: 75d47db (master) Author: Richard Levitte Message: Simplify the processing of skipped source directories We kept a number of arrays of directory names to keep track of exactly which directories to look for build.info. Some of these had the extra function to hold the directories to actually build. With the added SUBDIRS keyword, these arrays are no longer needed. The logic for skipping certain directories needs to be kept, though. That is now very much simplified, and is made opportunistic. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7558) View the changeset: https://github.com/openssl/openssl/compare/7b34f0fa5d06...75d47db49d41 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/450746371?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Nov 5 10:45:58 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 05 Nov 2018 10:45:58 +0000 Subject: [openssl-commits] Build failed: openssl master.20790 Message-ID: <20181105104558.1.B236F38B19FB60F4@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Nov 5 11:14:43 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 05 Nov 2018 11:14:43 +0000 Subject: [openssl-commits] Build failed: openssl master.20791 Message-ID: <20181105111443.1.0144EF5414854636@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Nov 5 15:30:11 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 05 Nov 2018 15:30:11 +0000 Subject: [openssl-commits] Build failed: openssl master.20792 Message-ID: <20181105153011.1.59256EAC94543EC4@appveyor.com> An HTML attachment was scrubbed... URL: From yang.yang at baishancloud.com Mon Nov 5 16:08:06 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Mon, 05 Nov 2018 16:08:06 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541434086.640230.951.nullmailer@dev.openssl.org> The branch master has been updated via 41eac6122a9db8ef29ed6115c20f2de4c9232b9b (commit) from 75d47db49d41176d1f9a363f80e5a45e834563b8 (commit) - Log ----------------------------------------------------------------- commit 41eac6122a9db8ef29ed6115c20f2de4c9232b9b Author: Paul Yang Date: Mon Nov 5 23:08:34 2018 +0800 Fix a collision in function err numbers 'make update' complains about this Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7571) ----------------------------------------------------------------------- Summary of changes: crypto/err/openssl.txt | 2 +- include/openssl/evperr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index b5a441a..49e4875 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -810,7 +810,7 @@ EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN:164:PKCS5_v2_PBKDF2_keyivgen EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN:180:PKCS5_v2_scrypt_keyivgen EVP_F_PKEY_MAC_INIT:214:pkey_mac_init EVP_F_PKEY_SET_TYPE:158:pkey_set_type -EVP_F_POLY1305_CTRL:215:poly1305_ctrl +EVP_F_POLY1305_CTRL:216:poly1305_ctrl EVP_F_RC2_MAGIC_TO_METH:109:rc2_magic_to_meth EVP_F_RC5_CTRL:125:rc5_ctrl EVP_F_S390X_AES_GCM_CTRL:201:s390x_aes_gcm_ctrl diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index b5064fd..fff78cc 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -120,7 +120,7 @@ int ERR_load_EVP_strings(void); # define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 # define EVP_F_PKEY_MAC_INIT 214 # define EVP_F_PKEY_SET_TYPE 158 -# define EVP_F_POLY1305_CTRL 215 +# define EVP_F_POLY1305_CTRL 216 # define EVP_F_RC2_MAGIC_TO_METH 109 # define EVP_F_RC5_CTRL 125 # define EVP_F_S390X_AES_GCM_CTRL 201 From levitte at openssl.org Mon Nov 5 16:09:14 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 05 Nov 2018 16:09:14 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541434154.357707.2011.nullmailer@dev.openssl.org> The branch master has been updated via 93689797a4f4c0ad040f83f264deecbda5df2031 (commit) from 41eac6122a9db8ef29ed6115c20f2de4c9232b9b (commit) - Log ----------------------------------------------------------------- commit 93689797a4f4c0ad040f83f264deecbda5df2031 Author: Richard Levitte Date: Mon Nov 5 16:52:46 2018 +0100 GMAC: Add subdir info in crypto/build.info for this to build Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/@7572) ----------------------------------------------------------------------- Summary of changes: crypto/build.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/build.info b/crypto/build.info index a8b2497..75739c0 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -2,7 +2,7 @@ # there for further explanations. SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 x509v3 conf \ txt_db pkcs7 pkcs12 ui kdf store \ - md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 blake2 \ + md2 md4 md5 sha mdc2 gmac hmac ripemd whrlpool poly1305 blake2 \ siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \ seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \ err comp ocsp cms ts srp cmac ct async From builds at travis-ci.org Mon Nov 5 16:24:31 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 05 Nov 2018 16:24:31 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21521 (master - 41eac61) In-Reply-To: Message-ID: <5be06ebfe443_43ff61a1475e42888ac@97308e02-ff38-40c3-b2ee-8945ae9f674d.mail> Build Update for openssl/openssl ------------------------------------- Build: #21521 Status: Still Failing Duration: 6 mins and 43 secs Commit: 41eac61 (master) Author: Paul Yang Message: Fix a collision in function err numbers 'make update' complains about this Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7571) View the changeset: https://github.com/openssl/openssl/compare/75d47db49d41...41eac6122a9d View the full build log and details: https://travis-ci.org/openssl/openssl/builds/450939277?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 5 16:34:42 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 05 Nov 2018 16:34:42 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21522 (master - 9368979) In-Reply-To: Message-ID: <5be07122ecd2_43fe59a629d9029816a@566e59c1-3b4e-4b18-8e01-3332ef7a192e.mail> Build Update for openssl/openssl ------------------------------------- Build: #21522 Status: Fixed Duration: 22 mins and 41 secs Commit: 9368979 (master) Author: Richard Levitte Message: GMAC: Add subdir info in crypto/build.info for this to build Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/@7572) View the changeset: https://github.com/openssl/openssl/compare/41eac6122a9d...93689797a4f4 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/450939780?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pauli at openssl.org Mon Nov 5 21:04:59 2018 From: pauli at openssl.org (Paul I. Dale) Date: Mon, 05 Nov 2018 21:04:59 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541451899.871229.3560.nullmailer@dev.openssl.org> The branch master has been updated via 38cfa99122f5c34b25e1671639be4446d0fa2b15 (commit) from 93689797a4f4c0ad040f83f264deecbda5df2031 (commit) - Log ----------------------------------------------------------------- commit 38cfa99122f5c34b25e1671639be4446d0fa2b15 Author: Pauli Date: Mon Nov 5 14:30:37 2018 +1000 EVP_MAC ctrl numbering duplicate removal. Both EVP_MAC_CTRL_SET_MD and EVP_MAC_CTRL_SET_CIPHER were numbered 4. This would preclude any future MAC from using both. Reviewed-by: Richard Levitte Reviewed-by: Paul Yang (Merged from https://github.com/openssl/openssl/pull/7566) ----------------------------------------------------------------------- Summary of changes: include/openssl/evp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 6661e2e..e803fa8 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1024,9 +1024,9 @@ void EVP_MAC_do_all_sorted(void (*fn) # define EVP_MAC_CTRL_SET_FLAGS 0x02 /* unsigned long */ # define EVP_MAC_CTRL_SET_ENGINE 0x03 /* ENGINE * */ # define EVP_MAC_CTRL_SET_MD 0x04 /* EVP_MD * */ -# define EVP_MAC_CTRL_SET_CIPHER 0x04 /* EVP_CIPHER * */ -# define EVP_MAC_CTRL_SET_SIZE 0x05 /* size_t */ -# define EVP_MAC_CTRL_SET_IV 0x06 /* unsigned char *, size_t */ +# define EVP_MAC_CTRL_SET_CIPHER 0x05 /* EVP_CIPHER * */ +# define EVP_MAC_CTRL_SET_SIZE 0x06 /* size_t */ +# define EVP_MAC_CTRL_SET_IV 0x07 /* unsigned char *, size_t */ /* PKEY stuff */ int EVP_PKEY_decrypt_old(unsigned char *dec_key, From pauli at openssl.org Mon Nov 5 21:07:41 2018 From: pauli at openssl.org (Paul I. Dale) Date: Mon, 05 Nov 2018 21:07:41 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541452061.881484.4820.nullmailer@dev.openssl.org> The branch master has been updated via 2087028612027368e9508e1b253aab715a5a35d6 (commit) via e931f370aa38d8645b35fb8d6260cb44d37b6b61 (commit) from 38cfa99122f5c34b25e1671639be4446d0fa2b15 (commit) - Log ----------------------------------------------------------------- commit 2087028612027368e9508e1b253aab715a5a35d6 Author: Pauli Date: Tue Nov 6 07:06:25 2018 +1000 Fix return formatting. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7564) commit e931f370aa38d8645b35fb8d6260cb44d37b6b61 Author: Pauli Date: Mon Nov 5 11:04:23 2018 +1000 Cleanse the key log buffer. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7564) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_lib.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 846b856..e7e8aa9 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -5104,7 +5104,8 @@ static int nss_keylog_int(const char *prefix, size_t i; size_t prefix_len; - if (ssl->ctx->keylog_callback == NULL) return 1; + if (ssl->ctx->keylog_callback == NULL) + return 1; /* * Our output buffer will contain the following strings, rendered with @@ -5115,7 +5116,7 @@ static int nss_keylog_int(const char *prefix, * hexadecimal, so we need a buffer that is twice their lengths. */ prefix_len = strlen(prefix); - out_len = prefix_len + (2*parameter_1_len) + (2*parameter_2_len) + 3; + out_len = prefix_len + (2 * parameter_1_len) + (2 * parameter_2_len) + 3; if ((out = cursor = OPENSSL_malloc(out_len)) == NULL) { SSLfatal(ssl, SSL_AD_INTERNAL_ERROR, SSL_F_NSS_KEYLOG_INT, ERR_R_MALLOC_FAILURE); @@ -5139,7 +5140,7 @@ static int nss_keylog_int(const char *prefix, *cursor = '\0'; ssl->ctx->keylog_callback(ssl, (const char *)out); - OPENSSL_free(out); + OPENSSL_clear_free(out, out_len); return 1; } From pauli at openssl.org Mon Nov 5 21:08:42 2018 From: pauli at openssl.org (Paul I. Dale) Date: Mon, 05 Nov 2018 21:08:42 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541452122.626845.5817.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 030da7436ed0f8feb65d3f0c5fd86f87f5ee2483 (commit) from 33a37a6179bcef6917a28edf7c90a65dcd89ff4a (commit) - Log ----------------------------------------------------------------- commit 030da7436ed0f8feb65d3f0c5fd86f87f5ee2483 Author: Pauli Date: Mon Nov 5 11:04:23 2018 +1000 Cleanse the key log buffer. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7564) (cherry picked from commit e931f370aa38d8645b35fb8d6260cb44d37b6b61) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ec5b155..96b3ed0 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -5117,7 +5117,7 @@ static int nss_keylog_int(const char *prefix, * hexadecimal, so we need a buffer that is twice their lengths. */ prefix_len = strlen(prefix); - out_len = prefix_len + (2*parameter_1_len) + (2*parameter_2_len) + 3; + out_len = prefix_len + (2 * parameter_1_len) + (2 * parameter_2_len) + 3; if ((out = cursor = OPENSSL_malloc(out_len)) == NULL) { SSLfatal(ssl, SSL_AD_INTERNAL_ERROR, SSL_F_NSS_KEYLOG_INT, ERR_R_MALLOC_FAILURE); @@ -5141,7 +5141,7 @@ static int nss_keylog_int(const char *prefix, *cursor = '\0'; ssl->ctx->keylog_callback(ssl, (const char *)out); - OPENSSL_free(out); + OPENSSL_clear_free(out, out_len); return 1; } From pauli at openssl.org Mon Nov 5 21:09:11 2018 From: pauli at openssl.org (Paul I. Dale) Date: Mon, 05 Nov 2018 21:09:11 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541452151.372081.6701.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 0f316a0c208b90336b171fa05f8eaf4056c5a01d (commit) from 030da7436ed0f8feb65d3f0c5fd86f87f5ee2483 (commit) - Log ----------------------------------------------------------------- commit 0f316a0c208b90336b171fa05f8eaf4056c5a01d Author: Pauli Date: Tue Nov 6 07:06:25 2018 +1000 Fix return formatting. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7564) (cherry picked from commit 2087028612027368e9508e1b253aab715a5a35d6) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_lib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 96b3ed0..17b13d1 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -5106,7 +5106,8 @@ static int nss_keylog_int(const char *prefix, size_t i; size_t prefix_len; - if (ssl->ctx->keylog_callback == NULL) return 1; + if (ssl->ctx->keylog_callback == NULL) + return 1; /* * Our output buffer will contain the following strings, rendered with From bernd.edlinger at hotmail.de Mon Nov 5 21:42:14 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Mon, 05 Nov 2018 21:42:14 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541454134.221947.11041.nullmailer@dev.openssl.org> The branch master has been updated via fb9c3ff565aa11b08646e0f9f28fc082ed365cbd (commit) via 7ecd6c5186f3958b726edb3f5e5851f12ad56485 (commit) via c5e0b3a6d5f02aa53cf2a7c0cffb42e434ee3470 (commit) via 17209be89b4d5aad94b91cfe0d9d24d5243a4a2f (commit) from 2087028612027368e9508e1b253aab715a5a35d6 (commit) - Log ----------------------------------------------------------------- commit fb9c3ff565aa11b08646e0f9f28fc082ed365cbd Author: Bernd Edlinger Date: Fri Nov 2 11:46:38 2018 +0100 Fix error handling in RAND_DRBG_uninstantiate Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7517) commit 7ecd6c5186f3958b726edb3f5e5851f12ad56485 Author: Bernd Edlinger Date: Tue Oct 30 21:02:22 2018 +0100 Fix error handling in drbgtest.c Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7517) commit c5e0b3a6d5f02aa53cf2a7c0cffb42e434ee3470 Author: Bernd Edlinger Date: Tue Oct 30 20:57:53 2018 +0100 Fix error handling in rand_drbg_new Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7517) commit 17209be89b4d5aad94b91cfe0d9d24d5243a4a2f Author: Bernd Edlinger Date: Mon Oct 29 13:48:53 2018 +0100 Fix error handling in RAND_DRBG_set Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7517) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 13 ++++++++----- test/drbgtest.c | 33 +++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 8e372e5..2cfa4f5 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -180,12 +180,17 @@ int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags) else ret = drbg_hash_init(drbg); } else { + drbg->type = 0; + drbg->flags = 0; + drbg->meth = NULL; RANDerr(RAND_F_RAND_DRBG_SET, RAND_R_UNSUPPORTED_DRBG_TYPE); return 0; } - if (ret == 0) + if (ret == 0) { + drbg->state = DRBG_ERROR; RANDerr(RAND_F_RAND_DRBG_SET, RAND_R_ERROR_INITIALISING_DRBG); + } return ret; } @@ -290,10 +295,7 @@ static RAND_DRBG *rand_drbg_new(int secure, return drbg; err: - if (drbg->secure) - OPENSSL_secure_free(drbg); - else - OPENSSL_free(drbg); + RAND_DRBG_free(drbg); return NULL; } @@ -435,6 +437,7 @@ int RAND_DRBG_uninstantiate(RAND_DRBG *drbg) { int index = -1, type, flags; if (drbg->meth == NULL) { + drbg->state = DRBG_ERROR; RANDerr(RAND_F_RAND_DRBG_UNINSTANTIATE, RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED); return 0; diff --git a/test/drbgtest.c b/test/drbgtest.c index 882fef8..a3beebc 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -799,12 +799,15 @@ static void run_multi_thread_test(void) { unsigned char buf[256]; time_t start = time(NULL); - RAND_DRBG *public, *private; + RAND_DRBG *public = NULL, *private = NULL; - public = RAND_DRBG_get0_public(); - private = RAND_DRBG_get0_private(); - RAND_DRBG_set_reseed_time_interval(public, 1); + if (!TEST_ptr(public = RAND_DRBG_get0_public()) + || !TEST_ptr(private = RAND_DRBG_get0_private())) { + multi_thread_rand_bytes_succeeded = 0; + return; + } RAND_DRBG_set_reseed_time_interval(private, 1); + RAND_DRBG_set_reseed_time_interval(public, 1); do { if (RAND_bytes(buf, sizeof(buf)) <= 0) @@ -936,13 +939,16 @@ static size_t rand_drbg_seedlen(RAND_DRBG *drbg) */ static int test_rand_seed(void) { - RAND_DRBG *master = RAND_DRBG_get0_master(); + RAND_DRBG *master = NULL; unsigned char rand_buf[256]; size_t rand_buflen; -#ifdef OPENSSL_RAND_SEED_NONE - size_t required_seed_buflen = rand_drbg_seedlen(master); -#else size_t required_seed_buflen = 0; + + if (!TEST_ptr(master = RAND_DRBG_get0_master())) + return 0; + +#ifdef OPENSSL_RAND_SEED_NONE + required_seed_buflen = rand_drbg_seedlen(master); #endif memset(rand_buf, 0xCD, sizeof(rand_buf)); @@ -1025,14 +1031,13 @@ err: static int test_set_defaults(void) { - RAND_DRBG *master, *public, *private; - - master = RAND_DRBG_get0_master(); - public = RAND_DRBG_get0_public(); - private = RAND_DRBG_get0_private(); + RAND_DRBG *master = NULL, *public = NULL, *private = NULL; /* Check the default type and flags for master, public and private */ - return TEST_int_eq(master->type, RAND_DRBG_TYPE) + return TEST_ptr(master = RAND_DRBG_get0_master()) + && TEST_ptr(public = RAND_DRBG_get0_public()) + && TEST_ptr(private = RAND_DRBG_get0_private()) + && TEST_int_eq(master->type, RAND_DRBG_TYPE) && TEST_int_eq(master->flags, RAND_DRBG_FLAGS | RAND_DRBG_FLAG_MASTER) && TEST_int_eq(public->type, RAND_DRBG_TYPE) From bernd.edlinger at hotmail.de Mon Nov 5 21:49:02 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Mon, 05 Nov 2018 21:49:02 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541454542.738051.12715.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c40c1ef4f3c3a6a4d7878bbf8b13742a5bffd963 (commit) via fd59e425a865f306f3745f576f8b7b7a40dbbfcf (commit) via ee5a79104c4f7f59343a7b75815be3979a0f6b83 (commit) via f98a893ed454faf97d77a53833da95646478c14c (commit) from 0f316a0c208b90336b171fa05f8eaf4056c5a01d (commit) - Log ----------------------------------------------------------------- commit c40c1ef4f3c3a6a4d7878bbf8b13742a5bffd963 Author: Bernd Edlinger Date: Fri Nov 2 11:46:38 2018 +0100 Fix error handling in RAND_DRBG_uninstantiate Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7519) commit fd59e425a865f306f3745f576f8b7b7a40dbbfcf Author: Bernd Edlinger Date: Tue Oct 30 21:02:22 2018 +0100 Fix error handling in drbgtest.c Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7519) commit ee5a79104c4f7f59343a7b75815be3979a0f6b83 Author: Bernd Edlinger Date: Tue Oct 30 20:57:53 2018 +0100 Fix error handling in rand_drbg_new Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7519) commit f98a893ed454faf97d77a53833da95646478c14c Author: Bernd Edlinger Date: Mon Oct 29 13:48:53 2018 +0100 Fix error handling in RAND_DRBG_set Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7519) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 13 ++++++++----- test/drbgtest.c | 22 ++++++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 43e7509..73fd942 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -115,6 +115,9 @@ int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags) switch (type) { default: + drbg->type = 0; + drbg->flags = 0; + drbg->meth = NULL; RANDerr(RAND_F_RAND_DRBG_SET, RAND_R_UNSUPPORTED_DRBG_TYPE); return 0; case 0: @@ -127,8 +130,10 @@ int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags) break; } - if (ret == 0) + if (ret == 0) { + drbg->state = DRBG_ERROR; RANDerr(RAND_F_RAND_DRBG_SET, RAND_R_ERROR_INITIALISING_DRBG); + } return ret; } @@ -229,10 +234,7 @@ static RAND_DRBG *rand_drbg_new(int secure, return drbg; err: - if (drbg->secure) - OPENSSL_secure_free(drbg); - else - OPENSSL_free(drbg); + RAND_DRBG_free(drbg); return NULL; } @@ -372,6 +374,7 @@ int RAND_DRBG_instantiate(RAND_DRBG *drbg, int RAND_DRBG_uninstantiate(RAND_DRBG *drbg) { if (drbg->meth == NULL) { + drbg->state = DRBG_ERROR; RANDerr(RAND_F_RAND_DRBG_UNINSTANTIATE, RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED); return 0; diff --git a/test/drbgtest.c b/test/drbgtest.c index b4453b0..371f138 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -790,12 +790,15 @@ static void run_multi_thread_test(void) { unsigned char buf[256]; time_t start = time(NULL); - RAND_DRBG *public, *private; + RAND_DRBG *public = NULL, *private = NULL; - public = RAND_DRBG_get0_public(); - private = RAND_DRBG_get0_private(); - RAND_DRBG_set_reseed_time_interval(public, 1); + if (!TEST_ptr(public = RAND_DRBG_get0_public()) + || !TEST_ptr(private = RAND_DRBG_get0_private())) { + multi_thread_rand_bytes_succeeded = 0; + return; + } RAND_DRBG_set_reseed_time_interval(private, 1); + RAND_DRBG_set_reseed_time_interval(public, 1); do { if (RAND_bytes(buf, sizeof(buf)) <= 0) @@ -927,13 +930,16 @@ static size_t rand_drbg_seedlen(RAND_DRBG *drbg) */ static int test_rand_seed(void) { - RAND_DRBG *master = RAND_DRBG_get0_master(); + RAND_DRBG *master = NULL; unsigned char rand_buf[256]; size_t rand_buflen; -#ifdef OPENSSL_RAND_SEED_NONE - size_t required_seed_buflen = rand_drbg_seedlen(master); -#else size_t required_seed_buflen = 0; + + if (!TEST_ptr(master = RAND_DRBG_get0_master())) + return 0; + +#ifdef OPENSSL_RAND_SEED_NONE + required_seed_buflen = rand_drbg_seedlen(master); #endif memset(rand_buf, 0xCD, sizeof(rand_buf)); From bernd.edlinger at hotmail.de Mon Nov 5 21:54:25 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Mon, 05 Nov 2018 21:54:25 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541454865.346426.14050.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 939ef2ea114235f94124832c804161f735cec6c8 (commit) from c40c1ef4f3c3a6a4d7878bbf8b13742a5bffd963 (commit) - Log ----------------------------------------------------------------- commit 939ef2ea114235f94124832c804161f735cec6c8 Author: Bernd Edlinger Date: Sat Oct 27 11:31:21 2018 +0200 Avoid two memory allocations in each RAND_DRBG_bytes Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7518) ----------------------------------------------------------------------- Summary of changes: crypto/include/internal/rand_int.h | 5 +++-- crypto/rand/drbg_lib.c | 28 +++++++++++++++++++++++----- crypto/rand/rand_lcl.h | 5 +++++ crypto/rand/rand_lib.c | 37 +++++++++++++++++++++++++------------ 4 files changed, 56 insertions(+), 19 deletions(-) diff --git a/crypto/include/internal/rand_int.h b/crypto/include/internal/rand_int.h index 3c966ab..888cab1 100644 --- a/crypto/include/internal/rand_int.h +++ b/crypto/include/internal/rand_int.h @@ -45,9 +45,9 @@ size_t rand_drbg_get_nonce(RAND_DRBG *drbg, void rand_drbg_cleanup_nonce(RAND_DRBG *drbg, unsigned char *out, size_t outlen); -size_t rand_drbg_get_additional_data(unsigned char **pout, size_t max_len); +size_t rand_drbg_get_additional_data(RAND_POOL *pool, unsigned char **pout); -void rand_drbg_cleanup_additional_data(unsigned char *out, size_t outlen); +void rand_drbg_cleanup_additional_data(RAND_POOL *pool, unsigned char *out); /* * RAND_POOL functions @@ -59,6 +59,7 @@ void rand_pool_free(RAND_POOL *pool); const unsigned char *rand_pool_buffer(RAND_POOL *pool); unsigned char *rand_pool_detach(RAND_POOL *pool); +void rand_pool_reattach(RAND_POOL *pool, unsigned char *buffer); size_t rand_pool_entropy(RAND_POOL *pool); size_t rand_pool_length(RAND_POOL *pool); diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 73fd942..d9f01cb 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -109,6 +109,13 @@ int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags) flags = rand_drbg_flags; } + /* If set is called multiple times - clear the old one */ + if (drbg->type != 0 && (type != drbg->type || flags != drbg->flags)) { + drbg->meth->uninstantiate(drbg); + rand_pool_free(drbg->adin_pool); + drbg->adin_pool = NULL; + } + drbg->state = DRBG_UNINITIALISED; drbg->flags = flags; drbg->type = type; @@ -122,6 +129,7 @@ int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags) return 0; case 0: /* Uninitialized; that's okay. */ + drbg->meth = NULL; return 1; case NID_aes_128_ctr: case NID_aes_192_ctr: @@ -259,6 +267,7 @@ void RAND_DRBG_free(RAND_DRBG *drbg) if (drbg->meth != NULL) drbg->meth->uninstantiate(drbg); + rand_pool_free(drbg->adin_pool); CRYPTO_THREAD_lock_free(drbg->lock); CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DRBG, drbg, &drbg->ex_data); @@ -650,9 +659,18 @@ int RAND_DRBG_bytes(RAND_DRBG *drbg, unsigned char *out, size_t outlen) unsigned char *additional = NULL; size_t additional_len; size_t chunk; - size_t ret; + size_t ret = 0; + + if (drbg->adin_pool == NULL) { + if (drbg->type == 0) + goto err; + drbg->adin_pool = rand_pool_new(0, 0, drbg->max_adinlen); + if (drbg->adin_pool == NULL) + goto err; + } - additional_len = rand_drbg_get_additional_data(&additional, drbg->max_adinlen); + additional_len = rand_drbg_get_additional_data(drbg->adin_pool, + &additional); for ( ; outlen > 0; outlen -= chunk, out += chunk) { chunk = outlen; @@ -664,9 +682,9 @@ int RAND_DRBG_bytes(RAND_DRBG *drbg, unsigned char *out, size_t outlen) } ret = 1; -err: - if (additional_len != 0) - OPENSSL_secure_clear_free(additional, additional_len); + err: + if (additional != NULL) + rand_drbg_cleanup_additional_data(drbg->adin_pool, additional); return ret; } diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 10323a0..376efed 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -186,6 +186,11 @@ struct rand_drbg_st { struct rand_pool_st *pool; /* + * Auxiliary pool for additional data. + */ + struct rand_pool_st *adin_pool; + + /* * The following parameters are setup by the per-type "init" function. * * Currently the only type is CTR_DRBG, its init function is drbg_ctr_init(). diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 555fea3..884917a 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -279,14 +279,9 @@ void rand_drbg_cleanup_nonce(RAND_DRBG *drbg, * On success it allocates a buffer at |*pout| and returns the length of * the data. The buffer should get freed using OPENSSL_secure_clear_free(). */ -size_t rand_drbg_get_additional_data(unsigned char **pout, size_t max_len) +size_t rand_drbg_get_additional_data(RAND_POOL *pool, unsigned char **pout) { size_t ret = 0; - RAND_POOL *pool; - - pool = rand_pool_new(0, 0, max_len); - if (pool == NULL) - return 0; if (rand_pool_add_additional_data(pool) == 0) goto err; @@ -295,14 +290,12 @@ size_t rand_drbg_get_additional_data(unsigned char **pout, size_t max_len) *pout = rand_pool_detach(pool); err: - rand_pool_free(pool); - return ret; } -void rand_drbg_cleanup_additional_data(unsigned char *out, size_t outlen) +void rand_drbg_cleanup_additional_data(RAND_POOL *pool, unsigned char *out) { - OPENSSL_secure_clear_free(out, outlen); + rand_pool_reattach(pool, out); } void rand_fork(void) @@ -536,17 +529,27 @@ size_t rand_pool_length(RAND_POOL *pool) /* * Detach the |pool| buffer and return it to the caller. * It's the responsibility of the caller to free the buffer - * using OPENSSL_secure_clear_free(). + * using OPENSSL_secure_clear_free() or to re-attach it + * again to the pool using rand_pool_reattach(). */ unsigned char *rand_pool_detach(RAND_POOL *pool) { unsigned char *ret = pool->buffer; pool->buffer = NULL; - pool->len = 0; pool->entropy = 0; return ret; } +/* + * Re-attach the |pool| buffer. It is only allowed to pass + * the |buffer| which was previously detached from the same pool. + */ +void rand_pool_reattach(RAND_POOL *pool, unsigned char *buffer) +{ + pool->buffer = buffer; + OPENSSL_cleanse(pool->buffer, pool->len); + pool->len = 0; +} /* * If |entropy_factor| bits contain 1 bit of entropy, how many bytes does one @@ -643,6 +646,11 @@ int rand_pool_add(RAND_POOL *pool, return 0; } + if (pool->buffer == NULL) { + RANDerr(RAND_F_RAND_POOL_ADD, ERR_R_INTERNAL_ERROR); + return 0; + } + if (len > 0) { memcpy(pool->buffer + pool->len, buffer, len); pool->len += len; @@ -674,6 +682,11 @@ unsigned char *rand_pool_add_begin(RAND_POOL *pool, size_t len) return NULL; } + if (pool->buffer == NULL) { + RANDerr(RAND_F_RAND_POOL_ADD_BEGIN, ERR_R_INTERNAL_ERROR); + return 0; + } + return pool->buffer + pool->len; } From bernd.edlinger at hotmail.de Mon Nov 5 22:00:06 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Mon, 05 Nov 2018 22:00:06 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541455206.437296.15545.nullmailer@dev.openssl.org> The branch master has been updated via 2bb1b5ddd12c23bbfa7fb60ee3296612ca943fef (commit) from fb9c3ff565aa11b08646e0f9f28fc082ed365cbd (commit) - Log ----------------------------------------------------------------- commit 2bb1b5ddd12c23bbfa7fb60ee3296612ca943fef Author: Bernd Edlinger Date: Tue Oct 30 22:21:34 2018 +0100 Fix a race condition in drbgtest.c Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7531) ----------------------------------------------------------------------- Summary of changes: test/drbgtest.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/test/drbgtest.c b/test/drbgtest.c index a3beebc..c285c75 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -581,6 +581,8 @@ static void reset_drbg_hook_ctx(void) * 1: it is expected that the specified DRBG is reseeded * 0: it is expected that the specified DRBG is not reseeded * -1: don't check whether the specified DRBG was reseeded or not + * |reseed_time|: if nonzero, used instead of time(NULL) to set the + * |before_reseed| time. */ static int test_drbg_reseed(int expect_success, RAND_DRBG *master, @@ -588,7 +590,8 @@ static int test_drbg_reseed(int expect_success, RAND_DRBG *private, int expect_master_reseed, int expect_public_reseed, - int expect_private_reseed + int expect_private_reseed, + time_t reseed_time ) { unsigned char buf[32]; @@ -614,8 +617,11 @@ static int test_drbg_reseed(int expect_success, * step 2: generate random output */ + if (reseed_time == 0) + reseed_time = time(NULL); + /* Generate random output from the public and private DRBG */ - before_reseed = expect_master_reseed == 1 ? time(NULL) : 0; + before_reseed = expect_master_reseed == 1 ? reseed_time : 0; if (!TEST_int_eq(RAND_bytes(buf, sizeof(buf)), expect_success) || !TEST_int_eq(RAND_priv_bytes(buf, sizeof(buf)), expect_success)) return 0; @@ -682,6 +688,7 @@ static int test_rand_drbg_reseed(void) RAND_DRBG *master, *public, *private; unsigned char rand_add_buf[256]; int rv=0; + time_t before_reseed; /* Check whether RAND_OpenSSL() is the default method */ if (!TEST_ptr_eq(RAND_get_rand_method(), RAND_OpenSSL())) @@ -716,7 +723,7 @@ static int test_rand_drbg_reseed(void) /* * Test initial seeding of shared DRBGs */ - if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -724,7 +731,7 @@ static int test_rand_drbg_reseed(void) /* * Test initial state of shared DRBGs */ - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 0))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 0, 0))) goto error; reset_drbg_hook_ctx(); @@ -733,7 +740,7 @@ static int test_rand_drbg_reseed(void) * reseed counters differ from the master's reseed counter. */ master->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -743,7 +750,7 @@ static int test_rand_drbg_reseed(void) */ master->reseed_prop_counter++; private->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 0))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 0, 0))) goto error; reset_drbg_hook_ctx(); @@ -753,7 +760,7 @@ static int test_rand_drbg_reseed(void) */ master->reseed_prop_counter++; public->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -762,10 +769,17 @@ static int test_rand_drbg_reseed(void) memset(rand_add_buf, 'r', sizeof(rand_add_buf)); /* - * Test whether all three DRBGs are reseeded by RAND_add() + * Test whether all three DRBGs are reseeded by RAND_add(). + * The before_reseed time has to be measured here and passed into the + * test_drbg_reseed() test, because the master DRBG gets already reseeded + * in RAND_add(), whence the check for the condition + * before_reseed <= master->reseed_time will fail if the time value happens + * to increase between the RAND_add() and the test_drbg_reseed() call. */ + before_reseed = time(NULL); RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); - if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, + before_reseed))) goto error; reset_drbg_hook_ctx(); @@ -776,7 +790,7 @@ static int test_rand_drbg_reseed(void) master_ctx.fail = 1; master->reseed_prop_counter++; RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); - if (!TEST_true(test_drbg_reseed(0, master, public, private, 0, 0, 0))) + if (!TEST_true(test_drbg_reseed(0, master, public, private, 0, 0, 0, 0))) goto error; reset_drbg_hook_ctx(); From bernd.edlinger at hotmail.de Mon Nov 5 22:01:09 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Mon, 05 Nov 2018 22:01:09 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541455269.432517.16421.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7b7fdf8a791720f8d19276a9012b1248956e00e0 (commit) from 939ef2ea114235f94124832c804161f735cec6c8 (commit) - Log ----------------------------------------------------------------- commit 7b7fdf8a791720f8d19276a9012b1248956e00e0 Author: Bernd Edlinger Date: Tue Oct 30 22:21:34 2018 +0100 Fix a race condition in drbgtest.c Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7531) (cherry picked from commit 2bb1b5ddd12c23bbfa7fb60ee3296612ca943fef) ----------------------------------------------------------------------- Summary of changes: test/drbgtest.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/test/drbgtest.c b/test/drbgtest.c index 371f138..755f0b3 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -572,6 +572,8 @@ static void reset_drbg_hook_ctx(void) * 1: it is expected that the specified DRBG is reseeded * 0: it is expected that the specified DRBG is not reseeded * -1: don't check whether the specified DRBG was reseeded or not + * |reseed_time|: if nonzero, used instead of time(NULL) to set the + * |before_reseed| time. */ static int test_drbg_reseed(int expect_success, RAND_DRBG *master, @@ -579,7 +581,8 @@ static int test_drbg_reseed(int expect_success, RAND_DRBG *private, int expect_master_reseed, int expect_public_reseed, - int expect_private_reseed + int expect_private_reseed, + time_t reseed_time ) { unsigned char buf[32]; @@ -605,8 +608,11 @@ static int test_drbg_reseed(int expect_success, * step 2: generate random output */ + if (reseed_time == 0) + reseed_time = time(NULL); + /* Generate random output from the public and private DRBG */ - before_reseed = expect_master_reseed == 1 ? time(NULL) : 0; + before_reseed = expect_master_reseed == 1 ? reseed_time : 0; if (!TEST_int_eq(RAND_bytes(buf, sizeof(buf)), expect_success) || !TEST_int_eq(RAND_priv_bytes(buf, sizeof(buf)), expect_success)) return 0; @@ -673,6 +679,7 @@ static int test_rand_drbg_reseed(void) RAND_DRBG *master, *public, *private; unsigned char rand_add_buf[256]; int rv=0; + time_t before_reseed; /* Check whether RAND_OpenSSL() is the default method */ if (!TEST_ptr_eq(RAND_get_rand_method(), RAND_OpenSSL())) @@ -707,7 +714,7 @@ static int test_rand_drbg_reseed(void) /* * Test initial seeding of shared DRBGs */ - if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -715,7 +722,7 @@ static int test_rand_drbg_reseed(void) /* * Test initial state of shared DRBGs */ - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 0))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 0, 0))) goto error; reset_drbg_hook_ctx(); @@ -724,7 +731,7 @@ static int test_rand_drbg_reseed(void) * reseed counters differ from the master's reseed counter. */ master->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -734,7 +741,7 @@ static int test_rand_drbg_reseed(void) */ master->reseed_prop_counter++; private->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 0))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 0, 0))) goto error; reset_drbg_hook_ctx(); @@ -744,7 +751,7 @@ static int test_rand_drbg_reseed(void) */ master->reseed_prop_counter++; public->reseed_prop_counter++; - if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 1, 0))) goto error; reset_drbg_hook_ctx(); @@ -753,10 +760,17 @@ static int test_rand_drbg_reseed(void) memset(rand_add_buf, 'r', sizeof(rand_add_buf)); /* - * Test whether all three DRBGs are reseeded by RAND_add() + * Test whether all three DRBGs are reseeded by RAND_add(). + * The before_reseed time has to be measured here and passed into the + * test_drbg_reseed() test, because the master DRBG gets already reseeded + * in RAND_add(), whence the check for the condition + * before_reseed <= master->reseed_time will fail if the time value happens + * to increase between the RAND_add() and the test_drbg_reseed() call. */ + before_reseed = time(NULL); RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); - if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1))) + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, + before_reseed))) goto error; reset_drbg_hook_ctx(); @@ -767,7 +781,7 @@ static int test_rand_drbg_reseed(void) master_ctx.fail = 1; master->reseed_prop_counter++; RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); - if (!TEST_true(test_drbg_reseed(0, master, public, private, 0, 0, 0))) + if (!TEST_true(test_drbg_reseed(0, master, public, private, 0, 0, 0, 0))) goto error; reset_drbg_hook_ctx(); From pauli at openssl.org Wed Nov 7 04:14:29 2018 From: pauli at openssl.org (Paul I. Dale) Date: Wed, 07 Nov 2018 04:14:29 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541564069.262339.13793.nullmailer@dev.openssl.org> The branch master has been updated via 47d2080facaacda0610bb0954da9f289de8d700b (commit) from 2bb1b5ddd12c23bbfa7fb60ee3296612ca943fef (commit) - Log ----------------------------------------------------------------- commit 47d2080facaacda0610bb0954da9f289de8d700b Author: Rich Salz Date: Tue Oct 23 16:13:47 2018 -0400 Remove outdated e_chil.txt file Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7476) ----------------------------------------------------------------------- Summary of changes: demos/engines/e_chil.txt | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 demos/engines/e_chil.txt diff --git a/demos/engines/e_chil.txt b/demos/engines/e_chil.txt deleted file mode 100644 index dc7076b..0000000 --- a/demos/engines/e_chil.txt +++ /dev/null @@ -1,12 +0,0 @@ -HWCRHK_F_BIND_HELPER 110 -HWCRHK_F_HWCRHK_CTRL 100 -HWCRHK_F_HWCRHK_FINISH 101 -HWCRHK_F_HWCRHK_GET_PASS 102 -HWCRHK_F_HWCRHK_INIT 103 -HWCRHK_F_HWCRHK_INSERT_CARD 104 -HWCRHK_F_HWCRHK_LOAD_PRIVKEY 105 -HWCRHK_F_HWCRHK_LOAD_PUBKEY 106 -HWCRHK_F_HWCRHK_MOD_EXP 107 -HWCRHK_F_HWCRHK_MUTEX_INIT 111 -HWCRHK_F_HWCRHK_RAND_BYTES 108 -HWCRHK_F_HWCRHK_RSA_MOD_EXP 109 From no-reply at appveyor.com Wed Nov 7 10:30:56 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 07 Nov 2018 10:30:56 +0000 Subject: [openssl-commits] Build failed: openssl master.20820 Message-ID: <20181107103056.1.96237626A55F9980@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 7 11:53:49 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 07 Nov 2018 11:53:49 +0000 Subject: [openssl-commits] Build completed: openssl master.20821 Message-ID: <20181107115349.1.D9B1B8EC2D2E0EE7@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Wed Nov 7 13:39:10 2018 From: levitte at openssl.org (Richard Levitte) Date: Wed, 07 Nov 2018 13:39:10 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541597950.644300.18441.nullmailer@dev.openssl.org> The branch master has been updated via 3866b2247fb7904a4e660593a16365147f479415 (commit) from 47d2080facaacda0610bb0954da9f289de8d700b (commit) - Log ----------------------------------------------------------------- commit 3866b2247fb7904a4e660593a16365147f479415 Author: Richard Levitte Date: Thu Nov 1 14:02:21 2018 +0100 util/add-depends.pl: go through shared_sources too Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7545) ----------------------------------------------------------------------- Summary of changes: util/add-depends.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/util/add-depends.pl b/util/add-depends.pl index deb0de2..55d56b7 100644 --- a/util/add-depends.pl +++ b/util/add-depends.pl @@ -36,8 +36,10 @@ my @depfiles = scalar @st > 0; # Determines the grep result } map { (my $x = $_) =~ s|\.o$|$depext|; $x; } - grep { $unified_info{sources}->{$_}->[0] =~ /\.cc?$/ } - keys %{$unified_info{sources}}; + ( ( grep { $unified_info{sources}->{$_}->[0] =~ /\.cc?$/ } + keys %{$unified_info{sources}} ), + ( grep { $unified_info{shared_sources}->{$_}->[0] =~ /\.cc?$/ } + keys %{$unified_info{shared_sources}} ) ); exit 0 unless $rebuild; From levitte at openssl.org Wed Nov 7 13:40:22 2018 From: levitte at openssl.org (Richard Levitte) Date: Wed, 07 Nov 2018 13:40:22 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541598022.517776.19467.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 4274ef97c1300d1924c537b7d4c91bb8494a5de2 (commit) from 7b7fdf8a791720f8d19276a9012b1248956e00e0 (commit) - Log ----------------------------------------------------------------- commit 4274ef97c1300d1924c537b7d4c91bb8494a5de2 Author: Richard Levitte Date: Thu Nov 1 14:02:21 2018 +0100 util/add-depends.pl: go through shared_sources too Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7545) (cherry picked from commit 3866b2247fb7904a4e660593a16365147f479415) ----------------------------------------------------------------------- Summary of changes: util/add-depends.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/util/add-depends.pl b/util/add-depends.pl index deb0de2..55d56b7 100644 --- a/util/add-depends.pl +++ b/util/add-depends.pl @@ -36,8 +36,10 @@ my @depfiles = scalar @st > 0; # Determines the grep result } map { (my $x = $_) =~ s|\.o$|$depext|; $x; } - grep { $unified_info{sources}->{$_}->[0] =~ /\.cc?$/ } - keys %{$unified_info{sources}}; + ( ( grep { $unified_info{sources}->{$_}->[0] =~ /\.cc?$/ } + keys %{$unified_info{sources}} ), + ( grep { $unified_info{shared_sources}->{$_}->[0] =~ /\.cc?$/ } + keys %{$unified_info{shared_sources}} ) ); exit 0 unless $rebuild; From builds at travis-ci.org Wed Nov 7 13:57:15 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 07 Nov 2018 13:57:15 +0000 Subject: [openssl-commits] Errored: openssl/openssl#21551 (master - 3866b22) In-Reply-To: Message-ID: <5be2ef3b2dcda_43ff22906e9dc191555@be920dc7-2291-4446-bb3e-b40d450575c3.mail> Build Update for openssl/openssl ------------------------------------- Build: #21551 Status: Errored Duration: 17 mins and 15 secs Commit: 3866b22 (master) Author: Richard Levitte Message: util/add-depends.pl: go through shared_sources too Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7545) View the changeset: https://github.com/openssl/openssl/compare/47d2080facaa...3866b2247fb7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/451887603?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bernd.edlinger at hotmail.de Wed Nov 7 14:18:49 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Wed, 07 Nov 2018 14:18:49 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541600329.159017.24515.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 9bc987f0086052a03982694e0ef69e9617a2b2dc (commit) from 4274ef97c1300d1924c537b7d4c91bb8494a5de2 (commit) - Log ----------------------------------------------------------------- commit 9bc987f0086052a03982694e0ef69e9617a2b2dc Author: Bernd Edlinger Date: Tue Oct 30 23:09:56 2018 +0100 Initialize reseed_gen_counter to 1, like it is done in master Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7532) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index d9f01cb..de4f333 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -359,7 +359,7 @@ int RAND_DRBG_instantiate(RAND_DRBG *drbg, } drbg->state = DRBG_READY; - drbg->reseed_gen_counter = 0; + drbg->reseed_gen_counter = 1; drbg->reseed_time = time(NULL); tsan_store(&drbg->reseed_prop_counter, drbg->reseed_next_counter); @@ -451,7 +451,7 @@ int RAND_DRBG_reseed(RAND_DRBG *drbg, goto end; drbg->state = DRBG_READY; - drbg->reseed_gen_counter = 0; + drbg->reseed_gen_counter = 1; drbg->reseed_time = time(NULL); tsan_store(&drbg->reseed_prop_counter, drbg->reseed_next_counter); From bernd.edlinger at hotmail.de Wed Nov 7 14:23:17 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Wed, 07 Nov 2018 14:23:17 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541600597.066507.26056.nullmailer@dev.openssl.org> The branch master has been updated via 31f32abb8eb2a3ebd8500e6e0460b4a6791e5ed7 (commit) from 3866b2247fb7904a4e660593a16365147f479415 (commit) - Log ----------------------------------------------------------------- commit 31f32abb8eb2a3ebd8500e6e0460b4a6791e5ed7 Author: Bernd Edlinger Date: Mon Nov 5 23:13:11 2018 +0100 Rename the rand_drbg_st data member "pool" to "seed_pool" ... to make the intended use more clear and differentiate it from the data member "adin_pool". Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7575) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 14 +++++++------- crypto/rand/rand_lcl.h | 2 +- crypto/rand/rand_lib.c | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 2cfa4f5..d398b42 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -557,11 +557,11 @@ int rand_drbg_restart(RAND_DRBG *drbg, const unsigned char *adin = NULL; size_t adinlen = 0; - if (drbg->pool != NULL) { + if (drbg->seed_pool != NULL) { RANDerr(RAND_F_RAND_DRBG_RESTART, ERR_R_INTERNAL_ERROR); drbg->state = DRBG_ERROR; - rand_pool_free(drbg->pool); - drbg->pool = NULL; + rand_pool_free(drbg->seed_pool); + drbg->seed_pool = NULL; return 0; } @@ -581,8 +581,8 @@ int rand_drbg_restart(RAND_DRBG *drbg, } /* will be picked up by the rand_drbg_get_entropy() callback */ - drbg->pool = rand_pool_attach(buffer, len, entropy); - if (drbg->pool == NULL) + drbg->seed_pool = rand_pool_attach(buffer, len, entropy); + if (drbg->seed_pool == NULL) return 0; } else { if (drbg->max_adinlen < len) { @@ -628,8 +628,8 @@ int rand_drbg_restart(RAND_DRBG *drbg, } } - rand_pool_free(drbg->pool); - drbg->pool = NULL; + rand_pool_free(drbg->seed_pool); + drbg->seed_pool = NULL; return drbg->state == DRBG_READY; } diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 77be005..33b367c 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -203,7 +203,7 @@ struct rand_drbg_st { * with respect to how randomness is added to the RNG during reseeding * (see PR #4328). */ - struct rand_pool_st *pool; + struct rand_pool_st *seed_pool; /* * Auxiliary pool for additional data. diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 884917a..4f1a134 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -146,8 +146,8 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, return 0; } - if (drbg->pool != NULL) { - pool = drbg->pool; + if (drbg->seed_pool != NULL) { + pool = drbg->seed_pool; pool->entropy_requested = entropy; } else { pool = rand_pool_new(entropy, min_len, max_len); @@ -204,7 +204,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, } err: - if (drbg->pool == NULL) + if (drbg->seed_pool == NULL) rand_pool_free(pool); return ret; } @@ -216,7 +216,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, void rand_drbg_cleanup_entropy(RAND_DRBG *drbg, unsigned char *out, size_t outlen) { - if (drbg->pool == NULL) + if (drbg->seed_pool == NULL) OPENSSL_secure_clear_free(out, outlen); } From bernd.edlinger at hotmail.de Wed Nov 7 14:23:52 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Wed, 07 Nov 2018 14:23:52 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541600632.033475.26875.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 294941aebb28329efa17acd8fe6eb8b3cc3ce345 (commit) from 9bc987f0086052a03982694e0ef69e9617a2b2dc (commit) - Log ----------------------------------------------------------------- commit 294941aebb28329efa17acd8fe6eb8b3cc3ce345 Author: Bernd Edlinger Date: Mon Nov 5 23:13:11 2018 +0100 Rename the rand_drbg_st data member "pool" to "seed_pool" ... to make the intended use more clear and differentiate it from the data member "adin_pool". Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7575) (cherry picked from commit 31f32abb8eb2a3ebd8500e6e0460b4a6791e5ed7) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 14 +++++++------- crypto/rand/rand_lcl.h | 2 +- crypto/rand/rand_lib.c | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index de4f333..c1d89f8 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -487,11 +487,11 @@ int rand_drbg_restart(RAND_DRBG *drbg, const unsigned char *adin = NULL; size_t adinlen = 0; - if (drbg->pool != NULL) { + if (drbg->seed_pool != NULL) { RANDerr(RAND_F_RAND_DRBG_RESTART, ERR_R_INTERNAL_ERROR); drbg->state = DRBG_ERROR; - rand_pool_free(drbg->pool); - drbg->pool = NULL; + rand_pool_free(drbg->seed_pool); + drbg->seed_pool = NULL; return 0; } @@ -511,8 +511,8 @@ int rand_drbg_restart(RAND_DRBG *drbg, } /* will be picked up by the rand_drbg_get_entropy() callback */ - drbg->pool = rand_pool_attach(buffer, len, entropy); - if (drbg->pool == NULL) + drbg->seed_pool = rand_pool_attach(buffer, len, entropy); + if (drbg->seed_pool == NULL) return 0; } else { if (drbg->max_adinlen < len) { @@ -558,8 +558,8 @@ int rand_drbg_restart(RAND_DRBG *drbg, } } - rand_pool_free(drbg->pool); - drbg->pool = NULL; + rand_pool_free(drbg->seed_pool); + drbg->seed_pool = NULL; return drbg->state == DRBG_READY; } diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 376efed..9a4dc32 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -183,7 +183,7 @@ struct rand_drbg_st { * with respect to how randomness is added to the RNG during reseeding * (see PR #4328). */ - struct rand_pool_st *pool; + struct rand_pool_st *seed_pool; /* * Auxiliary pool for additional data. diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 884917a..4f1a134 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -146,8 +146,8 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, return 0; } - if (drbg->pool != NULL) { - pool = drbg->pool; + if (drbg->seed_pool != NULL) { + pool = drbg->seed_pool; pool->entropy_requested = entropy; } else { pool = rand_pool_new(entropy, min_len, max_len); @@ -204,7 +204,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, } err: - if (drbg->pool == NULL) + if (drbg->seed_pool == NULL) rand_pool_free(pool); return ret; } @@ -216,7 +216,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg, void rand_drbg_cleanup_entropy(RAND_DRBG *drbg, unsigned char *out, size_t outlen) { - if (drbg->pool == NULL) + if (drbg->seed_pool == NULL) OPENSSL_secure_clear_free(out, outlen); } From builds at travis-ci.org Wed Nov 7 14:50:34 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 07 Nov 2018 14:50:34 +0000 Subject: [openssl-commits] Passed: openssl/openssl#21554 (master - 31f32ab) In-Reply-To: Message-ID: <5be2fbb9c8953_43ff22906f56c21733f@be920dc7-2291-4446-bb3e-b40d450575c3.mail> Build Update for openssl/openssl ------------------------------------- Build: #21554 Status: Passed Duration: 26 mins and 17 secs Commit: 31f32ab (master) Author: Bernd Edlinger Message: Rename the rand_drbg_st data member "pool" to "seed_pool" ... to make the intended use more clear and differentiate it from the data member "adin_pool". Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7575) View the changeset: https://github.com/openssl/openssl/compare/3866b2247fb7...31f32abb8eb2 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/451908392?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pauli at openssl.org Wed Nov 7 22:13:01 2018 From: pauli at openssl.org (Paul I. Dale) Date: Wed, 07 Nov 2018 22:13:01 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541628781.971947.13597.nullmailer@dev.openssl.org> The branch master has been updated via ac765685d4b08a48cefffc71c434760045154dad (commit) from 31f32abb8eb2a3ebd8500e6e0460b4a6791e5ed7 (commit) - Log ----------------------------------------------------------------- commit ac765685d4b08a48cefffc71c434760045154dad Author: Pauli Date: Thu Nov 8 07:22:01 2018 +1000 Add missing RAND initialisation call. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7587) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_lib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 4f1a134..277403c 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -363,7 +363,8 @@ void rand_cleanup_int(void) */ void RAND_keep_random_devices_open(int keep) { - rand_pool_keep_random_devices_open(keep); + if (RUN_ONCE(&rand_init, do_rand_init)) + rand_pool_keep_random_devices_open(keep); } /* From pauli at openssl.org Wed Nov 7 22:13:27 2018 From: pauli at openssl.org (Paul I. Dale) Date: Wed, 07 Nov 2018 22:13:27 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541628807.104968.14422.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via f7258489d88432dfc431772314ebac1c2997fdf8 (commit) from 294941aebb28329efa17acd8fe6eb8b3cc3ce345 (commit) - Log ----------------------------------------------------------------- commit f7258489d88432dfc431772314ebac1c2997fdf8 Author: Pauli Date: Thu Nov 8 07:22:01 2018 +1000 Add missing RAND initialisation call. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7587) (cherry picked from commit ac765685d4b08a48cefffc71c434760045154dad) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_lib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 4f1a134..277403c 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -363,7 +363,8 @@ void rand_cleanup_int(void) */ void RAND_keep_random_devices_open(int keep) { - rand_pool_keep_random_devices_open(keep); + if (RUN_ONCE(&rand_init, do_rand_init)) + rand_pool_keep_random_devices_open(keep); } /* From matt at openssl.org Thu Nov 8 11:39:42 2018 From: matt at openssl.org (Matt Caswell) Date: Thu, 08 Nov 2018 11:39:42 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541677182.321217.26999.nullmailer@dev.openssl.org> The branch master has been updated via 680bd131b69d57e891888ab70d300176a5a16617 (commit) via 589b6227a85ea0133fe91d744b16dd72edee929a (commit) from ac765685d4b08a48cefffc71c434760045154dad (commit) - Log ----------------------------------------------------------------- commit 680bd131b69d57e891888ab70d300176a5a16617 Author: Matt Caswell Date: Fri Oct 26 15:29:15 2018 +0100 Give a better error if an attempt is made to set a zero length groups list Previously we indicated this as a malloc failure which isn't very helpful. Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/7479) commit 589b6227a85ea0133fe91d744b16dd72edee929a Author: Matt Caswell Date: Wed Oct 24 10:11:00 2018 +0100 Ignore disabled ciphers when deciding if we are using ECC use_ecc() was always returning 1 because there are default (TLSv1.3) ciphersuites that use ECC - even if those ciphersuites are disabled by other options. Fixes #7471 Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/7479) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set1_curves.pod | 3 +++ ssl/statem/extensions_clnt.c | 13 ++++++++----- ssl/t1_lib.c | 4 ++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/man3/SSL_CTX_set1_curves.pod b/doc/man3/SSL_CTX_set1_curves.pod index a250f20..2757ccb 100644 --- a/doc/man3/SSL_CTX_set1_curves.pod +++ b/doc/man3/SSL_CTX_set1_curves.pod @@ -32,6 +32,9 @@ SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve =head1 DESCRIPTION +For all of the functions below that set the supported groups there must be at +least one group in the list. + SSL_CTX_set1_groups() sets the supported groups for B to B groups in the array B. The array consist of all NIDs of groups in preference order. For a TLS client the groups are used directly in the diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index 4b5e6fe..ab4dbf6 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -115,7 +115,7 @@ EXT_RETURN tls_construct_ctos_srp(SSL *s, WPACKET *pkt, unsigned int context, #ifndef OPENSSL_NO_EC static int use_ecc(SSL *s) { - int i, end; + int i, end, ret = 0; unsigned long alg_k, alg_a; STACK_OF(SSL_CIPHER) *cipher_stack = NULL; @@ -123,7 +123,7 @@ static int use_ecc(SSL *s) if (s->version == SSL3_VERSION) return 0; - cipher_stack = SSL_get_ciphers(s); + cipher_stack = SSL_get1_supported_ciphers(s); end = sk_SSL_CIPHER_num(cipher_stack); for (i = 0; i < end; i++) { const SSL_CIPHER *c = sk_SSL_CIPHER_value(cipher_stack, i); @@ -132,11 +132,14 @@ static int use_ecc(SSL *s) alg_a = c->algorithm_auth; if ((alg_k & (SSL_kECDHE | SSL_kECDHEPSK)) || (alg_a & SSL_aECDSA) - || c->min_tls >= TLS1_3_VERSION) - return 1; + || c->min_tls >= TLS1_3_VERSION) { + ret = 1; + break; + } } - return 0; + sk_SSL_CIPHER_free(cipher_stack); + return ret; } EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 1564979..b8b9fbd 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -343,6 +343,10 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen, */ unsigned long dup_list = 0; + if (ngroups == 0) { + SSLerr(SSL_F_TLS1_SET_GROUPS, SSL_R_BAD_LENGTH); + return 0; + } if ((glist = OPENSSL_malloc(ngroups * sizeof(*glist))) == NULL) { SSLerr(SSL_F_TLS1_SET_GROUPS, ERR_R_MALLOC_FAILURE); return 0; From matt at openssl.org Thu Nov 8 11:39:52 2018 From: matt at openssl.org (Matt Caswell) Date: Thu, 08 Nov 2018 11:39:52 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541677192.504204.27882.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via efd67e01a5471f9b0745018d7707b69876b070f6 (commit) via f306b9e62a375add764c7d9de6e311aaa0229865 (commit) from f7258489d88432dfc431772314ebac1c2997fdf8 (commit) - Log ----------------------------------------------------------------- commit efd67e01a5471f9b0745018d7707b69876b070f6 Author: Matt Caswell Date: Fri Oct 26 15:29:15 2018 +0100 Give a better error if an attempt is made to set a zero length groups list Previously we indicated this as a malloc failure which isn't very helpful. Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/7479) (cherry picked from commit 680bd131b69d57e891888ab70d300176a5a16617) commit f306b9e62a375add764c7d9de6e311aaa0229865 Author: Matt Caswell Date: Wed Oct 24 10:11:00 2018 +0100 Ignore disabled ciphers when deciding if we are using ECC use_ecc() was always returning 1 because there are default (TLSv1.3) ciphersuites that use ECC - even if those ciphersuites are disabled by other options. Fixes #7471 Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/7479) (cherry picked from commit 589b6227a85ea0133fe91d744b16dd72edee929a) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set1_curves.pod | 3 +++ ssl/statem/extensions_clnt.c | 13 ++++++++----- ssl/t1_lib.c | 4 ++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/man3/SSL_CTX_set1_curves.pod b/doc/man3/SSL_CTX_set1_curves.pod index a250f20..2757ccb 100644 --- a/doc/man3/SSL_CTX_set1_curves.pod +++ b/doc/man3/SSL_CTX_set1_curves.pod @@ -32,6 +32,9 @@ SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve =head1 DESCRIPTION +For all of the functions below that set the supported groups there must be at +least one group in the list. + SSL_CTX_set1_groups() sets the supported groups for B to B groups in the array B. The array consist of all NIDs of groups in preference order. For a TLS client the groups are used directly in the diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index 4b5e6fe..ab4dbf6 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -115,7 +115,7 @@ EXT_RETURN tls_construct_ctos_srp(SSL *s, WPACKET *pkt, unsigned int context, #ifndef OPENSSL_NO_EC static int use_ecc(SSL *s) { - int i, end; + int i, end, ret = 0; unsigned long alg_k, alg_a; STACK_OF(SSL_CIPHER) *cipher_stack = NULL; @@ -123,7 +123,7 @@ static int use_ecc(SSL *s) if (s->version == SSL3_VERSION) return 0; - cipher_stack = SSL_get_ciphers(s); + cipher_stack = SSL_get1_supported_ciphers(s); end = sk_SSL_CIPHER_num(cipher_stack); for (i = 0; i < end; i++) { const SSL_CIPHER *c = sk_SSL_CIPHER_value(cipher_stack, i); @@ -132,11 +132,14 @@ static int use_ecc(SSL *s) alg_a = c->algorithm_auth; if ((alg_k & (SSL_kECDHE | SSL_kECDHEPSK)) || (alg_a & SSL_aECDSA) - || c->min_tls >= TLS1_3_VERSION) - return 1; + || c->min_tls >= TLS1_3_VERSION) { + ret = 1; + break; + } } - return 0; + sk_SSL_CIPHER_free(cipher_stack); + return ret; } EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 1564979..b8b9fbd 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -343,6 +343,10 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen, */ unsigned long dup_list = 0; + if (ngroups == 0) { + SSLerr(SSL_F_TLS1_SET_GROUPS, SSL_R_BAD_LENGTH); + return 0; + } if ((glist = OPENSSL_malloc(ngroups * sizeof(*glist))) == NULL) { SSLerr(SSL_F_TLS1_SET_GROUPS, ERR_R_MALLOC_FAILURE); return 0; From matthias.st.pierre at ncp-e.com Thu Nov 8 15:30:30 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 08 Nov 2018 15:30:30 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541691030.829541.21522.nullmailer@dev.openssl.org> The branch master has been updated via 1901516a4ba909fff12e0e7815aa2d499f4d6d67 (commit) via 1c615e4ce97715ae3af9255bc57be32a49687966 (commit) from 680bd131b69d57e891888ab70d300176a5a16617 (commit) - Log ----------------------------------------------------------------- commit 1901516a4ba909fff12e0e7815aa2d499f4d6d67 Author: Dr. Matthias St. Pierre Date: Fri Oct 26 01:13:19 2018 +0200 Test: enable internal tests for shared Windows builds Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7462) commit 1c615e4ce97715ae3af9255bc57be32a49687966 Author: Dr. Matthias St. Pierre Date: Mon Oct 22 18:05:14 2018 +0200 Test: link drbgtest statically against libcrypto and remove duplicate rand_drbg_seedlen() implementation again. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7462) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 6 +--- crypto/rand/rand_lcl.h | 2 +- test/build.info | 2 +- test/drbgtest.c | 40 -------------------------- test/recipes/02-test_internal_ctype.t | 3 -- test/recipes/03-test_internal_asn1.t | 3 -- test/recipes/03-test_internal_chacha.t | 3 -- test/recipes/03-test_internal_curve448.t | 3 -- test/recipes/03-test_internal_modes.t | 3 -- test/recipes/03-test_internal_poly1305.t | 3 -- test/recipes/03-test_internal_siphash.t | 3 -- test/recipes/03-test_internal_sm2.t | 3 -- test/recipes/03-test_internal_sm4.t | 3 -- test/recipes/03-test_internal_ssl_cert_table.t | 3 -- test/recipes/03-test_internal_x509.t | 3 -- test/recipes/06-test-rdrand.t | 3 -- test/recipes/90-test_tls13encryption.t | 3 -- 17 files changed, 3 insertions(+), 86 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index d398b42..16756d9 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -1045,12 +1045,8 @@ static int drbg_bytes(unsigned char *out, int count) * Calculates the minimum length of a full entropy buffer * which is necessary to seed (i.e. instantiate) the DRBG * successfully. - * - * NOTE: There is a copy of this function in drbgtest.c. - * If you change anything here, you need to update - * the copy accordingly. */ -static size_t rand_drbg_seedlen(RAND_DRBG *drbg) +size_t rand_drbg_seedlen(RAND_DRBG *drbg) { /* * If no os entropy source is available then RAND_seed(buffer, bufsize) diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 33b367c..3ec7189 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -309,7 +309,7 @@ extern int rand_fork_count; /* DRBG helpers */ int rand_drbg_restart(RAND_DRBG *drbg, const unsigned char *buffer, size_t len, size_t entropy); - +size_t rand_drbg_seedlen(RAND_DRBG *drbg); /* locking api */ int rand_drbg_lock(RAND_DRBG *drbg); int rand_drbg_unlock(RAND_DRBG *drbg); diff --git a/test/build.info b/test/build.info index d2acbed..0227212 100644 --- a/test/build.info +++ b/test/build.info @@ -342,7 +342,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=main SOURCE[drbgtest]=drbgtest.c INCLUDE[drbgtest]=../include - DEPEND[drbgtest]=../libcrypto libtestutil.a + DEPEND[drbgtest]=../libcrypto.a libtestutil.a SOURCE[drbg_cavs_test]=drbg_cavs_test.c drbg_cavs_data_ctr.c \ drbg_cavs_data_hash.c drbg_cavs_data_hmac.c diff --git a/test/drbgtest.c b/test/drbgtest.c index c285c75..1aef1fe 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -901,46 +901,6 @@ static int test_multi_thread(void) } #endif -#ifdef OPENSSL_RAND_SEED_NONE -/* - * Calculates the minimum buffer length which needs to be - * provided to RAND_seed() in order to successfully - * instantiate the DRBG. - * - * Copied from rand_drbg_seedlen() in rand_drbg.c - */ -static size_t rand_drbg_seedlen(RAND_DRBG *drbg) -{ - /* - * If no os entropy source is available then RAND_seed(buffer, bufsize) - * is expected to succeed if and only if the buffer length satisfies - * the following requirements, which follow from the calculations - * in RAND_DRBG_instantiate(). - */ - size_t min_entropy = drbg->strength; - size_t min_entropylen = drbg->min_entropylen; - - /* - * Extra entropy for the random nonce in the absence of a - * get_nonce callback, see comment in RAND_DRBG_instantiate(). - */ - if (drbg->min_noncelen > 0 && drbg->get_nonce == NULL) { - min_entropy += drbg->strength / 2; - min_entropylen += drbg->min_noncelen; - } - - /* - * Convert entropy requirement from bits to bytes - * (dividing by 8 without rounding upwards, because - * all entropy requirements are divisible by 8). - */ - min_entropy >>= 3; - - /* Return a value that satisfies both requirements */ - return min_entropy > min_entropylen ? min_entropy : min_entropylen; -} -#endif /*OPENSSL_RAND_SEED_NONE*/ - /* * Test that instantiation with RAND_seed() works as expected * diff --git a/test/recipes/02-test_internal_ctype.t b/test/recipes/02-test_internal_ctype.t index 5bf81bd..9990021 100644 --- a/test/recipes/02-test_internal_ctype.t +++ b/test/recipes/02-test_internal_ctype.t @@ -14,7 +14,4 @@ use OpenSSL::Test::Utils; setup("test_internal_ctype"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_ctype", "ctype_internal_test"); diff --git a/test/recipes/03-test_internal_asn1.t b/test/recipes/03-test_internal_asn1.t index d34445f..f6f3b5c 100644 --- a/test/recipes/03-test_internal_asn1.t +++ b/test/recipes/03-test_internal_asn1.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_asn1"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_asn1", "asn1_internal_test"); diff --git a/test/recipes/03-test_internal_chacha.t b/test/recipes/03-test_internal_chacha.t index bac1328..14ec5c6 100644 --- a/test/recipes/03-test_internal_chacha.t +++ b/test/recipes/03-test_internal_chacha.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_chacha"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_chacha", "chacha_internal_test", "chacha"); diff --git a/test/recipes/03-test_internal_curve448.t b/test/recipes/03-test_internal_curve448.t index fb41a6b..4decc98 100644 --- a/test/recipes/03-test_internal_curve448.t +++ b/test/recipes/03-test_internal_curve448.t @@ -13,9 +13,6 @@ use OpenSSL::Test::Utils; setup("test_internal_curve448"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - plan skip_all => "This test is unsupported in a no-ec build" if disabled("ec"); diff --git a/test/recipes/03-test_internal_modes.t b/test/recipes/03-test_internal_modes.t index 4371822..09c0664 100644 --- a/test/recipes/03-test_internal_modes.t +++ b/test/recipes/03-test_internal_modes.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_modes"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_modes", "modes_internal_test"); diff --git a/test/recipes/03-test_internal_poly1305.t b/test/recipes/03-test_internal_poly1305.t index b5809c1..a3b9849 100644 --- a/test/recipes/03-test_internal_poly1305.t +++ b/test/recipes/03-test_internal_poly1305.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_poly1305"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_poly1305", "poly1305_internal_test", "poly1305"); diff --git a/test/recipes/03-test_internal_siphash.t b/test/recipes/03-test_internal_siphash.t index 1817e4e..f5e8890 100644 --- a/test/recipes/03-test_internal_siphash.t +++ b/test/recipes/03-test_internal_siphash.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_siphash"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_siphash", "siphash_internal_test", "siphash"); diff --git a/test/recipes/03-test_internal_sm2.t b/test/recipes/03-test_internal_sm2.t index b93716e..7a3fc41 100644 --- a/test/recipes/03-test_internal_sm2.t +++ b/test/recipes/03-test_internal_sm2.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_sm2"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_sm2", "sm2_internal_test", "sm2"); diff --git a/test/recipes/03-test_internal_sm4.t b/test/recipes/03-test_internal_sm4.t index 459d83c..34de203 100644 --- a/test/recipes/03-test_internal_sm4.t +++ b/test/recipes/03-test_internal_sm4.t @@ -14,7 +14,4 @@ use OpenSSL::Test::Utils; setup("test_internal_sm4"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_sm4", "sm4_internal_test", "sm4"); diff --git a/test/recipes/03-test_internal_ssl_cert_table.t b/test/recipes/03-test_internal_ssl_cert_table.t index 1cafc23..8872cd5 100644 --- a/test/recipes/03-test_internal_ssl_cert_table.t +++ b/test/recipes/03-test_internal_ssl_cert_table.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_ssl_cert_table"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_ssl_cert_table", "ssl_cert_table_internal_test"); diff --git a/test/recipes/03-test_internal_x509.t b/test/recipes/03-test_internal_x509.t index d4aaa22..ef140eb 100644 --- a/test/recipes/03-test_internal_x509.t +++ b/test/recipes/03-test_internal_x509.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_x509"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_x509", "x509_internal_test"); diff --git a/test/recipes/06-test-rdrand.t b/test/recipes/06-test-rdrand.t index ac246bd..24be8ae 100644 --- a/test/recipes/06-test-rdrand.t +++ b/test/recipes/06-test-rdrand.t @@ -15,9 +15,6 @@ use OpenSSL::Test::Utils; setup("test_rdrand_sanity"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - # We also need static builds to be enabled even on linux plan skip_all => "This test is unsupported if static builds are not enabled" if disabled("static"); diff --git a/test/recipes/90-test_tls13encryption.t b/test/recipes/90-test_tls13encryption.t index f997b4d..e6ca97a 100644 --- a/test/recipes/90-test_tls13encryption.t +++ b/test/recipes/90-test_tls13encryption.t @@ -15,9 +15,6 @@ setup($test_name); plan skip_all => "$test_name is not supported in this build" if disabled("tls1_3"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - plan tests => 1; ok(run(test(["tls13encryptiontest"])), "running tls13encryptiontest"); From matthias.st.pierre at ncp-e.com Thu Nov 8 15:33:14 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 08 Nov 2018 15:33:14 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541691194.440712.23000.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via cdf33504efb9cb429a920d4d6bfd30b9c7cd4bf8 (commit) via c39df745b08d9d9e8ae323a2b017db1961f5c0b8 (commit) from efd67e01a5471f9b0745018d7707b69876b070f6 (commit) - Log ----------------------------------------------------------------- commit cdf33504efb9cb429a920d4d6bfd30b9c7cd4bf8 Author: Dr. Matthias St. Pierre Date: Fri Oct 26 01:13:19 2018 +0200 Test: enable internal tests for shared Windows builds Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7462) (cherry picked from commit 1901516a4ba909fff12e0e7815aa2d499f4d6d67) commit c39df745b08d9d9e8ae323a2b017db1961f5c0b8 Author: Dr. Matthias St. Pierre Date: Mon Oct 22 18:05:14 2018 +0200 Test: link drbgtest statically against libcrypto and remove duplicate rand_drbg_seedlen() implementation again. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7462) (cherry picked from commit 1c615e4ce97715ae3af9255bc57be32a49687966) ----------------------------------------------------------------------- Summary of changes: crypto/rand/drbg_lib.c | 6 +--- crypto/rand/rand_lcl.h | 2 +- test/build.info | 2 +- test/drbgtest.c | 40 -------------------------- test/recipes/02-test_internal_ctype.t | 3 -- test/recipes/03-test_internal_asn1.t | 3 -- test/recipes/03-test_internal_chacha.t | 3 -- test/recipes/03-test_internal_curve448.t | 3 -- test/recipes/03-test_internal_modes.t | 3 -- test/recipes/03-test_internal_poly1305.t | 3 -- test/recipes/03-test_internal_siphash.t | 3 -- test/recipes/03-test_internal_sm2.t | 3 -- test/recipes/03-test_internal_sm4.t | 3 -- test/recipes/03-test_internal_ssl_cert_table.t | 3 -- test/recipes/03-test_internal_x509.t | 3 -- test/recipes/06-test-rdrand.t | 3 -- test/recipes/90-test_tls13encryption.t | 3 -- 17 files changed, 3 insertions(+), 86 deletions(-) diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index c1d89f8..a132821 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -974,12 +974,8 @@ static int drbg_bytes(unsigned char *out, int count) * Calculates the minimum length of a full entropy buffer * which is necessary to seed (i.e. instantiate) the DRBG * successfully. - * - * NOTE: There is a copy of this function in drbgtest.c. - * If you change anything here, you need to update - * the copy accordingly. */ -static size_t rand_drbg_seedlen(RAND_DRBG *drbg) +size_t rand_drbg_seedlen(RAND_DRBG *drbg) { /* * If no os entropy source is available then RAND_seed(buffer, bufsize) diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 9a4dc32..c3e9804 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -280,7 +280,7 @@ extern int rand_fork_count; /* DRBG helpers */ int rand_drbg_restart(RAND_DRBG *drbg, const unsigned char *buffer, size_t len, size_t entropy); - +size_t rand_drbg_seedlen(RAND_DRBG *drbg); /* locking api */ int rand_drbg_lock(RAND_DRBG *drbg); int rand_drbg_unlock(RAND_DRBG *drbg); diff --git a/test/build.info b/test/build.info index b2a82a7..b6bb711 100644 --- a/test/build.info +++ b/test/build.info @@ -341,7 +341,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN SOURCE[drbgtest]=drbgtest.c INCLUDE[drbgtest]=../include - DEPEND[drbgtest]=../libcrypto libtestutil.a + DEPEND[drbgtest]=../libcrypto.a libtestutil.a SOURCE[drbg_cavs_test]=drbg_cavs_test.c drbg_cavs_data.c INCLUDE[drbg_cavs_test]=../include . .. diff --git a/test/drbgtest.c b/test/drbgtest.c index 755f0b3..b690475 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -892,46 +892,6 @@ static int test_multi_thread(void) } #endif -#ifdef OPENSSL_RAND_SEED_NONE -/* - * Calculates the minimum buffer length which needs to be - * provided to RAND_seed() in order to successfully - * instantiate the DRBG. - * - * Copied from rand_drbg_seedlen() in rand_drbg.c - */ -static size_t rand_drbg_seedlen(RAND_DRBG *drbg) -{ - /* - * If no os entropy source is available then RAND_seed(buffer, bufsize) - * is expected to succeed if and only if the buffer length satisfies - * the following requirements, which follow from the calculations - * in RAND_DRBG_instantiate(). - */ - size_t min_entropy = drbg->strength; - size_t min_entropylen = drbg->min_entropylen; - - /* - * Extra entropy for the random nonce in the absence of a - * get_nonce callback, see comment in RAND_DRBG_instantiate(). - */ - if (drbg->min_noncelen > 0 && drbg->get_nonce == NULL) { - min_entropy += drbg->strength / 2; - min_entropylen += drbg->min_noncelen; - } - - /* - * Convert entropy requirement from bits to bytes - * (dividing by 8 without rounding upwards, because - * all entropy requirements are divisible by 8). - */ - min_entropy >>= 3; - - /* Return a value that satisfies both requirements */ - return min_entropy > min_entropylen ? min_entropy : min_entropylen; -} -#endif /*OPENSSL_RAND_SEED_NONE*/ - /* * Test that instantiation with RAND_seed() works as expected * diff --git a/test/recipes/02-test_internal_ctype.t b/test/recipes/02-test_internal_ctype.t index 5bf81bd..9990021 100644 --- a/test/recipes/02-test_internal_ctype.t +++ b/test/recipes/02-test_internal_ctype.t @@ -14,7 +14,4 @@ use OpenSSL::Test::Utils; setup("test_internal_ctype"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_ctype", "ctype_internal_test"); diff --git a/test/recipes/03-test_internal_asn1.t b/test/recipes/03-test_internal_asn1.t index d34445f..f6f3b5c 100644 --- a/test/recipes/03-test_internal_asn1.t +++ b/test/recipes/03-test_internal_asn1.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_asn1"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_asn1", "asn1_internal_test"); diff --git a/test/recipes/03-test_internal_chacha.t b/test/recipes/03-test_internal_chacha.t index bac1328..14ec5c6 100644 --- a/test/recipes/03-test_internal_chacha.t +++ b/test/recipes/03-test_internal_chacha.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_chacha"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_chacha", "chacha_internal_test", "chacha"); diff --git a/test/recipes/03-test_internal_curve448.t b/test/recipes/03-test_internal_curve448.t index fb41a6b..4decc98 100644 --- a/test/recipes/03-test_internal_curve448.t +++ b/test/recipes/03-test_internal_curve448.t @@ -13,9 +13,6 @@ use OpenSSL::Test::Utils; setup("test_internal_curve448"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - plan skip_all => "This test is unsupported in a no-ec build" if disabled("ec"); diff --git a/test/recipes/03-test_internal_modes.t b/test/recipes/03-test_internal_modes.t index 4371822..09c0664 100644 --- a/test/recipes/03-test_internal_modes.t +++ b/test/recipes/03-test_internal_modes.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_modes"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_modes", "modes_internal_test"); diff --git a/test/recipes/03-test_internal_poly1305.t b/test/recipes/03-test_internal_poly1305.t index b5809c1..a3b9849 100644 --- a/test/recipes/03-test_internal_poly1305.t +++ b/test/recipes/03-test_internal_poly1305.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_poly1305"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_poly1305", "poly1305_internal_test", "poly1305"); diff --git a/test/recipes/03-test_internal_siphash.t b/test/recipes/03-test_internal_siphash.t index 1817e4e..f5e8890 100644 --- a/test/recipes/03-test_internal_siphash.t +++ b/test/recipes/03-test_internal_siphash.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_siphash"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_siphash", "siphash_internal_test", "siphash"); diff --git a/test/recipes/03-test_internal_sm2.t b/test/recipes/03-test_internal_sm2.t index b93716e..7a3fc41 100644 --- a/test/recipes/03-test_internal_sm2.t +++ b/test/recipes/03-test_internal_sm2.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_sm2"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_sm2", "sm2_internal_test", "sm2"); diff --git a/test/recipes/03-test_internal_sm4.t b/test/recipes/03-test_internal_sm4.t index 459d83c..34de203 100644 --- a/test/recipes/03-test_internal_sm4.t +++ b/test/recipes/03-test_internal_sm4.t @@ -14,7 +14,4 @@ use OpenSSL::Test::Utils; setup("test_internal_sm4"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_sm4", "sm4_internal_test", "sm4"); diff --git a/test/recipes/03-test_internal_ssl_cert_table.t b/test/recipes/03-test_internal_ssl_cert_table.t index 1cafc23..8872cd5 100644 --- a/test/recipes/03-test_internal_ssl_cert_table.t +++ b/test/recipes/03-test_internal_ssl_cert_table.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_ssl_cert_table"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_ssl_cert_table", "ssl_cert_table_internal_test"); diff --git a/test/recipes/03-test_internal_x509.t b/test/recipes/03-test_internal_x509.t index d4aaa22..ef140eb 100644 --- a/test/recipes/03-test_internal_x509.t +++ b/test/recipes/03-test_internal_x509.t @@ -13,7 +13,4 @@ use OpenSSL::Test::Utils; setup("test_internal_x509"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - simple_test("test_internal_x509", "x509_internal_test"); diff --git a/test/recipes/06-test-rdrand.t b/test/recipes/06-test-rdrand.t index ac246bd..24be8ae 100644 --- a/test/recipes/06-test-rdrand.t +++ b/test/recipes/06-test-rdrand.t @@ -15,9 +15,6 @@ use OpenSSL::Test::Utils; setup("test_rdrand_sanity"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - # We also need static builds to be enabled even on linux plan skip_all => "This test is unsupported if static builds are not enabled" if disabled("static"); diff --git a/test/recipes/90-test_tls13encryption.t b/test/recipes/90-test_tls13encryption.t index f997b4d..e6ca97a 100644 --- a/test/recipes/90-test_tls13encryption.t +++ b/test/recipes/90-test_tls13encryption.t @@ -15,9 +15,6 @@ setup($test_name); plan skip_all => "$test_name is not supported in this build" if disabled("tls1_3"); -plan skip_all => "This test is unsupported in a shared library build on Windows" - if $^O eq 'MSWin32' && !disabled("shared"); - plan tests => 1; ok(run(test(["tls13encryptiontest"])), "running tls13encryptiontest"); From matthias.st.pierre at ncp-e.com Thu Nov 8 15:40:18 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 08 Nov 2018 15:40:18 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541691618.960824.24458.nullmailer@dev.openssl.org> The branch master has been updated via 8cfc19716c22dac737ec8cfc5f7d085e7c37f4d8 (commit) from 1901516a4ba909fff12e0e7815aa2d499f4d6d67 (commit) - Log ----------------------------------------------------------------- commit 8cfc19716c22dac737ec8cfc5f7d085e7c37f4d8 Author: Dr. Matthias St. Pierre Date: Thu Oct 18 13:27:14 2018 +0200 rand_unix.c: open random devices on first use only Commit c7504aeb640a (pr #6432) fixed a regression for applications in chroot environments, which compensated the fact that the new OpenSSL CSPRNG (based on the NIST DRBG) now reseeds periodically, which the previous one didn't. Now the reseeding could fail in the chroot environment if the DEVRANDOM devices were not present anymore and no other entropy source (e.g. getrandom()) was available. The solution was to keep the file handles for the DEVRANDOM devices open by default. In fact, the fix did more than this, it opened the DEVRANDOM devices early and unconditionally in rand_pool_init(), which had the unwanted side effect that the devices were opened (and kept open) even in cases when they were not used at all, for example when the getrandom() system call was available. Due to a bug (issue #7419) this even happened when the feature was disabled by the application. This commit removes the unconditional opening of all DEVRANDOM devices. They will now only be opened (and kept open) on first use. In particular, if getrandom() is available, the handles will not be opened unnecessarily. This change does not introduce a regression for applications compiled for libcrypto 1.1.0, because the SSLEAY RNG also seeds on first use. So in the above constellation the CSPRNG will only be properly seeded if it is happens before the forking and chrooting. Fixes #7419 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7437) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index cb3a6b2..9d8ffdd 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -386,21 +386,13 @@ static void close_random_device(size_t n) rd->fd = -1; } -static void open_random_devices(void) -{ - size_t i; - - for (i = 0; i < OSSL_NELEM(random_devices); i++) - (void)get_random_device(i); -} - int rand_pool_init(void) { size_t i; for (i = 0; i < OSSL_NELEM(random_devices); i++) random_devices[i].fd = -1; - open_random_devices(); + return 1; } @@ -414,10 +406,9 @@ void rand_pool_cleanup(void) void rand_pool_keep_random_devices_open(int keep) { - if (keep) - open_random_devices(); - else + if (!keep) rand_pool_cleanup(); + keep_random_devices_open = keep; } From matthias.st.pierre at ncp-e.com Thu Nov 8 15:41:53 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 08 Nov 2018 15:41:53 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541691713.950082.25343.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via abf58ed3191dcd3a7c6b296b1494bd7fd336e253 (commit) from cdf33504efb9cb429a920d4d6bfd30b9c7cd4bf8 (commit) - Log ----------------------------------------------------------------- commit abf58ed3191dcd3a7c6b296b1494bd7fd336e253 Author: Dr. Matthias St. Pierre Date: Thu Oct 18 13:27:14 2018 +0200 rand_unix.c: open random devices on first use only Commit c7504aeb640a (pr #6432) fixed a regression for applications in chroot environments, which compensated the fact that the new OpenSSL CSPRNG (based on the NIST DRBG) now reseeds periodically, which the previous one didn't. Now the reseeding could fail in the chroot environment if the DEVRANDOM devices were not present anymore and no other entropy source (e.g. getrandom()) was available. The solution was to keep the file handles for the DEVRANDOM devices open by default. In fact, the fix did more than this, it opened the DEVRANDOM devices early and unconditionally in rand_pool_init(), which had the unwanted side effect that the devices were opened (and kept open) even in cases when they were not used at all, for example when the getrandom() system call was available. Due to a bug (issue #7419) this even happened when the feature was disabled by the application. This commit removes the unconditional opening of all DEVRANDOM devices. They will now only be opened (and kept open) on first use. In particular, if getrandom() is available, the handles will not be opened unnecessarily. This change does not introduce a regression for applications compiled for libcrypto 1.1.0, because the SSLEAY RNG also seeds on first use. So in the above constellation the CSPRNG will only be properly seeded if it is happens before the forking and chrooting. Fixes #7419 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7437) (cherry picked from commit 8cfc19716c22dac737ec8cfc5f7d085e7c37f4d8) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index cb3a6b2..9d8ffdd 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -386,21 +386,13 @@ static void close_random_device(size_t n) rd->fd = -1; } -static void open_random_devices(void) -{ - size_t i; - - for (i = 0; i < OSSL_NELEM(random_devices); i++) - (void)get_random_device(i); -} - int rand_pool_init(void) { size_t i; for (i = 0; i < OSSL_NELEM(random_devices); i++) random_devices[i].fd = -1; - open_random_devices(); + return 1; } @@ -414,10 +406,9 @@ void rand_pool_cleanup(void) void rand_pool_keep_random_devices_open(int keep) { - if (keep) - open_random_devices(); - else + if (!keep) rand_pool_cleanup(); + keep_random_devices_open = keep; } From levitte at openssl.org Thu Nov 8 21:43:15 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 08 Nov 2018 21:43:15 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541713395.471616.31946.nullmailer@dev.openssl.org> The branch master has been updated via 9c5f2ea677ac1ebe87690d8febd2c7e4629c4841 (commit) from 8cfc19716c22dac737ec8cfc5f7d085e7c37f4d8 (commit) - Log ----------------------------------------------------------------- commit 9c5f2ea677ac1ebe87690d8febd2c7e4629c4841 Author: Richard Levitte Date: Thu Nov 8 10:28:33 2018 +0100 VMS build: don't add a comma before 'extradefines' The variable extradefines will have the starting comma, if needed. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7591) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index eb0f9c5..04c0089 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -198,9 +198,9 @@ ASOUTFLAG={- $target{asoutflag} -}$(OSSL_EMPTY) CNF_ASFLAGS={- join('', $target{asflags} || (), @{$config{asflags}}) -} -CNF_DEFINES={- our $defines2 = join('', map { ",$_" } @{$target{defines}}, - @{$config{defines}}, - "'extradefines'") -} +CNF_DEFINES={- our $defines2 = join('', (map { ",$_" } @{$target{defines}}, + @{$config{defines}}), + "'extradefines'") -} CNF_INCLUDES={- our $includes2 = join(',', @{$target{includes}}, @{$config{includes}}) -} CNF_CPPFLAGS={- our $cppflags2 = join('', $target{cppflags} || (), From yang.yang at baishancloud.com Fri Nov 9 04:54:42 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Fri, 09 Nov 2018 04:54:42 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541739282.581907.19135.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 0178459aa17a87e6450903be985e92e46eb3095e (commit) from abf58ed3191dcd3a7c6b296b1494bd7fd336e253 (commit) - Log ----------------------------------------------------------------- commit 0178459aa17a87e6450903be985e92e46eb3095e Author: Paul Yang Date: Thu Nov 1 23:27:31 2018 +0800 Fix a doc-nit in EVP_PKEY_CTX_ctrl.pod [skip-ci] Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7546) (cherry picked from commit e5a8712d03334c4b7cb9f29d6d1daee399c1223e) ----------------------------------------------------------------------- Summary of changes: doc/man3/EVP_PKEY_CTX_ctrl.pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod index 75fba58..4982e92 100644 --- a/doc/man3/EVP_PKEY_CTX_ctrl.pod +++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod @@ -116,7 +116,7 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm); #include - + int EVP_PKEY_CTX_set_ec_paramgen_curve_nid(EVP_PKEY_CTX *ctx, int nid); int EVP_PKEY_CTX_set_ec_param_enc(EVP_PKEY_CTX *ctx, int param_enc); int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode); From levitte at openssl.org Fri Nov 9 05:19:54 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 05:19:54 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541740794.548247.23586.nullmailer@dev.openssl.org> The branch master has been updated via e8d01a608705e4320082a11a3870aa7e19c7290f (commit) via c1123d9f7efb005a109aeccaba82c40bf9bd4c1d (commit) from 9c5f2ea677ac1ebe87690d8febd2c7e4629c4841 (commit) - Log ----------------------------------------------------------------- commit e8d01a608705e4320082a11a3870aa7e19c7290f Author: Richard Levitte Date: Wed Nov 7 16:13:57 2018 +0100 Have install targets depend on more precise build targets We only had the main 'install' target depend on 'all'. This changes the dependencies so targets like install_dev, install_runtime_libs, install_engines and install_programs depend on build targets that are correspond to them more specifically. This increases the parallel possibilities. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) commit c1123d9f7efb005a109aeccaba82c40bf9bd4c1d Author: Richard Levitte Date: Thu Oct 25 09:09:20 2018 +0200 Allow parallel install When trying 'make -j{n} install', you may occasionally run into trouble because to sub-targets (install_dev and install_runtime) try to install the same shared libraries. That makes parallel install difficult. This is solved by dividing install_runtime into two parts, one for libraries and one for programs, and have install_dev depend on install_runtime_libs instead of installing the shared runtime libraries itself. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 53 +++++++++++++++++------------------- Configurations/unix-Makefile.tmpl | 36 ++++++++++++++---------- Configurations/windows-makefile.tmpl | 17 ++++++++---- 3 files changed, 58 insertions(+), 48 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 04c0089..ae555d5 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -519,12 +519,10 @@ descrip.mms : FORCE # Install helper targets ############################################# -install_sw : all install_shared _install_dev_ns - - install_engines _install_runtime_ns - +install_sw : install_dev install_engines install_runtime - install_startup install_ivp -uninstall_sw : uninstall_shared _uninstall_dev_ns - - uninstall_engines _uninstall_runtime_ns - +uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime - uninstall_startup uninstall_ivp install_docs : install_html_docs @@ -553,17 +551,7 @@ install_ssldirs : check_INSTALLTOP COPY/PROT=W:R {- sourcefile("apps", "ct_log_list.cnf") -} - ossl_dataroot:[000000]ct_log_list.cnf -install_shared : check_INSTALLTOP - @ {- output_off() if $disabled{shared}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing shareable images" - @ ! Install shared (runtime) libraries - - CREATE/DIR ossl_installroot:[LIB.'arch'] - {- join("\n ", - map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } - @install_shlibs) -} - @ {- output_on() if $disabled{shared}; "" -} ! - -_install_dev_ns : check_INSTALLTOP +install_dev : check_INSTALLTOP install_runtime_libs @ WRITE SYS$OUTPUT "*** Installing development files" @ ! Install header files - CREATE/DIR ossl_installroot:[include.openssl] @@ -574,9 +562,29 @@ _install_dev_ns : check_INSTALLTOP map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } @install_libs) -} -install_dev : install_shared _install_dev_ns +install_engines : check_INSTALLTOP install_runtime_libs build_engines + @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing engines" + - CREATE/DIR ossl_installroot:[ENGINES{- $sover_dirname.$target{pointer_size} -}.'arch'] + {- join("\n ", + map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover_dirname$target{pointer_size}.'arch']" } + @{$unified_info{install}->{engines}}) -} + @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -_install_runtime_ns : check_INSTALLTOP +install_runtime: install_programs + +install_runtime_libs : check_INSTALLTOP build_libs + @ {- output_off() if $disabled{shared}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing shareable images" + @ ! Install shared (runtime) libraries + - CREATE/DIR ossl_installroot:[LIB.'arch'] + {- join("\n ", + map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } + @install_shlibs) -} + @ {- output_on() if $disabled{shared}; "" -} ! + +install_programs : check_INSTALLTOP install_runtime_libs build_programs + @ {- output_off() if $disabled{apps}; "" -} ! @ ! Install the main program - CREATE/DIR ossl_installroot:[EXE.'arch'] COPY/PROT=W:RE [.APPS]openssl.EXE - @@ -585,17 +593,6 @@ _install_runtime_ns : check_INSTALLTOP COPY/PROT=W:RE $(BIN_SCRIPTS) ossl_installroot:[EXE] @ ! {- output_on() if $disabled{apps}; "" -} -install_runtime : install_shared _install_runtime_ns - -install_engines : check_INSTALLTOP - @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing engines" - - CREATE/DIR ossl_installroot:[ENGINES{- $sover_dirname.$target{pointer_size} -}.'arch'] - {- join("\n ", - map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover_dirname$target{pointer_size}.'arch']" } - @{$unified_info{install}->{engines}}) -} - @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! - install_startup : [.VMS]openssl_startup.com [.VMS]openssl_shutdown.com - [.VMS]openssl_utils.com, check_INSTALLTOP - CREATE/DIR ossl_installroot:[SYS$STARTUP] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index bac56df..8b4b6fe 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -441,7 +441,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -495,7 +495,7 @@ install_ssldirs: chmod 644 $(DESTDIR)$(OPENSSLDIR)/ct_log_list.cnf; \ fi -install_dev: +install_dev: install_runtime_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(ECHO) "*** Installing development files" @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/include/openssl @@ -528,11 +528,6 @@ install_dev: fn1=`basename $$s1`; \ fn2=`basename $$s2`; \ : {- output_off(); output_on() unless windowsdll() or sharedaix(); "" -}; \ - $(ECHO) "install $$s1 -> $(DESTDIR)$(libdir)/$$fn1"; \ - cp $$s1 $(DESTDIR)$(libdir)/$$fn1.new; \ - chmod 755 $(DESTDIR)$(libdir)/$$fn1.new; \ - mv -f $(DESTDIR)$(libdir)/$$fn1.new \ - $(DESTDIR)$(libdir)/$$fn1; \ if [ "$$fn1" != "$$fn2" ]; then \ $(ECHO) "link $(DESTDIR)$(libdir)/$$fn2 -> $(DESTDIR)$(libdir)/$$fn1"; \ ln -sf $$fn1 $(DESTDIR)$(libdir)/$$fn2; \ @@ -572,7 +567,7 @@ install_dev: @cp openssl.pc $(DESTDIR)$(libdir)/pkgconfig @chmod 644 $(DESTDIR)$(libdir)/pkgconfig/openssl.pc -uninstall_dev: +uninstall_dev: uninstall_runtime_libs @$(ECHO) "*** Uninstalling development files" @ : {- output_off() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -} @$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c" @@ -616,7 +611,7 @@ uninstall_dev: -$(RMDIR) $(DESTDIR)$(libdir)/pkgconfig -$(RMDIR) $(DESTDIR)$(libdir) -install_engines: +install_engines: install_runtime_libs build_engines @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ @$(ECHO) "*** Installing engines" @@ -643,13 +638,14 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) - @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir) @ : {- output_on() if windowsdll(); "" -} - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ fn=`basename $$s`; \ @@ -667,6 +663,11 @@ install_runtime: $(DESTDIR)$(libdir)/$$fn; \ : {- output_on() if windowsdll(); "" -}; \ done + +install_programs: install_runtime_libs build_programs + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @$(ECHO) "*** Installing runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ @@ -686,8 +687,10 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done -uninstall_runtime: - @$(ECHO) "*** Uninstalling runtime files" +uninstall_runtime: uninstall_programs uninstall_runtime_libs + +uninstall_programs: + @$(ECHO) "*** Uninstalling runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); \ do \ if [ "$$x" = "dummy" ]; then continue; fi; \ @@ -702,6 +705,10 @@ uninstall_runtime: $(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done + -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin + +uninstall_runtime_libs: + @$(ECHO) "*** Uninstalling runtime libraries" @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ @@ -710,7 +717,6 @@ uninstall_runtime: $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done @ : {- output_on() unless windowsdll(); "" -} - -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin install_man_docs: diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 45c9280..e1426cc 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -387,7 +387,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -412,7 +412,7 @@ install_ssldirs: "$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\apps\ct_log_list.cnf" \ "$(OPENSSLDIR)\ct_log_list.cnf" -install_dev: +install_dev: install_runtime_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing development files" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl" @@ -432,7 +432,7 @@ install_dev: uninstall_dev: -install_engines: +install_engines: install_runtime_libs build_engines @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing engines" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)" @@ -443,15 +443,22 @@ install_engines: uninstall_engines: -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBS) "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBPDBS) \ "$(INSTALLTOP)\bin" + +install_programs: install_runtime_libs build_programs + @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) + @$(ECHO) "*** Installing runtime programs" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMS) \ "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMPDBS) \ From levitte at openssl.org Fri Nov 9 05:21:07 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 05:21:07 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541740867.337212.24601.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 201a33f4abb639527da28e83e6ae782907a1c114 (commit) via d582f154695e5fd908bc86743432dc9b5866417b (commit) from 0178459aa17a87e6450903be985e92e46eb3095e (commit) - Log ----------------------------------------------------------------- commit 201a33f4abb639527da28e83e6ae782907a1c114 Author: Richard Levitte Date: Wed Nov 7 16:13:57 2018 +0100 Have install targets depend on more precise build targets We only had the main 'install' target depend on 'all'. This changes the dependencies so targets like install_dev, install_runtime_libs, install_engines and install_programs depend on build targets that are correspond to them more specifically. This increases the parallel possibilities. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) (cherry picked from commit e8d01a608705e4320082a11a3870aa7e19c7290f) commit d582f154695e5fd908bc86743432dc9b5866417b Author: Richard Levitte Date: Thu Oct 25 09:09:20 2018 +0200 Allow parallel install When trying 'make -j{n} install', you may occasionally run into trouble because to sub-targets (install_dev and install_runtime) try to install the same shared libraries. That makes parallel install difficult. This is solved by dividing install_runtime into two parts, one for libraries and one for programs, and have install_dev depend on install_runtime_libs instead of installing the shared runtime libraries itself. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) (cherry picked from commit c1123d9f7efb005a109aeccaba82c40bf9bd4c1d) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 53 +++++++++++++++++------------------- Configurations/unix-Makefile.tmpl | 36 ++++++++++++++---------- Configurations/windows-makefile.tmpl | 17 ++++++++---- 3 files changed, 58 insertions(+), 48 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 0c2695d..6e393e3 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -513,12 +513,10 @@ descrip.mms : FORCE # Install helper targets ############################################# -install_sw : all install_shared _install_dev_ns - - install_engines _install_runtime_ns - +install_sw : install_dev install_engines install_runtime - install_startup install_ivp -uninstall_sw : uninstall_shared _uninstall_dev_ns - - uninstall_engines _uninstall_runtime_ns - +uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime - uninstall_startup uninstall_ivp install_docs : install_html_docs @@ -547,17 +545,7 @@ install_ssldirs : check_INSTALLTOP COPY/PROT=W:R {- sourcefile("apps", "ct_log_list.cnf") -} - ossl_dataroot:[000000]ct_log_list.cnf -install_shared : check_INSTALLTOP - @ {- output_off() if $disabled{shared}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing shareable images" - @ ! Install shared (runtime) libraries - - CREATE/DIR ossl_installroot:[LIB.'arch'] - {- join("\n ", - map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } - @install_shlibs) -} - @ {- output_on() if $disabled{shared}; "" -} ! - -_install_dev_ns : check_INSTALLTOP +install_dev : check_INSTALLTOP install_runtime_libs @ WRITE SYS$OUTPUT "*** Installing development files" @ ! Install header files - CREATE/DIR ossl_installroot:[include.openssl] @@ -568,9 +556,29 @@ _install_dev_ns : check_INSTALLTOP map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } @install_libs) -} -install_dev : install_shared _install_dev_ns +install_engines : check_INSTALLTOP install_runtime_libs build_engines + @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing engines" + - CREATE/DIR ossl_installroot:[ENGINES{- $sover_dirname.$target{pointer_size} -}.'arch'] + {- join("\n ", + map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover_dirname$target{pointer_size}.'arch']" } + @{$unified_info{install}->{engines}}) -} + @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -_install_runtime_ns : check_INSTALLTOP +install_runtime: install_programs + +install_runtime_libs : check_INSTALLTOP build_libs + @ {- output_off() if $disabled{shared}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing shareable images" + @ ! Install shared (runtime) libraries + - CREATE/DIR ossl_installroot:[LIB.'arch'] + {- join("\n ", + map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } + @install_shlibs) -} + @ {- output_on() if $disabled{shared}; "" -} ! + +install_programs : check_INSTALLTOP install_runtime_libs build_programs + @ {- output_off() if $disabled{apps}; "" -} ! @ ! Install the main program - CREATE/DIR ossl_installroot:[EXE.'arch'] COPY/PROT=W:RE [.APPS]openssl.EXE - @@ -579,17 +587,6 @@ _install_runtime_ns : check_INSTALLTOP COPY/PROT=W:RE $(BIN_SCRIPTS) ossl_installroot:[EXE] @ ! {- output_on() if $disabled{apps}; "" -} -install_runtime : install_shared _install_runtime_ns - -install_engines : check_INSTALLTOP - @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing engines" - - CREATE/DIR ossl_installroot:[ENGINES{- $sover_dirname.$target{pointer_size} -}.'arch'] - {- join("\n ", - map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover_dirname$target{pointer_size}.'arch']" } - @{$unified_info{install}->{engines}}) -} - @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! - install_startup : [.VMS]openssl_startup.com [.VMS]openssl_shutdown.com - [.VMS]openssl_utils.com, check_INSTALLTOP - CREATE/DIR ossl_installroot:[SYS$STARTUP] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index fe8a220..7de614a 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -437,7 +437,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -491,7 +491,7 @@ install_ssldirs: chmod 644 $(DESTDIR)$(OPENSSLDIR)/ct_log_list.cnf; \ fi -install_dev: +install_dev: install_runtime_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(ECHO) "*** Installing development files" @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/include/openssl @@ -524,11 +524,6 @@ install_dev: fn1=`basename $$s1`; \ fn2=`basename $$s2`; \ : {- output_off(); output_on() unless windowsdll() or sharedaix(); "" -}; \ - $(ECHO) "install $$s1 -> $(DESTDIR)$(libdir)/$$fn1"; \ - cp $$s1 $(DESTDIR)$(libdir)/$$fn1.new; \ - chmod 755 $(DESTDIR)$(libdir)/$$fn1.new; \ - mv -f $(DESTDIR)$(libdir)/$$fn1.new \ - $(DESTDIR)$(libdir)/$$fn1; \ if [ "$$fn1" != "$$fn2" ]; then \ $(ECHO) "link $(DESTDIR)$(libdir)/$$fn2 -> $(DESTDIR)$(libdir)/$$fn1"; \ ln -sf $$fn1 $(DESTDIR)$(libdir)/$$fn2; \ @@ -568,7 +563,7 @@ install_dev: @cp openssl.pc $(DESTDIR)$(libdir)/pkgconfig @chmod 644 $(DESTDIR)$(libdir)/pkgconfig/openssl.pc -uninstall_dev: +uninstall_dev: uninstall_runtime_libs @$(ECHO) "*** Uninstalling development files" @ : {- output_off() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -} @$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c" @@ -612,7 +607,7 @@ uninstall_dev: -$(RMDIR) $(DESTDIR)$(libdir)/pkgconfig -$(RMDIR) $(DESTDIR)$(libdir) -install_engines: +install_engines: install_runtime_libs build_engines @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ @$(ECHO) "*** Installing engines" @@ -639,13 +634,14 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) - @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir) @ : {- output_on() if windowsdll(); "" -} - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ fn=`basename $$s`; \ @@ -663,6 +659,11 @@ install_runtime: $(DESTDIR)$(libdir)/$$fn; \ : {- output_on() if windowsdll(); "" -}; \ done + +install_programs: install_runtime_libs build_programs + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @$(ECHO) "*** Installing runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ @@ -682,8 +683,10 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done -uninstall_runtime: - @$(ECHO) "*** Uninstalling runtime files" +uninstall_runtime: uninstall_programs uninstall_runtime_libs + +uninstall_programs: + @$(ECHO) "*** Uninstalling runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); \ do \ if [ "$$x" = "dummy" ]; then continue; fi; \ @@ -698,6 +701,10 @@ uninstall_runtime: $(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done + -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin + +uninstall_runtime_libs: + @$(ECHO) "*** Uninstalling runtime libraries" @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ @@ -706,7 +713,6 @@ uninstall_runtime: $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done @ : {- output_on() unless windowsdll(); "" -} - -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin install_man_docs: diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index f8fae48..d420bff 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -383,7 +383,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -408,7 +408,7 @@ install_ssldirs: "$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\apps\ct_log_list.cnf" \ "$(OPENSSLDIR)\ct_log_list.cnf" -install_dev: +install_dev: install_runtime_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing development files" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl" @@ -428,7 +428,7 @@ install_dev: uninstall_dev: -install_engines: +install_engines: install_runtime_libs build_engines @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing engines" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)" @@ -439,15 +439,22 @@ install_engines: uninstall_engines: -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBS) "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBPDBS) \ "$(INSTALLTOP)\bin" + +install_programs: install_runtime_libs build_programs + @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) + @$(ECHO) "*** Installing runtime programs" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMS) \ "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMPDBS) \ From levitte at openssl.org Fri Nov 9 05:26:44 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 05:26:44 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1541741204.545264.26058.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 2801f671288d592b29a38c6098f53e6f3221d27a (commit) via 82ca431857bf5ef2ce85d14f432dc1dec9c95e3c (commit) from 26d7fce13d469f8d1a1b42131467ed4a65f8137b (commit) - Log ----------------------------------------------------------------- commit 2801f671288d592b29a38c6098f53e6f3221d27a Author: Richard Levitte Date: Wed Nov 7 16:13:57 2018 +0100 Have install targets depend on more precise build targets We only had the main 'install' target depend on 'all'. This changes the dependencies so targets like install_dev, install_runtime_libs, install_engines and install_programs depend on build targets that are correspond to them more specifically. This increases the parallel possibilities. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) (cherry picked from commit e8d01a608705e4320082a11a3870aa7e19c7290f) commit 82ca431857bf5ef2ce85d14f432dc1dec9c95e3c Author: Richard Levitte Date: Thu Oct 25 09:09:20 2018 +0200 Allow parallel install When trying 'make -j{n} install', you may occasionally run into trouble because to sub-targets (install_dev and install_runtime) try to install the same shared libraries. That makes parallel install difficult. This is solved by dividing install_runtime into two parts, one for libraries and one for programs, and have install_dev depend on install_runtime_libs instead of installing the shared runtime libraries itself. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) (cherry picked from commit c1123d9f7efb005a109aeccaba82c40bf9bd4c1d) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 53 +++++++++++++++++------------------- Configurations/unix-Makefile.tmpl | 27 ++++++++++++------ Configurations/windows-makefile.tmpl | 17 ++++++++---- 3 files changed, 56 insertions(+), 41 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 7e3356f..552decf 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -368,12 +368,10 @@ descrip.mms : FORCE # Install helper targets ############################################# -install_sw : all install_shared _install_dev_ns - - install_engines _install_runtime_ns - +install_sw : install_dev install_engines install_runtime - install_startup install_ivp -uninstall_sw : uninstall_shared _uninstall_dev_ns - - uninstall_engines _uninstall_runtime_ns - +uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime - uninstall_startup uninstall_ivp install_docs : install_html_docs @@ -396,17 +394,7 @@ install_ssldirs : check_INSTALLTOP COPY/PROT=W:R {- sourcefile("apps", "openssl-vms.cnf") -} - ossl_dataroot:[000000]openssl.cnf -install_shared : check_INSTALLTOP - @ {- output_off() if $disabled{shared}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing shareable images" - @ ! Install shared (runtime) libraries - - CREATE/DIR ossl_installroot:[LIB.'arch'] - {- join("\n ", - map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } - @install_shlibs) -} - @ {- output_on() if $disabled{shared}; "" -} ! - -_install_dev_ns : check_INSTALLTOP +install_dev : check_INSTALLTOP install_runtime_libs @ WRITE SYS$OUTPUT "*** Installing development files" @ ! Install header files - CREATE/DIR ossl_installroot:[include.openssl] @@ -417,9 +405,29 @@ _install_dev_ns : check_INSTALLTOP map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } @{$unified_info{install}->{libraries}}) -} -install_dev : install_shared _install_dev_ns +install_engines : check_INSTALLTOP install_runtime_libs build_engines + @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing engines" + - CREATE/DIR ossl_installroot:[ENGINES{- $sover.$target{pointer_size} -}.'arch'] + {- join("\n ", + map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover$target{pointer_size}.'arch']" } + @{$unified_info{install}->{engines}}) -} + @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -_install_runtime_ns : check_INSTALLTOP +install_runtime: install_programs + +install_runtime_libs : check_INSTALLTOP build_libs + @ {- output_off() if $disabled{shared}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing shareable images" + @ ! Install shared (runtime) libraries + - CREATE/DIR ossl_installroot:[LIB.'arch'] + {- join("\n ", + map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } + @install_shlibs) -} + @ {- output_on() if $disabled{shared}; "" -} ! + +install_programs : check_INSTALLTOP install_runtime_libs build_programs + @ {- output_off() if $disabled{apps}; "" -} ! @ ! Install the main program - CREATE/DIR ossl_installroot:[EXE.'arch'] COPY/PROT=W:RE [.APPS]openssl.EXE - @@ -428,17 +436,6 @@ _install_runtime_ns : check_INSTALLTOP COPY/PROT=W:RE $(BIN_SCRIPTS) ossl_installroot:[EXE] @ ! {- output_on() if $disabled{apps}; "" -} -install_runtime : install_shared _install_runtime_ns - -install_engines : check_INSTALLTOP - @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing engines" - - CREATE/DIR ossl_installroot:[ENGINES{- $sover.$target{pointer_size} -}.'arch'] - {- join("\n ", - map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover$target{pointer_size}.'arch']" } - @{$unified_info{install}->{engines}}) -} - @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! - install_startup : [.VMS]openssl_startup.com [.VMS]openssl_shutdown.com - [.VMS]openssl_utils.com, check_INSTALLTOP - CREATE/DIR ossl_installroot:[SYS$STARTUP] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 034d93e..181b618 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -323,7 +323,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -355,7 +355,7 @@ install_ssldirs: chmod 644 $(DESTDIR)$(OPENSSLDIR)/openssl.cnf; \ fi -install_dev: +install_dev: install_runtime_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @echo "*** Installing development files" @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/include/openssl @@ -461,7 +461,7 @@ uninstall_dev: -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) -install_engines: +install_engines: install_runtime_libs build_engines @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ @echo "*** Installing engines" @@ -488,9 +488,10 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) - @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) @ : {- output_on() if windowsdll(); "" -} @@ -512,6 +513,11 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \ : {- output_on() if windowsdll(); "" -}; \ done + +install_programs: install_runtime_libs build_programs + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @$(ECHO) "*** Installing runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ @@ -531,8 +537,10 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done -uninstall_runtime: - @echo "*** Uninstalling runtime files" +uninstall_runtime: uninstall_programs uninstall_runtime_libs + +uninstall_programs: + @echo "*** Uninstalling runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); \ do \ if [ "$$x" = "dummy" ]; then continue; fi; \ @@ -547,6 +555,10 @@ uninstall_runtime: echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done + -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin + +uninstall_runtime_libs: + @$(ECHO) "*** Uninstalling runtime libraries" @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ @@ -555,7 +567,6 @@ uninstall_runtime: $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done @ : {- output_on() unless windowsdll(); "" -} - -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin install_man_docs: diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 40dc41d..ef5af42 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -267,7 +267,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -287,7 +287,7 @@ install_ssldirs: @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(MISC_SCRIPTS) \ "$(OPENSSLDIR)\misc" -install_dev: +install_dev: install_runtime_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing development files" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl" @@ -309,7 +309,7 @@ install_dev: uninstall_dev: -install_engines: +install_engines: install_runtime_libs build_engines @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing engines" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)" @@ -320,15 +320,22 @@ install_engines: uninstall_engines: -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBS) "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBPDBS) \ "$(INSTALLTOP)\bin" + +install_programs: install_runtime_libs build_programs + @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) + @$(ECHO) "*** Installing runtime programs" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMS) \ "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMPDBS) \ From builds at travis-ci.org Fri Nov 9 05:54:43 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 09 Nov 2018 05:54:43 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21604 (OpenSSL_1_1_0-stable - 2801f67) In-Reply-To: Message-ID: <5be5212385f4d_43faeb249eee018236b@a4168ccc-600e-415c-b0eb-6ebe8d5fe39b.mail> Build Update for openssl/openssl ------------------------------------- Build: #21604 Status: Broken Duration: 18 mins and 51 secs Commit: 2801f67 (OpenSSL_1_1_0-stable) Author: Richard Levitte Message: Have install targets depend on more precise build targets We only had the main 'install' target depend on 'all'. This changes the dependencies so targets like install_dev, install_runtime_libs, install_engines and install_programs depend on build targets that are correspond to them more specifically. This increases the parallel possibilities. Fixes #7466 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7583) (cherry picked from commit e8d01a608705e4320082a11a3870aa7e19c7290f) View the changeset: https://github.com/openssl/openssl/compare/26d7fce13d46...2801f671288d View the full build log and details: https://travis-ci.org/openssl/openssl/builds/452723869?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Fri Nov 9 11:29:23 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 11:29:23 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541762963.816066.9600.nullmailer@dev.openssl.org> The branch master has been updated via e9994901f835420764d020968d4588fc09ec74c3 (commit) from e8d01a608705e4320082a11a3870aa7e19c7290f (commit) - Log ----------------------------------------------------------------- commit e9994901f835420764d020968d4588fc09ec74c3 Author: Richard Levitte Date: Fri Nov 9 12:23:53 2018 +0100 VMS build: colon after target must be separated with a space ... otherwise, it's taken to be part of a device name. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7602) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index ae555d5..71660b3 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -571,7 +571,7 @@ install_engines : check_INSTALLTOP install_runtime_libs build_engines @{$unified_info{install}->{engines}}) -} @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -install_runtime: install_programs +install_runtime : install_programs install_runtime_libs : check_INSTALLTOP build_libs @ {- output_off() if $disabled{shared}; "" -} ! From levitte at openssl.org Fri Nov 9 11:30:21 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 11:30:21 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541763021.316842.10626.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 37044f45579368faa5c6fb2f2f71de8fd7f21ab2 (commit) from 201a33f4abb639527da28e83e6ae782907a1c114 (commit) - Log ----------------------------------------------------------------- commit 37044f45579368faa5c6fb2f2f71de8fd7f21ab2 Author: Richard Levitte Date: Fri Nov 9 12:23:53 2018 +0100 VMS build: colon after target must be separated with a space ... otherwise, it's taken to be part of a device name. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7602) (cherry picked from commit e9994901f835420764d020968d4588fc09ec74c3) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 6e393e3..40876bd 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -565,7 +565,7 @@ install_engines : check_INSTALLTOP install_runtime_libs build_engines @{$unified_info{install}->{engines}}) -} @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -install_runtime: install_programs +install_runtime : install_programs install_runtime_libs : check_INSTALLTOP build_libs @ {- output_off() if $disabled{shared}; "" -} ! From levitte at openssl.org Fri Nov 9 11:31:23 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 11:31:23 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1541763083.778528.11561.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 401e1c9d9d2202fff557f6286f47214803bf7e15 (commit) from 2801f671288d592b29a38c6098f53e6f3221d27a (commit) - Log ----------------------------------------------------------------- commit 401e1c9d9d2202fff557f6286f47214803bf7e15 Author: Richard Levitte Date: Fri Nov 9 12:23:53 2018 +0100 VMS build: colon after target must be separated with a space ... otherwise, it's taken to be part of a device name. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7602) (cherry picked from commit e9994901f835420764d020968d4588fc09ec74c3) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 552decf..7399288 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -414,7 +414,7 @@ install_engines : check_INSTALLTOP install_runtime_libs build_engines @{$unified_info{install}->{engines}}) -} @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -install_runtime: install_programs +install_runtime : install_programs install_runtime_libs : check_INSTALLTOP build_libs @ {- output_off() if $disabled{shared}; "" -} ! From builds at travis-ci.org Fri Nov 9 12:06:58 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 09 Nov 2018 12:06:58 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21614 (OpenSSL_1_1_0-stable - 401e1c9) In-Reply-To: Message-ID: <5be57861e6c09_43faeb249fea82717f2@a4168ccc-600e-415c-b0eb-6ebe8d5fe39b.mail> Build Update for openssl/openssl ------------------------------------- Build: #21614 Status: Still Failing Duration: 17 mins and 59 secs Commit: 401e1c9 (OpenSSL_1_1_0-stable) Author: Richard Levitte Message: VMS build: colon after target must be separated with a space ... otherwise, it's taken to be part of a device name. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7602) (cherry picked from commit e9994901f835420764d020968d4588fc09ec74c3) View the changeset: https://github.com/openssl/openssl/compare/2801f671288d...401e1c9d9d22 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/452830345?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bernd.edlinger at hotmail.de Fri Nov 9 12:36:56 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Fri, 09 Nov 2018 12:36:56 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541767016.361280.20466.nullmailer@dev.openssl.org> The branch master has been updated via e2d227bb4a25bb75354a40816439630a8162f073 (commit) from e9994901f835420764d020968d4588fc09ec74c3 (commit) - Log ----------------------------------------------------------------- commit e2d227bb4a25bb75354a40816439630a8162f073 Author: Bernd Edlinger Date: Wed Nov 7 21:53:30 2018 +0100 Fix issues with do_rand_init/rand_cleanup_int Fixes #7022 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7588) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_lib.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 277403c..d8639c4 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -31,7 +31,7 @@ int rand_fork_count; static CRYPTO_RWLOCK *rand_nonce_lock; static int rand_nonce_count; -static int rand_cleaning_up = 0; +static int rand_inited = 0; #ifdef OPENSSL_RAND_SEED_RDTSC /* @@ -319,13 +319,15 @@ DEFINE_RUN_ONCE_STATIC(do_rand_init) if (rand_nonce_lock == NULL) goto err2; - if (!rand_cleaning_up && !rand_pool_init()) + if (!rand_pool_init()) goto err3; + rand_inited = 1; return 1; err3: - rand_pool_cleanup(); + CRYPTO_THREAD_lock_free(rand_nonce_lock); + rand_nonce_lock = NULL; err2: CRYPTO_THREAD_lock_free(rand_meth_lock); rand_meth_lock = NULL; @@ -341,7 +343,8 @@ void rand_cleanup_int(void) { const RAND_METHOD *meth = default_RAND_meth; - rand_cleaning_up = 1; + if (!rand_inited) + return; if (meth != NULL && meth->cleanup != NULL) meth->cleanup(); @@ -355,6 +358,7 @@ void rand_cleanup_int(void) rand_meth_lock = NULL; CRYPTO_THREAD_lock_free(rand_nonce_lock); rand_nonce_lock = NULL; + rand_inited = 0; } /* From bernd.edlinger at hotmail.de Fri Nov 9 12:37:45 2018 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Fri, 09 Nov 2018 12:37:45 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541767065.712995.21344.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via bdb8897691942931184c38a9ab7b69a0977829b7 (commit) from 37044f45579368faa5c6fb2f2f71de8fd7f21ab2 (commit) - Log ----------------------------------------------------------------- commit bdb8897691942931184c38a9ab7b69a0977829b7 Author: Bernd Edlinger Date: Wed Nov 7 21:53:30 2018 +0100 Fix issues with do_rand_init/rand_cleanup_int Fixes #7022 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7588) (cherry picked from commit e2d227bb4a25bb75354a40816439630a8162f073) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_lib.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 277403c..d8639c4 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -31,7 +31,7 @@ int rand_fork_count; static CRYPTO_RWLOCK *rand_nonce_lock; static int rand_nonce_count; -static int rand_cleaning_up = 0; +static int rand_inited = 0; #ifdef OPENSSL_RAND_SEED_RDTSC /* @@ -319,13 +319,15 @@ DEFINE_RUN_ONCE_STATIC(do_rand_init) if (rand_nonce_lock == NULL) goto err2; - if (!rand_cleaning_up && !rand_pool_init()) + if (!rand_pool_init()) goto err3; + rand_inited = 1; return 1; err3: - rand_pool_cleanup(); + CRYPTO_THREAD_lock_free(rand_nonce_lock); + rand_nonce_lock = NULL; err2: CRYPTO_THREAD_lock_free(rand_meth_lock); rand_meth_lock = NULL; @@ -341,7 +343,8 @@ void rand_cleanup_int(void) { const RAND_METHOD *meth = default_RAND_meth; - rand_cleaning_up = 1; + if (!rand_inited) + return; if (meth != NULL && meth->cleanup != NULL) meth->cleanup(); @@ -355,6 +358,7 @@ void rand_cleanup_int(void) rand_meth_lock = NULL; CRYPTO_THREAD_lock_free(rand_nonce_lock); rand_nonce_lock = NULL; + rand_inited = 0; } /* From levitte at openssl.org Fri Nov 9 13:14:45 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 09 Nov 2018 13:14:45 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1541769285.139202.27963.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 4a498d0ed50f377584ebadce715fbcc2c0f53c23 (commit) from 401e1c9d9d2202fff557f6286f47214803bf7e15 (commit) - Log ----------------------------------------------------------------- commit 4a498d0ed50f377584ebadce715fbcc2c0f53c23 Author: Richard Levitte Date: Fri Nov 9 12:08:08 2018 +0100 Fix cherry-pick error A couple of $(ECHO) sneaked in from patches in newer branches Fixes #7600 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7601) ----------------------------------------------------------------------- Summary of changes: Configurations/unix-Makefile.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 181b618..7254478 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -517,7 +517,7 @@ install_runtime_libs: build_libs install_programs: install_runtime_libs build_programs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin - @$(ECHO) "*** Installing runtime programs" + @echo "*** Installing runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ @@ -558,7 +558,7 @@ uninstall_programs: -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin uninstall_runtime_libs: - @$(ECHO) "*** Uninstalling runtime libraries" + @echo "*** Uninstalling runtime libraries" @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ From builds at travis-ci.org Fri Nov 9 13:27:56 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 09 Nov 2018 13:27:56 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21619 (OpenSSL_1_1_0-stable - 4a498d0) In-Reply-To: Message-ID: <5be58b5b990af_43fc78887278039197e@400ab93c-e0a0-4640-b1c4-54a0ffa35f46.mail> Build Update for openssl/openssl ------------------------------------- Build: #21619 Status: Fixed Duration: 12 mins and 26 secs Commit: 4a498d0 (OpenSSL_1_1_0-stable) Author: Richard Levitte Message: Fix cherry-pick error A couple of $(ECHO) sneaked in from patches in newer branches Fixes #7600 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7601) View the changeset: https://github.com/openssl/openssl/compare/401e1c9d9d22...4a498d0ed50f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/452870352?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Fri Nov 9 23:45:52 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Fri, 09 Nov 2018 23:45:52 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1541807152.586616.8022.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 59b9c67fcaf1c1e2c0e30de6facca85910ac361a (commit) from f1e5009c1c95b708b9ba21c23693f95468089419 (commit) - Log ----------------------------------------------------------------- commit 59b9c67fcaf1c1e2c0e30de6facca85910ac361a Author: Dr. Matthias St. Pierre Date: Fri Nov 9 21:37:38 2018 +0100 Fix 'no-ecdh' build Fixes #3302 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7606) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_ciph.c | 8 +++++++- ssl/ssl_lib.c | 8 +++++--- ssl/t1_lib.c | 6 +++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index ccdf00f..e5a500d 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -1406,11 +1406,17 @@ static int ssl_cipher_process_rulestr(const char *rule_str, static int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c, const char **prule_str) { - unsigned int suiteb_flags = 0, suiteb_comb2 = 0; + unsigned int suiteb_flags = 0; +# ifndef OPENSSL_NO_ECDH + unsigned int suiteb_comb2 = 0; +#endif + if (strncmp(*prule_str, "SUITEB128ONLY", 13) == 0) { suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS_ONLY; } else if (strncmp(*prule_str, "SUITEB128C2", 11) == 0) { +# ifndef OPENSSL_NO_ECDH suiteb_comb2 = 1; +# endif suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS; } else if (strncmp(*prule_str, "SUITEB128", 9) == 0) { suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS; diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index aa0cbdb..cfcfe76 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -2259,10 +2259,10 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) int rsa_tmp_export, dh_tmp_export, kl; unsigned long mask_k, mask_a, emask_k, emask_a; #ifndef OPENSSL_NO_ECDSA - int have_ecc_cert, ecdsa_ok, ecc_pkey_size; + int have_ecc_cert, ecdsa_ok; #endif #ifndef OPENSSL_NO_ECDH - int have_ecdh_tmp, ecdh_ok; + int have_ecdh_tmp, ecdh_ok, ecc_pkey_size; #endif #ifndef OPENSSL_NO_EC X509 *x = NULL; @@ -2405,7 +2405,9 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) if (!(cpk->valid_flags & CERT_PKEY_SIGN)) ecdsa_ok = 0; ecc_pkey = X509_get_pubkey(x); +# ifndef OPENSSL_NO_ECDH ecc_pkey_size = (ecc_pkey != NULL) ? EVP_PKEY_bits(ecc_pkey) : 0; +# endif EVP_PKEY_free(ecc_pkey); if ((x->sig_alg) && (x->sig_alg->algorithm)) { signature_nid = OBJ_obj2nid(x->sig_alg->algorithm); @@ -2467,7 +2469,7 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) #define ku_reject(x, usage) \ (((x)->ex_flags & EXFLAG_KUSAGE) && !((x)->ex_kusage & (usage))) -#ifndef OPENSSL_NO_EC +#ifndef OPENSSL_NO_ECDH int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s) { diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 8cb8816..55f918d 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -500,7 +500,11 @@ static int tls1_get_curvelist(SSL *s, int sess, } else # endif { - if (!s->server || s->cert->ecdh_tmp_auto) { + if (!s->server +# ifndef OPENSSL_NO_ECDH + || s->cert->ecdh_tmp_auto +# endif + ) { *pcurves = eccurves_auto; pcurveslen = sizeof(eccurves_auto); } else { From nic.tuv at gmail.com Sat Nov 10 01:26:43 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 01:26:43 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541813203.728921.20915.nullmailer@dev.openssl.org> The branch master has been updated via ecbb2fca9301ef22b15beb30c4c0303b29846935 (commit) via 2d263a4a73f852005b16359873475d48755999ad (commit) via eb7eb1378cd15c4652884b3701d4c0ef27b5b8a6 (commit) from e2d227bb4a25bb75354a40816439630a8162f073 (commit) - Log ----------------------------------------------------------------- commit ecbb2fca9301ef22b15beb30c4c0303b29846935 Author: David Woodhouse Date: Mon Oct 22 18:49:54 2018 +0100 Add EVP_PKEY_supports_digest_nid() Rather than relying only on mandatory default digests, add a way for the EVP_PKEY to individually report whether each digest algorithm is supported. Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7408) commit 2d263a4a73f852005b16359873475d48755999ad Author: David Woodhouse Date: Tue Oct 16 07:59:46 2018 -0700 Honour mandatory digest on private key in has_usable_cert() If the private key says it can only support one specific digest, then don't ask it to perform a different one. Fixes: #7348 Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7408) commit eb7eb1378cd15c4652884b3701d4c0ef27b5b8a6 Author: David Woodhouse Date: Tue Oct 16 07:41:17 2018 -0700 Stop marking default digest for EC keys as mandatory ASN1_PKEY_CTRL_DEFAULT_MD_NID is documented to return 2 for a mandatory digest algorithm, when the key can't support any others. That isn't true here, so return 1 instead. Partially fixes #7348 Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7408) ----------------------------------------------------------------------- Summary of changes: crypto/ec/ec_ameth.c | 2 +- crypto/evp/p_lib.c | 20 +++++++++++ doc/man3/EVP_PKEY_ASN1_METHOD.pod | 1 + doc/man3/EVP_PKEY_get_default_digest_nid.pod | 3 +- doc/man3/EVP_PKEY_supports_digest_nid.pod | 53 ++++++++++++++++++++++++++++ include/openssl/evp.h | 2 ++ ssl/t1_lib.c | 40 +++++++++++++++------ util/libcrypto.num | 1 + 8 files changed, 110 insertions(+), 12 deletions(-) create mode 100644 doc/man3/EVP_PKEY_supports_digest_nid.pod diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index a3164b5..8b363e0 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -505,7 +505,7 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) case ASN1_PKEY_CTRL_DEFAULT_MD_NID: *(int *)arg2 = NID_sha256; - return 2; + return 1; case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: return EC_KEY_oct2key(EVP_PKEY_get0_EC_KEY(pkey), arg2, arg1, NULL); diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 154ef78..c8f3264 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -667,6 +667,26 @@ int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid) return evp_pkey_asn1_ctrl(pkey, ASN1_PKEY_CTRL_DEFAULT_MD_NID, 0, pnid); } +int EVP_PKEY_supports_digest_nid(EVP_PKEY *pkey, int nid) +{ + int rv, default_nid; + + rv = evp_pkey_asn1_ctrl(pkey, ASN1_PKEY_CTRL_SUPPORTS_MD_NID, nid, NULL); + if (rv == -2) { + /* + * If there is a mandatory default digest and this isn't it, then + * the answer is 'no'. + */ + rv = EVP_PKEY_get_default_digest_nid(pkey, &default_nid); + if (rv == 2) + return (nid == default_nid); + /* zero is an error from EVP_PKEY_get_default_digest_nid() */ + if (rv == 0) + return -1; + } + return rv; +} + int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, const unsigned char *pt, size_t ptlen) { diff --git a/doc/man3/EVP_PKEY_ASN1_METHOD.pod b/doc/man3/EVP_PKEY_ASN1_METHOD.pod index 3c2ffd9..ed8c24b 100644 --- a/doc/man3/EVP_PKEY_ASN1_METHOD.pod +++ b/doc/man3/EVP_PKEY_ASN1_METHOD.pod @@ -257,6 +257,7 @@ L, and L. The pkey_ctrl() method adds extra algorithm specific control. It's called by L, +L, L, L, L, L, ... diff --git a/doc/man3/EVP_PKEY_get_default_digest_nid.pod b/doc/man3/EVP_PKEY_get_default_digest_nid.pod index da76677..02d25d0 100644 --- a/doc/man3/EVP_PKEY_get_default_digest_nid.pod +++ b/doc/man3/EVP_PKEY_get_default_digest_nid.pod @@ -18,7 +18,7 @@ a digest during signing. In this case B will be set to NID_undef. =head1 NOTES -For all current standard OpenSSL public key algorithms SHA1 is returned. +For all current standard OpenSSL public key algorithms SHA256 is returned. =head1 RETURN VALUES @@ -32,6 +32,7 @@ public key algorithm. L, L, +L, L, L, diff --git a/doc/man3/EVP_PKEY_supports_digest_nid.pod b/doc/man3/EVP_PKEY_supports_digest_nid.pod new file mode 100644 index 0000000..4f0882c --- /dev/null +++ b/doc/man3/EVP_PKEY_supports_digest_nid.pod @@ -0,0 +1,53 @@ +=pod + +=head1 NAME + +EVP_PKEY_supports_digest_nid - indicate support for signature digest + +=head1 SYNOPSIS + + #include + int EVP_PKEY_supports_digest_nid(EVP_PKEY *pkey, int nid); + +=head1 DESCRIPTION + +The EVP_PKEY_supports_digest_nid() function queries whether the message digest +NID B is supported for public key signature operations associated with key +B. + +=head1 NOTES + +If the EVP_PKEY implementation does not explicitly support this method, but +L returns a mandatory digest result, then +only that mandatory digest will be supported. + +=head1 RETURN VALUES + +The EVP_PKEY_supports_digest_nid() function returns 1 if the message digest +algorithm identified by B can be used for public key signature operations +associated with key B and 0 if it cannot be used. It returns a negative +value for failure. In particular a return value of -2 indicates the query +operation is not supported by the public key algorithm. + +=head1 SEE ALSO + +L, +L, +L, +L, +L, + +=head1 HISTORY + +This function was first added to OpenSSL 1.1.2. + +=head1 COPYRIGHT + +Copyright 2006-2018 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 +L. + +=cut diff --git a/include/openssl/evp.h b/include/openssl/evp.h index e803fa8..a0b7a54 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1111,6 +1111,7 @@ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx); int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); +int EVP_PKEY_supports_digest_nid(EVP_PKEY *pkey, int nid); int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, const unsigned char *pt, size_t ptlen); @@ -1187,6 +1188,7 @@ int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num); # define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9 # define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa +# define ASN1_PKEY_CTRL_SUPPORTS_MD_NID 0xb int EVP_PKEY_asn1_get_count(void); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index b8b9fbd..91353e7 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -2496,7 +2496,7 @@ static int tls12_get_cert_sigalg_idx(const SSL *s, const SIGALG_LOOKUP *lu) static int has_usable_cert(SSL *s, const SIGALG_LOOKUP *sig, int idx) { const SIGALG_LOOKUP *lu; - int mdnid, pknid; + int mdnid, pknid, supported; size_t i; /* TLS 1.2 callers can override lu->sig_idx, but not TLS 1.3 callers. */ @@ -2509,19 +2509,39 @@ static int has_usable_cert(SSL *s, const SIGALG_LOOKUP *sig, int idx) lu = tls1_lookup_sigalg(s->s3->tmp.peer_cert_sigalgs[i]); if (lu == NULL || !X509_get_signature_info(s->cert->pkeys[idx].x509, &mdnid, - &pknid, NULL, NULL)) + &pknid, NULL, NULL) + /* + * TODO this does not differentiate between the + * rsa_pss_pss_* and rsa_pss_rsae_* schemes since we do not + * have a chain here that lets us look at the key OID in the + * signing certificate. + */ + || mdnid != lu->hash + || pknid != lu->sig) continue; - /* - * TODO this does not differentiate between the - * rsa_pss_pss_* and rsa_pss_rsae_* schemes since we do not - * have a chain here that lets us look at the key OID in the - * signing certificate. - */ - if (mdnid == lu->hash && pknid == lu->sig) - return 1; + + ERR_set_mark(); + supported = EVP_PKEY_supports_digest_nid(s->cert->pkeys[idx].privatekey, + mdnid); + if (supported == 0) + continue; + else if (supported < 0) + { + /* If it didn't report a mandatory NID, for whatever reasons, + * just clear the error and allow all hashes to be used. */ + ERR_pop_to_mark(); + } + return 1; } return 0; } + supported = EVP_PKEY_supports_digest_nid(s->cert->pkeys[idx].privatekey, + sig->hash); + if (supported == 0) + return 0; + else if (supported < 0) + ERR_clear_error(); + return 1; } diff --git a/util/libcrypto.num b/util/libcrypto.num index f159a40..c6de172 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4597,3 +4597,4 @@ EVP_MAC_do_all 4550 1_1_2 EXIST::FUNCTION: EVP_MAC_do_all_sorted 4551 1_1_2 EXIST::FUNCTION: EVP_str2ctrl 4552 1_1_2 EXIST::FUNCTION: EVP_hex2ctrl 4553 1_1_2 EXIST::FUNCTION: +EVP_PKEY_supports_digest_nid 4554 1_1_2 EXIST::FUNCTION: From nic.tuv at gmail.com Sat Nov 10 02:13:01 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 02:13:01 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541815981.805917.28626.nullmailer@dev.openssl.org> The branch master has been updated via dd41956d80686638d74fd203bd67060f90966280 (commit) from ecbb2fca9301ef22b15beb30c4c0303b29846935 (commit) - Log ----------------------------------------------------------------- commit dd41956d80686638d74fd203bd67060f90966280 Author: Billy Brumley Date: Fri Nov 9 09:25:43 2018 +0200 [crypto/bn] swap BN_FLG_FIXED_TOP too Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7599) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_lib.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 266a3dd..80f910c 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -767,26 +767,30 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) b->neg ^= t; /*- - * Idea behind BN_FLG_STATIC_DATA is actually to - * indicate that data may not be written to. - * Intention is actually to treat it as it's - * read-only data, and some (if not most) of it does - * reside in read-only segment. In other words - * observation of BN_FLG_STATIC_DATA in - * BN_consttime_swap should be treated as fatal - * condition. It would either cause SEGV or - * effectively cause data corruption. - * BN_FLG_MALLOCED refers to BN structure itself, - * and hence must be preserved. Remaining flags are - * BN_FLG_CONSTIME and BN_FLG_SECURE. Latter must be - * preserved, because it determines how x->d was - * allocated and hence how to free it. This leaves - * BN_FLG_CONSTTIME that one can do something about. - * To summarize it's sufficient to mask and swap - * BN_FLG_CONSTTIME alone. BN_FLG_STATIC_DATA should - * be treated as fatal. + * BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention + * is actually to treat it as it's read-only data, and some (if not most) + * of it does reside in read-only segment. In other words observation of + * BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal + * condition. It would either cause SEGV or effectively cause data + * corruption. + * + * BN_FLG_MALLOCED: refers to BN structure itself, and hence must be + * preserved. + * + * BN_FLG_SECURE: must be preserved, because it determines how x->d was + * allocated and hence how to free it. + * + * BN_FLG_CONSTTIME: sufficient to mask and swap + * + * BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on + * the data, so the d array may be padded with additional 0 values (i.e. + * top could be greater than the minimal value that it could be). We should + * be swapping it */ - t = ((a->flags ^ b->flags) & BN_FLG_CONSTTIME) & condition; + +#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP) + + t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition; a->flags ^= t; b->flags ^= t; From nic.tuv at gmail.com Sat Nov 10 02:17:39 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 02:17:39 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541816259.216405.30063.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 6f172154f5d389a9e52583c6564b2693cb631e7f (commit) from bdb8897691942931184c38a9ab7b69a0977829b7 (commit) - Log ----------------------------------------------------------------- commit 6f172154f5d389a9e52583c6564b2693cb631e7f Author: Billy Brumley Date: Fri Nov 9 09:25:43 2018 +0200 [crypto/bn] swap BN_FLG_FIXED_TOP too Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7599) (cherry picked from commit dd41956d80686638d74fd203bd67060f90966280) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_lib.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 266a3dd..80f910c 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -767,26 +767,30 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) b->neg ^= t; /*- - * Idea behind BN_FLG_STATIC_DATA is actually to - * indicate that data may not be written to. - * Intention is actually to treat it as it's - * read-only data, and some (if not most) of it does - * reside in read-only segment. In other words - * observation of BN_FLG_STATIC_DATA in - * BN_consttime_swap should be treated as fatal - * condition. It would either cause SEGV or - * effectively cause data corruption. - * BN_FLG_MALLOCED refers to BN structure itself, - * and hence must be preserved. Remaining flags are - * BN_FLG_CONSTIME and BN_FLG_SECURE. Latter must be - * preserved, because it determines how x->d was - * allocated and hence how to free it. This leaves - * BN_FLG_CONSTTIME that one can do something about. - * To summarize it's sufficient to mask and swap - * BN_FLG_CONSTTIME alone. BN_FLG_STATIC_DATA should - * be treated as fatal. + * BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention + * is actually to treat it as it's read-only data, and some (if not most) + * of it does reside in read-only segment. In other words observation of + * BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal + * condition. It would either cause SEGV or effectively cause data + * corruption. + * + * BN_FLG_MALLOCED: refers to BN structure itself, and hence must be + * preserved. + * + * BN_FLG_SECURE: must be preserved, because it determines how x->d was + * allocated and hence how to free it. + * + * BN_FLG_CONSTTIME: sufficient to mask and swap + * + * BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on + * the data, so the d array may be padded with additional 0 values (i.e. + * top could be greater than the minimal value that it could be). We should + * be swapping it */ - t = ((a->flags ^ b->flags) & BN_FLG_CONSTTIME) & condition; + +#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP) + + t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition; a->flags ^= t; b->flags ^= t; From nic.tuv at gmail.com Sat Nov 10 02:22:01 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 02:22:01 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1541816521.583709.31242.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 6ab937f2df403bdda7e25b6c62a93b061171250e (commit) from 4a498d0ed50f377584ebadce715fbcc2c0f53c23 (commit) - Log ----------------------------------------------------------------- commit 6ab937f2df403bdda7e25b6c62a93b061171250e Author: Billy Brumley Date: Fri Nov 9 09:25:43 2018 +0200 [crypto/bn] swap BN_FLG_FIXED_TOP too Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7599) (cherry picked from commit dd41956d80686638d74fd203bd67060f90966280) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_lib.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 80f8599..3f3c7bb 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -852,26 +852,30 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) b->neg ^= t; /*- - * Idea behind BN_FLG_STATIC_DATA is actually to - * indicate that data may not be written to. - * Intention is actually to treat it as it's - * read-only data, and some (if not most) of it does - * reside in read-only segment. In other words - * observation of BN_FLG_STATIC_DATA in - * BN_consttime_swap should be treated as fatal - * condition. It would either cause SEGV or - * effectively cause data corruption. - * BN_FLG_MALLOCED refers to BN structure itself, - * and hence must be preserved. Remaining flags are - * BN_FLG_CONSTIME and BN_FLG_SECURE. Latter must be - * preserved, because it determines how x->d was - * allocated and hence how to free it. This leaves - * BN_FLG_CONSTTIME that one can do something about. - * To summarize it's sufficient to mask and swap - * BN_FLG_CONSTTIME alone. BN_FLG_STATIC_DATA should - * be treated as fatal. + * BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention + * is actually to treat it as it's read-only data, and some (if not most) + * of it does reside in read-only segment. In other words observation of + * BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal + * condition. It would either cause SEGV or effectively cause data + * corruption. + * + * BN_FLG_MALLOCED: refers to BN structure itself, and hence must be + * preserved. + * + * BN_FLG_SECURE: must be preserved, because it determines how x->d was + * allocated and hence how to free it. + * + * BN_FLG_CONSTTIME: sufficient to mask and swap + * + * BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on + * the data, so the d array may be padded with additional 0 values (i.e. + * top could be greater than the minimal value that it could be). We should + * be swapping it */ - t = ((a->flags ^ b->flags) & BN_FLG_CONSTTIME) & condition; + +#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP) + + t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition; a->flags ^= t; b->flags ^= t; From nic.tuv at gmail.com Sat Nov 10 02:41:57 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 02:41:57 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541817717.480875.1657.nullmailer@dev.openssl.org> The branch master has been updated via d896b79b0994a35ecfd1c8e729d348d67236150e (commit) from dd41956d80686638d74fd203bd67060f90966280 (commit) - Log ----------------------------------------------------------------- commit d896b79b0994a35ecfd1c8e729d348d67236150e Author: Mansour Ahmadi Date: Wed Oct 17 18:13:57 2018 -0400 Check return value of EVP_PKEY_new Reviewed-by: Paul Yang Reviewed-by: Nicola Tuveri Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7427) ----------------------------------------------------------------------- Summary of changes: apps/rsa.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/rsa.c b/apps/rsa.c index 5098a20..fdd02dc 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -269,6 +269,9 @@ int rsa_main(int argc, char **argv) } else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) { EVP_PKEY *pk; pk = EVP_PKEY_new(); + if (pk == NULL) + goto end; + EVP_PKEY_set1_RSA(pk, rsa); if (outformat == FORMAT_PVK) { if (pubin) { From nic.tuv at gmail.com Sat Nov 10 02:47:34 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 10 Nov 2018 02:47:34 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541818054.176833.2987.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 98f62979b2e6233470619c9adfa44704a7036699 (commit) from 6f172154f5d389a9e52583c6564b2693cb631e7f (commit) - Log ----------------------------------------------------------------- commit 98f62979b2e6233470619c9adfa44704a7036699 Author: Mansour Ahmadi Date: Wed Oct 17 18:13:57 2018 -0400 Check return value of EVP_PKEY_new Reviewed-by: Paul Yang Reviewed-by: Nicola Tuveri Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7427) (cherry picked from commit d896b79b0994a35ecfd1c8e729d348d67236150e) ----------------------------------------------------------------------- Summary of changes: apps/rsa.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/rsa.c b/apps/rsa.c index 5098a20..fdd02dc 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -269,6 +269,9 @@ int rsa_main(int argc, char **argv) } else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) { EVP_PKEY *pk; pk = EVP_PKEY_new(); + if (pk == NULL) + goto end; + EVP_PKEY_set1_RSA(pk, rsa); if (outformat == FORMAT_PVK) { if (pubin) { From builds at travis-ci.org Sat Nov 10 03:01:12 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 10 Nov 2018 03:01:12 +0000 Subject: [openssl-commits] Errored: openssl/openssl#21634 (master - d896b79) In-Reply-To: Message-ID: <5be649f813bca_43f8a85b0f280167520@a9332ba4-6f69-48d9-b8e9-597727a6f396.mail> Build Update for openssl/openssl ------------------------------------- Build: #21634 Status: Errored Duration: 18 mins and 29 secs Commit: d896b79 (master) Author: Mansour Ahmadi Message: Check return value of EVP_PKEY_new Reviewed-by: Paul Yang Reviewed-by: Nicola Tuveri Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7427) View the changeset: https://github.com/openssl/openssl/compare/dd41956d8068...d896b79b0994 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453160647?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Nov 10 07:12:41 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 10 Nov 2018 07:12:41 +0000 Subject: [openssl-commits] Build failed: openssl OpenSSL_1_1_1-stable.20911 Message-ID: <20181110071241.1.DC4F4BFD70263DA9@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Nov 10 09:17:22 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 10 Nov 2018 09:17:22 +0000 Subject: [openssl-commits] Build completed: openssl OpenSSL_1_1_1-stable.20912 Message-ID: <20181110091722.1.95124C8CFA51A3C0@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Sat Nov 10 13:26:49 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 10 Nov 2018 13:26:49 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541856409.286839.6008.nullmailer@dev.openssl.org> The branch master has been updated via 65042182fcafbd4c0dd8fdabaefdf1fd38dc6287 (commit) from d896b79b0994a35ecfd1c8e729d348d67236150e (commit) - Log ----------------------------------------------------------------- commit 65042182fcafbd4c0dd8fdabaefdf1fd38dc6287 Author: Richard Levitte Date: Mon Jan 8 13:29:45 2018 +0100 Recreate the OS390-Unix config target Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/5035) ----------------------------------------------------------------------- Summary of changes: CHANGES | 4 ++++ Configurations/50-os390.conf | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 Configurations/50-os390.conf diff --git a/CHANGES b/CHANGES index 163dd98..df6e6b1 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,10 @@ Changes between 1.1.1 and 1.1.2 [xx XXX xxxx] + *) Recreate the OS390-Unix config target. It no longer relies on a + special script like it did for OpenSSL pre-1.1.0. + [Richard Levitte] + *) Instead of having the source directories listed in Configure, add a 'build.info' keyword SUBDIRS to indicate what sub-directories to look into. diff --git a/Configurations/50-os390.conf b/Configurations/50-os390.conf new file mode 100644 index 0000000..6e86cb6 --- /dev/null +++ b/Configurations/50-os390.conf @@ -0,0 +1,11 @@ +## -*- mode: perl; -*- +( +# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe + "OS390-Unix" => { + inherit_from => [ "BASE_unix" ], + cc => "cc", + cflags => "-O -DB_ENDIAN -DCHARSET_EBCDIC", + bn_ops => "THIRTY_TWO_BIT RC4_CHAR", + thread_scheme => "(unknown)", + } +); From builds at travis-ci.org Sat Nov 10 13:45:50 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 10 Nov 2018 13:45:50 +0000 Subject: [openssl-commits] Passed: openssl/openssl#21643 (master - 6504218) In-Reply-To: Message-ID: <5be6e10db019c_43f84169a15082067a4@1ee7b188-3833-4740-b796-26cafdbb37eb.mail> Build Update for openssl/openssl ------------------------------------- Build: #21643 Status: Passed Duration: 18 mins and 8 secs Commit: 6504218 (master) Author: Richard Levitte Message: Recreate the OS390-Unix config target Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/5035) View the changeset: https://github.com/openssl/openssl/compare/d896b79b0994...65042182fcaf View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453265426?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurt at openssl.org Sat Nov 10 20:29:47 2018 From: kurt at openssl.org (Kurt Roeckx) Date: Sat, 10 Nov 2018 20:29:47 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541881787.381305.17464.nullmailer@dev.openssl.org> The branch master has been updated via 75b68c9e4e8591a4ebe083cb207aeb121baf549f (commit) from 65042182fcafbd4c0dd8fdabaefdf1fd38dc6287 (commit) - Log ----------------------------------------------------------------- commit 75b68c9e4e8591a4ebe083cb207aeb121baf549f Author: Tomas Mraz Date: Fri Oct 12 17:24:14 2018 +0200 Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte GH: #7391 ----------------------------------------------------------------------- Summary of changes: ssl/ssl_cert.c | 4 +- test/recipes/80-test_ssl_new.t | 2 +- test/ssl-tests/28-seclevel.conf | 102 +++++++++++++++++++++++++++++++++++++ test/ssl-tests/28-seclevel.conf.in | 48 +++++++++++++++++ 4 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 test/ssl-tests/28-seclevel.conf create mode 100644 test/ssl-tests/28-seclevel.conf.in diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 52a4a7e..7d7357f 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -951,8 +951,8 @@ static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx, if (level >= 2 && c->algorithm_enc == SSL_RC4) return 0; /* Level 3: forward secure ciphersuites only */ - if (level >= 3 && (c->min_tls != TLS1_3_VERSION || - !(c->algorithm_mkey & (SSL_kEDH | SSL_kEECDH)))) + if (level >= 3 && c->min_tls != TLS1_3_VERSION && + !(c->algorithm_mkey & (SSL_kEDH | SSL_kEECDH))) return 0; break; } diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index e15d87e..da8302d 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -28,7 +28,7 @@ map { s/\^// } @conf_files if $^O eq "VMS"; # We hard-code the number of tests to double-check that the globbing above # finds all files as expected. -plan tests => 27; # = scalar @conf_srcs +plan tests => 28; # = scalar @conf_srcs # Some test results depend on the configuration of enabled protocols. We only # verify generated sources in the default configuration. diff --git a/test/ssl-tests/28-seclevel.conf b/test/ssl-tests/28-seclevel.conf new file mode 100644 index 0000000..ddc2448 --- /dev/null +++ b/test/ssl-tests/28-seclevel.conf @@ -0,0 +1,102 @@ +# Generated with generate_ssl_tests.pl + +num_tests = 4 + +test-0 = 0-SECLEVEL 3 with default key +test-1 = 1-SECLEVEL 3 with ED448 key +test-2 = 2-SECLEVEL 3 with ED448 key, TLSv1.2 +test-3 = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE +# =========================================================== + +[0-SECLEVEL 3 with default key] +ssl_conf = 0-SECLEVEL 3 with default key-ssl + +[0-SECLEVEL 3 with default key-ssl] +server = 0-SECLEVEL 3 with default key-server +client = 0-SECLEVEL 3 with default key-client + +[0-SECLEVEL 3 with default key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT:@SECLEVEL=3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[0-SECLEVEL 3 with default key-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-0] +ExpectedResult = ServerFail + + +# =========================================================== + +[1-SECLEVEL 3 with ED448 key] +ssl_conf = 1-SECLEVEL 3 with ED448 key-ssl + +[1-SECLEVEL 3 with ED448 key-ssl] +server = 1-SECLEVEL 3 with ED448 key-server +client = 1-SECLEVEL 3 with ED448 key-client + +[1-SECLEVEL 3 with ED448 key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[1-SECLEVEL 3 with ED448 key-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-1] +ExpectedResult = Success + + +# =========================================================== + +[2-SECLEVEL 3 with ED448 key, TLSv1.2] +ssl_conf = 2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] +server = 2-SECLEVEL 3 with ED448 key, TLSv1.2-server +client = 2-SECLEVEL 3 with ED448 key, TLSv1.2-client + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-2] +ExpectedResult = Success + + +# =========================================================== + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE] +ssl_conf = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] +server = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server +client = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] +Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +Groups = X25519 +PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] +CipherString = ECDHE:@SECLEVEL=3 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +VerifyMode = Peer + +[test-3] +ExpectedResult = Success + + diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in new file mode 100644 index 0000000..5a1ee46 --- /dev/null +++ b/test/ssl-tests/28-seclevel.conf.in @@ -0,0 +1,48 @@ +# -*- mode: perl; -*- +# Copyright 2016-2016 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 + + +## SSL test configurations + +package ssltests; + +our @tests = ( + { + name => "SECLEVEL 3 with default key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3" }, + client => { }, + test => { "ExpectedResult" => "ServerFail" }, + }, + { + name => "SECLEVEL 3 with ED448 key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem") }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, + { + name => "SECLEVEL 3 with ED448 key, TLSv1.2", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem"), + "MaxProtocol" => "TLSv1.2" }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, + { + name => "SECLEVEL 3 with P-384 key, X25519 ECDHE", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("p384-server-cert.pem"), + "PrivateKey" => test_pem("p384-server-key.pem"), + "Groups" => "X25519" }, + client => { "CipherString" => "ECDHE:\@SECLEVEL=3", + "VerifyCAFile" => test_pem("p384-root.pem") }, + test => { "ExpectedResult" => "Success" }, + }, +); From kurt at openssl.org Sat Nov 10 20:30:31 2018 From: kurt at openssl.org (Kurt Roeckx) Date: Sat, 10 Nov 2018 20:30:31 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1541881831.657110.18401.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via e37b7014f3f52124b787ca1b5b51b0111462a0ac (commit) from 98f62979b2e6233470619c9adfa44704a7036699 (commit) - Log ----------------------------------------------------------------- commit e37b7014f3f52124b787ca1b5b51b0111462a0ac Author: Tomas Mraz Date: Fri Oct 12 17:24:14 2018 +0200 Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. Reviewed-by: Kurt Roeckx Reviewed-by: Richard Levitte GH: #7391 (cherry picked from commit 75b68c9e4e8591a4ebe083cb207aeb121baf549f) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_cert.c | 4 +- test/recipes/80-test_ssl_new.t | 2 +- test/ssl-tests/28-seclevel.conf | 102 +++++++++++++++++++++++++++++++++++++ test/ssl-tests/28-seclevel.conf.in | 48 +++++++++++++++++ 4 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 test/ssl-tests/28-seclevel.conf create mode 100644 test/ssl-tests/28-seclevel.conf.in diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 52a4a7e..7d7357f 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -951,8 +951,8 @@ static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx, if (level >= 2 && c->algorithm_enc == SSL_RC4) return 0; /* Level 3: forward secure ciphersuites only */ - if (level >= 3 && (c->min_tls != TLS1_3_VERSION || - !(c->algorithm_mkey & (SSL_kEDH | SSL_kEECDH)))) + if (level >= 3 && c->min_tls != TLS1_3_VERSION && + !(c->algorithm_mkey & (SSL_kEDH | SSL_kEECDH))) return 0; break; } diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index e15d87e..da8302d 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -28,7 +28,7 @@ map { s/\^// } @conf_files if $^O eq "VMS"; # We hard-code the number of tests to double-check that the globbing above # finds all files as expected. -plan tests => 27; # = scalar @conf_srcs +plan tests => 28; # = scalar @conf_srcs # Some test results depend on the configuration of enabled protocols. We only # verify generated sources in the default configuration. diff --git a/test/ssl-tests/28-seclevel.conf b/test/ssl-tests/28-seclevel.conf new file mode 100644 index 0000000..ddc2448 --- /dev/null +++ b/test/ssl-tests/28-seclevel.conf @@ -0,0 +1,102 @@ +# Generated with generate_ssl_tests.pl + +num_tests = 4 + +test-0 = 0-SECLEVEL 3 with default key +test-1 = 1-SECLEVEL 3 with ED448 key +test-2 = 2-SECLEVEL 3 with ED448 key, TLSv1.2 +test-3 = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE +# =========================================================== + +[0-SECLEVEL 3 with default key] +ssl_conf = 0-SECLEVEL 3 with default key-ssl + +[0-SECLEVEL 3 with default key-ssl] +server = 0-SECLEVEL 3 with default key-server +client = 0-SECLEVEL 3 with default key-client + +[0-SECLEVEL 3 with default key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT:@SECLEVEL=3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[0-SECLEVEL 3 with default key-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-0] +ExpectedResult = ServerFail + + +# =========================================================== + +[1-SECLEVEL 3 with ED448 key] +ssl_conf = 1-SECLEVEL 3 with ED448 key-ssl + +[1-SECLEVEL 3 with ED448 key-ssl] +server = 1-SECLEVEL 3 with ED448 key-server +client = 1-SECLEVEL 3 with ED448 key-client + +[1-SECLEVEL 3 with ED448 key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[1-SECLEVEL 3 with ED448 key-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-1] +ExpectedResult = Success + + +# =========================================================== + +[2-SECLEVEL 3 with ED448 key, TLSv1.2] +ssl_conf = 2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] +server = 2-SECLEVEL 3 with ED448 key, TLSv1.2-server +client = 2-SECLEVEL 3 with ED448 key, TLSv1.2-client + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[2-SECLEVEL 3 with ED448 key, TLSv1.2-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-2] +ExpectedResult = Success + + +# =========================================================== + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE] +ssl_conf = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] +server = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server +client = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] +Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem +CipherString = DEFAULT:@SECLEVEL=3 +Groups = X25519 +PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem + +[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] +CipherString = ECDHE:@SECLEVEL=3 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +VerifyMode = Peer + +[test-3] +ExpectedResult = Success + + diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in new file mode 100644 index 0000000..5a1ee46 --- /dev/null +++ b/test/ssl-tests/28-seclevel.conf.in @@ -0,0 +1,48 @@ +# -*- mode: perl; -*- +# Copyright 2016-2016 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 + + +## SSL test configurations + +package ssltests; + +our @tests = ( + { + name => "SECLEVEL 3 with default key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3" }, + client => { }, + test => { "ExpectedResult" => "ServerFail" }, + }, + { + name => "SECLEVEL 3 with ED448 key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem") }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, + { + name => "SECLEVEL 3 with ED448 key, TLSv1.2", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem"), + "MaxProtocol" => "TLSv1.2" }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, + { + name => "SECLEVEL 3 with P-384 key, X25519 ECDHE", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("p384-server-cert.pem"), + "PrivateKey" => test_pem("p384-server-key.pem"), + "Groups" => "X25519" }, + client => { "CipherString" => "ECDHE:\@SECLEVEL=3", + "VerifyCAFile" => test_pem("p384-root.pem") }, + test => { "ExpectedResult" => "Success" }, + }, +); From no-reply at appveyor.com Sat Nov 10 22:36:54 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 10 Nov 2018 22:36:54 +0000 Subject: [openssl-commits] Build failed: openssl master.20920 Message-ID: <20181110223654.1.054733AC9495737E@appveyor.com> An HTML attachment was scrubbed... URL: From scan-admin at coverity.com Sun Nov 11 07:26:04 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 11 Nov 2018 07:26:04 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5be7d98c56aac_42df2ab1dd750f58714f8@node1.mail> Your request for analysis of openssl/openssl has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEcf-2B75FkFkxwwFKGZV8c1xA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I0iMWHC6UhOYhj01PVYGXBApEdl90G5szt5yJHPFryIoJKUm-2Bo-2FjMUMdOzpG0I0XUBz3NkmzN3G3HdlyH2Iurh2rPF9XIL5v9ggAP9odoo56tyNUZGKLl1r6w6CP8wCs-2FGPuyxfROJqi-2Bd0pYocJEQyfJRbOrE30-2Fg3G495YoAswjICtGH0D1YHmCaohCkY-2FcI-3D Build ID: 236753 Analysis Summary: New defects found: 0 Defects eliminated: 0 From scan-admin at coverity.com Sun Nov 11 07:46:12 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 11 Nov 2018 07:46:12 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5be7de437079c_4e1a2ab1dd750f58714fc@node1.mail> Your request for analysis of OpenSSL-1.0.2 has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEeuRTZVWU4ku8PUBnVPw8PQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3AyL5yijf3z10hOaw6ROQA4tk9nYUIzieMYcqtijXlEQbRzA71xlEqc9W89BDvqrYZ-2Faq5FYoRLHmj8WONHmBn8tV1xo8OETsA6dJsodyBeRbKWCfEiLOj3mW-2BANpjWU9TdrTiXbXSXVy5xulZzIZ-2FpEGmjhTS5e-2BQl2PM9Woirse8xuz6wBLhbxVbfkog3qw-3D Build ID: 236755 Analysis Summary: New defects found: 0 Defects eliminated: 0 From no-reply at appveyor.com Sun Nov 11 12:02:54 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 11 Nov 2018 12:02:54 +0000 Subject: [openssl-commits] Build completed: openssl master.20921 Message-ID: <20181111120254.1.88E148CEBE53FCE4@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Sun Nov 11 21:56:49 2018 From: pauli at openssl.org (Paul I. Dale) Date: Sun, 11 Nov 2018 21:56:49 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1541973409.144044.2109.nullmailer@dev.openssl.org> The branch master has been updated via 59fbc8ef9a9c0700fd2b107fea390470ff17ada4 (commit) from 75b68c9e4e8591a4ebe083cb207aeb121baf549f (commit) - Log ----------------------------------------------------------------- commit 59fbc8ef9a9c0700fd2b107fea390470ff17ada4 Author: Dmitry Belyavskiy Date: Mon Nov 12 07:56:05 2018 +1000 Some deabbreviations Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7614) ----------------------------------------------------------------------- Summary of changes: doc/man1/x509.pod | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/man1/x509.pod b/doc/man1/x509.pod index 547da5d..088827b 100644 --- a/doc/man1/x509.pod +++ b/doc/man1/x509.pod @@ -578,7 +578,8 @@ Dump any field whose OID is not recognised by OpenSSL. B These options determine the field separators. The first character is -between RDNs and the second between multiple AVAs (multiple AVAs are +between Relative Distinguished Names (RDNs) and the second is between +multiple Attribute Value Assertions (AVAs, multiple AVAs are very rare and their use is discouraged). The options ending in "space" additionally place a space after the separator to make it more readable. The B uses a linefeed character for From openssl at openssl.org Mon Nov 12 01:20:59 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 12 Nov 2018 01:20:59 +0000 Subject: [openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1541985659.496926.28934.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 59fbc8ef9a Some deabbreviations 75b68c9e4e Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. 65042182fc Recreate the OS390-Unix config target d896b79b09 Check return value of EVP_PKEY_new dd41956d80 [crypto/bn] swap BN_FLG_FIXED_TOP too ecbb2fca93 Add EVP_PKEY_supports_digest_nid() 2d263a4a73 Honour mandatory digest on private key in has_usable_cert() eb7eb1378c Stop marking default digest for EC keys as mandatory e2d227bb4a Fix issues with do_rand_init/rand_cleanup_int e9994901f8 VMS build: colon after target must be separated with a space e8d01a6087 Have install targets depend on more precise build targets c1123d9f7e Allow parallel install Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ skipped: test_key_share needs TLS1.3 enabled ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ ok ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ ok ../../openssl/test/recipes/70-test_sslcertstatus.t ............ ok ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. ok ../../openssl/test/recipes/70-test_sslrecords.t ............... ok ../../openssl/test/recipes/70-test_sslsessiontick.t ........... ok ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. skipped: test_tls13alerts needs TLS1.3 enabled ../../openssl/test/recipes/70-test_tls13cookie.t .............. skipped: test_tls13cookie needs TLS1.3 enabled ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. skipped: test_tls13hrr needs TLS1.3 enabled ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ skipped: test_tls13kexmodes needs TLSv1.3 enabled ../../openssl/test/recipes/70-test_tls13messages.t ............ skipped: test_tls13messages needs TLSv1.3 enabled ../../openssl/test/recipes/70-test_tls13psk.t ................. skipped: test_tls13psk needs TLSv1.3 enabled ../../openssl/test/recipes/70-test_tlsextms.t ................. ok ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... skipped: ct and ec are not supported by this OpenSSL build ../../openssl/test/recipes/80-test_dane.t ..................... skipped: test_dane uses ec which is not supported by this OpenSSL build ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. skipped: test_dane uses ec which is not supported by this OpenSSL build ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... ok ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. skipped: test_tls13ccs is not supported in this build ../../openssl/test/recipes/90-test_tls13encryption.t .......... skipped: tls13encryption is not supported in this build ../../openssl/test/recipes/90-test_tls13secrets.t ............. skipped: tls13secrets is not supported in this build ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1142, 133 wallclock secs ( 1.62 usr 0.37 sys + 104.51 cusr 10.58 csys = 117.08 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Mon Nov 12 06:16:05 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 12 Nov 2018 06:16:05 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542003365.484749.29838.nullmailer@dev.openssl.org> The branch master has been updated via 425036130dfb3cfbef5937772f7526ce60133264 (commit) from 59fbc8ef9a9c0700fd2b107fea390470ff17ada4 (commit) - Log ----------------------------------------------------------------- commit 425036130dfb3cfbef5937772f7526ce60133264 Author: Richard Levitte Date: Sun Nov 11 12:23:26 2018 +0100 Fix SipHash init order. Setting the SipHash hash size and setting its key is done with two independent functions... and yet, the internals depend on both. Unfortunately, the function to change the size wasn't adapted for the possibility that the key was set first, with a different hash size. This changes the hash setting function to fix the internal values (which is easy, fortunately) according to the hash size. evpmac.txt value for digestsize:8 is also corrected. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7613) ----------------------------------------------------------------------- Summary of changes: crypto/siphash/siphash.c | 14 +++++++++++++- test/recipes/30-test_evp_data/evpmac.txt | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/crypto/siphash/siphash.c b/crypto/siphash/siphash.c index ff84a29..be74a38 100644 --- a/crypto/siphash/siphash.c +++ b/crypto/siphash/siphash.c @@ -94,7 +94,19 @@ int SipHash_set_hash_size(SIPHASH *ctx, size_t hash_size) && hash_size != SIPHASH_MAX_DIGEST_SIZE) return 0; - ctx->hash_size = hash_size; + /* + * It's possible that the key was set first. If the hash size changes, + * we need to adjust v1 (see SipHash_Init(). + */ + + /* Start by adjusting the stored size, to make things easier */ + ctx->hash_size = siphash_adjust_hash_size(ctx->hash_size); + + /* Now, adjust ctx->v1 if the old and the new size differ */ + if ((size_t)ctx->hash_size != hash_size) { + ctx->v1 ^= 0xee; + ctx->hash_size = hash_size; + } return 1; } diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 640e1a1..1d635ba 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -134,7 +134,7 @@ MAC = SipHash Ctrl = digestsize:8 Key = 000102030405060708090A0B0C0D0E0F Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E -Output = B96AB0B9D449A78A +Output = 724506EB4C328A95 # SIPHASH - default values: 2,4 rounds, explicit 16-byte mac From levitte at openssl.org Mon Nov 12 06:17:09 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 12 Nov 2018 06:17:09 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542003429.252223.30875.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 61e78e7ace6c5d65910379556d7da7d23492291c (commit) from e37b7014f3f52124b787ca1b5b51b0111462a0ac (commit) - Log ----------------------------------------------------------------- commit 61e78e7ace6c5d65910379556d7da7d23492291c Author: Richard Levitte Date: Sun Nov 11 12:23:26 2018 +0100 Fix SipHash init order. Setting the SipHash hash size and setting its key is done with two independent functions... and yet, the internals depend on both. Unfortunately, the function to change the size wasn't adapted for the possibility that the key was set first, with a different hash size. This changes the hash setting function to fix the internal values (which is easy, fortunately) according to the hash size. evpmac.txt value for digestsize:8 is also corrected. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7613) (cherry picked from commit 425036130dfb3cfbef5937772f7526ce60133264) ----------------------------------------------------------------------- Summary of changes: crypto/siphash/siphash.c | 14 +++++++++++++- test/recipes/30-test_evp_data/evpmac.txt | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/crypto/siphash/siphash.c b/crypto/siphash/siphash.c index ff84a29..be74a38 100644 --- a/crypto/siphash/siphash.c +++ b/crypto/siphash/siphash.c @@ -94,7 +94,19 @@ int SipHash_set_hash_size(SIPHASH *ctx, size_t hash_size) && hash_size != SIPHASH_MAX_DIGEST_SIZE) return 0; - ctx->hash_size = hash_size; + /* + * It's possible that the key was set first. If the hash size changes, + * we need to adjust v1 (see SipHash_Init(). + */ + + /* Start by adjusting the stored size, to make things easier */ + ctx->hash_size = siphash_adjust_hash_size(ctx->hash_size); + + /* Now, adjust ctx->v1 if the old and the new size differ */ + if ((size_t)ctx->hash_size != hash_size) { + ctx->v1 ^= 0xee; + ctx->hash_size = hash_size; + } return 1; } diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 4ec5fa4..2bcb3c3 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -134,7 +134,7 @@ MAC = SipHash Ctrl = digestsize:8 Key = 000102030405060708090A0B0C0D0E0F Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E -Output = B96AB0B9D449A78A +Output = 724506EB4C328A95 # SIPHASH - default values: 2,4 rounds, explicit 16-byte mac From builds at travis-ci.org Mon Nov 12 06:44:30 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 06:44:30 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21663 (OpenSSL_1_1_1-stable - 61e78e7) In-Reply-To: Message-ID: <5be9214a24c44_43fb4d7f93e4c402621@e13bb181-d4a9-4022-a541-9364a3356d28.mail> Build Update for openssl/openssl ------------------------------------- Build: #21663 Status: Broken Duration: 22 mins and 35 secs Commit: 61e78e7 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Fix SipHash init order. Setting the SipHash hash size and setting its key is done with two independent functions... and yet, the internals depend on both. Unfortunately, the function to change the size wasn't adapted for the possibility that the key was set first, with a different hash size. This changes the hash setting function to fix the internal values (which is easy, fortunately) according to the hash size. evpmac.txt value for digestsize:8 is also corrected. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7613) (cherry picked from commit 425036130dfb3cfbef5937772f7526ce60133264) View the changeset: https://github.com/openssl/openssl/compare/e37b7014f3f5...61e78e7ace6c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453809291?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 12 06:36:11 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 06:36:11 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21662 (master - 4250361) In-Reply-To: Message-ID: <5be91f5ab8b57_43ff2a312329010605b@718bba8a-224f-4447-874d-4470a9b9e61e.mail> Build Update for openssl/openssl ------------------------------------- Build: #21662 Status: Broken Duration: 19 mins and 21 secs Commit: 4250361 (master) Author: Richard Levitte Message: Fix SipHash init order. Setting the SipHash hash size and setting its key is done with two independent functions... and yet, the internals depend on both. Unfortunately, the function to change the size wasn't adapted for the possibility that the key was set first, with a different hash size. This changes the hash setting function to fix the internal values (which is easy, fortunately) according to the hash size. evpmac.txt value for digestsize:8 is also corrected. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7613) View the changeset: https://github.com/openssl/openssl/compare/59fbc8ef9a9c...425036130dfb View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453809059?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Nov 12 11:15:25 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 12 Nov 2018 11:15:25 +0000 Subject: [openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1542021325.284412.30096.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 59fbc8ef9a Some deabbreviations 75b68c9e4e Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. 65042182fc Recreate the OS390-Unix config target d896b79b09 Check return value of EVP_PKEY_new dd41956d80 [crypto/bn] swap BN_FLG_FIXED_TOP too ecbb2fca93 Add EVP_PKEY_supports_digest_nid() 2d263a4a73 Honour mandatory digest on private key in has_usable_cert() eb7eb1378c Stop marking default digest for EC keys as mandatory e2d227bb4a Fix issues with do_rand_init/rand_cleanup_int e9994901f8 VMS build: colon after target must be separated with a space e8d01a6087 Have install targets depend on more precise build targets c1123d9f7e Allow parallel install Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 210 wallclock secs ( 1.55 usr 0.31 sys + 180.14 cusr 10.89 csys = 192.89 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From matt at openssl.org Mon Nov 12 11:19:35 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 12 Nov 2018 11:19:35 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542021575.410231.11821.nullmailer@dev.openssl.org> The branch master has been updated via 24ae00388fb9e25af8f94d36b7c191ae90061586 (commit) via 83c81eebed52aa84b6b34d26e984c859158ca1c0 (commit) via de4dc598024fd0a9c2b7a466fd5323755d369522 (commit) from 425036130dfb3cfbef5937772f7526ce60133264 (commit) - Log ----------------------------------------------------------------- commit 24ae00388fb9e25af8f94d36b7c191ae90061586 Author: Matt Caswell Date: Wed Oct 24 14:48:44 2018 +0100 Test use of a brainpool ECDSA certificate Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) commit 83c81eebed52aa84b6b34d26e984c859158ca1c0 Author: Matt Caswell Date: Wed Oct 24 12:15:56 2018 +0100 Add some test brainpool certificates Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) commit de4dc598024fd0a9c2b7a466fd5323755d369522 Author: Matt Caswell Date: Fri Oct 19 14:01:22 2018 +0100 Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable TLSv1.3 is more restrictive about the curve used. There must be a matching sig alg defined for that curve. Therefore if we are using some other curve in our certificate then we should not negotiate TLSv1.3. Fixes #7435 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_locl.h | 1 + ssl/statem/statem_lib.c | 18 +- ssl/t1_lib.c | 31 + test/certs/server-ecdsa-brainpoolP256r1-cert.pem | 16 + test/certs/server-ecdsa-brainpoolP256r1-key.pem | 5 + test/certs/setup.sh | 4 + test/ssl-tests/20-cert-select.conf | 853 ++++++++++++----------- test/ssl-tests/20-cert-select.conf.in | 39 ++ 8 files changed, 568 insertions(+), 399 deletions(-) create mode 100644 test/certs/server-ecdsa-brainpoolP256r1-cert.pem create mode 100644 test/certs/server-ecdsa-brainpoolP256r1-key.pem diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index c22c1f9..46719b0 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -2564,6 +2564,7 @@ __owur int tls1_process_sigalgs(SSL *s); __owur int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey); __owur int tls1_lookup_md(const SIGALG_LOOKUP *lu, const EVP_MD **pmd); __owur size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs); +__owur int tls_check_sigalg_curve(const SSL *s, int curve); __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey); __owur int ssl_set_client_disabled(SSL *s); __owur int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 75cf321..dc2bd20 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -1506,7 +1506,8 @@ static int ssl_method_error(const SSL *s, const SSL_METHOD *method) */ static int is_tls13_capable(const SSL *s) { - int i; + int i, curve; + EC_KEY *eckey; #ifndef OPENSSL_NO_PSK if (s->psk_server_callback != NULL) @@ -1527,7 +1528,20 @@ static int is_tls13_capable(const SSL *s) default: break; } - if (ssl_has_cert(s, i)) + if (!ssl_has_cert(s, i)) + continue; + if (i != SSL_PKEY_ECC) + return 1; + /* + * Prior to TLSv1.3 sig algs allowed any curve to be used. TLSv1.3 is + * more restrictive so check that our sig algs are consistent with this + * EC cert. See section 4.2.3 of RFC8446. + */ + eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); + if (eckey == NULL) + continue; + curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); + if (tls_check_sigalg_curve(s, curve)) return 1; } diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 91353e7..ddafa0c 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -950,6 +950,37 @@ size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs) } /* + * Called by servers only. Checks that we have a sig alg that supports the + * specified EC curve. + */ +int tls_check_sigalg_curve(const SSL *s, int curve) +{ + const uint16_t *sigs; + size_t siglen, i; + + if (s->cert->conf_sigalgs) { + sigs = s->cert->conf_sigalgs; + siglen = s->cert->conf_sigalgslen; + } else { + sigs = tls12_sigalgs; + siglen = OSSL_NELEM(tls12_sigalgs); + } + + for (i = 0; i < siglen; i++) { + const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(sigs[i]); + + if (lu == NULL) + continue; + if (lu->sig == EVP_PKEY_EC + && lu->curve != NID_undef + && curve == lu->curve) + return 1; + } + + return 0; +} + +/* * Check signature algorithm is consistent with sent supported signature * algorithms and if so set relevant digest and signature scheme in * s. diff --git a/test/certs/server-ecdsa-brainpoolP256r1-cert.pem b/test/certs/server-ecdsa-brainpoolP256r1-cert.pem new file mode 100644 index 0000000..bb41f99 --- /dev/null +++ b/test/certs/server-ecdsa-brainpoolP256r1-cert.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICgzCCAWugAwIBAgIBAjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdSb290 +IENBMCAXDTE4MTAyNDEzNDUwOFoYDzIxMTgxMDI1MTM0NTA4WjAsMSowKAYDVQQD +DCFTZXJ2ZXIgRUNEU0EgYnJhaW5wb29sUDI1NnIxIGNlcnQwWjAUBgcqhkjOPQIB +BgkrJAMDAggBAQcDQgAETYDLIgpvvoxSBJxB5apcNrTZ0vYpVyG18hDEOplqkyln +W7kekN9a83WtIwPRoSwhczgFg/MhvLZ/BHQJW2SU3qOBkTCBjjAdBgNVHQ4EFgQU +it8K0UIpDYE264JfNmQ/44H1WMUwHwYDVR0jBBgwFoAUcH8uroNoWZgEIyrN6z4X +zSTdAUkwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAsBgNVHREEJTAj +giFTZXJ2ZXIgRUNEU0EgYnJhaW5wb29sUDI1NnIxIGNlcnQwDQYJKoZIhvcNAQEL +BQADggEBAKCEUMQlB+M6crHe2zfGmQJnsEGzY4fJUFYdFfOM359dXR8Xs+JHF2XP +0BHJ64BHLzy+3eoa9w/B+/i6OVJo3VhCoCChcP+gnGzQVQy5Maxq55DlsVdpellS +Tml/BnLcqcZFAP63qEpcuZuC4CytZcHYCU+NLI/3JGzH1/xHxk4UgRTa2B7OhjXt +Ptl3vLaSqJXEmVeCP0hibhhiszs0zR14fJqmVn0V5MKC7twmG8CBlW03ksLjzzvn +m7WAy7q5WcFcAcrFR3zAPqcx4UQSS9FiwJ+OOZGqIasMk9i9zxqh0ic5M5ls7Qaf +roudyLLkkvDFkcb88RwYGKrdVFGDgF0= +-----END CERTIFICATE----- diff --git a/test/certs/server-ecdsa-brainpoolP256r1-key.pem b/test/certs/server-ecdsa-brainpoolP256r1-key.pem new file mode 100644 index 0000000..c9d233f --- /dev/null +++ b/test/certs/server-ecdsa-brainpoolP256r1-key.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGIAgEAMBQGByqGSM49AgEGCSskAwMCCAEBBwRtMGsCAQEEIKZSRhbD6lGhKbIm +5JVgxnN8MHGB0whroUsSf0zmsAz+oUQDQgAETYDLIgpvvoxSBJxB5apcNrTZ0vYp +VyG18hDEOplqkylnW7kekN9a83WtIwPRoSwhczgFg/MhvLZ/BHQJW2SU3g== +-----END PRIVATE KEY----- diff --git a/test/certs/setup.sh b/test/certs/setup.sh index aa69de1..53d4a80 100755 --- a/test/certs/setup.sh +++ b/test/certs/setup.sh @@ -365,3 +365,7 @@ REQMASK=MASK:0x800 ./mkcert.sh req badalt7-key "O = Bad NC Test Certificate 7" \ # SHA256 ./mkcert.sh genee PSS-SHA256 ee-key ee-pss-sha256-cert ca-key ca-cert \ -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:digest + +OPENSSL_KEYALG=ec OPENSSL_KEYBITS=brainpoolP256r1 ./mkcert.sh genee \ + "Server ECDSA brainpoolP256r1 cert" server-ecdsa-brainpoolP256r1-key \ + server-ecdsa-brainpoolP256r1-cert rootkey rootcert diff --git a/test/ssl-tests/20-cert-select.conf b/test/ssl-tests/20-cert-select.conf index 1bf81c1..0bcd23d 100644 --- a/test/ssl-tests/20-cert-select.conf +++ b/test/ssl-tests/20-cert-select.conf @@ -1,56 +1,58 @@ # Generated with generate_ssl_tests.pl -num_tests = 49 +num_tests = 51 test-0 = 0-ECDSA CipherString Selection test-1 = 1-ECDSA CipherString Selection test-2 = 2-ECDSA CipherString Selection test-3 = 3-Ed25519 CipherString and Signature Algorithm Selection test-4 = 4-Ed448 CipherString and Signature Algorithm Selection -test-5 = 5-RSA CipherString Selection -test-6 = 6-RSA-PSS Certificate CipherString Selection -test-7 = 7-P-256 CipherString and Signature Algorithm Selection -test-8 = 8-Ed25519 CipherString and Curves Selection -test-9 = 9-Ed448 CipherString and Curves Selection -test-10 = 10-ECDSA CipherString Selection, no ECDSA certificate -test-11 = 11-ECDSA Signature Algorithm Selection -test-12 = 12-ECDSA Signature Algorithm Selection SHA384 -test-13 = 13-ECDSA Signature Algorithm Selection SHA1 -test-14 = 14-ECDSA Signature Algorithm Selection compressed point -test-15 = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate -test-16 = 16-RSA Signature Algorithm Selection -test-17 = 17-RSA-PSS Signature Algorithm Selection -test-18 = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection -test-19 = 19-RSA-PSS Certificate Unified Signature Algorithm Selection -test-20 = 20-Only RSA-PSS Certificate -test-21 = 21-RSA-PSS Certificate, no PSS signature algorithms -test-22 = 22-RSA key exchange with all RSA certificate types -test-23 = 23-RSA key exchange with only RSA-PSS certificate -test-24 = 24-Suite B P-256 Hash Algorithm Selection -test-25 = 25-Suite B P-384 Hash Algorithm Selection -test-26 = 26-TLS 1.2 Ed25519 Client Auth -test-27 = 27-TLS 1.2 Ed448 Client Auth -test-28 = 28-Only RSA-PSS Certificate, TLS v1.1 -test-29 = 29-TLS 1.3 ECDSA Signature Algorithm Selection -test-30 = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point -test-31 = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1 -test-32 = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS -test-33 = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS -test-34 = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate -test-35 = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS -test-36 = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection -test-37 = 37-TLS 1.3 Ed25519 Signature Algorithm Selection -test-38 = 38-TLS 1.3 Ed448 Signature Algorithm Selection -test-39 = 39-TLS 1.3 Ed25519 CipherString and Groups Selection -test-40 = 40-TLS 1.3 Ed448 CipherString and Groups Selection -test-41 = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection -test-42 = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names -test-43 = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection -test-44 = 44-TLS 1.3 Ed25519 Client Auth -test-45 = 45-TLS 1.3 Ed448 Client Auth -test-46 = 46-TLS 1.2 DSA Certificate Test -test-47 = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms -test-48 = 48-TLS 1.3 DSA Certificate Test +test-5 = 5-ECDSA with brainpool +test-6 = 6-RSA CipherString Selection +test-7 = 7-RSA-PSS Certificate CipherString Selection +test-8 = 8-P-256 CipherString and Signature Algorithm Selection +test-9 = 9-Ed25519 CipherString and Curves Selection +test-10 = 10-Ed448 CipherString and Curves Selection +test-11 = 11-ECDSA CipherString Selection, no ECDSA certificate +test-12 = 12-ECDSA Signature Algorithm Selection +test-13 = 13-ECDSA Signature Algorithm Selection SHA384 +test-14 = 14-ECDSA Signature Algorithm Selection SHA1 +test-15 = 15-ECDSA Signature Algorithm Selection compressed point +test-16 = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate +test-17 = 17-RSA Signature Algorithm Selection +test-18 = 18-RSA-PSS Signature Algorithm Selection +test-19 = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection +test-20 = 20-RSA-PSS Certificate Unified Signature Algorithm Selection +test-21 = 21-Only RSA-PSS Certificate +test-22 = 22-RSA-PSS Certificate, no PSS signature algorithms +test-23 = 23-RSA key exchange with all RSA certificate types +test-24 = 24-RSA key exchange with only RSA-PSS certificate +test-25 = 25-Suite B P-256 Hash Algorithm Selection +test-26 = 26-Suite B P-384 Hash Algorithm Selection +test-27 = 27-TLS 1.2 Ed25519 Client Auth +test-28 = 28-TLS 1.2 Ed448 Client Auth +test-29 = 29-Only RSA-PSS Certificate, TLS v1.1 +test-30 = 30-TLS 1.3 ECDSA Signature Algorithm Selection +test-31 = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point +test-32 = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1 +test-33 = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS +test-34 = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS +test-35 = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate +test-36 = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS +test-37 = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection +test-38 = 38-TLS 1.3 Ed25519 Signature Algorithm Selection +test-39 = 39-TLS 1.3 Ed448 Signature Algorithm Selection +test-40 = 40-TLS 1.3 Ed25519 CipherString and Groups Selection +test-41 = 41-TLS 1.3 Ed448 CipherString and Groups Selection +test-42 = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection +test-43 = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names +test-44 = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection +test-45 = 45-TLS 1.3 Ed25519 Client Auth +test-46 = 46-TLS 1.3 Ed448 Client Auth +test-47 = 47-TLS 1.3 ECDSA with brainpool +test-48 = 48-TLS 1.2 DSA Certificate Test +test-49 = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms +test-50 = 50-TLS 1.3 DSA Certificate Test # =========================================================== [0-ECDSA CipherString Selection] @@ -223,14 +225,43 @@ ExpectedServerSignType = Ed448 # =========================================================== -[5-RSA CipherString Selection] -ssl_conf = 5-RSA CipherString Selection-ssl +[5-ECDSA with brainpool] +ssl_conf = 5-ECDSA with brainpool-ssl -[5-RSA CipherString Selection-ssl] -server = 5-RSA CipherString Selection-server -client = 5-RSA CipherString Selection-client +[5-ECDSA with brainpool-ssl] +server = 5-ECDSA with brainpool-server +client = 5-ECDSA with brainpool-client -[5-RSA CipherString Selection-server] +[5-ECDSA with brainpool-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem +CipherString = DEFAULT +Groups = brainpoolP256r1 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem + +[5-ECDSA with brainpool-client] +CipherString = aECDSA +Groups = brainpoolP256r1 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-5] +ExpectedResult = Success +ExpectedServerCANames = empty +ExpectedServerCertType = brainpoolP256r1 +ExpectedServerSignType = EC + + +# =========================================================== + +[6-RSA CipherString Selection] +ssl_conf = 6-RSA CipherString Selection-ssl + +[6-RSA CipherString Selection-ssl] +server = 6-RSA CipherString Selection-server +client = 6-RSA CipherString Selection-client + +[6-RSA CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -242,13 +273,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[5-RSA CipherString Selection-client] +[6-RSA CipherString Selection-client] CipherString = aRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-5] +[test-6] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignType = RSA-PSS @@ -256,14 +287,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[6-RSA-PSS Certificate CipherString Selection] -ssl_conf = 6-RSA-PSS Certificate CipherString Selection-ssl +[7-RSA-PSS Certificate CipherString Selection] +ssl_conf = 7-RSA-PSS Certificate CipherString Selection-ssl -[6-RSA-PSS Certificate CipherString Selection-ssl] -server = 6-RSA-PSS Certificate CipherString Selection-server -client = 6-RSA-PSS Certificate CipherString Selection-client +[7-RSA-PSS Certificate CipherString Selection-ssl] +server = 7-RSA-PSS Certificate CipherString Selection-server +client = 7-RSA-PSS Certificate CipherString Selection-client -[6-RSA-PSS Certificate CipherString Selection-server] +[7-RSA-PSS Certificate CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -277,13 +308,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[6-RSA-PSS Certificate CipherString Selection-client] +[7-RSA-PSS Certificate CipherString Selection-client] CipherString = aRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-6] +[test-7] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignType = RSA-PSS @@ -291,14 +322,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[7-P-256 CipherString and Signature Algorithm Selection] -ssl_conf = 7-P-256 CipherString and Signature Algorithm Selection-ssl +[8-P-256 CipherString and Signature Algorithm Selection] +ssl_conf = 8-P-256 CipherString and Signature Algorithm Selection-ssl -[7-P-256 CipherString and Signature Algorithm Selection-ssl] -server = 7-P-256 CipherString and Signature Algorithm Selection-server -client = 7-P-256 CipherString and Signature Algorithm Selection-client +[8-P-256 CipherString and Signature Algorithm Selection-ssl] +server = 8-P-256 CipherString and Signature Algorithm Selection-server +client = 8-P-256 CipherString and Signature Algorithm Selection-client -[7-P-256 CipherString and Signature Algorithm Selection-server] +[8-P-256 CipherString and Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -310,14 +341,14 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[7-P-256 CipherString and Signature Algorithm Selection-client] +[8-P-256 CipherString and Signature Algorithm Selection-client] CipherString = aECDSA MaxProtocol = TLSv1.2 SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-7] +[test-8] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -326,14 +357,14 @@ ExpectedServerSignType = EC # =========================================================== -[8-Ed25519 CipherString and Curves Selection] -ssl_conf = 8-Ed25519 CipherString and Curves Selection-ssl +[9-Ed25519 CipherString and Curves Selection] +ssl_conf = 9-Ed25519 CipherString and Curves Selection-ssl -[8-Ed25519 CipherString and Curves Selection-ssl] -server = 8-Ed25519 CipherString and Curves Selection-server -client = 8-Ed25519 CipherString and Curves Selection-client +[9-Ed25519 CipherString and Curves Selection-ssl] +server = 9-Ed25519 CipherString and Curves Selection-server +client = 9-Ed25519 CipherString and Curves Selection-client -[8-Ed25519 CipherString and Curves Selection-server] +[9-Ed25519 CipherString and Curves Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -345,7 +376,7 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[8-Ed25519 CipherString and Curves Selection-client] +[9-Ed25519 CipherString and Curves Selection-client] CipherString = aECDSA Curves = X25519 MaxProtocol = TLSv1.2 @@ -353,7 +384,7 @@ SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-8] +[test-9] ExpectedResult = Success ExpectedServerCertType = Ed25519 ExpectedServerSignType = Ed25519 @@ -361,14 +392,14 @@ ExpectedServerSignType = Ed25519 # =========================================================== -[9-Ed448 CipherString and Curves Selection] -ssl_conf = 9-Ed448 CipherString and Curves Selection-ssl +[10-Ed448 CipherString and Curves Selection] +ssl_conf = 10-Ed448 CipherString and Curves Selection-ssl -[9-Ed448 CipherString and Curves Selection-ssl] -server = 9-Ed448 CipherString and Curves Selection-server -client = 9-Ed448 CipherString and Curves Selection-client +[10-Ed448 CipherString and Curves Selection-ssl] +server = 10-Ed448 CipherString and Curves Selection-server +client = 10-Ed448 CipherString and Curves Selection-client -[9-Ed448 CipherString and Curves Selection-server] +[10-Ed448 CipherString and Curves Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -380,7 +411,7 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[9-Ed448 CipherString and Curves Selection-client] +[10-Ed448 CipherString and Curves Selection-client] CipherString = aECDSA Curves = X448 MaxProtocol = TLSv1.2 @@ -388,7 +419,7 @@ SignatureAlgorithms = ECDSA+SHA256:ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-9] +[test-10] ExpectedResult = Success ExpectedServerCertType = Ed448 ExpectedServerSignType = Ed448 @@ -396,39 +427,39 @@ ExpectedServerSignType = Ed448 # =========================================================== -[10-ECDSA CipherString Selection, no ECDSA certificate] -ssl_conf = 10-ECDSA CipherString Selection, no ECDSA certificate-ssl +[11-ECDSA CipherString Selection, no ECDSA certificate] +ssl_conf = 11-ECDSA CipherString Selection, no ECDSA certificate-ssl -[10-ECDSA CipherString Selection, no ECDSA certificate-ssl] -server = 10-ECDSA CipherString Selection, no ECDSA certificate-server -client = 10-ECDSA CipherString Selection, no ECDSA certificate-client +[11-ECDSA CipherString Selection, no ECDSA certificate-ssl] +server = 11-ECDSA CipherString Selection, no ECDSA certificate-server +client = 11-ECDSA CipherString Selection, no ECDSA certificate-client -[10-ECDSA CipherString Selection, no ECDSA certificate-server] +[11-ECDSA CipherString Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[10-ECDSA CipherString Selection, no ECDSA certificate-client] +[11-ECDSA CipherString Selection, no ECDSA certificate-client] CipherString = aECDSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-10] +[test-11] ExpectedResult = ServerFail # =========================================================== -[11-ECDSA Signature Algorithm Selection] -ssl_conf = 11-ECDSA Signature Algorithm Selection-ssl +[12-ECDSA Signature Algorithm Selection] +ssl_conf = 12-ECDSA Signature Algorithm Selection-ssl -[11-ECDSA Signature Algorithm Selection-ssl] -server = 11-ECDSA Signature Algorithm Selection-server -client = 11-ECDSA Signature Algorithm Selection-client +[12-ECDSA Signature Algorithm Selection-ssl] +server = 12-ECDSA Signature Algorithm Selection-server +client = 12-ECDSA Signature Algorithm Selection-client -[11-ECDSA Signature Algorithm Selection-server] +[12-ECDSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -440,13 +471,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[11-ECDSA Signature Algorithm Selection-client] +[12-ECDSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-11] +[test-12] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -455,14 +486,14 @@ ExpectedServerSignType = EC # =========================================================== -[12-ECDSA Signature Algorithm Selection SHA384] -ssl_conf = 12-ECDSA Signature Algorithm Selection SHA384-ssl +[13-ECDSA Signature Algorithm Selection SHA384] +ssl_conf = 13-ECDSA Signature Algorithm Selection SHA384-ssl -[12-ECDSA Signature Algorithm Selection SHA384-ssl] -server = 12-ECDSA Signature Algorithm Selection SHA384-server -client = 12-ECDSA Signature Algorithm Selection SHA384-client +[13-ECDSA Signature Algorithm Selection SHA384-ssl] +server = 13-ECDSA Signature Algorithm Selection SHA384-server +client = 13-ECDSA Signature Algorithm Selection SHA384-client -[12-ECDSA Signature Algorithm Selection SHA384-server] +[13-ECDSA Signature Algorithm Selection SHA384-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -474,13 +505,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[12-ECDSA Signature Algorithm Selection SHA384-client] +[13-ECDSA Signature Algorithm Selection SHA384-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-12] +[test-13] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA384 @@ -489,14 +520,14 @@ ExpectedServerSignType = EC # =========================================================== -[13-ECDSA Signature Algorithm Selection SHA1] -ssl_conf = 13-ECDSA Signature Algorithm Selection SHA1-ssl +[14-ECDSA Signature Algorithm Selection SHA1] +ssl_conf = 14-ECDSA Signature Algorithm Selection SHA1-ssl -[13-ECDSA Signature Algorithm Selection SHA1-ssl] -server = 13-ECDSA Signature Algorithm Selection SHA1-server -client = 13-ECDSA Signature Algorithm Selection SHA1-client +[14-ECDSA Signature Algorithm Selection SHA1-ssl] +server = 14-ECDSA Signature Algorithm Selection SHA1-server +client = 14-ECDSA Signature Algorithm Selection SHA1-client -[13-ECDSA Signature Algorithm Selection SHA1-server] +[14-ECDSA Signature Algorithm Selection SHA1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -508,13 +539,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[13-ECDSA Signature Algorithm Selection SHA1-client] +[14-ECDSA Signature Algorithm Selection SHA1-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-13] +[test-14] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA1 @@ -523,14 +554,14 @@ ExpectedServerSignType = EC # =========================================================== -[14-ECDSA Signature Algorithm Selection compressed point] -ssl_conf = 14-ECDSA Signature Algorithm Selection compressed point-ssl +[15-ECDSA Signature Algorithm Selection compressed point] +ssl_conf = 15-ECDSA Signature Algorithm Selection compressed point-ssl -[14-ECDSA Signature Algorithm Selection compressed point-ssl] -server = 14-ECDSA Signature Algorithm Selection compressed point-server -client = 14-ECDSA Signature Algorithm Selection compressed point-client +[15-ECDSA Signature Algorithm Selection compressed point-ssl] +server = 15-ECDSA Signature Algorithm Selection compressed point-server +client = 15-ECDSA Signature Algorithm Selection compressed point-client -[14-ECDSA Signature Algorithm Selection compressed point-server] +[15-ECDSA Signature Algorithm Selection compressed point-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-cecdsa-cert.pem @@ -538,13 +569,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-cecdsa-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[14-ECDSA Signature Algorithm Selection compressed point-client] +[15-ECDSA Signature Algorithm Selection compressed point-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-14] +[test-15] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -553,39 +584,39 @@ ExpectedServerSignType = EC # =========================================================== -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate] -ssl_conf = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate] +ssl_conf = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] -server = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-server -client = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-client +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] +server = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server +client = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-15] +[test-16] ExpectedResult = ServerFail # =========================================================== -[16-RSA Signature Algorithm Selection] -ssl_conf = 16-RSA Signature Algorithm Selection-ssl +[17-RSA Signature Algorithm Selection] +ssl_conf = 17-RSA Signature Algorithm Selection-ssl -[16-RSA Signature Algorithm Selection-ssl] -server = 16-RSA Signature Algorithm Selection-server -client = 16-RSA Signature Algorithm Selection-client +[17-RSA Signature Algorithm Selection-ssl] +server = 17-RSA Signature Algorithm Selection-server +client = 17-RSA Signature Algorithm Selection-client -[16-RSA Signature Algorithm Selection-server] +[17-RSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -597,13 +628,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[16-RSA Signature Algorithm Selection-client] +[17-RSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-16] +[test-17] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -612,14 +643,14 @@ ExpectedServerSignType = RSA # =========================================================== -[17-RSA-PSS Signature Algorithm Selection] -ssl_conf = 17-RSA-PSS Signature Algorithm Selection-ssl +[18-RSA-PSS Signature Algorithm Selection] +ssl_conf = 18-RSA-PSS Signature Algorithm Selection-ssl -[17-RSA-PSS Signature Algorithm Selection-ssl] -server = 17-RSA-PSS Signature Algorithm Selection-server -client = 17-RSA-PSS Signature Algorithm Selection-client +[18-RSA-PSS Signature Algorithm Selection-ssl] +server = 18-RSA-PSS Signature Algorithm Selection-server +client = 18-RSA-PSS Signature Algorithm Selection-client -[17-RSA-PSS Signature Algorithm Selection-server] +[18-RSA-PSS Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -631,13 +662,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[17-RSA-PSS Signature Algorithm Selection-client] +[18-RSA-PSS Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-17] +[test-18] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -646,14 +677,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection] -ssl_conf = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection] +ssl_conf = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] -server = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-server -client = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-client +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] +server = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server +client = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -667,13 +698,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-18] +[test-19] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -682,14 +713,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[19-RSA-PSS Certificate Unified Signature Algorithm Selection] -ssl_conf = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl +[20-RSA-PSS Certificate Unified Signature Algorithm Selection] +ssl_conf = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] -server = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-server -client = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-client +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] +server = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-server +client = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-client -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-server] +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -703,13 +734,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-client] +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = rsa_pss_pss_sha256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-19] +[test-20] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignHash = SHA256 @@ -718,24 +749,24 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[20-Only RSA-PSS Certificate] -ssl_conf = 20-Only RSA-PSS Certificate-ssl +[21-Only RSA-PSS Certificate] +ssl_conf = 21-Only RSA-PSS Certificate-ssl -[20-Only RSA-PSS Certificate-ssl] -server = 20-Only RSA-PSS Certificate-server -client = 20-Only RSA-PSS Certificate-client +[21-Only RSA-PSS Certificate-ssl] +server = 21-Only RSA-PSS Certificate-server +client = 21-Only RSA-PSS Certificate-client -[20-Only RSA-PSS Certificate-server] +[21-Only RSA-PSS Certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[20-Only RSA-PSS Certificate-client] +[21-Only RSA-PSS Certificate-client] CipherString = DEFAULT VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-20] +[test-21] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignHash = SHA256 @@ -744,89 +775,89 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[21-RSA-PSS Certificate, no PSS signature algorithms] -ssl_conf = 21-RSA-PSS Certificate, no PSS signature algorithms-ssl +[22-RSA-PSS Certificate, no PSS signature algorithms] +ssl_conf = 22-RSA-PSS Certificate, no PSS signature algorithms-ssl -[21-RSA-PSS Certificate, no PSS signature algorithms-ssl] -server = 21-RSA-PSS Certificate, no PSS signature algorithms-server -client = 21-RSA-PSS Certificate, no PSS signature algorithms-client +[22-RSA-PSS Certificate, no PSS signature algorithms-ssl] +server = 22-RSA-PSS Certificate, no PSS signature algorithms-server +client = 22-RSA-PSS Certificate, no PSS signature algorithms-client -[21-RSA-PSS Certificate, no PSS signature algorithms-server] +[22-RSA-PSS Certificate, no PSS signature algorithms-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[21-RSA-PSS Certificate, no PSS signature algorithms-client] +[22-RSA-PSS Certificate, no PSS signature algorithms-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-21] +[test-22] ExpectedResult = ServerFail # =========================================================== -[22-RSA key exchange with all RSA certificate types] -ssl_conf = 22-RSA key exchange with all RSA certificate types-ssl +[23-RSA key exchange with all RSA certificate types] +ssl_conf = 23-RSA key exchange with all RSA certificate types-ssl -[22-RSA key exchange with all RSA certificate types-ssl] -server = 22-RSA key exchange with all RSA certificate types-server -client = 22-RSA key exchange with all RSA certificate types-client +[23-RSA key exchange with all RSA certificate types-ssl] +server = 23-RSA key exchange with all RSA certificate types-server +client = 23-RSA key exchange with all RSA certificate types-client -[22-RSA key exchange with all RSA certificate types-server] +[23-RSA key exchange with all RSA certificate types-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[22-RSA key exchange with all RSA certificate types-client] +[23-RSA key exchange with all RSA certificate types-client] CipherString = kRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-22] +[test-23] ExpectedResult = Success ExpectedServerCertType = RSA # =========================================================== -[23-RSA key exchange with only RSA-PSS certificate] -ssl_conf = 23-RSA key exchange with only RSA-PSS certificate-ssl +[24-RSA key exchange with only RSA-PSS certificate] +ssl_conf = 24-RSA key exchange with only RSA-PSS certificate-ssl -[23-RSA key exchange with only RSA-PSS certificate-ssl] -server = 23-RSA key exchange with only RSA-PSS certificate-server -client = 23-RSA key exchange with only RSA-PSS certificate-client +[24-RSA key exchange with only RSA-PSS certificate-ssl] +server = 24-RSA key exchange with only RSA-PSS certificate-server +client = 24-RSA key exchange with only RSA-PSS certificate-client -[23-RSA key exchange with only RSA-PSS certificate-server] +[24-RSA key exchange with only RSA-PSS certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[23-RSA key exchange with only RSA-PSS certificate-client] +[24-RSA key exchange with only RSA-PSS certificate-client] CipherString = kRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-23] +[test-24] ExpectedResult = ServerFail # =========================================================== -[24-Suite B P-256 Hash Algorithm Selection] -ssl_conf = 24-Suite B P-256 Hash Algorithm Selection-ssl +[25-Suite B P-256 Hash Algorithm Selection] +ssl_conf = 25-Suite B P-256 Hash Algorithm Selection-ssl -[24-Suite B P-256 Hash Algorithm Selection-ssl] -server = 24-Suite B P-256 Hash Algorithm Selection-server -client = 24-Suite B P-256 Hash Algorithm Selection-client +[25-Suite B P-256 Hash Algorithm Selection-ssl] +server = 25-Suite B P-256 Hash Algorithm Selection-server +client = 25-Suite B P-256 Hash Algorithm Selection-client -[24-Suite B P-256 Hash Algorithm Selection-server] +[25-Suite B P-256 Hash Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = SUITEB128 ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p256-server-cert.pem @@ -834,13 +865,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p256-server-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[24-Suite B P-256 Hash Algorithm Selection-client] +[25-Suite B P-256 Hash Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384:ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer -[test-24] +[test-25] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -849,14 +880,14 @@ ExpectedServerSignType = EC # =========================================================== -[25-Suite B P-384 Hash Algorithm Selection] -ssl_conf = 25-Suite B P-384 Hash Algorithm Selection-ssl +[26-Suite B P-384 Hash Algorithm Selection] +ssl_conf = 26-Suite B P-384 Hash Algorithm Selection-ssl -[25-Suite B P-384 Hash Algorithm Selection-ssl] -server = 25-Suite B P-384 Hash Algorithm Selection-server -client = 25-Suite B P-384 Hash Algorithm Selection-client +[26-Suite B P-384 Hash Algorithm Selection-ssl] +server = 26-Suite B P-384 Hash Algorithm Selection-server +client = 26-Suite B P-384 Hash Algorithm Selection-client -[25-Suite B P-384 Hash Algorithm Selection-server] +[26-Suite B P-384 Hash Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = SUITEB128 ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem @@ -864,13 +895,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[25-Suite B P-384 Hash Algorithm Selection-client] +[26-Suite B P-384 Hash Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256:ECDSA+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer -[test-25] +[test-26] ExpectedResult = Success ExpectedServerCertType = P-384 ExpectedServerSignHash = SHA384 @@ -879,21 +910,21 @@ ExpectedServerSignType = EC # =========================================================== -[26-TLS 1.2 Ed25519 Client Auth] -ssl_conf = 26-TLS 1.2 Ed25519 Client Auth-ssl +[27-TLS 1.2 Ed25519 Client Auth] +ssl_conf = 27-TLS 1.2 Ed25519 Client Auth-ssl -[26-TLS 1.2 Ed25519 Client Auth-ssl] -server = 26-TLS 1.2 Ed25519 Client Auth-server -client = 26-TLS 1.2 Ed25519 Client Auth-client +[27-TLS 1.2 Ed25519 Client Auth-ssl] +server = 27-TLS 1.2 Ed25519 Client Auth-server +client = 27-TLS 1.2 Ed25519 Client Auth-client -[26-TLS 1.2 Ed25519 Client Auth-server] +[27-TLS 1.2 Ed25519 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[26-TLS 1.2 Ed25519 Client Auth-client] +[27-TLS 1.2 Ed25519 Client Auth-client] CipherString = DEFAULT Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem @@ -902,7 +933,7 @@ MinProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-26] +[test-27] ExpectedClientCertType = Ed25519 ExpectedClientSignType = Ed25519 ExpectedResult = Success @@ -910,21 +941,21 @@ ExpectedResult = Success # =========================================================== -[27-TLS 1.2 Ed448 Client Auth] -ssl_conf = 27-TLS 1.2 Ed448 Client Auth-ssl +[28-TLS 1.2 Ed448 Client Auth] +ssl_conf = 28-TLS 1.2 Ed448 Client Auth-ssl -[27-TLS 1.2 Ed448 Client Auth-ssl] -server = 27-TLS 1.2 Ed448 Client Auth-server -client = 27-TLS 1.2 Ed448 Client Auth-client +[28-TLS 1.2 Ed448 Client Auth-ssl] +server = 28-TLS 1.2 Ed448 Client Auth-server +client = 28-TLS 1.2 Ed448 Client Auth-client -[27-TLS 1.2 Ed448 Client Auth-server] +[28-TLS 1.2 Ed448 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[27-TLS 1.2 Ed448 Client Auth-client] +[28-TLS 1.2 Ed448 Client Auth-client] CipherString = DEFAULT Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem @@ -933,7 +964,7 @@ MinProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-27] +[test-28] ExpectedClientCertType = Ed448 ExpectedClientSignType = Ed448 ExpectedResult = Success @@ -941,38 +972,38 @@ ExpectedResult = Success # =========================================================== -[28-Only RSA-PSS Certificate, TLS v1.1] -ssl_conf = 28-Only RSA-PSS Certificate, TLS v1.1-ssl +[29-Only RSA-PSS Certificate, TLS v1.1] +ssl_conf = 29-Only RSA-PSS Certificate, TLS v1.1-ssl -[28-Only RSA-PSS Certificate, TLS v1.1-ssl] -server = 28-Only RSA-PSS Certificate, TLS v1.1-server -client = 28-Only RSA-PSS Certificate, TLS v1.1-client +[29-Only RSA-PSS Certificate, TLS v1.1-ssl] +server = 29-Only RSA-PSS Certificate, TLS v1.1-server +client = 29-Only RSA-PSS Certificate, TLS v1.1-client -[28-Only RSA-PSS Certificate, TLS v1.1-server] +[29-Only RSA-PSS Certificate, TLS v1.1-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[28-Only RSA-PSS Certificate, TLS v1.1-client] +[29-Only RSA-PSS Certificate, TLS v1.1-client] CipherString = DEFAULT MaxProtocol = TLSv1.1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-28] +[test-29] ExpectedResult = ServerFail # =========================================================== -[29-TLS 1.3 ECDSA Signature Algorithm Selection] -ssl_conf = 29-TLS 1.3 ECDSA Signature Algorithm Selection-ssl +[30-TLS 1.3 ECDSA Signature Algorithm Selection] +ssl_conf = 30-TLS 1.3 ECDSA Signature Algorithm Selection-ssl -[29-TLS 1.3 ECDSA Signature Algorithm Selection-ssl] -server = 29-TLS 1.3 ECDSA Signature Algorithm Selection-server -client = 29-TLS 1.3 ECDSA Signature Algorithm Selection-client +[30-TLS 1.3 ECDSA Signature Algorithm Selection-ssl] +server = 30-TLS 1.3 ECDSA Signature Algorithm Selection-server +client = 30-TLS 1.3 ECDSA Signature Algorithm Selection-client -[29-TLS 1.3 ECDSA Signature Algorithm Selection-server] +[30-TLS 1.3 ECDSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -985,13 +1016,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[29-TLS 1.3 ECDSA Signature Algorithm Selection-client] +[30-TLS 1.3 ECDSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-29] +[test-30] ExpectedResult = Success ExpectedServerCANames = empty ExpectedServerCertType = P-256 @@ -1001,14 +1032,14 @@ ExpectedServerSignType = EC # =========================================================== -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point] -ssl_conf = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point] +ssl_conf = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl] -server = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server -client = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl] +server = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server +client = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server] +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-cecdsa-cert.pem @@ -1017,13 +1048,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client] +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-30] +[test-31] ExpectedResult = Success ExpectedServerCANames = empty ExpectedServerCertType = P-256 @@ -1033,14 +1064,14 @@ ExpectedServerSignType = EC # =========================================================== -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1] -ssl_conf = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1] +ssl_conf = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl] -server = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server -client = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl] +server = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server +client = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server] +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1053,26 +1084,26 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client] +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-31] +[test-32] ExpectedResult = ServerFail # =========================================================== -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS] -ssl_conf = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS] +ssl_conf = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl] -server = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server -client = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl] +server = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server +client = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server] +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1085,14 +1116,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client] +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client] CipherString = DEFAULT RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem SignatureAlgorithms = ECDSA+SHA256:RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-32] +[test-33] ExpectedResult = Success ExpectedServerCANames = ${ENV::TEST_CERTS_DIR}/root-cert.pem ExpectedServerCertType = P-256 @@ -1102,14 +1133,14 @@ ExpectedServerSignType = EC # =========================================================== -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS] -ssl_conf = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS] +ssl_conf = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl] -server = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server -client = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl] +server = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server +client = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server] +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1122,13 +1153,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client] +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384:RSA-PSS+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-33] +[test-34] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA384 @@ -1137,40 +1168,40 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate] -ssl_conf = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate] +ssl_conf = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] -server = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server -client = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] +server = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server +client = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server] +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client] +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-34] +[test-35] ExpectedResult = ServerFail # =========================================================== -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS] -ssl_conf = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS] +ssl_conf = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl] -server = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server -client = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl] +server = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server +client = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server] +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1183,26 +1214,26 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client] +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-35] +[test-36] ExpectedResult = ServerFail # =========================================================== -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection] -ssl_conf = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection] +ssl_conf = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl] -server = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-server -client = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-client +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl] +server = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-server +client = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-client -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-server] +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1215,13 +1246,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-client] +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-36] +[test-37] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -1230,14 +1261,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[37-TLS 1.3 Ed25519 Signature Algorithm Selection] -ssl_conf = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl +[38-TLS 1.3 Ed25519 Signature Algorithm Selection] +ssl_conf = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] -server = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-server -client = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-client +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] +server = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-server +client = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-client -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-server] +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1250,13 +1281,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-client] +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-37] +[test-38] ExpectedResult = Success ExpectedServerCertType = Ed25519 ExpectedServerSignType = Ed25519 @@ -1264,14 +1295,14 @@ ExpectedServerSignType = Ed25519 # =========================================================== -[38-TLS 1.3 Ed448 Signature Algorithm Selection] -ssl_conf = 38-TLS 1.3 Ed448 Signature Algorithm Selection-ssl +[39-TLS 1.3 Ed448 Signature Algorithm Selection] +ssl_conf = 39-TLS 1.3 Ed448 Signature Algorithm Selection-ssl -[38-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] -server = 38-TLS 1.3 Ed448 Signature Algorithm Selection-server -client = 38-TLS 1.3 Ed448 Signature Algorithm Selection-client +[39-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] +server = 39-TLS 1.3 Ed448 Signature Algorithm Selection-server +client = 39-TLS 1.3 Ed448 Signature Algorithm Selection-client -[38-TLS 1.3 Ed448 Signature Algorithm Selection-server] +[39-TLS 1.3 Ed448 Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1284,13 +1315,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[38-TLS 1.3 Ed448 Signature Algorithm Selection-client] +[39-TLS 1.3 Ed448 Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-38] +[test-39] ExpectedResult = Success ExpectedServerCertType = Ed448 ExpectedServerSignType = Ed448 @@ -1298,14 +1329,14 @@ ExpectedServerSignType = Ed448 # =========================================================== -[39-TLS 1.3 Ed25519 CipherString and Groups Selection] -ssl_conf = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl +[40-TLS 1.3 Ed25519 CipherString and Groups Selection] +ssl_conf = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] -server = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-server -client = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-client +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] +server = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-server +client = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-client -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-server] +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1318,14 +1349,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-client] +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-client] CipherString = DEFAULT Groups = X25519 SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-39] +[test-40] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignType = EC @@ -1333,14 +1364,14 @@ ExpectedServerSignType = EC # =========================================================== -[40-TLS 1.3 Ed448 CipherString and Groups Selection] -ssl_conf = 40-TLS 1.3 Ed448 CipherString and Groups Selection-ssl +[41-TLS 1.3 Ed448 CipherString and Groups Selection] +ssl_conf = 41-TLS 1.3 Ed448 CipherString and Groups Selection-ssl -[40-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] -server = 40-TLS 1.3 Ed448 CipherString and Groups Selection-server -client = 40-TLS 1.3 Ed448 CipherString and Groups Selection-client +[41-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] +server = 41-TLS 1.3 Ed448 CipherString and Groups Selection-server +client = 41-TLS 1.3 Ed448 CipherString and Groups Selection-client -[40-TLS 1.3 Ed448 CipherString and Groups Selection-server] +[41-TLS 1.3 Ed448 CipherString and Groups Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1353,14 +1384,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[40-TLS 1.3 Ed448 CipherString and Groups Selection-client] +[41-TLS 1.3 Ed448 CipherString and Groups Selection-client] CipherString = DEFAULT Groups = X448 SignatureAlgorithms = ECDSA+SHA256:ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-40] +[test-41] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignType = EC @@ -1368,14 +1399,14 @@ ExpectedServerSignType = EC # =========================================================== -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection] -ssl_conf = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection] +ssl_conf = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] -server = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server -client = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] +server = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server +client = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1383,7 +1414,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1394,7 +1425,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-41] +[test-42] ExpectedClientCANames = empty ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1404,14 +1435,14 @@ ExpectedResult = Success # =========================================================== -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] -ssl_conf = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] +ssl_conf = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] -server = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server -client = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] +server = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server +client = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1420,7 +1451,7 @@ RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1431,7 +1462,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-42] +[test-43] ExpectedClientCANames = ${ENV::TEST_CERTS_DIR}/root-cert.pem ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1441,14 +1472,14 @@ ExpectedResult = Success # =========================================================== -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] -ssl_conf = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] +ssl_conf = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] -server = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server -client = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] +server = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server +client = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = ECDSA+SHA256 @@ -1456,7 +1487,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1467,7 +1498,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-43] +[test-44] ExpectedClientCertType = P-256 ExpectedClientSignHash = SHA256 ExpectedClientSignType = EC @@ -1476,21 +1507,21 @@ ExpectedResult = Success # =========================================================== -[44-TLS 1.3 Ed25519 Client Auth] -ssl_conf = 44-TLS 1.3 Ed25519 Client Auth-ssl +[45-TLS 1.3 Ed25519 Client Auth] +ssl_conf = 45-TLS 1.3 Ed25519 Client Auth-ssl -[44-TLS 1.3 Ed25519 Client Auth-ssl] -server = 44-TLS 1.3 Ed25519 Client Auth-server -client = 44-TLS 1.3 Ed25519 Client Auth-client +[45-TLS 1.3 Ed25519 Client Auth-ssl] +server = 45-TLS 1.3 Ed25519 Client Auth-server +client = 45-TLS 1.3 Ed25519 Client Auth-client -[44-TLS 1.3 Ed25519 Client Auth-server] +[45-TLS 1.3 Ed25519 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[44-TLS 1.3 Ed25519 Client Auth-client] +[45-TLS 1.3 Ed25519 Client Auth-client] CipherString = DEFAULT EdDSA.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem EdDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem @@ -1499,7 +1530,7 @@ MinProtocol = TLSv1.3 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-44] +[test-45] ExpectedClientCertType = Ed25519 ExpectedClientSignType = Ed25519 ExpectedResult = Success @@ -1507,21 +1538,21 @@ ExpectedResult = Success # =========================================================== -[45-TLS 1.3 Ed448 Client Auth] -ssl_conf = 45-TLS 1.3 Ed448 Client Auth-ssl +[46-TLS 1.3 Ed448 Client Auth] +ssl_conf = 46-TLS 1.3 Ed448 Client Auth-ssl -[45-TLS 1.3 Ed448 Client Auth-ssl] -server = 45-TLS 1.3 Ed448 Client Auth-server -client = 45-TLS 1.3 Ed448 Client Auth-client +[46-TLS 1.3 Ed448 Client Auth-ssl] +server = 46-TLS 1.3 Ed448 Client Auth-server +client = 46-TLS 1.3 Ed448 Client Auth-client -[45-TLS 1.3 Ed448 Client Auth-server] +[46-TLS 1.3 Ed448 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[45-TLS 1.3 Ed448 Client Auth-client] +[46-TLS 1.3 Ed448 Client Auth-client] CipherString = DEFAULT EdDSA.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem EdDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem @@ -1530,7 +1561,7 @@ MinProtocol = TLSv1.3 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-45] +[test-46] ExpectedClientCertType = Ed448 ExpectedClientSignType = Ed448 ExpectedResult = Success @@ -1538,14 +1569,42 @@ ExpectedResult = Success # =========================================================== -[46-TLS 1.2 DSA Certificate Test] -ssl_conf = 46-TLS 1.2 DSA Certificate Test-ssl +[47-TLS 1.3 ECDSA with brainpool] +ssl_conf = 47-TLS 1.3 ECDSA with brainpool-ssl + +[47-TLS 1.3 ECDSA with brainpool-ssl] +server = 47-TLS 1.3 ECDSA with brainpool-server +client = 47-TLS 1.3 ECDSA with brainpool-client + +[47-TLS 1.3 ECDSA with brainpool-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem +CipherString = DEFAULT +Groups = brainpoolP256r1 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem + +[47-TLS 1.3 ECDSA with brainpool-client] +CipherString = DEFAULT +Groups = brainpoolP256r1 +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-47] +ExpectedResult = ServerFail + + +# =========================================================== + +[48-TLS 1.2 DSA Certificate Test] +ssl_conf = 48-TLS 1.2 DSA Certificate Test-ssl -[46-TLS 1.2 DSA Certificate Test-ssl] -server = 46-TLS 1.2 DSA Certificate Test-server -client = 46-TLS 1.2 DSA Certificate Test-client +[48-TLS 1.2 DSA Certificate Test-ssl] +server = 48-TLS 1.2 DSA Certificate Test-server +client = 48-TLS 1.2 DSA Certificate Test-client -[46-TLS 1.2 DSA Certificate Test-server] +[48-TLS 1.2 DSA Certificate Test-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = ALL DHParameters = ${ENV::TEST_CERTS_DIR}/dhp2048.pem @@ -1555,26 +1614,26 @@ MaxProtocol = TLSv1.2 MinProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[46-TLS 1.2 DSA Certificate Test-client] +[48-TLS 1.2 DSA Certificate Test-client] CipherString = ALL SignatureAlgorithms = DSA+SHA256:DSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-46] +[test-48] ExpectedResult = Success # =========================================================== -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms] -ssl_conf = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms] +ssl_conf = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl] -server = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server -client = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl] +server = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server +client = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server] +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = ECDSA+SHA1:DSA+SHA256:RSA+SHA256 @@ -1582,25 +1641,25 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Request -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client] +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client] CipherString = DEFAULT VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-47] +[test-49] ExpectedResult = ServerFail # =========================================================== -[48-TLS 1.3 DSA Certificate Test] -ssl_conf = 48-TLS 1.3 DSA Certificate Test-ssl +[50-TLS 1.3 DSA Certificate Test] +ssl_conf = 50-TLS 1.3 DSA Certificate Test-ssl -[48-TLS 1.3 DSA Certificate Test-ssl] -server = 48-TLS 1.3 DSA Certificate Test-server -client = 48-TLS 1.3 DSA Certificate Test-client +[50-TLS 1.3 DSA Certificate Test-ssl] +server = 50-TLS 1.3 DSA Certificate Test-server +client = 50-TLS 1.3 DSA Certificate Test-client -[48-TLS 1.3 DSA Certificate Test-server] +[50-TLS 1.3 DSA Certificate Test-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = ALL DSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-dsa-cert.pem @@ -1609,13 +1668,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[48-TLS 1.3 DSA Certificate Test-client] +[50-TLS 1.3 DSA Certificate Test-client] CipherString = ALL SignatureAlgorithms = DSA+SHA1:DSA+SHA256:ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-48] +[test-50] ExpectedResult = ServerFail diff --git a/test/ssl-tests/20-cert-select.conf.in b/test/ssl-tests/20-cert-select.conf.in index 2038bdf..bdf53c6 100644 --- a/test/ssl-tests/20-cert-select.conf.in +++ b/test/ssl-tests/20-cert-select.conf.in @@ -139,6 +139,28 @@ our @tests = ( }, }, { + name => "ECDSA with brainpool", + server => { + "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), + "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), + "Groups" => "brainpoolP256r1", + }, + client => { + #We don't restrict this to TLSv1.2, although use of brainpool + #should force this anyway so that this should succeed + "CipherString" => "aECDSA", + "RequestCAFile" => test_pem("root-cert.pem"), + "Groups" => "brainpoolP256r1", + }, + test => { + "ExpectedServerCertType" =>, "brainpoolP256r1", + "ExpectedServerSignType" =>, "EC", + # Note: certificate_authorities not sent for TLS < 1.3 + "ExpectedServerCANames" =>, "empty", + "ExpectedResult" => "Success" + }, + }, + { name => "RSA CipherString Selection", server => $server, client => { @@ -762,6 +784,23 @@ my @tests_tls_1_3 = ( "ExpectedResult" => "Success" }, }, + { + name => "TLS 1.3 ECDSA with brainpool", + server => { + "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), + "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), + "Groups" => "brainpoolP256r1", + }, + client => { + "RequestCAFile" => test_pem("root-cert.pem"), + "Groups" => "brainpoolP256r1", + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3" + }, + test => { + "ExpectedResult" => "ServerFail" + }, + }, ); push @tests, @tests_tls_1_3 unless disabled("tls1_3"); From matt at openssl.org Mon Nov 12 11:23:19 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 12 Nov 2018 11:23:19 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542021799.641065.13062.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7bd5405ac94549003dd1e7114542914075b5aaf5 (commit) via b3b9049259979c549039cb2fed62531356be8767 (commit) via 6f54ae7a9079983ea51593d4a91699d14a9c9a99 (commit) from 61e78e7ace6c5d65910379556d7da7d23492291c (commit) - Log ----------------------------------------------------------------- commit 7bd5405ac94549003dd1e7114542914075b5aaf5 Author: Matt Caswell Date: Wed Oct 24 14:48:44 2018 +0100 Test use of a brainpool ECDSA certificate Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) (cherry picked from commit 24ae00388fb9e25af8f94d36b7c191ae90061586) commit b3b9049259979c549039cb2fed62531356be8767 Author: Matt Caswell Date: Wed Oct 24 12:15:56 2018 +0100 Add some test brainpool certificates Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) (cherry picked from commit 83c81eebed52aa84b6b34d26e984c859158ca1c0) commit 6f54ae7a9079983ea51593d4a91699d14a9c9a99 Author: Matt Caswell Date: Fri Oct 19 14:01:22 2018 +0100 Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable TLSv1.3 is more restrictive about the curve used. There must be a matching sig alg defined for that curve. Therefore if we are using some other curve in our certificate then we should not negotiate TLSv1.3. Fixes #7435 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) (cherry picked from commit de4dc598024fd0a9c2b7a466fd5323755d369522) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_locl.h | 1 + ssl/statem/statem_lib.c | 18 +- ssl/t1_lib.c | 31 + test/certs/server-ecdsa-brainpoolP256r1-cert.pem | 16 + test/certs/server-ecdsa-brainpoolP256r1-key.pem | 5 + test/certs/setup.sh | 4 + test/ssl-tests/20-cert-select.conf | 853 ++++++++++++----------- test/ssl-tests/20-cert-select.conf.in | 39 ++ 8 files changed, 568 insertions(+), 399 deletions(-) create mode 100644 test/certs/server-ecdsa-brainpoolP256r1-cert.pem create mode 100644 test/certs/server-ecdsa-brainpoolP256r1-key.pem diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index c22c1f9..46719b0 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -2564,6 +2564,7 @@ __owur int tls1_process_sigalgs(SSL *s); __owur int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey); __owur int tls1_lookup_md(const SIGALG_LOOKUP *lu, const EVP_MD **pmd); __owur size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs); +__owur int tls_check_sigalg_curve(const SSL *s, int curve); __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey); __owur int ssl_set_client_disabled(SSL *s); __owur int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 75cf321..dc2bd20 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -1506,7 +1506,8 @@ static int ssl_method_error(const SSL *s, const SSL_METHOD *method) */ static int is_tls13_capable(const SSL *s) { - int i; + int i, curve; + EC_KEY *eckey; #ifndef OPENSSL_NO_PSK if (s->psk_server_callback != NULL) @@ -1527,7 +1528,20 @@ static int is_tls13_capable(const SSL *s) default: break; } - if (ssl_has_cert(s, i)) + if (!ssl_has_cert(s, i)) + continue; + if (i != SSL_PKEY_ECC) + return 1; + /* + * Prior to TLSv1.3 sig algs allowed any curve to be used. TLSv1.3 is + * more restrictive so check that our sig algs are consistent with this + * EC cert. See section 4.2.3 of RFC8446. + */ + eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); + if (eckey == NULL) + continue; + curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); + if (tls_check_sigalg_curve(s, curve)) return 1; } diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index b8b9fbd..8e73d06 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -950,6 +950,37 @@ size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs) } /* + * Called by servers only. Checks that we have a sig alg that supports the + * specified EC curve. + */ +int tls_check_sigalg_curve(const SSL *s, int curve) +{ + const uint16_t *sigs; + size_t siglen, i; + + if (s->cert->conf_sigalgs) { + sigs = s->cert->conf_sigalgs; + siglen = s->cert->conf_sigalgslen; + } else { + sigs = tls12_sigalgs; + siglen = OSSL_NELEM(tls12_sigalgs); + } + + for (i = 0; i < siglen; i++) { + const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(sigs[i]); + + if (lu == NULL) + continue; + if (lu->sig == EVP_PKEY_EC + && lu->curve != NID_undef + && curve == lu->curve) + return 1; + } + + return 0; +} + +/* * Check signature algorithm is consistent with sent supported signature * algorithms and if so set relevant digest and signature scheme in * s. diff --git a/test/certs/server-ecdsa-brainpoolP256r1-cert.pem b/test/certs/server-ecdsa-brainpoolP256r1-cert.pem new file mode 100644 index 0000000..bb41f99 --- /dev/null +++ b/test/certs/server-ecdsa-brainpoolP256r1-cert.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICgzCCAWugAwIBAgIBAjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdSb290 +IENBMCAXDTE4MTAyNDEzNDUwOFoYDzIxMTgxMDI1MTM0NTA4WjAsMSowKAYDVQQD +DCFTZXJ2ZXIgRUNEU0EgYnJhaW5wb29sUDI1NnIxIGNlcnQwWjAUBgcqhkjOPQIB +BgkrJAMDAggBAQcDQgAETYDLIgpvvoxSBJxB5apcNrTZ0vYpVyG18hDEOplqkyln +W7kekN9a83WtIwPRoSwhczgFg/MhvLZ/BHQJW2SU3qOBkTCBjjAdBgNVHQ4EFgQU +it8K0UIpDYE264JfNmQ/44H1WMUwHwYDVR0jBBgwFoAUcH8uroNoWZgEIyrN6z4X +zSTdAUkwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAsBgNVHREEJTAj +giFTZXJ2ZXIgRUNEU0EgYnJhaW5wb29sUDI1NnIxIGNlcnQwDQYJKoZIhvcNAQEL +BQADggEBAKCEUMQlB+M6crHe2zfGmQJnsEGzY4fJUFYdFfOM359dXR8Xs+JHF2XP +0BHJ64BHLzy+3eoa9w/B+/i6OVJo3VhCoCChcP+gnGzQVQy5Maxq55DlsVdpellS +Tml/BnLcqcZFAP63qEpcuZuC4CytZcHYCU+NLI/3JGzH1/xHxk4UgRTa2B7OhjXt +Ptl3vLaSqJXEmVeCP0hibhhiszs0zR14fJqmVn0V5MKC7twmG8CBlW03ksLjzzvn +m7WAy7q5WcFcAcrFR3zAPqcx4UQSS9FiwJ+OOZGqIasMk9i9zxqh0ic5M5ls7Qaf +roudyLLkkvDFkcb88RwYGKrdVFGDgF0= +-----END CERTIFICATE----- diff --git a/test/certs/server-ecdsa-brainpoolP256r1-key.pem b/test/certs/server-ecdsa-brainpoolP256r1-key.pem new file mode 100644 index 0000000..c9d233f --- /dev/null +++ b/test/certs/server-ecdsa-brainpoolP256r1-key.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGIAgEAMBQGByqGSM49AgEGCSskAwMCCAEBBwRtMGsCAQEEIKZSRhbD6lGhKbIm +5JVgxnN8MHGB0whroUsSf0zmsAz+oUQDQgAETYDLIgpvvoxSBJxB5apcNrTZ0vYp +VyG18hDEOplqkylnW7kekN9a83WtIwPRoSwhczgFg/MhvLZ/BHQJW2SU3g== +-----END PRIVATE KEY----- diff --git a/test/certs/setup.sh b/test/certs/setup.sh index aa69de1..53d4a80 100755 --- a/test/certs/setup.sh +++ b/test/certs/setup.sh @@ -365,3 +365,7 @@ REQMASK=MASK:0x800 ./mkcert.sh req badalt7-key "O = Bad NC Test Certificate 7" \ # SHA256 ./mkcert.sh genee PSS-SHA256 ee-key ee-pss-sha256-cert ca-key ca-cert \ -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:digest + +OPENSSL_KEYALG=ec OPENSSL_KEYBITS=brainpoolP256r1 ./mkcert.sh genee \ + "Server ECDSA brainpoolP256r1 cert" server-ecdsa-brainpoolP256r1-key \ + server-ecdsa-brainpoolP256r1-cert rootkey rootcert diff --git a/test/ssl-tests/20-cert-select.conf b/test/ssl-tests/20-cert-select.conf index 1bf81c1..0bcd23d 100644 --- a/test/ssl-tests/20-cert-select.conf +++ b/test/ssl-tests/20-cert-select.conf @@ -1,56 +1,58 @@ # Generated with generate_ssl_tests.pl -num_tests = 49 +num_tests = 51 test-0 = 0-ECDSA CipherString Selection test-1 = 1-ECDSA CipherString Selection test-2 = 2-ECDSA CipherString Selection test-3 = 3-Ed25519 CipherString and Signature Algorithm Selection test-4 = 4-Ed448 CipherString and Signature Algorithm Selection -test-5 = 5-RSA CipherString Selection -test-6 = 6-RSA-PSS Certificate CipherString Selection -test-7 = 7-P-256 CipherString and Signature Algorithm Selection -test-8 = 8-Ed25519 CipherString and Curves Selection -test-9 = 9-Ed448 CipherString and Curves Selection -test-10 = 10-ECDSA CipherString Selection, no ECDSA certificate -test-11 = 11-ECDSA Signature Algorithm Selection -test-12 = 12-ECDSA Signature Algorithm Selection SHA384 -test-13 = 13-ECDSA Signature Algorithm Selection SHA1 -test-14 = 14-ECDSA Signature Algorithm Selection compressed point -test-15 = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate -test-16 = 16-RSA Signature Algorithm Selection -test-17 = 17-RSA-PSS Signature Algorithm Selection -test-18 = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection -test-19 = 19-RSA-PSS Certificate Unified Signature Algorithm Selection -test-20 = 20-Only RSA-PSS Certificate -test-21 = 21-RSA-PSS Certificate, no PSS signature algorithms -test-22 = 22-RSA key exchange with all RSA certificate types -test-23 = 23-RSA key exchange with only RSA-PSS certificate -test-24 = 24-Suite B P-256 Hash Algorithm Selection -test-25 = 25-Suite B P-384 Hash Algorithm Selection -test-26 = 26-TLS 1.2 Ed25519 Client Auth -test-27 = 27-TLS 1.2 Ed448 Client Auth -test-28 = 28-Only RSA-PSS Certificate, TLS v1.1 -test-29 = 29-TLS 1.3 ECDSA Signature Algorithm Selection -test-30 = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point -test-31 = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1 -test-32 = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS -test-33 = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS -test-34 = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate -test-35 = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS -test-36 = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection -test-37 = 37-TLS 1.3 Ed25519 Signature Algorithm Selection -test-38 = 38-TLS 1.3 Ed448 Signature Algorithm Selection -test-39 = 39-TLS 1.3 Ed25519 CipherString and Groups Selection -test-40 = 40-TLS 1.3 Ed448 CipherString and Groups Selection -test-41 = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection -test-42 = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names -test-43 = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection -test-44 = 44-TLS 1.3 Ed25519 Client Auth -test-45 = 45-TLS 1.3 Ed448 Client Auth -test-46 = 46-TLS 1.2 DSA Certificate Test -test-47 = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms -test-48 = 48-TLS 1.3 DSA Certificate Test +test-5 = 5-ECDSA with brainpool +test-6 = 6-RSA CipherString Selection +test-7 = 7-RSA-PSS Certificate CipherString Selection +test-8 = 8-P-256 CipherString and Signature Algorithm Selection +test-9 = 9-Ed25519 CipherString and Curves Selection +test-10 = 10-Ed448 CipherString and Curves Selection +test-11 = 11-ECDSA CipherString Selection, no ECDSA certificate +test-12 = 12-ECDSA Signature Algorithm Selection +test-13 = 13-ECDSA Signature Algorithm Selection SHA384 +test-14 = 14-ECDSA Signature Algorithm Selection SHA1 +test-15 = 15-ECDSA Signature Algorithm Selection compressed point +test-16 = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate +test-17 = 17-RSA Signature Algorithm Selection +test-18 = 18-RSA-PSS Signature Algorithm Selection +test-19 = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection +test-20 = 20-RSA-PSS Certificate Unified Signature Algorithm Selection +test-21 = 21-Only RSA-PSS Certificate +test-22 = 22-RSA-PSS Certificate, no PSS signature algorithms +test-23 = 23-RSA key exchange with all RSA certificate types +test-24 = 24-RSA key exchange with only RSA-PSS certificate +test-25 = 25-Suite B P-256 Hash Algorithm Selection +test-26 = 26-Suite B P-384 Hash Algorithm Selection +test-27 = 27-TLS 1.2 Ed25519 Client Auth +test-28 = 28-TLS 1.2 Ed448 Client Auth +test-29 = 29-Only RSA-PSS Certificate, TLS v1.1 +test-30 = 30-TLS 1.3 ECDSA Signature Algorithm Selection +test-31 = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point +test-32 = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1 +test-33 = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS +test-34 = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS +test-35 = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate +test-36 = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS +test-37 = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection +test-38 = 38-TLS 1.3 Ed25519 Signature Algorithm Selection +test-39 = 39-TLS 1.3 Ed448 Signature Algorithm Selection +test-40 = 40-TLS 1.3 Ed25519 CipherString and Groups Selection +test-41 = 41-TLS 1.3 Ed448 CipherString and Groups Selection +test-42 = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection +test-43 = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names +test-44 = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection +test-45 = 45-TLS 1.3 Ed25519 Client Auth +test-46 = 46-TLS 1.3 Ed448 Client Auth +test-47 = 47-TLS 1.3 ECDSA with brainpool +test-48 = 48-TLS 1.2 DSA Certificate Test +test-49 = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms +test-50 = 50-TLS 1.3 DSA Certificate Test # =========================================================== [0-ECDSA CipherString Selection] @@ -223,14 +225,43 @@ ExpectedServerSignType = Ed448 # =========================================================== -[5-RSA CipherString Selection] -ssl_conf = 5-RSA CipherString Selection-ssl +[5-ECDSA with brainpool] +ssl_conf = 5-ECDSA with brainpool-ssl -[5-RSA CipherString Selection-ssl] -server = 5-RSA CipherString Selection-server -client = 5-RSA CipherString Selection-client +[5-ECDSA with brainpool-ssl] +server = 5-ECDSA with brainpool-server +client = 5-ECDSA with brainpool-client -[5-RSA CipherString Selection-server] +[5-ECDSA with brainpool-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem +CipherString = DEFAULT +Groups = brainpoolP256r1 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem + +[5-ECDSA with brainpool-client] +CipherString = aECDSA +Groups = brainpoolP256r1 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-5] +ExpectedResult = Success +ExpectedServerCANames = empty +ExpectedServerCertType = brainpoolP256r1 +ExpectedServerSignType = EC + + +# =========================================================== + +[6-RSA CipherString Selection] +ssl_conf = 6-RSA CipherString Selection-ssl + +[6-RSA CipherString Selection-ssl] +server = 6-RSA CipherString Selection-server +client = 6-RSA CipherString Selection-client + +[6-RSA CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -242,13 +273,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[5-RSA CipherString Selection-client] +[6-RSA CipherString Selection-client] CipherString = aRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-5] +[test-6] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignType = RSA-PSS @@ -256,14 +287,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[6-RSA-PSS Certificate CipherString Selection] -ssl_conf = 6-RSA-PSS Certificate CipherString Selection-ssl +[7-RSA-PSS Certificate CipherString Selection] +ssl_conf = 7-RSA-PSS Certificate CipherString Selection-ssl -[6-RSA-PSS Certificate CipherString Selection-ssl] -server = 6-RSA-PSS Certificate CipherString Selection-server -client = 6-RSA-PSS Certificate CipherString Selection-client +[7-RSA-PSS Certificate CipherString Selection-ssl] +server = 7-RSA-PSS Certificate CipherString Selection-server +client = 7-RSA-PSS Certificate CipherString Selection-client -[6-RSA-PSS Certificate CipherString Selection-server] +[7-RSA-PSS Certificate CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -277,13 +308,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[6-RSA-PSS Certificate CipherString Selection-client] +[7-RSA-PSS Certificate CipherString Selection-client] CipherString = aRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-6] +[test-7] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignType = RSA-PSS @@ -291,14 +322,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[7-P-256 CipherString and Signature Algorithm Selection] -ssl_conf = 7-P-256 CipherString and Signature Algorithm Selection-ssl +[8-P-256 CipherString and Signature Algorithm Selection] +ssl_conf = 8-P-256 CipherString and Signature Algorithm Selection-ssl -[7-P-256 CipherString and Signature Algorithm Selection-ssl] -server = 7-P-256 CipherString and Signature Algorithm Selection-server -client = 7-P-256 CipherString and Signature Algorithm Selection-client +[8-P-256 CipherString and Signature Algorithm Selection-ssl] +server = 8-P-256 CipherString and Signature Algorithm Selection-server +client = 8-P-256 CipherString and Signature Algorithm Selection-client -[7-P-256 CipherString and Signature Algorithm Selection-server] +[8-P-256 CipherString and Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -310,14 +341,14 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[7-P-256 CipherString and Signature Algorithm Selection-client] +[8-P-256 CipherString and Signature Algorithm Selection-client] CipherString = aECDSA MaxProtocol = TLSv1.2 SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-7] +[test-8] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -326,14 +357,14 @@ ExpectedServerSignType = EC # =========================================================== -[8-Ed25519 CipherString and Curves Selection] -ssl_conf = 8-Ed25519 CipherString and Curves Selection-ssl +[9-Ed25519 CipherString and Curves Selection] +ssl_conf = 9-Ed25519 CipherString and Curves Selection-ssl -[8-Ed25519 CipherString and Curves Selection-ssl] -server = 8-Ed25519 CipherString and Curves Selection-server -client = 8-Ed25519 CipherString and Curves Selection-client +[9-Ed25519 CipherString and Curves Selection-ssl] +server = 9-Ed25519 CipherString and Curves Selection-server +client = 9-Ed25519 CipherString and Curves Selection-client -[8-Ed25519 CipherString and Curves Selection-server] +[9-Ed25519 CipherString and Curves Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -345,7 +376,7 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[8-Ed25519 CipherString and Curves Selection-client] +[9-Ed25519 CipherString and Curves Selection-client] CipherString = aECDSA Curves = X25519 MaxProtocol = TLSv1.2 @@ -353,7 +384,7 @@ SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-8] +[test-9] ExpectedResult = Success ExpectedServerCertType = Ed25519 ExpectedServerSignType = Ed25519 @@ -361,14 +392,14 @@ ExpectedServerSignType = Ed25519 # =========================================================== -[9-Ed448 CipherString and Curves Selection] -ssl_conf = 9-Ed448 CipherString and Curves Selection-ssl +[10-Ed448 CipherString and Curves Selection] +ssl_conf = 10-Ed448 CipherString and Curves Selection-ssl -[9-Ed448 CipherString and Curves Selection-ssl] -server = 9-Ed448 CipherString and Curves Selection-server -client = 9-Ed448 CipherString and Curves Selection-client +[10-Ed448 CipherString and Curves Selection-ssl] +server = 10-Ed448 CipherString and Curves Selection-server +client = 10-Ed448 CipherString and Curves Selection-client -[9-Ed448 CipherString and Curves Selection-server] +[10-Ed448 CipherString and Curves Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -380,7 +411,7 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[9-Ed448 CipherString and Curves Selection-client] +[10-Ed448 CipherString and Curves Selection-client] CipherString = aECDSA Curves = X448 MaxProtocol = TLSv1.2 @@ -388,7 +419,7 @@ SignatureAlgorithms = ECDSA+SHA256:ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-9] +[test-10] ExpectedResult = Success ExpectedServerCertType = Ed448 ExpectedServerSignType = Ed448 @@ -396,39 +427,39 @@ ExpectedServerSignType = Ed448 # =========================================================== -[10-ECDSA CipherString Selection, no ECDSA certificate] -ssl_conf = 10-ECDSA CipherString Selection, no ECDSA certificate-ssl +[11-ECDSA CipherString Selection, no ECDSA certificate] +ssl_conf = 11-ECDSA CipherString Selection, no ECDSA certificate-ssl -[10-ECDSA CipherString Selection, no ECDSA certificate-ssl] -server = 10-ECDSA CipherString Selection, no ECDSA certificate-server -client = 10-ECDSA CipherString Selection, no ECDSA certificate-client +[11-ECDSA CipherString Selection, no ECDSA certificate-ssl] +server = 11-ECDSA CipherString Selection, no ECDSA certificate-server +client = 11-ECDSA CipherString Selection, no ECDSA certificate-client -[10-ECDSA CipherString Selection, no ECDSA certificate-server] +[11-ECDSA CipherString Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[10-ECDSA CipherString Selection, no ECDSA certificate-client] +[11-ECDSA CipherString Selection, no ECDSA certificate-client] CipherString = aECDSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-10] +[test-11] ExpectedResult = ServerFail # =========================================================== -[11-ECDSA Signature Algorithm Selection] -ssl_conf = 11-ECDSA Signature Algorithm Selection-ssl +[12-ECDSA Signature Algorithm Selection] +ssl_conf = 12-ECDSA Signature Algorithm Selection-ssl -[11-ECDSA Signature Algorithm Selection-ssl] -server = 11-ECDSA Signature Algorithm Selection-server -client = 11-ECDSA Signature Algorithm Selection-client +[12-ECDSA Signature Algorithm Selection-ssl] +server = 12-ECDSA Signature Algorithm Selection-server +client = 12-ECDSA Signature Algorithm Selection-client -[11-ECDSA Signature Algorithm Selection-server] +[12-ECDSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -440,13 +471,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[11-ECDSA Signature Algorithm Selection-client] +[12-ECDSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-11] +[test-12] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -455,14 +486,14 @@ ExpectedServerSignType = EC # =========================================================== -[12-ECDSA Signature Algorithm Selection SHA384] -ssl_conf = 12-ECDSA Signature Algorithm Selection SHA384-ssl +[13-ECDSA Signature Algorithm Selection SHA384] +ssl_conf = 13-ECDSA Signature Algorithm Selection SHA384-ssl -[12-ECDSA Signature Algorithm Selection SHA384-ssl] -server = 12-ECDSA Signature Algorithm Selection SHA384-server -client = 12-ECDSA Signature Algorithm Selection SHA384-client +[13-ECDSA Signature Algorithm Selection SHA384-ssl] +server = 13-ECDSA Signature Algorithm Selection SHA384-server +client = 13-ECDSA Signature Algorithm Selection SHA384-client -[12-ECDSA Signature Algorithm Selection SHA384-server] +[13-ECDSA Signature Algorithm Selection SHA384-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -474,13 +505,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[12-ECDSA Signature Algorithm Selection SHA384-client] +[13-ECDSA Signature Algorithm Selection SHA384-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-12] +[test-13] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA384 @@ -489,14 +520,14 @@ ExpectedServerSignType = EC # =========================================================== -[13-ECDSA Signature Algorithm Selection SHA1] -ssl_conf = 13-ECDSA Signature Algorithm Selection SHA1-ssl +[14-ECDSA Signature Algorithm Selection SHA1] +ssl_conf = 14-ECDSA Signature Algorithm Selection SHA1-ssl -[13-ECDSA Signature Algorithm Selection SHA1-ssl] -server = 13-ECDSA Signature Algorithm Selection SHA1-server -client = 13-ECDSA Signature Algorithm Selection SHA1-client +[14-ECDSA Signature Algorithm Selection SHA1-ssl] +server = 14-ECDSA Signature Algorithm Selection SHA1-server +client = 14-ECDSA Signature Algorithm Selection SHA1-client -[13-ECDSA Signature Algorithm Selection SHA1-server] +[14-ECDSA Signature Algorithm Selection SHA1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -508,13 +539,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[13-ECDSA Signature Algorithm Selection SHA1-client] +[14-ECDSA Signature Algorithm Selection SHA1-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-13] +[test-14] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA1 @@ -523,14 +554,14 @@ ExpectedServerSignType = EC # =========================================================== -[14-ECDSA Signature Algorithm Selection compressed point] -ssl_conf = 14-ECDSA Signature Algorithm Selection compressed point-ssl +[15-ECDSA Signature Algorithm Selection compressed point] +ssl_conf = 15-ECDSA Signature Algorithm Selection compressed point-ssl -[14-ECDSA Signature Algorithm Selection compressed point-ssl] -server = 14-ECDSA Signature Algorithm Selection compressed point-server -client = 14-ECDSA Signature Algorithm Selection compressed point-client +[15-ECDSA Signature Algorithm Selection compressed point-ssl] +server = 15-ECDSA Signature Algorithm Selection compressed point-server +client = 15-ECDSA Signature Algorithm Selection compressed point-client -[14-ECDSA Signature Algorithm Selection compressed point-server] +[15-ECDSA Signature Algorithm Selection compressed point-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-cecdsa-cert.pem @@ -538,13 +569,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-cecdsa-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[14-ECDSA Signature Algorithm Selection compressed point-client] +[15-ECDSA Signature Algorithm Selection compressed point-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-14] +[test-15] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -553,39 +584,39 @@ ExpectedServerSignType = EC # =========================================================== -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate] -ssl_conf = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate] +ssl_conf = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] -server = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-server -client = 15-ECDSA Signature Algorithm Selection, no ECDSA certificate-client +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] +server = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server +client = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[15-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] +[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-15] +[test-16] ExpectedResult = ServerFail # =========================================================== -[16-RSA Signature Algorithm Selection] -ssl_conf = 16-RSA Signature Algorithm Selection-ssl +[17-RSA Signature Algorithm Selection] +ssl_conf = 17-RSA Signature Algorithm Selection-ssl -[16-RSA Signature Algorithm Selection-ssl] -server = 16-RSA Signature Algorithm Selection-server -client = 16-RSA Signature Algorithm Selection-client +[17-RSA Signature Algorithm Selection-ssl] +server = 17-RSA Signature Algorithm Selection-server +client = 17-RSA Signature Algorithm Selection-client -[16-RSA Signature Algorithm Selection-server] +[17-RSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -597,13 +628,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[16-RSA Signature Algorithm Selection-client] +[17-RSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-16] +[test-17] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -612,14 +643,14 @@ ExpectedServerSignType = RSA # =========================================================== -[17-RSA-PSS Signature Algorithm Selection] -ssl_conf = 17-RSA-PSS Signature Algorithm Selection-ssl +[18-RSA-PSS Signature Algorithm Selection] +ssl_conf = 18-RSA-PSS Signature Algorithm Selection-ssl -[17-RSA-PSS Signature Algorithm Selection-ssl] -server = 17-RSA-PSS Signature Algorithm Selection-server -client = 17-RSA-PSS Signature Algorithm Selection-client +[18-RSA-PSS Signature Algorithm Selection-ssl] +server = 18-RSA-PSS Signature Algorithm Selection-server +client = 18-RSA-PSS Signature Algorithm Selection-client -[17-RSA-PSS Signature Algorithm Selection-server] +[18-RSA-PSS Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -631,13 +662,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[17-RSA-PSS Signature Algorithm Selection-client] +[18-RSA-PSS Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-17] +[test-18] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -646,14 +677,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection] -ssl_conf = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection] +ssl_conf = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] -server = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-server -client = 18-RSA-PSS Certificate Legacy Signature Algorithm Selection-client +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] +server = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server +client = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -667,13 +698,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[18-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] +[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-18] +[test-19] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -682,14 +713,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[19-RSA-PSS Certificate Unified Signature Algorithm Selection] -ssl_conf = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl +[20-RSA-PSS Certificate Unified Signature Algorithm Selection] +ssl_conf = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] -server = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-server -client = 19-RSA-PSS Certificate Unified Signature Algorithm Selection-client +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] +server = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-server +client = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-client -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-server] +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -703,13 +734,13 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[19-RSA-PSS Certificate Unified Signature Algorithm Selection-client] +[20-RSA-PSS Certificate Unified Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = rsa_pss_pss_sha256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-19] +[test-20] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignHash = SHA256 @@ -718,24 +749,24 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[20-Only RSA-PSS Certificate] -ssl_conf = 20-Only RSA-PSS Certificate-ssl +[21-Only RSA-PSS Certificate] +ssl_conf = 21-Only RSA-PSS Certificate-ssl -[20-Only RSA-PSS Certificate-ssl] -server = 20-Only RSA-PSS Certificate-server -client = 20-Only RSA-PSS Certificate-client +[21-Only RSA-PSS Certificate-ssl] +server = 21-Only RSA-PSS Certificate-server +client = 21-Only RSA-PSS Certificate-client -[20-Only RSA-PSS Certificate-server] +[21-Only RSA-PSS Certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[20-Only RSA-PSS Certificate-client] +[21-Only RSA-PSS Certificate-client] CipherString = DEFAULT VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-20] +[test-21] ExpectedResult = Success ExpectedServerCertType = RSA-PSS ExpectedServerSignHash = SHA256 @@ -744,89 +775,89 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[21-RSA-PSS Certificate, no PSS signature algorithms] -ssl_conf = 21-RSA-PSS Certificate, no PSS signature algorithms-ssl +[22-RSA-PSS Certificate, no PSS signature algorithms] +ssl_conf = 22-RSA-PSS Certificate, no PSS signature algorithms-ssl -[21-RSA-PSS Certificate, no PSS signature algorithms-ssl] -server = 21-RSA-PSS Certificate, no PSS signature algorithms-server -client = 21-RSA-PSS Certificate, no PSS signature algorithms-client +[22-RSA-PSS Certificate, no PSS signature algorithms-ssl] +server = 22-RSA-PSS Certificate, no PSS signature algorithms-server +client = 22-RSA-PSS Certificate, no PSS signature algorithms-client -[21-RSA-PSS Certificate, no PSS signature algorithms-server] +[22-RSA-PSS Certificate, no PSS signature algorithms-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[21-RSA-PSS Certificate, no PSS signature algorithms-client] +[22-RSA-PSS Certificate, no PSS signature algorithms-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-21] +[test-22] ExpectedResult = ServerFail # =========================================================== -[22-RSA key exchange with all RSA certificate types] -ssl_conf = 22-RSA key exchange with all RSA certificate types-ssl +[23-RSA key exchange with all RSA certificate types] +ssl_conf = 23-RSA key exchange with all RSA certificate types-ssl -[22-RSA key exchange with all RSA certificate types-ssl] -server = 22-RSA key exchange with all RSA certificate types-server -client = 22-RSA key exchange with all RSA certificate types-client +[23-RSA key exchange with all RSA certificate types-ssl] +server = 23-RSA key exchange with all RSA certificate types-server +client = 23-RSA key exchange with all RSA certificate types-client -[22-RSA key exchange with all RSA certificate types-server] +[23-RSA key exchange with all RSA certificate types-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[22-RSA key exchange with all RSA certificate types-client] +[23-RSA key exchange with all RSA certificate types-client] CipherString = kRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-22] +[test-23] ExpectedResult = Success ExpectedServerCertType = RSA # =========================================================== -[23-RSA key exchange with only RSA-PSS certificate] -ssl_conf = 23-RSA key exchange with only RSA-PSS certificate-ssl +[24-RSA key exchange with only RSA-PSS certificate] +ssl_conf = 24-RSA key exchange with only RSA-PSS certificate-ssl -[23-RSA key exchange with only RSA-PSS certificate-ssl] -server = 23-RSA key exchange with only RSA-PSS certificate-server -client = 23-RSA key exchange with only RSA-PSS certificate-client +[24-RSA key exchange with only RSA-PSS certificate-ssl] +server = 24-RSA key exchange with only RSA-PSS certificate-server +client = 24-RSA key exchange with only RSA-PSS certificate-client -[23-RSA key exchange with only RSA-PSS certificate-server] +[24-RSA key exchange with only RSA-PSS certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[23-RSA key exchange with only RSA-PSS certificate-client] +[24-RSA key exchange with only RSA-PSS certificate-client] CipherString = kRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-23] +[test-24] ExpectedResult = ServerFail # =========================================================== -[24-Suite B P-256 Hash Algorithm Selection] -ssl_conf = 24-Suite B P-256 Hash Algorithm Selection-ssl +[25-Suite B P-256 Hash Algorithm Selection] +ssl_conf = 25-Suite B P-256 Hash Algorithm Selection-ssl -[24-Suite B P-256 Hash Algorithm Selection-ssl] -server = 24-Suite B P-256 Hash Algorithm Selection-server -client = 24-Suite B P-256 Hash Algorithm Selection-client +[25-Suite B P-256 Hash Algorithm Selection-ssl] +server = 25-Suite B P-256 Hash Algorithm Selection-server +client = 25-Suite B P-256 Hash Algorithm Selection-client -[24-Suite B P-256 Hash Algorithm Selection-server] +[25-Suite B P-256 Hash Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = SUITEB128 ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p256-server-cert.pem @@ -834,13 +865,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p256-server-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[24-Suite B P-256 Hash Algorithm Selection-client] +[25-Suite B P-256 Hash Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384:ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer -[test-24] +[test-25] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -849,14 +880,14 @@ ExpectedServerSignType = EC # =========================================================== -[25-Suite B P-384 Hash Algorithm Selection] -ssl_conf = 25-Suite B P-384 Hash Algorithm Selection-ssl +[26-Suite B P-384 Hash Algorithm Selection] +ssl_conf = 26-Suite B P-384 Hash Algorithm Selection-ssl -[25-Suite B P-384 Hash Algorithm Selection-ssl] -server = 25-Suite B P-384 Hash Algorithm Selection-server -client = 25-Suite B P-384 Hash Algorithm Selection-client +[26-Suite B P-384 Hash Algorithm Selection-ssl] +server = 26-Suite B P-384 Hash Algorithm Selection-server +client = 26-Suite B P-384 Hash Algorithm Selection-client -[25-Suite B P-384 Hash Algorithm Selection-server] +[26-Suite B P-384 Hash Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = SUITEB128 ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem @@ -864,13 +895,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[25-Suite B P-384 Hash Algorithm Selection-client] +[26-Suite B P-384 Hash Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256:ECDSA+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer -[test-25] +[test-26] ExpectedResult = Success ExpectedServerCertType = P-384 ExpectedServerSignHash = SHA384 @@ -879,21 +910,21 @@ ExpectedServerSignType = EC # =========================================================== -[26-TLS 1.2 Ed25519 Client Auth] -ssl_conf = 26-TLS 1.2 Ed25519 Client Auth-ssl +[27-TLS 1.2 Ed25519 Client Auth] +ssl_conf = 27-TLS 1.2 Ed25519 Client Auth-ssl -[26-TLS 1.2 Ed25519 Client Auth-ssl] -server = 26-TLS 1.2 Ed25519 Client Auth-server -client = 26-TLS 1.2 Ed25519 Client Auth-client +[27-TLS 1.2 Ed25519 Client Auth-ssl] +server = 27-TLS 1.2 Ed25519 Client Auth-server +client = 27-TLS 1.2 Ed25519 Client Auth-client -[26-TLS 1.2 Ed25519 Client Auth-server] +[27-TLS 1.2 Ed25519 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[26-TLS 1.2 Ed25519 Client Auth-client] +[27-TLS 1.2 Ed25519 Client Auth-client] CipherString = DEFAULT Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem @@ -902,7 +933,7 @@ MinProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-26] +[test-27] ExpectedClientCertType = Ed25519 ExpectedClientSignType = Ed25519 ExpectedResult = Success @@ -910,21 +941,21 @@ ExpectedResult = Success # =========================================================== -[27-TLS 1.2 Ed448 Client Auth] -ssl_conf = 27-TLS 1.2 Ed448 Client Auth-ssl +[28-TLS 1.2 Ed448 Client Auth] +ssl_conf = 28-TLS 1.2 Ed448 Client Auth-ssl -[27-TLS 1.2 Ed448 Client Auth-ssl] -server = 27-TLS 1.2 Ed448 Client Auth-server -client = 27-TLS 1.2 Ed448 Client Auth-client +[28-TLS 1.2 Ed448 Client Auth-ssl] +server = 28-TLS 1.2 Ed448 Client Auth-server +client = 28-TLS 1.2 Ed448 Client Auth-client -[27-TLS 1.2 Ed448 Client Auth-server] +[28-TLS 1.2 Ed448 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[27-TLS 1.2 Ed448 Client Auth-client] +[28-TLS 1.2 Ed448 Client Auth-client] CipherString = DEFAULT Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem @@ -933,7 +964,7 @@ MinProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-27] +[test-28] ExpectedClientCertType = Ed448 ExpectedClientSignType = Ed448 ExpectedResult = Success @@ -941,38 +972,38 @@ ExpectedResult = Success # =========================================================== -[28-Only RSA-PSS Certificate, TLS v1.1] -ssl_conf = 28-Only RSA-PSS Certificate, TLS v1.1-ssl +[29-Only RSA-PSS Certificate, TLS v1.1] +ssl_conf = 29-Only RSA-PSS Certificate, TLS v1.1-ssl -[28-Only RSA-PSS Certificate, TLS v1.1-ssl] -server = 28-Only RSA-PSS Certificate, TLS v1.1-server -client = 28-Only RSA-PSS Certificate, TLS v1.1-client +[29-Only RSA-PSS Certificate, TLS v1.1-ssl] +server = 29-Only RSA-PSS Certificate, TLS v1.1-server +client = 29-Only RSA-PSS Certificate, TLS v1.1-client -[28-Only RSA-PSS Certificate, TLS v1.1-server] +[29-Only RSA-PSS Certificate, TLS v1.1-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[28-Only RSA-PSS Certificate, TLS v1.1-client] +[29-Only RSA-PSS Certificate, TLS v1.1-client] CipherString = DEFAULT MaxProtocol = TLSv1.1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-28] +[test-29] ExpectedResult = ServerFail # =========================================================== -[29-TLS 1.3 ECDSA Signature Algorithm Selection] -ssl_conf = 29-TLS 1.3 ECDSA Signature Algorithm Selection-ssl +[30-TLS 1.3 ECDSA Signature Algorithm Selection] +ssl_conf = 30-TLS 1.3 ECDSA Signature Algorithm Selection-ssl -[29-TLS 1.3 ECDSA Signature Algorithm Selection-ssl] -server = 29-TLS 1.3 ECDSA Signature Algorithm Selection-server -client = 29-TLS 1.3 ECDSA Signature Algorithm Selection-client +[30-TLS 1.3 ECDSA Signature Algorithm Selection-ssl] +server = 30-TLS 1.3 ECDSA Signature Algorithm Selection-server +client = 30-TLS 1.3 ECDSA Signature Algorithm Selection-client -[29-TLS 1.3 ECDSA Signature Algorithm Selection-server] +[30-TLS 1.3 ECDSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -985,13 +1016,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[29-TLS 1.3 ECDSA Signature Algorithm Selection-client] +[30-TLS 1.3 ECDSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-29] +[test-30] ExpectedResult = Success ExpectedServerCANames = empty ExpectedServerCertType = P-256 @@ -1001,14 +1032,14 @@ ExpectedServerSignType = EC # =========================================================== -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point] -ssl_conf = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point] +ssl_conf = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl] -server = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server -client = 30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-ssl] +server = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server +client = 31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server] +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-cecdsa-cert.pem @@ -1017,13 +1048,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[30-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client] +[31-TLS 1.3 ECDSA Signature Algorithm Selection compressed point-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-30] +[test-31] ExpectedResult = Success ExpectedServerCANames = empty ExpectedServerCertType = P-256 @@ -1033,14 +1064,14 @@ ExpectedServerSignType = EC # =========================================================== -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1] -ssl_conf = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1] +ssl_conf = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl] -server = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server -client = 31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-ssl] +server = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server +client = 32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server] +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1053,26 +1084,26 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[31-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client] +[32-TLS 1.3 ECDSA Signature Algorithm Selection SHA1-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-31] +[test-32] ExpectedResult = ServerFail # =========================================================== -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS] -ssl_conf = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS] +ssl_conf = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl] -server = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server -client = 32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-ssl] +server = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server +client = 33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server] +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1085,14 +1116,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[32-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client] +[33-TLS 1.3 ECDSA Signature Algorithm Selection with PSS-client] CipherString = DEFAULT RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem SignatureAlgorithms = ECDSA+SHA256:RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-32] +[test-33] ExpectedResult = Success ExpectedServerCANames = ${ENV::TEST_CERTS_DIR}/root-cert.pem ExpectedServerCertType = P-256 @@ -1102,14 +1133,14 @@ ExpectedServerSignType = EC # =========================================================== -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS] -ssl_conf = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS] +ssl_conf = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl] -server = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server -client = 33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-ssl] +server = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server +client = 34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server] +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1122,13 +1153,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[33-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client] +[34-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384:RSA-PSS+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-33] +[test-34] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA384 @@ -1137,40 +1168,40 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate] -ssl_conf = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate] +ssl_conf = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] -server = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server -client = 34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] +server = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server +client = 35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server] +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[34-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client] +[35-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-34] +[test-35] ExpectedResult = ServerFail # =========================================================== -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS] -ssl_conf = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS] +ssl_conf = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl] -server = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server -client = 35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-ssl] +server = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server +client = 36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server] +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1183,26 +1214,26 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[35-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client] +[36-TLS 1.3 RSA Signature Algorithm Selection, no PSS-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-35] +[test-36] ExpectedResult = ServerFail # =========================================================== -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection] -ssl_conf = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection] +ssl_conf = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl] -server = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-server -client = 36-TLS 1.3 RSA-PSS Signature Algorithm Selection-client +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-ssl] +server = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-server +client = 37-TLS 1.3 RSA-PSS Signature Algorithm Selection-client -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-server] +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1215,13 +1246,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[36-TLS 1.3 RSA-PSS Signature Algorithm Selection-client] +[37-TLS 1.3 RSA-PSS Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-36] +[test-37] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -1230,14 +1261,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[37-TLS 1.3 Ed25519 Signature Algorithm Selection] -ssl_conf = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl +[38-TLS 1.3 Ed25519 Signature Algorithm Selection] +ssl_conf = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] -server = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-server -client = 37-TLS 1.3 Ed25519 Signature Algorithm Selection-client +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] +server = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-server +client = 38-TLS 1.3 Ed25519 Signature Algorithm Selection-client -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-server] +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1250,13 +1281,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[37-TLS 1.3 Ed25519 Signature Algorithm Selection-client] +[38-TLS 1.3 Ed25519 Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-37] +[test-38] ExpectedResult = Success ExpectedServerCertType = Ed25519 ExpectedServerSignType = Ed25519 @@ -1264,14 +1295,14 @@ ExpectedServerSignType = Ed25519 # =========================================================== -[38-TLS 1.3 Ed448 Signature Algorithm Selection] -ssl_conf = 38-TLS 1.3 Ed448 Signature Algorithm Selection-ssl +[39-TLS 1.3 Ed448 Signature Algorithm Selection] +ssl_conf = 39-TLS 1.3 Ed448 Signature Algorithm Selection-ssl -[38-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] -server = 38-TLS 1.3 Ed448 Signature Algorithm Selection-server -client = 38-TLS 1.3 Ed448 Signature Algorithm Selection-client +[39-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] +server = 39-TLS 1.3 Ed448 Signature Algorithm Selection-server +client = 39-TLS 1.3 Ed448 Signature Algorithm Selection-client -[38-TLS 1.3 Ed448 Signature Algorithm Selection-server] +[39-TLS 1.3 Ed448 Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1284,13 +1315,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[38-TLS 1.3 Ed448 Signature Algorithm Selection-client] +[39-TLS 1.3 Ed448 Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-38] +[test-39] ExpectedResult = Success ExpectedServerCertType = Ed448 ExpectedServerSignType = Ed448 @@ -1298,14 +1329,14 @@ ExpectedServerSignType = Ed448 # =========================================================== -[39-TLS 1.3 Ed25519 CipherString and Groups Selection] -ssl_conf = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl +[40-TLS 1.3 Ed25519 CipherString and Groups Selection] +ssl_conf = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] -server = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-server -client = 39-TLS 1.3 Ed25519 CipherString and Groups Selection-client +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] +server = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-server +client = 40-TLS 1.3 Ed25519 CipherString and Groups Selection-client -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-server] +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1318,14 +1349,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[39-TLS 1.3 Ed25519 CipherString and Groups Selection-client] +[40-TLS 1.3 Ed25519 CipherString and Groups Selection-client] CipherString = DEFAULT Groups = X25519 SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-39] +[test-40] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignType = EC @@ -1333,14 +1364,14 @@ ExpectedServerSignType = EC # =========================================================== -[40-TLS 1.3 Ed448 CipherString and Groups Selection] -ssl_conf = 40-TLS 1.3 Ed448 CipherString and Groups Selection-ssl +[41-TLS 1.3 Ed448 CipherString and Groups Selection] +ssl_conf = 41-TLS 1.3 Ed448 CipherString and Groups Selection-ssl -[40-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] -server = 40-TLS 1.3 Ed448 CipherString and Groups Selection-server -client = 40-TLS 1.3 Ed448 CipherString and Groups Selection-client +[41-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] +server = 41-TLS 1.3 Ed448 CipherString and Groups Selection-server +client = 41-TLS 1.3 Ed448 CipherString and Groups Selection-client -[40-TLS 1.3 Ed448 CipherString and Groups Selection-server] +[41-TLS 1.3 Ed448 CipherString and Groups Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -1353,14 +1384,14 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[40-TLS 1.3 Ed448 CipherString and Groups Selection-client] +[41-TLS 1.3 Ed448 CipherString and Groups Selection-client] CipherString = DEFAULT Groups = X448 SignatureAlgorithms = ECDSA+SHA256:ed448 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-40] +[test-41] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignType = EC @@ -1368,14 +1399,14 @@ ExpectedServerSignType = EC # =========================================================== -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection] -ssl_conf = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection] +ssl_conf = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] -server = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server -client = 41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] +server = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server +client = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1383,7 +1414,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[41-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] +[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1394,7 +1425,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-41] +[test-42] ExpectedClientCANames = empty ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1404,14 +1435,14 @@ ExpectedResult = Success # =========================================================== -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] -ssl_conf = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] +ssl_conf = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] -server = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server -client = 42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] +server = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server +client = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1420,7 +1451,7 @@ RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[42-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1431,7 +1462,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-42] +[test-43] ExpectedClientCANames = ${ENV::TEST_CERTS_DIR}/root-cert.pem ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1441,14 +1472,14 @@ ExpectedResult = Success # =========================================================== -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] -ssl_conf = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] +ssl_conf = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] -server = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server -client = 43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] +server = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server +client = 44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = ECDSA+SHA256 @@ -1456,7 +1487,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[43-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] +[44-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1467,7 +1498,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-43] +[test-44] ExpectedClientCertType = P-256 ExpectedClientSignHash = SHA256 ExpectedClientSignType = EC @@ -1476,21 +1507,21 @@ ExpectedResult = Success # =========================================================== -[44-TLS 1.3 Ed25519 Client Auth] -ssl_conf = 44-TLS 1.3 Ed25519 Client Auth-ssl +[45-TLS 1.3 Ed25519 Client Auth] +ssl_conf = 45-TLS 1.3 Ed25519 Client Auth-ssl -[44-TLS 1.3 Ed25519 Client Auth-ssl] -server = 44-TLS 1.3 Ed25519 Client Auth-server -client = 44-TLS 1.3 Ed25519 Client Auth-client +[45-TLS 1.3 Ed25519 Client Auth-ssl] +server = 45-TLS 1.3 Ed25519 Client Auth-server +client = 45-TLS 1.3 Ed25519 Client Auth-client -[44-TLS 1.3 Ed25519 Client Auth-server] +[45-TLS 1.3 Ed25519 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[44-TLS 1.3 Ed25519 Client Auth-client] +[45-TLS 1.3 Ed25519 Client Auth-client] CipherString = DEFAULT EdDSA.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem EdDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem @@ -1499,7 +1530,7 @@ MinProtocol = TLSv1.3 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-44] +[test-45] ExpectedClientCertType = Ed25519 ExpectedClientSignType = Ed25519 ExpectedResult = Success @@ -1507,21 +1538,21 @@ ExpectedResult = Success # =========================================================== -[45-TLS 1.3 Ed448 Client Auth] -ssl_conf = 45-TLS 1.3 Ed448 Client Auth-ssl +[46-TLS 1.3 Ed448 Client Auth] +ssl_conf = 46-TLS 1.3 Ed448 Client Auth-ssl -[45-TLS 1.3 Ed448 Client Auth-ssl] -server = 45-TLS 1.3 Ed448 Client Auth-server -client = 45-TLS 1.3 Ed448 Client Auth-client +[46-TLS 1.3 Ed448 Client Auth-ssl] +server = 46-TLS 1.3 Ed448 Client Auth-server +client = 46-TLS 1.3 Ed448 Client Auth-client -[45-TLS 1.3 Ed448 Client Auth-server] +[46-TLS 1.3 Ed448 Client Auth-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[45-TLS 1.3 Ed448 Client Auth-client] +[46-TLS 1.3 Ed448 Client Auth-client] CipherString = DEFAULT EdDSA.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem EdDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem @@ -1530,7 +1561,7 @@ MinProtocol = TLSv1.3 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-45] +[test-46] ExpectedClientCertType = Ed448 ExpectedClientSignType = Ed448 ExpectedResult = Success @@ -1538,14 +1569,42 @@ ExpectedResult = Success # =========================================================== -[46-TLS 1.2 DSA Certificate Test] -ssl_conf = 46-TLS 1.2 DSA Certificate Test-ssl +[47-TLS 1.3 ECDSA with brainpool] +ssl_conf = 47-TLS 1.3 ECDSA with brainpool-ssl + +[47-TLS 1.3 ECDSA with brainpool-ssl] +server = 47-TLS 1.3 ECDSA with brainpool-server +client = 47-TLS 1.3 ECDSA with brainpool-client + +[47-TLS 1.3 ECDSA with brainpool-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem +CipherString = DEFAULT +Groups = brainpoolP256r1 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem + +[47-TLS 1.3 ECDSA with brainpool-client] +CipherString = DEFAULT +Groups = brainpoolP256r1 +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-47] +ExpectedResult = ServerFail + + +# =========================================================== + +[48-TLS 1.2 DSA Certificate Test] +ssl_conf = 48-TLS 1.2 DSA Certificate Test-ssl -[46-TLS 1.2 DSA Certificate Test-ssl] -server = 46-TLS 1.2 DSA Certificate Test-server -client = 46-TLS 1.2 DSA Certificate Test-client +[48-TLS 1.2 DSA Certificate Test-ssl] +server = 48-TLS 1.2 DSA Certificate Test-server +client = 48-TLS 1.2 DSA Certificate Test-client -[46-TLS 1.2 DSA Certificate Test-server] +[48-TLS 1.2 DSA Certificate Test-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = ALL DHParameters = ${ENV::TEST_CERTS_DIR}/dhp2048.pem @@ -1555,26 +1614,26 @@ MaxProtocol = TLSv1.2 MinProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[46-TLS 1.2 DSA Certificate Test-client] +[48-TLS 1.2 DSA Certificate Test-client] CipherString = ALL SignatureAlgorithms = DSA+SHA256:DSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-46] +[test-48] ExpectedResult = Success # =========================================================== -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms] -ssl_conf = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms] +ssl_conf = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl] -server = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server -client = 47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-ssl] +server = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server +client = 49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server] +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = ECDSA+SHA1:DSA+SHA256:RSA+SHA256 @@ -1582,25 +1641,25 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Request -[47-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client] +[49-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms-client] CipherString = DEFAULT VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-47] +[test-49] ExpectedResult = ServerFail # =========================================================== -[48-TLS 1.3 DSA Certificate Test] -ssl_conf = 48-TLS 1.3 DSA Certificate Test-ssl +[50-TLS 1.3 DSA Certificate Test] +ssl_conf = 50-TLS 1.3 DSA Certificate Test-ssl -[48-TLS 1.3 DSA Certificate Test-ssl] -server = 48-TLS 1.3 DSA Certificate Test-server -client = 48-TLS 1.3 DSA Certificate Test-client +[50-TLS 1.3 DSA Certificate Test-ssl] +server = 50-TLS 1.3 DSA Certificate Test-server +client = 50-TLS 1.3 DSA Certificate Test-client -[48-TLS 1.3 DSA Certificate Test-server] +[50-TLS 1.3 DSA Certificate Test-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = ALL DSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-dsa-cert.pem @@ -1609,13 +1668,13 @@ MaxProtocol = TLSv1.3 MinProtocol = TLSv1.3 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[48-TLS 1.3 DSA Certificate Test-client] +[50-TLS 1.3 DSA Certificate Test-client] CipherString = ALL SignatureAlgorithms = DSA+SHA1:DSA+SHA256:ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-48] +[test-50] ExpectedResult = ServerFail diff --git a/test/ssl-tests/20-cert-select.conf.in b/test/ssl-tests/20-cert-select.conf.in index 2038bdf..bdf53c6 100644 --- a/test/ssl-tests/20-cert-select.conf.in +++ b/test/ssl-tests/20-cert-select.conf.in @@ -139,6 +139,28 @@ our @tests = ( }, }, { + name => "ECDSA with brainpool", + server => { + "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), + "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), + "Groups" => "brainpoolP256r1", + }, + client => { + #We don't restrict this to TLSv1.2, although use of brainpool + #should force this anyway so that this should succeed + "CipherString" => "aECDSA", + "RequestCAFile" => test_pem("root-cert.pem"), + "Groups" => "brainpoolP256r1", + }, + test => { + "ExpectedServerCertType" =>, "brainpoolP256r1", + "ExpectedServerSignType" =>, "EC", + # Note: certificate_authorities not sent for TLS < 1.3 + "ExpectedServerCANames" =>, "empty", + "ExpectedResult" => "Success" + }, + }, + { name => "RSA CipherString Selection", server => $server, client => { @@ -762,6 +784,23 @@ my @tests_tls_1_3 = ( "ExpectedResult" => "Success" }, }, + { + name => "TLS 1.3 ECDSA with brainpool", + server => { + "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), + "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), + "Groups" => "brainpoolP256r1", + }, + client => { + "RequestCAFile" => test_pem("root-cert.pem"), + "Groups" => "brainpoolP256r1", + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3" + }, + test => { + "ExpectedResult" => "ServerFail" + }, + }, ); push @tests, @tests_tls_1_3 unless disabled("tls1_3"); From levitte at openssl.org Mon Nov 12 11:40:29 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 12 Nov 2018 11:40:29 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542022829.015020.15665.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 02d3c6aecc646872af1286144ce8af0693a9f4e3 (commit) from 7bd5405ac94549003dd1e7114542914075b5aaf5 (commit) - Log ----------------------------------------------------------------- commit 02d3c6aecc646872af1286144ce8af0693a9f4e3 Author: Richard Levitte Date: Thu Nov 1 13:55:32 2018 +0100 Configure: ensure empty arrays aren't created inadvertently Just refering to a hash table element as an array reference will automatically create that element. Avoid that by defaulting to a separate empty array reference. Fixes #7543 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7544) (cherry picked from commit 3bed01a09071fb289484dfd265f0a8a991537282) ----------------------------------------------------------------------- Summary of changes: Configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configure b/Configure index 2181111..c84722a 100755 --- a/Configure +++ b/Configure @@ -2257,7 +2257,7 @@ EOF my %dirs = (); my $pd = dirname($product); - foreach (@{$unified_info{sources}->{$product}}, + foreach (@{$unified_info{sources}->{$product} // []}, @{$unified_info{shared_sources}->{$product} // []}) { my $d = dirname($_); From builds at travis-ci.org Mon Nov 12 11:38:48 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 11:38:48 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21664 (master - 24ae003) In-Reply-To: Message-ID: <5be9664610160_43fd89b6170e811274b@b1919eb0-977a-4367-9c54-66107daeb0eb.mail> Build Update for openssl/openssl ------------------------------------- Build: #21664 Status: Still Failing Duration: 18 mins and 27 secs Commit: 24ae003 (master) Author: Matt Caswell Message: Test use of a brainpool ECDSA certificate Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) View the changeset: https://github.com/openssl/openssl/compare/425036130dfb...24ae00388fb9 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453914611?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Nov 12 11:55:33 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 12 Nov 2018 11:55:33 +0000 Subject: [openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1542023733.653823.18931.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 59fbc8ef9a Some deabbreviations 75b68c9e4e Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. 65042182fc Recreate the OS390-Unix config target d896b79b09 Check return value of EVP_PKEY_new dd41956d80 [crypto/bn] swap BN_FLG_FIXED_TOP too ecbb2fca93 Add EVP_PKEY_supports_digest_nid() 2d263a4a73 Honour mandatory digest on private key in has_usable_cert() eb7eb1378c Stop marking default digest for EC keys as mandatory e2d227bb4a Fix issues with do_rand_init/rand_cleanup_int e9994901f8 VMS build: colon after target must be separated with a space e8d01a6087 Have install targets depend on more precise build targets c1123d9f7e Allow parallel install Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 213 wallclock secs ( 1.69 usr 0.31 sys + 183.73 cusr 11.12 csys = 196.85 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Mon Nov 12 11:49:59 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 11:49:59 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21665 (OpenSSL_1_1_1-stable - 7bd5405) In-Reply-To: Message-ID: <5be968e39c984_43fc077e23ae8409a0@bc5e40fa-384e-476d-a7da-0ad80a84f2fb.mail> Build Update for openssl/openssl ------------------------------------- Build: #21665 Status: Still Failing Duration: 24 mins and 8 secs Commit: 7bd5405 (OpenSSL_1_1_1-stable) Author: Matt Caswell Message: Test use of a brainpool ECDSA certificate Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7442) (cherry picked from commit 24ae00388fb9e25af8f94d36b7c191ae90061586) View the changeset: https://github.com/openssl/openssl/compare/61e78e7ace6c...7bd5405ac945 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453916264?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 12 12:02:47 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 12:02:47 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21666 (OpenSSL_1_1_1-stable - 02d3c6a) In-Reply-To: Message-ID: <5be96bbf242cb_43fc3a4d163dc55957@99f548a0-40c4-485d-ac6a-fcb4d0c825a0.mail> Build Update for openssl/openssl ------------------------------------- Build: #21666 Status: Still Failing Duration: 20 mins and 53 secs Commit: 02d3c6a (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Configure: ensure empty arrays aren't created inadvertently Just refering to a hash table element as an array reference will automatically create that element. Avoid that by defaulting to a separate empty array reference. Fixes #7543 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7544) (cherry picked from commit 3bed01a09071fb289484dfd265f0a8a991537282) View the changeset: https://github.com/openssl/openssl/compare/7bd5405ac945...02d3c6aecc64 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453922879?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nic.tuv at gmail.com Mon Nov 12 14:31:54 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Mon, 12 Nov 2018 14:31:54 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542033114.462444.4806.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via b18162a7c9bbfb57112459a4d6631fa258fd8c0c (commit) from 59b9c67fcaf1c1e2c0e30de6facca85910ac361a (commit) - Log ----------------------------------------------------------------- commit b18162a7c9bbfb57112459a4d6631fa258fd8c0c Author: Billy Brumley Date: Thu Nov 8 13:57:54 2018 +0200 CVE-2018-5407 fix: ECC ladder Reviewed-by: Matt Caswell Reviewed-by: Paul Dale Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7593) ----------------------------------------------------------------------- Summary of changes: CHANGES | 13 +++ crypto/bn/bn_lib.c | 32 +++++++ crypto/ec/ec_mult.c | 246 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 291 insertions(+) diff --git a/CHANGES b/CHANGES index b574074..fde66b5 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,19 @@ Changes between 1.0.2p and 1.0.2q [xx XXX xxxx] + *) Microarchitecture timing vulnerability in ECC scalar multiplication + + OpenSSL ECC scalar multiplication, used in e.g. ECDSA and ECDH, has been + shown to be vulnerable to a microarchitecture timing side channel attack. + An attacker with sufficient access to mount local timing attacks during + ECDSA signature generation could recover the private key. + + This issue was reported to OpenSSL on 26th October 2018 by Alejandro + Cabrera Aldaya, Billy Brumley, Sohaib ul Hassan, Cesar Pereida Garcia and + Nicola Tuveri. + (CVE-2018-5407) + [Billy Brumley] + *) Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module, accidentally introduced while backporting security fixes from the development branch and hindering the use of ECC in FIPS mode. diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 8f1042b..9b95e5f 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -903,6 +903,38 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) a->top ^= t; b->top ^= t; + t = (a->neg ^ b->neg) & condition; + a->neg ^= t; + b->neg ^= t; + + /*- + * BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention + * is actually to treat it as it's read-only data, and some (if not most) + * of it does reside in read-only segment. In other words observation of + * BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal + * condition. It would either cause SEGV or effectively cause data + * corruption. + * + * BN_FLG_MALLOCED: refers to BN structure itself, and hence must be + * preserved. + * + * BN_FLG_SECURE: must be preserved, because it determines how x->d was + * allocated and hence how to free it. + * + * BN_FLG_CONSTTIME: sufficient to mask and swap + * + * BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on + * the data, so the d array may be padded with additional 0 values (i.e. + * top could be greater than the minimal value that it could be). We should + * be swapping it + */ + +#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP) + + t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition; + a->flags ^= t; + b->flags ^= t; + #define BN_CONSTTIME_SWAP(ind) \ do { \ t = (a->d[ind] ^ b->d[ind]) & condition; \ diff --git a/crypto/ec/ec_mult.c b/crypto/ec/ec_mult.c index 2231f99..c573d4b 100644 --- a/crypto/ec/ec_mult.c +++ b/crypto/ec/ec_mult.c @@ -310,6 +310,224 @@ static signed char *compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len) return r; } +#define EC_POINT_BN_set_flags(P, flags) do { \ + BN_set_flags(&(P)->X, (flags)); \ + BN_set_flags(&(P)->Y, (flags)); \ + BN_set_flags(&(P)->Z, (flags)); \ +} while(0) + +/*- + * This functions computes (in constant time) a point multiplication over the + * EC group. + * + * At a high level, it is Montgomery ladder with conditional swaps. + * + * It performs either a fixed scalar point multiplication + * (scalar * generator) + * when point is NULL, or a generic scalar point multiplication + * (scalar * point) + * when point is not NULL. + * + * scalar should be in the range [0,n) otherwise all constant time bets are off. + * + * NB: This says nothing about EC_POINT_add and EC_POINT_dbl, + * which of course are not constant time themselves. + * + * The product is stored in r. + * + * Returns 1 on success, 0 otherwise. + */ +static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, + const BIGNUM *scalar, const EC_POINT *point, + BN_CTX *ctx) +{ + int i, cardinality_bits, group_top, kbit, pbit, Z_is_one; + EC_POINT *s = NULL; + BIGNUM *k = NULL; + BIGNUM *lambda = NULL; + BIGNUM *cardinality = NULL; + BN_CTX *new_ctx = NULL; + int ret = 0; + + if (ctx == NULL && (ctx = new_ctx = BN_CTX_new()) == NULL) + return 0; + + BN_CTX_start(ctx); + + s = EC_POINT_new(group); + if (s == NULL) + goto err; + + if (point == NULL) { + if (!EC_POINT_copy(s, group->generator)) + goto err; + } else { + if (!EC_POINT_copy(s, point)) + goto err; + } + + EC_POINT_BN_set_flags(s, BN_FLG_CONSTTIME); + + cardinality = BN_CTX_get(ctx); + lambda = BN_CTX_get(ctx); + k = BN_CTX_get(ctx); + if (k == NULL || !BN_mul(cardinality, &group->order, &group->cofactor, ctx)) + goto err; + + /* + * Group cardinalities are often on a word boundary. + * So when we pad the scalar, some timing diff might + * pop if it needs to be expanded due to carries. + * So expand ahead of time. + */ + cardinality_bits = BN_num_bits(cardinality); + group_top = cardinality->top; + if ((bn_wexpand(k, group_top + 2) == NULL) + || (bn_wexpand(lambda, group_top + 2) == NULL)) + goto err; + + if (!BN_copy(k, scalar)) + goto err; + + BN_set_flags(k, BN_FLG_CONSTTIME); + + if ((BN_num_bits(k) > cardinality_bits) || (BN_is_negative(k))) { + /*- + * this is an unusual input, and we don't guarantee + * constant-timeness + */ + if (!BN_nnmod(k, k, cardinality, ctx)) + goto err; + } + + if (!BN_add(lambda, k, cardinality)) + goto err; + BN_set_flags(lambda, BN_FLG_CONSTTIME); + if (!BN_add(k, lambda, cardinality)) + goto err; + /* + * lambda := scalar + cardinality + * k := scalar + 2*cardinality + */ + kbit = BN_is_bit_set(lambda, cardinality_bits); + BN_consttime_swap(kbit, k, lambda, group_top + 2); + + group_top = group->field.top; + if ((bn_wexpand(&s->X, group_top) == NULL) + || (bn_wexpand(&s->Y, group_top) == NULL) + || (bn_wexpand(&s->Z, group_top) == NULL) + || (bn_wexpand(&r->X, group_top) == NULL) + || (bn_wexpand(&r->Y, group_top) == NULL) + || (bn_wexpand(&r->Z, group_top) == NULL)) + goto err; + + /* top bit is a 1, in a fixed pos */ + if (!EC_POINT_copy(r, s)) + goto err; + + EC_POINT_BN_set_flags(r, BN_FLG_CONSTTIME); + + if (!EC_POINT_dbl(group, s, s, ctx)) + goto err; + + pbit = 0; + +#define EC_POINT_CSWAP(c, a, b, w, t) do { \ + BN_consttime_swap(c, &(a)->X, &(b)->X, w); \ + BN_consttime_swap(c, &(a)->Y, &(b)->Y, w); \ + BN_consttime_swap(c, &(a)->Z, &(b)->Z, w); \ + t = ((a)->Z_is_one ^ (b)->Z_is_one) & (c); \ + (a)->Z_is_one ^= (t); \ + (b)->Z_is_one ^= (t); \ +} while(0) + + /*- + * The ladder step, with branches, is + * + * k[i] == 0: S = add(R, S), R = dbl(R) + * k[i] == 1: R = add(S, R), S = dbl(S) + * + * Swapping R, S conditionally on k[i] leaves you with state + * + * k[i] == 0: T, U = R, S + * k[i] == 1: T, U = S, R + * + * Then perform the ECC ops. + * + * U = add(T, U) + * T = dbl(T) + * + * Which leaves you with state + * + * k[i] == 0: U = add(R, S), T = dbl(R) + * k[i] == 1: U = add(S, R), T = dbl(S) + * + * Swapping T, U conditionally on k[i] leaves you with state + * + * k[i] == 0: R, S = T, U + * k[i] == 1: R, S = U, T + * + * Which leaves you with state + * + * k[i] == 0: S = add(R, S), R = dbl(R) + * k[i] == 1: R = add(S, R), S = dbl(S) + * + * So we get the same logic, but instead of a branch it's a + * conditional swap, followed by ECC ops, then another conditional swap. + * + * Optimization: The end of iteration i and start of i-1 looks like + * + * ... + * CSWAP(k[i], R, S) + * ECC + * CSWAP(k[i], R, S) + * (next iteration) + * CSWAP(k[i-1], R, S) + * ECC + * CSWAP(k[i-1], R, S) + * ... + * + * So instead of two contiguous swaps, you can merge the condition + * bits and do a single swap. + * + * k[i] k[i-1] Outcome + * 0 0 No Swap + * 0 1 Swap + * 1 0 Swap + * 1 1 No Swap + * + * This is XOR. pbit tracks the previous bit of k. + */ + + for (i = cardinality_bits - 1; i >= 0; i--) { + kbit = BN_is_bit_set(k, i) ^ pbit; + EC_POINT_CSWAP(kbit, r, s, group_top, Z_is_one); + if (!EC_POINT_add(group, s, r, s, ctx)) + goto err; + if (!EC_POINT_dbl(group, r, r, ctx)) + goto err; + /* + * pbit logic merges this cswap with that of the + * next iteration + */ + pbit ^= kbit; + } + /* one final cswap to move the right value into r */ + EC_POINT_CSWAP(pbit, r, s, group_top, Z_is_one); +#undef EC_POINT_CSWAP + + ret = 1; + + err: + EC_POINT_free(s); + BN_CTX_end(ctx); + BN_CTX_free(new_ctx); + + return ret; +} + +#undef EC_POINT_BN_set_flags + /* * TODO: table should be optimised for the wNAF-based implementation, * sometimes smaller windows will give better performance (thus the @@ -369,6 +587,34 @@ int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, return EC_POINT_set_to_infinity(group, r); } + if (!BN_is_zero(&group->order) && !BN_is_zero(&group->cofactor)) { + /*- + * Handle the common cases where the scalar is secret, enforcing a constant + * time scalar multiplication algorithm. + */ + if ((scalar != NULL) && (num == 0)) { + /*- + * In this case we want to compute scalar * GeneratorPoint: this + * codepath is reached most prominently by (ephemeral) key generation + * of EC cryptosystems (i.e. ECDSA keygen and sign setup, ECDH + * keygen/first half), where the scalar is always secret. This is why + * we ignore if BN_FLG_CONSTTIME is actually set and we always call the + * constant time version. + */ + return ec_mul_consttime(group, r, scalar, NULL, ctx); + } + if ((scalar == NULL) && (num == 1)) { + /*- + * In this case we want to compute scalar * GenericPoint: this codepath + * is reached most prominently by the second half of ECDH, where the + * secret scalar is multiplied by the peer's public point. To protect + * the secret scalar, we ignore if BN_FLG_CONSTTIME is actually set and + * we always call the constant time version. + */ + return ec_mul_consttime(group, r, scalars[0], points[0], ctx); + } + } + for (i = 0; i < num; i++) { if (group->meth != points[i]->meth) { ECerr(EC_F_EC_WNAF_MUL, EC_R_INCOMPATIBLE_OBJECTS); From matt at openssl.org Mon Nov 12 14:38:16 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 12 Nov 2018 14:38:16 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542033496.346837.6414.nullmailer@dev.openssl.org> The branch master has been updated via 6e68dae85a8f91944370125561c7ec0d5da46c20 (commit) via fb8c83599e869516552f7c27bdc4dd26947fe657 (commit) via 98732979001dbb59320803713c4c91ba40234250 (commit) from 24ae00388fb9e25af8f94d36b7c191ae90061586 (commit) - Log ----------------------------------------------------------------- commit 6e68dae85a8f91944370125561c7ec0d5da46c20 Author: Matt Caswell Date: Thu Nov 1 11:53:49 2018 +0000 Merge the CA list documentation for clarity Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) commit fb8c83599e869516552f7c27bdc4dd26947fe657 Author: Matt Caswell Date: Fri Oct 26 18:23:48 2018 +0100 Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) commit 98732979001dbb59320803713c4c91ba40234250 Author: Matt Caswell Date: Fri Oct 26 11:43:19 2018 +0100 Separate ca_names handling for client and server SSL(_CTX)?_set_client_CA_list() was a server side only function in 1.1.0. If it was called on the client side then it was ignored. In 1.1.1 it now makes sense to have a CA list defined for both client and server (the client now sends it the the TLSv1.3 certificate_authorities extension). Unfortunately some applications were using the same SSL_CTX for both clients and servers and this resulted in some client ClientHellos being excessively large due to the number of certificate authorities being sent. This commit seperates out the CA list updated by SSL(_CTX)?_set_client_CA_list() and the more generic SSL(_CTX)?_set0_CA_list(). This means that SSL(_CTX)?_set_client_CA_list() still has no effect on the client side. If both CA lists are set then SSL(_CTX)?_set_client_CA_list() takes priority. Fixes #7411 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set0_CA_list.pod | 148 ++++++++++++++++++++++++++------ doc/man3/SSL_CTX_set_client_CA_list.pod | 103 ---------------------- doc/man3/SSL_get_client_CA_list.pod | 62 ------------- ssl/ssl_cert.c | 13 +-- ssl/ssl_lib.c | 51 ++++++++--- ssl/ssl_locl.h | 12 ++- ssl/statem/extensions.c | 4 +- ssl/statem/statem_lib.c | 18 +++- ssl/statem/statem_locl.h | 3 +- ssl/statem/statem_srvr.c | 2 +- test/sslapitest.c | 136 +++++++++++++++++++++++++++++ 11 files changed, 334 insertions(+), 218 deletions(-) delete mode 100644 doc/man3/SSL_CTX_set_client_CA_list.pod delete mode 100644 doc/man3/SSL_get_client_CA_list.pod diff --git a/doc/man3/SSL_CTX_set0_CA_list.pod b/doc/man3/SSL_CTX_set0_CA_list.pod index 618bd73..d7ed897 100644 --- a/doc/man3/SSL_CTX_set0_CA_list.pod +++ b/doc/man3/SSL_CTX_set0_CA_list.pod @@ -2,14 +2,32 @@ =head1 NAME -SSL_set0_CA_list, SSL_CTX_set0_CA_list, SSL_get0_CA_list, -SSL_CTX_get0_CA_list, SSL_add1_to_CA_list, SSL_CTX_add1_to_CA_list, -SSL_get0_peer_CA_list - get or set CA list +SSL_CTX_set_client_CA_list, +SSL_set_client_CA_list, +SSL_get_client_CA_list, +SSL_CTX_get_client_CA_list, +SSL_CTX_add_client_CA, +SSL_add_client_CA, +SSL_set0_CA_list, +SSL_CTX_set0_CA_list, +SSL_get0_CA_list, +SSL_CTX_get0_CA_list, +SSL_add1_to_CA_list, +SSL_CTX_add1_to_CA_list, +SSL_get0_peer_CA_list +- get or set CA list =head1 SYNOPSIS #include + void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list); + void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list); + STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); + STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); + int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *cacert); + int SSL_add_client_CA(SSL *ssl, X509 *cacert); + void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx); @@ -21,6 +39,70 @@ SSL_get0_peer_CA_list - get or set CA list =head1 DESCRIPTION +The functions described here set and manage the list of CA names that are sent +between two communicating peers. + +For TLS versions 1.2 and earlier the list of CA names is only sent from the +server to the client when requesting a client certificate. So any list of CA +names set is never sent from client to server and the list of CA names retrieved +by SSL_get0_peer_CA_list() is always B. + +For TLS 1.3 the list of CA names is sent using the B +extension and may be sent by a client (in the ClientHello message) or by +a server (when requesting a certificate). + +In most cases it is not necessary to set CA names on the client side. The list +of CA names that are acceptable to the client will be sent in plaintext to the +server. This has privacy implications and may also have performance implications +if the list is large. This optional capability was introduced as part of TLSv1.3 +and therefore setting CA names on the client side will have no impact if that +protocol version has been disabled. Most servers do not need this and so this +should be avoided unless required. + +The "client CA list" functions below only have an effect when called on the +server side. + +SSL_CTX_set_client_CA_list() sets the B of CAs sent to the client when +requesting a client certificate for B. Ownership of B is transferred +to B and it should not be freed by the caller. + +SSL_set_client_CA_list() sets the B of CAs sent to the client when +requesting a client certificate for the chosen B, overriding the +setting valid for B's SSL_CTX object. Ownership of B is transferred +to B and it should not be freed by the caller. + +SSL_CTX_get_client_CA_list() returns the list of client CAs explicitly set for +B using SSL_CTX_set_client_CA_list(). The returned list should not be freed +by the caller. + +SSL_get_client_CA_list() returns the list of client CAs explicitly +set for B using SSL_set_client_CA_list() or B's SSL_CTX object with +SSL_CTX_set_client_CA_list(), when in server mode. In client mode, +SSL_get_client_CA_list returns the list of client CAs sent from the server, if +any. The returned list should not be freed by the caller. + +SSL_CTX_add_client_CA() adds the CA name extracted from B to the +list of CAs sent to the client when requesting a client certificate for +B. + +SSL_add_client_CA() adds the CA name extracted from B to the +list of CAs sent to the client when requesting a client certificate for +the chosen B, overriding the setting valid for B's SSL_CTX object. + +SSL_get0_peer_CA_list() retrieves the list of CA names (if any) the peer +has sent. This can be called on either the server or the client side. The +returned list should not be freed by the caller. + +The "generic CA list" functions below are very similar to the "client CA +list" functions except that they have an effect on both the server and client +sides. The lists of CA names managed are separate - so you cannot (for example) +set CA names using the "client CA list" functions and then get them using the +"generic CA list" functions. Where a mix of the two types of functions has been +used on the server side then the "client CA list" functions take precedence. +Typically, on the server side, the "client CA list " functions should be used in +preference. As noted above in most cases it is not necessary to set CA names on +the client side. + SSL_CTX_set0_CA_list() sets the list of CAs to be sent to the peer to B. Ownership of B is transferred to B and it should not be freed by the caller. @@ -30,10 +112,11 @@ overriding any list set in the parent B of B. Ownership of B is transferred to B and it should not be freed by the caller. SSL_CTX_get0_CA_list() retrieves any previously set list of CAs set for -B. +B. The returned list should not be freed by the caller. -SSL_CTX_get0_CA_list() retrieves any previously set list of CAs set for -B or if none are set the list from the parent B is retrieved. +SSL_get0_CA_list() retrieves any previously set list of CAs set for +B or if none are set the list from the parent B is retrieved. The +returned list should not be freed by the caller. SSL_CTX_add1_to_CA_list() appends the CA subject name extracted from B to the list of CAs sent to peer for B. @@ -42,47 +125,60 @@ SSL_add1_to_CA_list() appends the CA subject name extracted from B to the list of CAs sent to the peer for B, overriding the setting in the parent B. -SSL_get0_peer_CA_list() retrieves the list of CA names (if any) the peer -has sent. - =head1 NOTES -These functions are generalised versions of the client authentication -CA list functions such as L. +When a TLS/SSL server requests a client certificate (see +B), it sends a list of CAs, for which it will accept +certificates, to the client. -For TLS versions before 1.3 the list of CA names is only sent from the server -to client when requesting a client certificate. So any list of CA names set -is never sent from client to server and the list of CA names retrieved by -SSL_get0_peer_CA_list() is always B. +This list must explicitly be set using SSL_CTX_set_client_CA_list() or +SSL_CTX_set0_CA_list() for B and SSL_set_client_CA_list() or +SSL_set0_CA_list() for the specific B. The list specified +overrides the previous setting. The CAs listed do not become trusted (B +only contains the names, not the complete certificates); use +L to additionally load them for verification. -For TLS 1.3 the list of CA names is sent using the B -extension and will be sent by a client (in the ClientHello message) or by -a server (when requesting a certificate). +If the list of acceptable CAs is compiled in a file, the +L function can be used to help to import the +necessary data. + +SSL_CTX_add_client_CA(), SSL_CTX_add1_to_CA_list(), SSL_add_client_CA() and +SSL_add1_to_CA_list() can be used to add additional items the list of CAs. If no +list was specified before using SSL_CTX_set_client_CA_list(), +SSL_CTX_set0_CA_list(), SSL_set_client_CA_list() or SSL_set0_CA_list(), a +new CA list for B or B (as appropriate) is opened. =head1 RETURN VALUES -SSL_CTX_set0_CA_list() and SSL_set0_CA_list() do not return a value. +SSL_CTX_set_client_CA_list(), SSL_set_client_CA_list(), +SSL_CTX_set_client_CA_list(), SSL_set_client_CA_list(), SSL_CTX_set0_CA_list() +and SSL_set0_CA_list() do not return a value. -SSL_CTX_get0_CA_list() and SSL_get0_CA_list() return a stack of CA names -or B is no CA names are set. +SSL_CTX_get_client_CA_list(), SSL_get_client_CA_list(), SSL_CTX_get0_CA_list() +and SSL_get0_CA_list() return a stack of CA names or B is no CA names are +set. -SSL_CTX_add1_to_CA_list() and SSL_add1_to_CA_list() return 1 for success and 0 -for failure. +SSL_CTX_add_client_CA(),SSL_add_client_CA(), SSL_CTX_add1_to_CA_list() and +SSL_add1_to_CA_list() return 1 for success and 0 for failure. SSL_get0_peer_CA_list() returns a stack of CA names sent by the peer or B or an empty stack if no list was sent. +=head1 EXAMPLES + +Scan all certificates in B and list them as acceptable CAs: + + SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(CAfile)); + =head1 SEE ALSO L, -L, -L, L, L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 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 diff --git a/doc/man3/SSL_CTX_set_client_CA_list.pod b/doc/man3/SSL_CTX_set_client_CA_list.pod deleted file mode 100644 index 76fd65e..0000000 --- a/doc/man3/SSL_CTX_set_client_CA_list.pod +++ /dev/null @@ -1,103 +0,0 @@ -=pod - -=head1 NAME - -SSL_CTX_set_client_CA_list, SSL_set_client_CA_list, SSL_CTX_add_client_CA, -SSL_add_client_CA - set list of CAs sent to the client when requesting a -client certificate - -=head1 SYNOPSIS - - #include - - void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list); - void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list); - int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *cacert); - int SSL_add_client_CA(SSL *ssl, X509 *cacert); - -=head1 DESCRIPTION - -SSL_CTX_set_client_CA_list() sets the B of CAs sent to the client when -requesting a client certificate for B. - -SSL_set_client_CA_list() sets the B of CAs sent to the client when -requesting a client certificate for the chosen B, overriding the -setting valid for B's SSL_CTX object. - -SSL_CTX_add_client_CA() adds the CA name extracted from B to the -list of CAs sent to the client when requesting a client certificate for -B. - -SSL_add_client_CA() adds the CA name extracted from B to the -list of CAs sent to the client when requesting a client certificate for -the chosen B, overriding the setting valid for B's SSL_CTX object. - -=head1 NOTES - -When a TLS/SSL server requests a client certificate (see -B), it sends a list of CAs, for which -it will accept certificates, to the client. - -This list must explicitly be set using SSL_CTX_set_client_CA_list() for -B and SSL_set_client_CA_list() for the specific B. The list -specified overrides the previous setting. The CAs listed do not become -trusted (B only contains the names, not the complete certificates); use -L -to additionally load them for verification. - -If the list of acceptable CAs is compiled in a file, the -L -function can be used to help importing the necessary data. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() can be used to add additional -items the list of client CAs. If no list was specified before using -SSL_CTX_set_client_CA_list() or SSL_set_client_CA_list(), a new client -CA list for B or B (as appropriate) is opened. - -These functions are only useful for TLS/SSL servers. - -=head1 RETURN VALUES - -SSL_CTX_set_client_CA_list() and SSL_set_client_CA_list() do not return -diagnostic information. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() have the following return -values: - -=over 4 - -=item Z<>0 - -A failure while manipulating the STACK_OF(X509_NAME) object occurred or -the X509_NAME could not be extracted from B. Check the error stack -to find out the reason. - -=item Z<>1 - -The operation succeeded. - -=back - -=head1 EXAMPLES - -Scan all certificates in B and list them as acceptable CAs: - - SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(CAfile)); - -=head1 SEE ALSO - -L, -L, -L, -L - -=head1 COPYRIGHT - -Copyright 2000-2016 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 -L. - -=cut diff --git a/doc/man3/SSL_get_client_CA_list.pod b/doc/man3/SSL_get_client_CA_list.pod deleted file mode 100644 index 40c3561..0000000 --- a/doc/man3/SSL_get_client_CA_list.pod +++ /dev/null @@ -1,62 +0,0 @@ -=pod - -=head1 NAME - -SSL_get_client_CA_list, SSL_CTX_get_client_CA_list - get list of client CAs - -=head1 SYNOPSIS - - #include - - STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); - STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); - -=head1 DESCRIPTION - -SSL_CTX_get_client_CA_list() returns the list of client CAs explicitly set for -B using L. - -SSL_get_client_CA_list() returns the list of client CAs explicitly -set for B using SSL_set_client_CA_list() or B's SSL_CTX object with -L, when in -server mode. In client mode, SSL_get_client_CA_list returns the list of -client CAs sent from the server, if any. - -=head1 RETURN VALUES - -SSL_CTX_set_client_CA_list() and SSL_set_client_CA_list() do not return -diagnostic information. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() have the following return -values: - -=over 4 - -=item STACK_OF(X509_NAMES) - -List of CA names explicitly set (for B or in server mode) or send -by the server (client mode). - -=item NULL - -No client CA list was explicitly set (for B or in server mode) or -the server did not send a list of CAs (client mode). - -=back - -=head1 SEE ALSO - -L, -L, -L - -=head1 COPYRIGHT - -Copyright 2000-2016 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 -L. - -=cut diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 7d7357f..3314507 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -501,17 +501,17 @@ const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s) void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list) { - SSL_CTX_set0_CA_list(ctx, name_list); + set0_CA_list(&ctx->client_ca_names, name_list); } STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx) { - return ctx->ca_names; + return ctx->client_ca_names; } void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list) { - SSL_set0_CA_list(s, name_list); + set0_CA_list(&s->client_ca_names, name_list); } const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s) @@ -523,7 +523,8 @@ STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s) { if (!s->server) return s->s3 != NULL ? s->s3->tmp.peer_ca_names : NULL; - return s->ca_names != NULL ? s->ca_names : s->ctx->ca_names; + return s->client_ca_names != NULL ? s->client_ca_names + : s->ctx->client_ca_names; } static int add_ca_name(STACK_OF(X509_NAME) **sk, const X509 *x) @@ -561,12 +562,12 @@ int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x) */ int SSL_add_client_CA(SSL *ssl, X509 *x) { - return add_ca_name(&ssl->ca_names, x); + return add_ca_name(&ssl->client_ca_names, x); } int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x) { - return add_ca_name(&ctx->ca_names, x); + return add_ca_name(&ctx->client_ca_names, x); } static int xname_cmp(const X509_NAME *a, const X509_NAME *b) diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index e7e8aa9..087f768 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1194,6 +1194,7 @@ void SSL_free(SSL *s) EVP_MD_CTX_free(s->pha_dgst); sk_X509_NAME_pop_free(s->ca_names, X509_NAME_free); + sk_X509_NAME_pop_free(s->client_ca_names, X509_NAME_free); sk_X509_pop_free(s->verified_chain, X509_free); @@ -2953,6 +2954,9 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) if ((ret->ca_names = sk_X509_NAME_new_null()) == NULL) goto err; + if ((ret->client_ca_names = sk_X509_NAME_new_null()) == NULL) + goto err; + if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_SSL_CTX, ret, &ret->ex_data)) goto err; @@ -3110,6 +3114,7 @@ void SSL_CTX_free(SSL_CTX *a) sk_SSL_CIPHER_free(a->tls13_ciphersuites); ssl_cert_free(a->cert); sk_X509_NAME_pop_free(a->ca_names, X509_NAME_free); + sk_X509_NAME_pop_free(a->client_ca_names, X509_NAME_free); sk_X509_pop_free(a->extra_certs, X509_free); a->comp_methods = NULL; #ifndef OPENSSL_NO_SRTP @@ -3655,10 +3660,38 @@ const char *SSL_get_version(const SSL *s) return ssl_protocol_to_string(s->version); } -SSL *SSL_dup(SSL *s) +static int dup_ca_names(STACK_OF(X509_NAME) **dst, STACK_OF(X509_NAME) *src) { STACK_OF(X509_NAME) *sk; X509_NAME *xn; + int i; + + if (src == NULL) { + *dst = NULL; + return 1; + } + + if ((sk = sk_X509_NAME_new_null()) == NULL) + return 0; + for (i = 0; i < sk_X509_NAME_num(src); i++) { + xn = X509_NAME_dup(sk_X509_NAME_value(src, i)); + if (xn == NULL) { + sk_X509_NAME_pop_free(sk, X509_NAME_free); + return 0; + } + if (sk_X509_NAME_insert(sk, xn, i) == 0) { + X509_NAME_free(xn); + sk_X509_NAME_pop_free(sk, X509_NAME_free); + return 0; + } + } + *dst = sk; + + return 1; +} + +SSL *SSL_dup(SSL *s) +{ SSL *ret; int i; @@ -3763,18 +3796,10 @@ SSL *SSL_dup(SSL *s) goto err; /* Dup the client_CA list */ - if (s->ca_names != NULL) { - if ((sk = sk_X509_NAME_dup(s->ca_names)) == NULL) - goto err; - ret->ca_names = sk; - for (i = 0; i < sk_X509_NAME_num(sk); i++) { - xn = sk_X509_NAME_value(sk, i); - if (sk_X509_NAME_set(sk, i, X509_NAME_dup(xn)) == NULL) { - X509_NAME_free(xn); - goto err; - } - } - } + if (!dup_ca_names(&ret->ca_names, s->ca_names) + || !dup_ca_names(&ret->client_ca_names, s->client_ca_names)) + goto err; + return ret; err: diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 46719b0..e9c5c5c 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -854,9 +854,11 @@ struct ssl_ctx_st { /* * What we put in certificate_authorities extension for TLS 1.3 * (ClientHello and CertificateRequest) or just client cert requests for - * earlier versions. + * earlier versions. If client_ca_names is populated then it is only used + * for client cert requests, and in preference to ca_names. */ STACK_OF(X509_NAME) *ca_names; + STACK_OF(X509_NAME) *client_ca_names; /* * Default values to use in SSL structures follow (these are copied by @@ -1233,8 +1235,14 @@ struct ssl_st { long verify_result; /* extra application data */ CRYPTO_EX_DATA ex_data; - /* for server side, keep the list of CA_dn we can use */ + /* + * What we put in certificate_authorities extension for TLS 1.3 + * (ClientHello and CertificateRequest) or just client cert requests for + * earlier versions. If client_ca_names is populated then it is only used + * for client cert requests, and in preference to ca_names. + */ STACK_OF(X509_NAME) *ca_names; + STACK_OF(X509_NAME) *client_ca_names; CRYPTO_REF_COUNT references; /* protocol behaviour */ uint32_t options; diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index ad4256d..63e61c6 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1198,7 +1198,7 @@ static EXT_RETURN tls_construct_certificate_authorities(SSL *s, WPACKET *pkt, X509 *x, size_t chainidx) { - const STACK_OF(X509_NAME) *ca_sk = SSL_get0_CA_list(s); + const STACK_OF(X509_NAME) *ca_sk = get_ca_names(s); if (ca_sk == NULL || sk_X509_NAME_num(ca_sk) == 0) return EXT_RETURN_NOT_SENT; @@ -1211,7 +1211,7 @@ static EXT_RETURN tls_construct_certificate_authorities(SSL *s, WPACKET *pkt, return EXT_RETURN_FAIL; } - if (!construct_ca_names(s, pkt)) { + if (!construct_ca_names(s, ca_sk, pkt)) { /* SSLfatal() already called */ return EXT_RETURN_FAIL; } diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index dc2bd20..95c2206 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -2287,10 +2287,24 @@ int parse_ca_names(SSL *s, PACKET *pkt) return 0; } -int construct_ca_names(SSL *s, WPACKET *pkt) +const STACK_OF(X509_NAME) *get_ca_names(SSL *s) { - const STACK_OF(X509_NAME) *ca_sk = SSL_get0_CA_list(s); + const STACK_OF(X509_NAME) *ca_sk = NULL;; + if (s->server) { + ca_sk = SSL_get_client_CA_list(s); + if (ca_sk != NULL && sk_X509_NAME_num(ca_sk) == 0) + ca_sk = NULL; + } + + if (ca_sk == NULL) + ca_sk = SSL_get0_CA_list(s); + + return ca_sk; +} + +int construct_ca_names(SSL *s, const STACK_OF(X509_NAME) *ca_sk, WPACKET *pkt) +{ /* Start sub-packet for client CA list */ if (!WPACKET_start_sub_packet_u16(pkt)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_CONSTRUCT_CA_NAMES, diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h index 25e56e4..6b8cf37 100644 --- a/ssl/statem/statem_locl.h +++ b/ssl/statem/statem_locl.h @@ -61,7 +61,8 @@ int create_synthetic_message_hash(SSL *s, const unsigned char *hashval, size_t hashlen, const unsigned char *hrr, size_t hrrlen); int parse_ca_names(SSL *s, PACKET *pkt); -int construct_ca_names(SSL *s, WPACKET *pkt); +const STACK_OF(X509_NAME) *get_ca_names(SSL *s); +int construct_ca_names(SSL *s, const STACK_OF(X509_NAME) *ca_sk, WPACKET *pkt); size_t construct_key_exchange_tbs(SSL *s, unsigned char **ptbs, const void *param, size_t paramlen); diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 7d0e9d0..e7c11c4 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2880,7 +2880,7 @@ int tls_construct_certificate_request(SSL *s, WPACKET *pkt) } } - if (!construct_ca_names(s, pkt)) { + if (!construct_ca_names(s, get_ca_names(s), pkt)) { /* SSLfatal() already called */ return 0; } diff --git a/test/sslapitest.c b/test/sslapitest.c index 0b8f98f..108d57e 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -5669,12 +5669,128 @@ static int test_client_cert_cb(int tst) SSL_CTX_set_verify(sctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, verify_cb); + + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} + +#if !defined(OPENSSL_NO_TLS1_2) || !defined(OPENSSL_NO_TLS1_3) +/* + * Test setting certificate authorities on both client and server. + * + * Test 0: SSL_CTX_set0_CA_list() only + * Test 1: Both SSL_CTX_set0_CA_list() and SSL_CTX_set_client_CA_list() + * Test 2: Only SSL_CTX_set_client_CA_list() + */ +static int test_ca_names_int(int prot, int tst) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + size_t i; + X509_NAME *name[] = { NULL, NULL, NULL, NULL }; + char *strnames[] = { "Jack", "Jill", "John", "Joanne" }; + STACK_OF(X509_NAME) *sk1 = NULL, *sk2 = NULL; + const STACK_OF(X509_NAME) *sktmp = NULL; + + for (i = 0; i < OSSL_NELEM(name); i++) { + name[i] = X509_NAME_new(); + if (!TEST_ptr(name[i]) + || !TEST_true(X509_NAME_add_entry_by_txt(name[i], "CN", + MBSTRING_ASC, + (unsigned char *) + strnames[i], + -1, -1, 0))) + goto end; + } + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, + prot, + &sctx, &cctx, cert, privkey))) + goto end; + + SSL_CTX_set_verify(sctx, SSL_VERIFY_PEER, NULL); + + if (tst == 0 || tst == 1) { + if (!TEST_ptr(sk1 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[0]))) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[1]))) + || !TEST_ptr(sk2 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[0]))) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[1])))) + goto end; + + SSL_CTX_set0_CA_list(sctx, sk1); + SSL_CTX_set0_CA_list(cctx, sk2); + sk1 = sk2 = NULL; + } + if (tst == 1 || tst == 2) { + if (!TEST_ptr(sk1 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[2]))) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[3]))) + || !TEST_ptr(sk2 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[2]))) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[3])))) + goto end; + + SSL_CTX_set_client_CA_list(sctx, sk1); + SSL_CTX_set_client_CA_list(cctx, sk2); + sk1 = sk2 = NULL; + } + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, NULL, NULL)) || !TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) goto end; + /* + * We only expect certificate authorities to have been sent to the server + * if we are using TLSv1.3 and SSL_set0_CA_list() was used + */ + sktmp = SSL_get0_peer_CA_list(serverssl); + if (prot == TLS1_3_VERSION + && (tst == 0 || tst == 1)) { + if (!TEST_ptr(sktmp) + || !TEST_int_eq(sk_X509_NAME_num(sktmp), 2) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 0), + name[0]), 0) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 1), + name[1]), 0)) + goto end; + } else if (!TEST_ptr_null(sktmp)) { + goto end; + } + + /* + * In all tests we expect certificate authorities to have been sent to the + * client. However, SSL_set_client_CA_list() should override + * SSL_set0_CA_list() + */ + sktmp = SSL_get0_peer_CA_list(clientssl); + if (!TEST_ptr(sktmp) + || !TEST_int_eq(sk_X509_NAME_num(sktmp), 2) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 0), + name[tst == 0 ? 0 : 2]), 0) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 1), + name[tst == 0 ? 1 : 3]), 0)) + goto end; + testresult = 1; end: @@ -5682,6 +5798,25 @@ static int test_client_cert_cb(int tst) SSL_free(clientssl); SSL_CTX_free(sctx); SSL_CTX_free(cctx); + for (i = 0; i < OSSL_NELEM(name); i++) + X509_NAME_free(name[i]); + sk_X509_NAME_pop_free(sk1, X509_NAME_free); + sk_X509_NAME_pop_free(sk2, X509_NAME_free); + + return testresult; +} +#endif + +static int test_ca_names(int tst) +{ + int testresult = 1; + +#ifndef OPENSSL_NO_TLS1_2 + testresult &= test_ca_names_int(TLS1_2_VERSION, tst); +#endif +#ifndef OPENSSL_NO_TLS1_3 + testresult &= test_ca_names_int(TLS1_3_VERSION, tst); +#endif return testresult; } @@ -5790,6 +5925,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_shutdown, 7); ADD_ALL_TESTS(test_cert_cb, 3); ADD_ALL_TESTS(test_client_cert_cb, 2); + ADD_ALL_TESTS(test_ca_names, 3); return 1; } From matt at openssl.org Mon Nov 12 14:38:57 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 12 Nov 2018 14:38:57 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542033537.896167.7732.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 44197e961a66b8a2eda2a66857c8aa0c5059459c (commit) via 35130652c93fe924cc0a637d1fdb4fe731ec83dc (commit) via b4970e8bf5eeebd5b318d1c4b9aa11a73d183458 (commit) from 02d3c6aecc646872af1286144ce8af0693a9f4e3 (commit) - Log ----------------------------------------------------------------- commit 44197e961a66b8a2eda2a66857c8aa0c5059459c Author: Matt Caswell Date: Thu Nov 1 11:53:49 2018 +0000 Merge the CA list documentation for clarity Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) (cherry picked from commit 6e68dae85a8f91944370125561c7ec0d5da46c20) commit 35130652c93fe924cc0a637d1fdb4fe731ec83dc Author: Matt Caswell Date: Fri Oct 26 18:23:48 2018 +0100 Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) (cherry picked from commit fb8c83599e869516552f7c27bdc4dd26947fe657) commit b4970e8bf5eeebd5b318d1c4b9aa11a73d183458 Author: Matt Caswell Date: Fri Oct 26 11:43:19 2018 +0100 Separate ca_names handling for client and server SSL(_CTX)?_set_client_CA_list() was a server side only function in 1.1.0. If it was called on the client side then it was ignored. In 1.1.1 it now makes sense to have a CA list defined for both client and server (the client now sends it the the TLSv1.3 certificate_authorities extension). Unfortunately some applications were using the same SSL_CTX for both clients and servers and this resulted in some client ClientHellos being excessively large due to the number of certificate authorities being sent. This commit seperates out the CA list updated by SSL(_CTX)?_set_client_CA_list() and the more generic SSL(_CTX)?_set0_CA_list(). This means that SSL(_CTX)?_set_client_CA_list() still has no effect on the client side. If both CA lists are set then SSL(_CTX)?_set_client_CA_list() takes priority. Fixes #7411 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) (cherry picked from commit 98732979001dbb59320803713c4c91ba40234250) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set0_CA_list.pod | 148 ++++++++++++++++++++++++++------ doc/man3/SSL_CTX_set_client_CA_list.pod | 103 ---------------------- doc/man3/SSL_get_client_CA_list.pod | 62 ------------- ssl/ssl_cert.c | 13 +-- ssl/ssl_lib.c | 51 ++++++++--- ssl/ssl_locl.h | 12 ++- ssl/statem/extensions.c | 4 +- ssl/statem/statem_lib.c | 18 +++- ssl/statem/statem_locl.h | 3 +- ssl/statem/statem_srvr.c | 2 +- test/sslapitest.c | 136 +++++++++++++++++++++++++++++ 11 files changed, 334 insertions(+), 218 deletions(-) delete mode 100644 doc/man3/SSL_CTX_set_client_CA_list.pod delete mode 100644 doc/man3/SSL_get_client_CA_list.pod diff --git a/doc/man3/SSL_CTX_set0_CA_list.pod b/doc/man3/SSL_CTX_set0_CA_list.pod index 618bd73..d7ed897 100644 --- a/doc/man3/SSL_CTX_set0_CA_list.pod +++ b/doc/man3/SSL_CTX_set0_CA_list.pod @@ -2,14 +2,32 @@ =head1 NAME -SSL_set0_CA_list, SSL_CTX_set0_CA_list, SSL_get0_CA_list, -SSL_CTX_get0_CA_list, SSL_add1_to_CA_list, SSL_CTX_add1_to_CA_list, -SSL_get0_peer_CA_list - get or set CA list +SSL_CTX_set_client_CA_list, +SSL_set_client_CA_list, +SSL_get_client_CA_list, +SSL_CTX_get_client_CA_list, +SSL_CTX_add_client_CA, +SSL_add_client_CA, +SSL_set0_CA_list, +SSL_CTX_set0_CA_list, +SSL_get0_CA_list, +SSL_CTX_get0_CA_list, +SSL_add1_to_CA_list, +SSL_CTX_add1_to_CA_list, +SSL_get0_peer_CA_list +- get or set CA list =head1 SYNOPSIS #include + void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list); + void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list); + STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); + STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); + int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *cacert); + int SSL_add_client_CA(SSL *ssl, X509 *cacert); + void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx); @@ -21,6 +39,70 @@ SSL_get0_peer_CA_list - get or set CA list =head1 DESCRIPTION +The functions described here set and manage the list of CA names that are sent +between two communicating peers. + +For TLS versions 1.2 and earlier the list of CA names is only sent from the +server to the client when requesting a client certificate. So any list of CA +names set is never sent from client to server and the list of CA names retrieved +by SSL_get0_peer_CA_list() is always B. + +For TLS 1.3 the list of CA names is sent using the B +extension and may be sent by a client (in the ClientHello message) or by +a server (when requesting a certificate). + +In most cases it is not necessary to set CA names on the client side. The list +of CA names that are acceptable to the client will be sent in plaintext to the +server. This has privacy implications and may also have performance implications +if the list is large. This optional capability was introduced as part of TLSv1.3 +and therefore setting CA names on the client side will have no impact if that +protocol version has been disabled. Most servers do not need this and so this +should be avoided unless required. + +The "client CA list" functions below only have an effect when called on the +server side. + +SSL_CTX_set_client_CA_list() sets the B of CAs sent to the client when +requesting a client certificate for B. Ownership of B is transferred +to B and it should not be freed by the caller. + +SSL_set_client_CA_list() sets the B of CAs sent to the client when +requesting a client certificate for the chosen B, overriding the +setting valid for B's SSL_CTX object. Ownership of B is transferred +to B and it should not be freed by the caller. + +SSL_CTX_get_client_CA_list() returns the list of client CAs explicitly set for +B using SSL_CTX_set_client_CA_list(). The returned list should not be freed +by the caller. + +SSL_get_client_CA_list() returns the list of client CAs explicitly +set for B using SSL_set_client_CA_list() or B's SSL_CTX object with +SSL_CTX_set_client_CA_list(), when in server mode. In client mode, +SSL_get_client_CA_list returns the list of client CAs sent from the server, if +any. The returned list should not be freed by the caller. + +SSL_CTX_add_client_CA() adds the CA name extracted from B to the +list of CAs sent to the client when requesting a client certificate for +B. + +SSL_add_client_CA() adds the CA name extracted from B to the +list of CAs sent to the client when requesting a client certificate for +the chosen B, overriding the setting valid for B's SSL_CTX object. + +SSL_get0_peer_CA_list() retrieves the list of CA names (if any) the peer +has sent. This can be called on either the server or the client side. The +returned list should not be freed by the caller. + +The "generic CA list" functions below are very similar to the "client CA +list" functions except that they have an effect on both the server and client +sides. The lists of CA names managed are separate - so you cannot (for example) +set CA names using the "client CA list" functions and then get them using the +"generic CA list" functions. Where a mix of the two types of functions has been +used on the server side then the "client CA list" functions take precedence. +Typically, on the server side, the "client CA list " functions should be used in +preference. As noted above in most cases it is not necessary to set CA names on +the client side. + SSL_CTX_set0_CA_list() sets the list of CAs to be sent to the peer to B. Ownership of B is transferred to B and it should not be freed by the caller. @@ -30,10 +112,11 @@ overriding any list set in the parent B of B. Ownership of B is transferred to B and it should not be freed by the caller. SSL_CTX_get0_CA_list() retrieves any previously set list of CAs set for -B. +B. The returned list should not be freed by the caller. -SSL_CTX_get0_CA_list() retrieves any previously set list of CAs set for -B or if none are set the list from the parent B is retrieved. +SSL_get0_CA_list() retrieves any previously set list of CAs set for +B or if none are set the list from the parent B is retrieved. The +returned list should not be freed by the caller. SSL_CTX_add1_to_CA_list() appends the CA subject name extracted from B to the list of CAs sent to peer for B. @@ -42,47 +125,60 @@ SSL_add1_to_CA_list() appends the CA subject name extracted from B to the list of CAs sent to the peer for B, overriding the setting in the parent B. -SSL_get0_peer_CA_list() retrieves the list of CA names (if any) the peer -has sent. - =head1 NOTES -These functions are generalised versions of the client authentication -CA list functions such as L. +When a TLS/SSL server requests a client certificate (see +B), it sends a list of CAs, for which it will accept +certificates, to the client. -For TLS versions before 1.3 the list of CA names is only sent from the server -to client when requesting a client certificate. So any list of CA names set -is never sent from client to server and the list of CA names retrieved by -SSL_get0_peer_CA_list() is always B. +This list must explicitly be set using SSL_CTX_set_client_CA_list() or +SSL_CTX_set0_CA_list() for B and SSL_set_client_CA_list() or +SSL_set0_CA_list() for the specific B. The list specified +overrides the previous setting. The CAs listed do not become trusted (B +only contains the names, not the complete certificates); use +L to additionally load them for verification. -For TLS 1.3 the list of CA names is sent using the B -extension and will be sent by a client (in the ClientHello message) or by -a server (when requesting a certificate). +If the list of acceptable CAs is compiled in a file, the +L function can be used to help to import the +necessary data. + +SSL_CTX_add_client_CA(), SSL_CTX_add1_to_CA_list(), SSL_add_client_CA() and +SSL_add1_to_CA_list() can be used to add additional items the list of CAs. If no +list was specified before using SSL_CTX_set_client_CA_list(), +SSL_CTX_set0_CA_list(), SSL_set_client_CA_list() or SSL_set0_CA_list(), a +new CA list for B or B (as appropriate) is opened. =head1 RETURN VALUES -SSL_CTX_set0_CA_list() and SSL_set0_CA_list() do not return a value. +SSL_CTX_set_client_CA_list(), SSL_set_client_CA_list(), +SSL_CTX_set_client_CA_list(), SSL_set_client_CA_list(), SSL_CTX_set0_CA_list() +and SSL_set0_CA_list() do not return a value. -SSL_CTX_get0_CA_list() and SSL_get0_CA_list() return a stack of CA names -or B is no CA names are set. +SSL_CTX_get_client_CA_list(), SSL_get_client_CA_list(), SSL_CTX_get0_CA_list() +and SSL_get0_CA_list() return a stack of CA names or B is no CA names are +set. -SSL_CTX_add1_to_CA_list() and SSL_add1_to_CA_list() return 1 for success and 0 -for failure. +SSL_CTX_add_client_CA(),SSL_add_client_CA(), SSL_CTX_add1_to_CA_list() and +SSL_add1_to_CA_list() return 1 for success and 0 for failure. SSL_get0_peer_CA_list() returns a stack of CA names sent by the peer or B or an empty stack if no list was sent. +=head1 EXAMPLES + +Scan all certificates in B and list them as acceptable CAs: + + SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(CAfile)); + =head1 SEE ALSO L, -L, -L, L, L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 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 diff --git a/doc/man3/SSL_CTX_set_client_CA_list.pod b/doc/man3/SSL_CTX_set_client_CA_list.pod deleted file mode 100644 index 76fd65e..0000000 --- a/doc/man3/SSL_CTX_set_client_CA_list.pod +++ /dev/null @@ -1,103 +0,0 @@ -=pod - -=head1 NAME - -SSL_CTX_set_client_CA_list, SSL_set_client_CA_list, SSL_CTX_add_client_CA, -SSL_add_client_CA - set list of CAs sent to the client when requesting a -client certificate - -=head1 SYNOPSIS - - #include - - void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list); - void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list); - int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *cacert); - int SSL_add_client_CA(SSL *ssl, X509 *cacert); - -=head1 DESCRIPTION - -SSL_CTX_set_client_CA_list() sets the B of CAs sent to the client when -requesting a client certificate for B. - -SSL_set_client_CA_list() sets the B of CAs sent to the client when -requesting a client certificate for the chosen B, overriding the -setting valid for B's SSL_CTX object. - -SSL_CTX_add_client_CA() adds the CA name extracted from B to the -list of CAs sent to the client when requesting a client certificate for -B. - -SSL_add_client_CA() adds the CA name extracted from B to the -list of CAs sent to the client when requesting a client certificate for -the chosen B, overriding the setting valid for B's SSL_CTX object. - -=head1 NOTES - -When a TLS/SSL server requests a client certificate (see -B), it sends a list of CAs, for which -it will accept certificates, to the client. - -This list must explicitly be set using SSL_CTX_set_client_CA_list() for -B and SSL_set_client_CA_list() for the specific B. The list -specified overrides the previous setting. The CAs listed do not become -trusted (B only contains the names, not the complete certificates); use -L -to additionally load them for verification. - -If the list of acceptable CAs is compiled in a file, the -L -function can be used to help importing the necessary data. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() can be used to add additional -items the list of client CAs. If no list was specified before using -SSL_CTX_set_client_CA_list() or SSL_set_client_CA_list(), a new client -CA list for B or B (as appropriate) is opened. - -These functions are only useful for TLS/SSL servers. - -=head1 RETURN VALUES - -SSL_CTX_set_client_CA_list() and SSL_set_client_CA_list() do not return -diagnostic information. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() have the following return -values: - -=over 4 - -=item Z<>0 - -A failure while manipulating the STACK_OF(X509_NAME) object occurred or -the X509_NAME could not be extracted from B. Check the error stack -to find out the reason. - -=item Z<>1 - -The operation succeeded. - -=back - -=head1 EXAMPLES - -Scan all certificates in B and list them as acceptable CAs: - - SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(CAfile)); - -=head1 SEE ALSO - -L, -L, -L, -L - -=head1 COPYRIGHT - -Copyright 2000-2016 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 -L. - -=cut diff --git a/doc/man3/SSL_get_client_CA_list.pod b/doc/man3/SSL_get_client_CA_list.pod deleted file mode 100644 index 40c3561..0000000 --- a/doc/man3/SSL_get_client_CA_list.pod +++ /dev/null @@ -1,62 +0,0 @@ -=pod - -=head1 NAME - -SSL_get_client_CA_list, SSL_CTX_get_client_CA_list - get list of client CAs - -=head1 SYNOPSIS - - #include - - STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); - STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); - -=head1 DESCRIPTION - -SSL_CTX_get_client_CA_list() returns the list of client CAs explicitly set for -B using L. - -SSL_get_client_CA_list() returns the list of client CAs explicitly -set for B using SSL_set_client_CA_list() or B's SSL_CTX object with -L, when in -server mode. In client mode, SSL_get_client_CA_list returns the list of -client CAs sent from the server, if any. - -=head1 RETURN VALUES - -SSL_CTX_set_client_CA_list() and SSL_set_client_CA_list() do not return -diagnostic information. - -SSL_CTX_add_client_CA() and SSL_add_client_CA() have the following return -values: - -=over 4 - -=item STACK_OF(X509_NAMES) - -List of CA names explicitly set (for B or in server mode) or send -by the server (client mode). - -=item NULL - -No client CA list was explicitly set (for B or in server mode) or -the server did not send a list of CAs (client mode). - -=back - -=head1 SEE ALSO - -L, -L, -L - -=head1 COPYRIGHT - -Copyright 2000-2016 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 -L. - -=cut diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 7d7357f..3314507 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -501,17 +501,17 @@ const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s) void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list) { - SSL_CTX_set0_CA_list(ctx, name_list); + set0_CA_list(&ctx->client_ca_names, name_list); } STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx) { - return ctx->ca_names; + return ctx->client_ca_names; } void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list) { - SSL_set0_CA_list(s, name_list); + set0_CA_list(&s->client_ca_names, name_list); } const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s) @@ -523,7 +523,8 @@ STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s) { if (!s->server) return s->s3 != NULL ? s->s3->tmp.peer_ca_names : NULL; - return s->ca_names != NULL ? s->ca_names : s->ctx->ca_names; + return s->client_ca_names != NULL ? s->client_ca_names + : s->ctx->client_ca_names; } static int add_ca_name(STACK_OF(X509_NAME) **sk, const X509 *x) @@ -561,12 +562,12 @@ int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x) */ int SSL_add_client_CA(SSL *ssl, X509 *x) { - return add_ca_name(&ssl->ca_names, x); + return add_ca_name(&ssl->client_ca_names, x); } int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x) { - return add_ca_name(&ctx->ca_names, x); + return add_ca_name(&ctx->client_ca_names, x); } static int xname_cmp(const X509_NAME *a, const X509_NAME *b) diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 17b13d1..61a0ea2 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1196,6 +1196,7 @@ void SSL_free(SSL *s) EVP_MD_CTX_free(s->pha_dgst); sk_X509_NAME_pop_free(s->ca_names, X509_NAME_free); + sk_X509_NAME_pop_free(s->client_ca_names, X509_NAME_free); sk_X509_pop_free(s->verified_chain, X509_free); @@ -2955,6 +2956,9 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) if ((ret->ca_names = sk_X509_NAME_new_null()) == NULL) goto err; + if ((ret->client_ca_names = sk_X509_NAME_new_null()) == NULL) + goto err; + if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_SSL_CTX, ret, &ret->ex_data)) goto err; @@ -3112,6 +3116,7 @@ void SSL_CTX_free(SSL_CTX *a) sk_SSL_CIPHER_free(a->tls13_ciphersuites); ssl_cert_free(a->cert); sk_X509_NAME_pop_free(a->ca_names, X509_NAME_free); + sk_X509_NAME_pop_free(a->client_ca_names, X509_NAME_free); sk_X509_pop_free(a->extra_certs, X509_free); a->comp_methods = NULL; #ifndef OPENSSL_NO_SRTP @@ -3657,10 +3662,38 @@ const char *SSL_get_version(const SSL *s) return ssl_protocol_to_string(s->version); } -SSL *SSL_dup(SSL *s) +static int dup_ca_names(STACK_OF(X509_NAME) **dst, STACK_OF(X509_NAME) *src) { STACK_OF(X509_NAME) *sk; X509_NAME *xn; + int i; + + if (src == NULL) { + *dst = NULL; + return 1; + } + + if ((sk = sk_X509_NAME_new_null()) == NULL) + return 0; + for (i = 0; i < sk_X509_NAME_num(src); i++) { + xn = X509_NAME_dup(sk_X509_NAME_value(src, i)); + if (xn == NULL) { + sk_X509_NAME_pop_free(sk, X509_NAME_free); + return 0; + } + if (sk_X509_NAME_insert(sk, xn, i) == 0) { + X509_NAME_free(xn); + sk_X509_NAME_pop_free(sk, X509_NAME_free); + return 0; + } + } + *dst = sk; + + return 1; +} + +SSL *SSL_dup(SSL *s) +{ SSL *ret; int i; @@ -3765,18 +3798,10 @@ SSL *SSL_dup(SSL *s) goto err; /* Dup the client_CA list */ - if (s->ca_names != NULL) { - if ((sk = sk_X509_NAME_dup(s->ca_names)) == NULL) - goto err; - ret->ca_names = sk; - for (i = 0; i < sk_X509_NAME_num(sk); i++) { - xn = sk_X509_NAME_value(sk, i); - if (sk_X509_NAME_set(sk, i, X509_NAME_dup(xn)) == NULL) { - X509_NAME_free(xn); - goto err; - } - } - } + if (!dup_ca_names(&ret->ca_names, s->ca_names) + || !dup_ca_names(&ret->client_ca_names, s->client_ca_names)) + goto err; + return ret; err: diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 46719b0..e9c5c5c 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -854,9 +854,11 @@ struct ssl_ctx_st { /* * What we put in certificate_authorities extension for TLS 1.3 * (ClientHello and CertificateRequest) or just client cert requests for - * earlier versions. + * earlier versions. If client_ca_names is populated then it is only used + * for client cert requests, and in preference to ca_names. */ STACK_OF(X509_NAME) *ca_names; + STACK_OF(X509_NAME) *client_ca_names; /* * Default values to use in SSL structures follow (these are copied by @@ -1233,8 +1235,14 @@ struct ssl_st { long verify_result; /* extra application data */ CRYPTO_EX_DATA ex_data; - /* for server side, keep the list of CA_dn we can use */ + /* + * What we put in certificate_authorities extension for TLS 1.3 + * (ClientHello and CertificateRequest) or just client cert requests for + * earlier versions. If client_ca_names is populated then it is only used + * for client cert requests, and in preference to ca_names. + */ STACK_OF(X509_NAME) *ca_names; + STACK_OF(X509_NAME) *client_ca_names; CRYPTO_REF_COUNT references; /* protocol behaviour */ uint32_t options; diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index ad4256d..63e61c6 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1198,7 +1198,7 @@ static EXT_RETURN tls_construct_certificate_authorities(SSL *s, WPACKET *pkt, X509 *x, size_t chainidx) { - const STACK_OF(X509_NAME) *ca_sk = SSL_get0_CA_list(s); + const STACK_OF(X509_NAME) *ca_sk = get_ca_names(s); if (ca_sk == NULL || sk_X509_NAME_num(ca_sk) == 0) return EXT_RETURN_NOT_SENT; @@ -1211,7 +1211,7 @@ static EXT_RETURN tls_construct_certificate_authorities(SSL *s, WPACKET *pkt, return EXT_RETURN_FAIL; } - if (!construct_ca_names(s, pkt)) { + if (!construct_ca_names(s, ca_sk, pkt)) { /* SSLfatal() already called */ return EXT_RETURN_FAIL; } diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index dc2bd20..95c2206 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -2287,10 +2287,24 @@ int parse_ca_names(SSL *s, PACKET *pkt) return 0; } -int construct_ca_names(SSL *s, WPACKET *pkt) +const STACK_OF(X509_NAME) *get_ca_names(SSL *s) { - const STACK_OF(X509_NAME) *ca_sk = SSL_get0_CA_list(s); + const STACK_OF(X509_NAME) *ca_sk = NULL;; + if (s->server) { + ca_sk = SSL_get_client_CA_list(s); + if (ca_sk != NULL && sk_X509_NAME_num(ca_sk) == 0) + ca_sk = NULL; + } + + if (ca_sk == NULL) + ca_sk = SSL_get0_CA_list(s); + + return ca_sk; +} + +int construct_ca_names(SSL *s, const STACK_OF(X509_NAME) *ca_sk, WPACKET *pkt) +{ /* Start sub-packet for client CA list */ if (!WPACKET_start_sub_packet_u16(pkt)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_CONSTRUCT_CA_NAMES, diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h index 25e56e4..6b8cf37 100644 --- a/ssl/statem/statem_locl.h +++ b/ssl/statem/statem_locl.h @@ -61,7 +61,8 @@ int create_synthetic_message_hash(SSL *s, const unsigned char *hashval, size_t hashlen, const unsigned char *hrr, size_t hrrlen); int parse_ca_names(SSL *s, PACKET *pkt); -int construct_ca_names(SSL *s, WPACKET *pkt); +const STACK_OF(X509_NAME) *get_ca_names(SSL *s); +int construct_ca_names(SSL *s, const STACK_OF(X509_NAME) *ca_sk, WPACKET *pkt); size_t construct_key_exchange_tbs(SSL *s, unsigned char **ptbs, const void *param, size_t paramlen); diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 7d0e9d0..e7c11c4 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2880,7 +2880,7 @@ int tls_construct_certificate_request(SSL *s, WPACKET *pkt) } } - if (!construct_ca_names(s, pkt)) { + if (!construct_ca_names(s, get_ca_names(s), pkt)) { /* SSLfatal() already called */ return 0; } diff --git a/test/sslapitest.c b/test/sslapitest.c index 0b8f98f..108d57e 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -5669,12 +5669,128 @@ static int test_client_cert_cb(int tst) SSL_CTX_set_verify(sctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, verify_cb); + + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} + +#if !defined(OPENSSL_NO_TLS1_2) || !defined(OPENSSL_NO_TLS1_3) +/* + * Test setting certificate authorities on both client and server. + * + * Test 0: SSL_CTX_set0_CA_list() only + * Test 1: Both SSL_CTX_set0_CA_list() and SSL_CTX_set_client_CA_list() + * Test 2: Only SSL_CTX_set_client_CA_list() + */ +static int test_ca_names_int(int prot, int tst) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + size_t i; + X509_NAME *name[] = { NULL, NULL, NULL, NULL }; + char *strnames[] = { "Jack", "Jill", "John", "Joanne" }; + STACK_OF(X509_NAME) *sk1 = NULL, *sk2 = NULL; + const STACK_OF(X509_NAME) *sktmp = NULL; + + for (i = 0; i < OSSL_NELEM(name); i++) { + name[i] = X509_NAME_new(); + if (!TEST_ptr(name[i]) + || !TEST_true(X509_NAME_add_entry_by_txt(name[i], "CN", + MBSTRING_ASC, + (unsigned char *) + strnames[i], + -1, -1, 0))) + goto end; + } + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, + prot, + &sctx, &cctx, cert, privkey))) + goto end; + + SSL_CTX_set_verify(sctx, SSL_VERIFY_PEER, NULL); + + if (tst == 0 || tst == 1) { + if (!TEST_ptr(sk1 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[0]))) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[1]))) + || !TEST_ptr(sk2 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[0]))) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[1])))) + goto end; + + SSL_CTX_set0_CA_list(sctx, sk1); + SSL_CTX_set0_CA_list(cctx, sk2); + sk1 = sk2 = NULL; + } + if (tst == 1 || tst == 2) { + if (!TEST_ptr(sk1 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[2]))) + || !TEST_true(sk_X509_NAME_push(sk1, X509_NAME_dup(name[3]))) + || !TEST_ptr(sk2 = sk_X509_NAME_new_null()) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[2]))) + || !TEST_true(sk_X509_NAME_push(sk2, X509_NAME_dup(name[3])))) + goto end; + + SSL_CTX_set_client_CA_list(sctx, sk1); + SSL_CTX_set_client_CA_list(cctx, sk2); + sk1 = sk2 = NULL; + } + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, NULL, NULL)) || !TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) goto end; + /* + * We only expect certificate authorities to have been sent to the server + * if we are using TLSv1.3 and SSL_set0_CA_list() was used + */ + sktmp = SSL_get0_peer_CA_list(serverssl); + if (prot == TLS1_3_VERSION + && (tst == 0 || tst == 1)) { + if (!TEST_ptr(sktmp) + || !TEST_int_eq(sk_X509_NAME_num(sktmp), 2) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 0), + name[0]), 0) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 1), + name[1]), 0)) + goto end; + } else if (!TEST_ptr_null(sktmp)) { + goto end; + } + + /* + * In all tests we expect certificate authorities to have been sent to the + * client. However, SSL_set_client_CA_list() should override + * SSL_set0_CA_list() + */ + sktmp = SSL_get0_peer_CA_list(clientssl); + if (!TEST_ptr(sktmp) + || !TEST_int_eq(sk_X509_NAME_num(sktmp), 2) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 0), + name[tst == 0 ? 0 : 2]), 0) + || !TEST_int_eq(X509_NAME_cmp(sk_X509_NAME_value(sktmp, 1), + name[tst == 0 ? 1 : 3]), 0)) + goto end; + testresult = 1; end: @@ -5682,6 +5798,25 @@ static int test_client_cert_cb(int tst) SSL_free(clientssl); SSL_CTX_free(sctx); SSL_CTX_free(cctx); + for (i = 0; i < OSSL_NELEM(name); i++) + X509_NAME_free(name[i]); + sk_X509_NAME_pop_free(sk1, X509_NAME_free); + sk_X509_NAME_pop_free(sk2, X509_NAME_free); + + return testresult; +} +#endif + +static int test_ca_names(int tst) +{ + int testresult = 1; + +#ifndef OPENSSL_NO_TLS1_2 + testresult &= test_ca_names_int(TLS1_2_VERSION, tst); +#endif +#ifndef OPENSSL_NO_TLS1_3 + testresult &= test_ca_names_int(TLS1_3_VERSION, tst); +#endif return testresult; } @@ -5790,6 +5925,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_shutdown, 7); ADD_ALL_TESTS(test_cert_cb, 3); ADD_ALL_TESTS(test_client_cert_cb, 2); + ADD_ALL_TESTS(test_ca_names, 3); return 1; } From builds at travis-ci.org Mon Nov 12 14:57:34 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 14:57:34 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21671 (master - 6e68dae) In-Reply-To: Message-ID: <5be994ddcf377_43fdeb2919d141424b2@d4cc4c95-1a7e-43eb-bade-d75202c0b8ae.mail> Build Update for openssl/openssl ------------------------------------- Build: #21671 Status: Still Failing Duration: 18 mins and 35 secs Commit: 6e68dae (master) Author: Matt Caswell Message: Merge the CA list documentation for clarity Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) View the changeset: https://github.com/openssl/openssl/compare/24ae00388fb9...6e68dae85a8f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453996219?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 12 15:10:24 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 15:10:24 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21672 (OpenSSL_1_1_1-stable - 44197e9) In-Reply-To: Message-ID: <5be997e096227_43fc077e166181095b5@bc5e40fa-384e-476d-a7da-0ad80a84f2fb.mail> Build Update for openssl/openssl ------------------------------------- Build: #21672 Status: Still Failing Duration: 25 mins and 58 secs Commit: 44197e9 (OpenSSL_1_1_1-stable) Author: Matt Caswell Message: Merge the CA list documentation for clarity Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7503) (cherry picked from commit 6e68dae85a8f91944370125561c7ec0d5da46c20) View the changeset: https://github.com/openssl/openssl/compare/02d3c6aecc64...44197e961a66 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/453996502?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark at openssl.org Mon Nov 12 16:16:24 2018 From: mark at openssl.org (Mark J. Cox) Date: Mon, 12 Nov 2018 16:16:24 +0000 Subject: [openssl-commits] [web] master update Message-ID: <1542039384.730790.21036.nullmailer@dev.openssl.org> The branch master has been updated via a7fc7eb4f8d9d6b21c3376d6e815d0735909bd7b (commit) via 93507ac9b3d6cd013b2148f83c0726817cf71576 (commit) via 92a7bda034e49e626bf933f9e61b82a2cefe308c (commit) from b78d963402ca83b6ede75f1a5d42d64ca61c2c49 (commit) - Log ----------------------------------------------------------------- commit a7fc7eb4f8d9d6b21c3376d6e815d0735909bd7b Merge: b78d963 93507ac Author: Mark J. Cox Date: Mon Nov 12 16:09:29 2018 +0000 Merge pull request #94 from iamamoose/master trivial changes - CVE-2015-1788 was missing severity tag, fix bad website includes commit 93507ac9b3d6cd013b2148f83c0726817cf71576 Author: Mark J. Cox Date: Mon Nov 12 16:01:40 2018 +0000 CVE-2015-1788 was missing the severity tag commit 92a7bda034e49e626bf933f9e61b82a2cefe308c Author: Mark J. Cox Date: Sat Oct 13 10:29:45 2018 +0100 Remove broken include ----------------------------------------------------------------------- Summary of changes: news/vulnerabilities.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/news/vulnerabilities.xml b/news/vulnerabilities.xml index 97ec427..86b18c0 100644 --- a/news/vulnerabilities.xml +++ b/news/vulnerabilities.xml @@ -2482,6 +2482,7 @@ + From matt at openssl.org Mon Nov 12 16:51:37 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 12 Nov 2018 16:51:37 +0000 Subject: [openssl-commits] [web] master update Message-ID: <1542041497.780368.25136.nullmailer@dev.openssl.org> The branch master has been updated via 28c43932d579cd6ba18ec411bb828a2512c3419e (commit) from a7fc7eb4f8d9d6b21c3376d6e815d0735909bd7b (commit) - Log ----------------------------------------------------------------- commit 28c43932d579cd6ba18ec411bb828a2512c3419e Author: Matt Caswell Date: Mon Nov 12 15:02:14 2018 +0000 Updates for CVE-2018-5407 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/web/pull/93) ----------------------------------------------------------------------- Summary of changes: news/secadv/20181112.txt | 41 +++++++++++++++++++++++++++++++++++++++++ news/vulnerabilities.xml | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 news/secadv/20181112.txt diff --git a/news/secadv/20181112.txt b/news/secadv/20181112.txt new file mode 100644 index 0000000..764520e --- /dev/null +++ b/news/secadv/20181112.txt @@ -0,0 +1,41 @@ +OpenSSL Security Advisory [12 November 2018] +============================================ + +Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) +=================================================================================== + +Severity: Low + +OpenSSL ECC scalar multiplication, used in e.g. ECDSA and ECDH, has been shown +to be vulnerable to a microarchitecture timing side channel attack. An attacker +with sufficient access to mount local timing attacks during ECDSA signature +generation could recover the private key. + +This issue does not impact OpenSSL 1.1.1 and is already fixed in the latest +version of OpenSSL 1.1.0 (1.1.0i). OpenSSL 1.0.2 is affected but due to the low +severity of this issue we are not creating a new release at this time. The 1.0.2 +mitigation for this issue can be found in commit b18162a7c. + +OpenSSL 1.1.0 users should upgrade to 1.1.0i. + +This issue was reported to OpenSSL on 26th October 2018 by Alejandro Cabrera +Aldaya, Billy Brumley, Sohaib ul Hassan, Cesar Pereida Garcia and Nicola Tuveri. + +Note +==== + +OpenSSL 1.1.0 is currently only receiving security updates. Support for this +version will end on 11th September 2019. Users of this version should upgrade to +OpenSSL 1.1.1. + +References +========== + +URL for this Security Advisory: +https://www.openssl.org/news/secadv/20181112.txt + +Note: the online version of the advisory may be updated with additional details +over time. + +For details of OpenSSL severity classifications please see: +https://www.openssl.org/policies/secpolicy.html diff --git a/news/vulnerabilities.xml b/news/vulnerabilities.xml index 86b18c0..46cdcff 100644 --- a/news/vulnerabilities.xml +++ b/news/vulnerabilities.xml @@ -7,7 +7,53 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Side Channel Attack + Microarchitecture timing vulnerability in ECC scalar multiplication + + OpenSSL ECC scalar multiplication, used in e.g. ECDSA and ECDH, has been shown + to be vulnerable to a microarchitecture timing side channel attack. An attacker + with sufficient access to mount local timing attacks during ECDSA signature + generation could recover the private key. + + + + From viktor at openssl.org Mon Nov 12 21:54:24 2018 From: viktor at openssl.org (Viktor Dukhovni) Date: Mon, 12 Nov 2018 21:54:24 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542059664.213634.6317.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 45f247258a87b73e76f95631e0f4aa22298fd19c (commit) from 44197e961a66b8a2eda2a66857c8aa0c5059459c (commit) - Log ----------------------------------------------------------------- commit 45f247258a87b73e76f95631e0f4aa22298fd19c Author: Viktor Dukhovni Date: Sat Nov 10 01:53:56 2018 -0500 Added missing signature algorithm reflection functions SSL_get_signature_nid() -- local signature algorithm SSL_get_signature_type_nid() -- local signature algorithm key type SSL_get_peer_tmp_key() -- Peer key-exchange public key SSL_get_tmp_key -- local key exchange public key Aliased pre-existing SSL_get_server_tmp_key(), which was formerly just for clients, to SSL_get_peer_tmp_key(). Changed internal calls to use the new name. Reviewed-by: Matt Caswell ----------------------------------------------------------------------- Summary of changes: apps/s_cb.c | 3 ++- doc/man3/SSL_get_peer_signature_nid.pod | 12 ++++++++--- ...server_tmp_key.pod => SSL_get_peer_tmp_key.pod} | 22 ++++++++++++++------ include/openssl/ssl.h | 18 +++++++++++++--- include/openssl/tls1.h | 1 + ssl/s3_lib.c | 24 ++++++++++++++++++++-- ssl/t1_lib.c | 8 ++++++++ test/handshake_helper.c | 2 +- test/ssltest_old.c | 2 +- util/libssl.num | 1 + util/private.num | 3 +++ 11 files changed, 79 insertions(+), 17 deletions(-) rename doc/man3/{SSL_get_server_tmp_key.pod => SSL_get_peer_tmp_key.pod} (50%) diff --git a/apps/s_cb.c b/apps/s_cb.c index 46b3864..2d4568f 100644 --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -394,7 +394,8 @@ int ssl_print_groups(BIO *out, SSL *s, int noshared) int ssl_print_tmp_key(BIO *out, SSL *s) { EVP_PKEY *key; - if (!SSL_get_server_tmp_key(s, &key)) + + if (!SSL_get_peer_tmp_key(s, &key)) return 1; BIO_puts(out, "Server Temp Key: "); switch (EVP_PKEY_id(key)) { diff --git a/doc/man3/SSL_get_peer_signature_nid.pod b/doc/man3/SSL_get_peer_signature_nid.pod index ce6ab61..dbca8cf 100644 --- a/doc/man3/SSL_get_peer_signature_nid.pod +++ b/doc/man3/SSL_get_peer_signature_nid.pod @@ -2,8 +2,9 @@ =head1 NAME -SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid - get TLS -message signing types +SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid, +SSL_get_signature_nid, SSL_get_signature_type_nid - get TLS message signing +types =head1 SYNOPSIS @@ -11,6 +12,8 @@ message signing types int SSL_get_peer_signature_nid(SSL *ssl, int *psig_nid); int SSL_get_peer_signature_type_nid(const SSL *ssl, int *psigtype_nid); + int SSL_get_signature_nid(SSL *ssl, int *psig_nid); + int SSL_get_signature_type_nid(const SSL *ssl, int *psigtype_nid); =head1 DESCRIPTION @@ -24,12 +27,15 @@ where it is B. To differentiate between B and B signatures, it's necessary to check the type of public key in the peer's certificate. +SSL_get_signature_nid() and SSL_get_signature_type_nid() return the equivalent +information for the local end of the connection. + =head1 RETURN VALUES These functions return 1 for success and 0 for failure. There are several possible reasons for failure: the cipher suite has no signature (e.g. it uses RSA key exchange or is anonymous), the TLS version is below 1.2 or -the functions were called before the peer signed a message. +the functions were called too early, e.g. before the peer signed a message. =head1 SEE ALSO diff --git a/doc/man3/SSL_get_server_tmp_key.pod b/doc/man3/SSL_get_peer_tmp_key.pod similarity index 50% rename from doc/man3/SSL_get_server_tmp_key.pod rename to doc/man3/SSL_get_peer_tmp_key.pod index fda891b..23006b3 100644 --- a/doc/man3/SSL_get_server_tmp_key.pod +++ b/doc/man3/SSL_get_peer_tmp_key.pod @@ -2,26 +2,36 @@ =head1 NAME -SSL_get_server_tmp_key - get information about the server's temporary key used -during a handshake +SSL_get_peer_tmp_key, SSL_get_server_tmp_key, SSL_get_tmp_key - get information +about temporary keys used during a handshake =head1 SYNOPSIS #include + long SSL_get_peer_tmp_key(SSL *ssl, EVP_PKEY **key); long SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **key); + long SSL_get_tmp_key(SSL *ssl, EVP_PKEY **key); =head1 DESCRIPTION -SSL_get_server_tmp_key() returns the temporary key provided by the server and +SSL_get_peer_tmp_key() returns the temporary key provided by the peer and used during key exchange. For example, if ECDHE is in use, then this represents -the server's public ECDHE key. On success a pointer to the key is stored in +the peer's public ECDHE key. On success a pointer to the key is stored in B<*key>. It is the caller's responsibility to free this key after use using -L. This function may only be called by the client. +L. + +SSL_get_server_tmp_key() is a backwards compatibility alias for +SSL_get_peer_tmp_key(). +Under that name it worked just on the client side of the connection, its +behaviour on the server end is release-dependent. + +SSL_get_tmp_key() returns the equivalent information for the local +end of the connection. =head1 RETURN VALUES -SSL_get_server_tmp_key() returns 1 on success or 0 otherwise. +All these functions return 1 on success and 0 otherwise. =head1 NOTES diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 0a18a43..d6b1b4e 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1271,7 +1271,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SET_VERIFY_CERT_STORE 106 # define SSL_CTRL_SET_CHAIN_CERT_STORE 107 # define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 -# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_PEER_TMP_KEY 109 # define SSL_CTRL_GET_RAW_CIPHERLIST 110 # define SSL_CTRL_GET_EC_POINT_FORMATS 111 # define SSL_CTRL_GET_CHAIN_CERTS 115 @@ -1290,6 +1290,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 # define SSL_CTRL_GET_MIN_PROTO_VERSION 130 # define SSL_CTRL_GET_MAX_PROTO_VERSION 131 +# define SSL_CTRL_GET_SIGNATURE_NID 132 +# define SSL_CTRL_GET_TMP_KEY 133 # define SSL_CERT_SET_FIRST 1 # define SSL_CERT_SET_NEXT 2 # define SSL_CERT_SET_SERVER 3 @@ -1410,10 +1412,14 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) (char *)(clist)) # define SSL_set1_client_certificate_types(s, clist, clistlen) \ SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist)) +# define SSL_get_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn) # define SSL_get_peer_signature_nid(s, pn) \ SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) -# define SSL_get_server_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get_peer_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk) +# define SSL_get_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk) # define SSL_get0_raw_cipherlist(s, plst) \ SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) # define SSL_get0_ec_point_formats(s, plst) \ @@ -1435,6 +1441,12 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_get_max_proto_version(s) \ SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) +/* Backwards compatibility, original 1.1.0 names */ +# define SSL_CTRL_GET_SERVER_TMP_KEY \ + SSL_CTRL_GET_PEER_TMP_KEY +# define SSL_get_server_tmp_key(s, pk) \ + SSL_get_peer_tmp_key(s, pk) + /* * The following symbol names are old and obsolete. They are kept * for compatibility reasons only and should not be used anymore. diff --git a/include/openssl/tls1.h b/include/openssl/tls1.h index 2e46cf8..e13b5dd 100644 --- a/include/openssl/tls1.h +++ b/include/openssl/tls1.h @@ -241,6 +241,7 @@ __owur int SSL_export_keying_material_early(SSL *s, unsigned char *out, size_t contextlen); int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid); +int SSL_get_signature_type_nid(const SSL *s, int *pnid); int SSL_get_sigalgs(SSL *s, int idx, int *psign, int *phash, int *psignandhash, diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 7713f76..866ca4d 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3681,9 +3681,15 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) *(int *)parg = s->s3->tmp.peer_sigalg->hash; return 1; - case SSL_CTRL_GET_SERVER_TMP_KEY: + case SSL_CTRL_GET_SIGNATURE_NID: + if (s->s3->tmp.sigalg == NULL) + return 0; + *(int *)parg = s->s3->tmp.sigalg->hash; + return 1; + + case SSL_CTRL_GET_PEER_TMP_KEY: #if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) - if (s->server || s->session == NULL || s->s3->peer_tmp == NULL) { + if (s->session == NULL || s->s3->peer_tmp == NULL) { return 0; } else { EVP_PKEY_up_ref(s->s3->peer_tmp); @@ -3693,6 +3699,20 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) #else return 0; #endif + + case SSL_CTRL_GET_TMP_KEY: +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) + if (s->session == NULL || s->s3->tmp.pkey == NULL) { + return 0; + } else { + EVP_PKEY_up_ref(s->s3->tmp.pkey); + *(EVP_PKEY **)parg = s->s3->tmp.pkey; + return 1; + } +#else + return 0; +#endif + #ifndef OPENSSL_NO_EC case SSL_CTRL_GET_EC_POINT_FORMATS: { diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 8e73d06..e79c7bf 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -1122,6 +1122,14 @@ int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid) return 1; } +int SSL_get_signature_type_nid(const SSL *s, int *pnid) +{ + if (s->s3->tmp.sigalg == NULL) + return 0; + *pnid = s->s3->tmp.sigalg->sig; + return 1; +} + /* * Set a mask of disabled algorithms: an algorithm is disabled if it isn't * supported, doesn't appear in supported signature algorithms, isn't supported diff --git a/test/handshake_helper.c b/test/handshake_helper.c index a5b8d80..40bfd3e 100644 --- a/test/handshake_helper.c +++ b/test/handshake_helper.c @@ -1673,7 +1673,7 @@ static HANDSHAKE_RESULT *do_handshake_internal( *serv_sess_out = SSL_SESSION_dup(tmp); } - if (SSL_get_server_tmp_key(client.ssl, &tmp_key)) { + if (SSL_get_peer_tmp_key(client.ssl, &tmp_key)) { ret->tmp_key_type = pkey_type(tmp_key); EVP_PKEY_free(tmp_key); } diff --git a/test/ssltest_old.c b/test/ssltest_old.c index e974f6c..9297077 100644 --- a/test/ssltest_old.c +++ b/test/ssltest_old.c @@ -779,7 +779,7 @@ static void print_details(SSL *c_ssl, const char *prefix) } X509_free(cert); } - if (SSL_get_server_tmp_key(c_ssl, &pkey)) { + if (SSL_get_peer_tmp_key(c_ssl, &pkey)) { BIO_puts(bio_stdout, ", temp key: "); print_key_details(bio_stdout, pkey); EVP_PKEY_free(pkey); diff --git a/util/libssl.num b/util/libssl.num index ccf7341..297522c 100644 --- a/util/libssl.num +++ b/util/libssl.num @@ -497,3 +497,4 @@ SSL_get_recv_max_early_data 497 1_1_1 EXIST::FUNCTION: SSL_CTX_get_recv_max_early_data 498 1_1_1 EXIST::FUNCTION: SSL_CTX_set_recv_max_early_data 499 1_1_1 EXIST::FUNCTION: SSL_CTX_set_post_handshake_auth 500 1_1_1 EXIST::FUNCTION: +SSL_get_signature_type_nid 501 1_1_1a EXIST::FUNCTION: diff --git a/util/private.num b/util/private.num index c456578..a6ef44e 100644 --- a/util/private.num +++ b/util/private.num @@ -394,14 +394,17 @@ SSL_get_max_proto_version define SSL_get_min_proto_version define SSL_get_mode define SSL_get_peer_signature_nid define +SSL_get_peer_tmp_key define SSL_get_secure_renegotiation_support define SSL_get_server_tmp_key define SSL_get_shared_curve define SSL_get_shared_group define +SSL_get_signature_nid define SSL_get_time define SSL_get_timeout define SSL_get_tlsext_status_ocsp_resp define SSL_get_tlsext_status_type define +SSL_get_tmp_key define SSL_in_accept_init define SSL_in_connect_init define SSL_library_init define From viktor at openssl.org Mon Nov 12 21:55:59 2018 From: viktor at openssl.org (Viktor Dukhovni) Date: Mon, 12 Nov 2018 21:55:59 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542059759.507106.7499.nullmailer@dev.openssl.org> The branch master has been updated via a51c9f637cdef7926d8a8991365e4b58975346db (commit) from 6e68dae85a8f91944370125561c7ec0d5da46c20 (commit) - Log ----------------------------------------------------------------- commit a51c9f637cdef7926d8a8991365e4b58975346db Author: Viktor Dukhovni Date: Sat Nov 10 01:53:56 2018 -0500 Added missing signature algorithm reflection functions SSL_get_signature_nid() -- local signature algorithm SSL_get_signature_type_nid() -- local signature algorithm key type SSL_get_peer_tmp_key() -- Peer key-exchange public key SSL_get_tmp_key -- local key exchange public key Aliased pre-existing SSL_get_server_tmp_key(), which was formerly just for clients, to SSL_get_peer_tmp_key(). Changed internal calls to use the new name. Reviewed-by: Matt Caswell ----------------------------------------------------------------------- Summary of changes: apps/s_cb.c | 3 ++- doc/man3/SSL_get_peer_signature_nid.pod | 12 ++++++++--- ...server_tmp_key.pod => SSL_get_peer_tmp_key.pod} | 22 ++++++++++++++------ include/openssl/ssl.h | 18 +++++++++++++--- include/openssl/tls1.h | 1 + ssl/s3_lib.c | 24 ++++++++++++++++++++-- ssl/t1_lib.c | 8 ++++++++ test/handshake_helper.c | 2 +- test/ssltest_old.c | 2 +- util/libssl.num | 1 + util/private.num | 3 +++ 11 files changed, 79 insertions(+), 17 deletions(-) rename doc/man3/{SSL_get_server_tmp_key.pod => SSL_get_peer_tmp_key.pod} (50%) diff --git a/apps/s_cb.c b/apps/s_cb.c index 46b3864..2d4568f 100644 --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -394,7 +394,8 @@ int ssl_print_groups(BIO *out, SSL *s, int noshared) int ssl_print_tmp_key(BIO *out, SSL *s) { EVP_PKEY *key; - if (!SSL_get_server_tmp_key(s, &key)) + + if (!SSL_get_peer_tmp_key(s, &key)) return 1; BIO_puts(out, "Server Temp Key: "); switch (EVP_PKEY_id(key)) { diff --git a/doc/man3/SSL_get_peer_signature_nid.pod b/doc/man3/SSL_get_peer_signature_nid.pod index ce6ab61..dbca8cf 100644 --- a/doc/man3/SSL_get_peer_signature_nid.pod +++ b/doc/man3/SSL_get_peer_signature_nid.pod @@ -2,8 +2,9 @@ =head1 NAME -SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid - get TLS -message signing types +SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid, +SSL_get_signature_nid, SSL_get_signature_type_nid - get TLS message signing +types =head1 SYNOPSIS @@ -11,6 +12,8 @@ message signing types int SSL_get_peer_signature_nid(SSL *ssl, int *psig_nid); int SSL_get_peer_signature_type_nid(const SSL *ssl, int *psigtype_nid); + int SSL_get_signature_nid(SSL *ssl, int *psig_nid); + int SSL_get_signature_type_nid(const SSL *ssl, int *psigtype_nid); =head1 DESCRIPTION @@ -24,12 +27,15 @@ where it is B. To differentiate between B and B signatures, it's necessary to check the type of public key in the peer's certificate. +SSL_get_signature_nid() and SSL_get_signature_type_nid() return the equivalent +information for the local end of the connection. + =head1 RETURN VALUES These functions return 1 for success and 0 for failure. There are several possible reasons for failure: the cipher suite has no signature (e.g. it uses RSA key exchange or is anonymous), the TLS version is below 1.2 or -the functions were called before the peer signed a message. +the functions were called too early, e.g. before the peer signed a message. =head1 SEE ALSO diff --git a/doc/man3/SSL_get_server_tmp_key.pod b/doc/man3/SSL_get_peer_tmp_key.pod similarity index 50% rename from doc/man3/SSL_get_server_tmp_key.pod rename to doc/man3/SSL_get_peer_tmp_key.pod index fda891b..23006b3 100644 --- a/doc/man3/SSL_get_server_tmp_key.pod +++ b/doc/man3/SSL_get_peer_tmp_key.pod @@ -2,26 +2,36 @@ =head1 NAME -SSL_get_server_tmp_key - get information about the server's temporary key used -during a handshake +SSL_get_peer_tmp_key, SSL_get_server_tmp_key, SSL_get_tmp_key - get information +about temporary keys used during a handshake =head1 SYNOPSIS #include + long SSL_get_peer_tmp_key(SSL *ssl, EVP_PKEY **key); long SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **key); + long SSL_get_tmp_key(SSL *ssl, EVP_PKEY **key); =head1 DESCRIPTION -SSL_get_server_tmp_key() returns the temporary key provided by the server and +SSL_get_peer_tmp_key() returns the temporary key provided by the peer and used during key exchange. For example, if ECDHE is in use, then this represents -the server's public ECDHE key. On success a pointer to the key is stored in +the peer's public ECDHE key. On success a pointer to the key is stored in B<*key>. It is the caller's responsibility to free this key after use using -L. This function may only be called by the client. +L. + +SSL_get_server_tmp_key() is a backwards compatibility alias for +SSL_get_peer_tmp_key(). +Under that name it worked just on the client side of the connection, its +behaviour on the server end is release-dependent. + +SSL_get_tmp_key() returns the equivalent information for the local +end of the connection. =head1 RETURN VALUES -SSL_get_server_tmp_key() returns 1 on success or 0 otherwise. +All these functions return 1 on success and 0 otherwise. =head1 NOTES diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index ffe1583..cceb2d4 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1271,7 +1271,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SET_VERIFY_CERT_STORE 106 # define SSL_CTRL_SET_CHAIN_CERT_STORE 107 # define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 -# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_PEER_TMP_KEY 109 # define SSL_CTRL_GET_RAW_CIPHERLIST 110 # define SSL_CTRL_GET_EC_POINT_FORMATS 111 # define SSL_CTRL_GET_CHAIN_CERTS 115 @@ -1290,6 +1290,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 # define SSL_CTRL_GET_MIN_PROTO_VERSION 130 # define SSL_CTRL_GET_MAX_PROTO_VERSION 131 +# define SSL_CTRL_GET_SIGNATURE_NID 132 +# define SSL_CTRL_GET_TMP_KEY 133 # define SSL_CERT_SET_FIRST 1 # define SSL_CERT_SET_NEXT 2 # define SSL_CERT_SET_SERVER 3 @@ -1410,10 +1412,14 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) (char *)(clist)) # define SSL_set1_client_certificate_types(s, clist, clistlen) \ SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist)) +# define SSL_get_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn) # define SSL_get_peer_signature_nid(s, pn) \ SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) -# define SSL_get_server_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get_peer_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk) +# define SSL_get_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk) # define SSL_get0_raw_cipherlist(s, plst) \ SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) # define SSL_get0_ec_point_formats(s, plst) \ @@ -1435,6 +1441,12 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_get_max_proto_version(s) \ SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) +/* Backwards compatibility, original 1.1.0 names */ +# define SSL_CTRL_GET_SERVER_TMP_KEY \ + SSL_CTRL_GET_PEER_TMP_KEY +# define SSL_get_server_tmp_key(s, pk) \ + SSL_get_peer_tmp_key(s, pk) + /* * The following symbol names are old and obsolete. They are kept * for compatibility reasons only and should not be used anymore. diff --git a/include/openssl/tls1.h b/include/openssl/tls1.h index 2e46cf8..e13b5dd 100644 --- a/include/openssl/tls1.h +++ b/include/openssl/tls1.h @@ -241,6 +241,7 @@ __owur int SSL_export_keying_material_early(SSL *s, unsigned char *out, size_t contextlen); int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid); +int SSL_get_signature_type_nid(const SSL *s, int *pnid); int SSL_get_sigalgs(SSL *s, int idx, int *psign, int *phash, int *psignandhash, diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 7713f76..866ca4d 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3681,9 +3681,15 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) *(int *)parg = s->s3->tmp.peer_sigalg->hash; return 1; - case SSL_CTRL_GET_SERVER_TMP_KEY: + case SSL_CTRL_GET_SIGNATURE_NID: + if (s->s3->tmp.sigalg == NULL) + return 0; + *(int *)parg = s->s3->tmp.sigalg->hash; + return 1; + + case SSL_CTRL_GET_PEER_TMP_KEY: #if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) - if (s->server || s->session == NULL || s->s3->peer_tmp == NULL) { + if (s->session == NULL || s->s3->peer_tmp == NULL) { return 0; } else { EVP_PKEY_up_ref(s->s3->peer_tmp); @@ -3693,6 +3699,20 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) #else return 0; #endif + + case SSL_CTRL_GET_TMP_KEY: +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) + if (s->session == NULL || s->s3->tmp.pkey == NULL) { + return 0; + } else { + EVP_PKEY_up_ref(s->s3->tmp.pkey); + *(EVP_PKEY **)parg = s->s3->tmp.pkey; + return 1; + } +#else + return 0; +#endif + #ifndef OPENSSL_NO_EC case SSL_CTRL_GET_EC_POINT_FORMATS: { diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index ddafa0c..fe13a39 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -1122,6 +1122,14 @@ int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid) return 1; } +int SSL_get_signature_type_nid(const SSL *s, int *pnid) +{ + if (s->s3->tmp.sigalg == NULL) + return 0; + *pnid = s->s3->tmp.sigalg->sig; + return 1; +} + /* * Set a mask of disabled algorithms: an algorithm is disabled if it isn't * supported, doesn't appear in supported signature algorithms, isn't supported diff --git a/test/handshake_helper.c b/test/handshake_helper.c index a5b8d80..40bfd3e 100644 --- a/test/handshake_helper.c +++ b/test/handshake_helper.c @@ -1673,7 +1673,7 @@ static HANDSHAKE_RESULT *do_handshake_internal( *serv_sess_out = SSL_SESSION_dup(tmp); } - if (SSL_get_server_tmp_key(client.ssl, &tmp_key)) { + if (SSL_get_peer_tmp_key(client.ssl, &tmp_key)) { ret->tmp_key_type = pkey_type(tmp_key); EVP_PKEY_free(tmp_key); } diff --git a/test/ssltest_old.c b/test/ssltest_old.c index e974f6c..9297077 100644 --- a/test/ssltest_old.c +++ b/test/ssltest_old.c @@ -779,7 +779,7 @@ static void print_details(SSL *c_ssl, const char *prefix) } X509_free(cert); } - if (SSL_get_server_tmp_key(c_ssl, &pkey)) { + if (SSL_get_peer_tmp_key(c_ssl, &pkey)) { BIO_puts(bio_stdout, ", temp key: "); print_key_details(bio_stdout, pkey); EVP_PKEY_free(pkey); diff --git a/util/libssl.num b/util/libssl.num index ccf7341..297522c 100644 --- a/util/libssl.num +++ b/util/libssl.num @@ -497,3 +497,4 @@ SSL_get_recv_max_early_data 497 1_1_1 EXIST::FUNCTION: SSL_CTX_get_recv_max_early_data 498 1_1_1 EXIST::FUNCTION: SSL_CTX_set_recv_max_early_data 499 1_1_1 EXIST::FUNCTION: SSL_CTX_set_post_handshake_auth 500 1_1_1 EXIST::FUNCTION: +SSL_get_signature_type_nid 501 1_1_1a EXIST::FUNCTION: diff --git a/util/private.num b/util/private.num index 27d352a..c5f3431 100644 --- a/util/private.num +++ b/util/private.num @@ -400,14 +400,17 @@ SSL_get_max_proto_version define SSL_get_min_proto_version define SSL_get_mode define SSL_get_peer_signature_nid define +SSL_get_peer_tmp_key define SSL_get_secure_renegotiation_support define SSL_get_server_tmp_key define SSL_get_shared_curve define SSL_get_shared_group define +SSL_get_signature_nid define SSL_get_time define SSL_get_timeout define SSL_get_tlsext_status_ocsp_resp define SSL_get_tlsext_status_type define +SSL_get_tmp_key define SSL_in_accept_init define SSL_in_connect_init define SSL_library_init define From builds at travis-ci.org Mon Nov 12 22:12:16 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 22:12:16 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21676 (OpenSSL_1_1_1-stable - 45f2472) In-Reply-To: Message-ID: <5be9fabe2b9e1_43fbb8d8497882107ae@45668be3-b210-4f46-9726-69ded75fe7c7.mail> Build Update for openssl/openssl ------------------------------------- Build: #21676 Status: Still Failing Duration: 17 mins and 2 secs Commit: 45f2472 (OpenSSL_1_1_1-stable) Author: Viktor Dukhovni Message: Added missing signature algorithm reflection functions SSL_get_signature_nid() -- local signature algorithm SSL_get_signature_type_nid() -- local signature algorithm key type SSL_get_peer_tmp_key() -- Peer key-exchange public key SSL_get_tmp_key -- local key exchange public key Aliased pre-existing SSL_get_server_tmp_key(), which was formerly just for clients, to SSL_get_peer_tmp_key(). Changed internal calls to use the new name. Reviewed-by: Matt Caswell View the changeset: https://github.com/openssl/openssl/compare/44197e961a66...45f247258a87 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454192664?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Nov 12 22:27:35 2018 From: builds at travis-ci.org (Travis CI) Date: Mon, 12 Nov 2018 22:27:35 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21677 (master - a51c9f6) In-Reply-To: Message-ID: <5be9fe56de8ff_43fbb86e150742145db@45668be3-b210-4f46-9726-69ded75fe7c7.mail> Build Update for openssl/openssl ------------------------------------- Build: #21677 Status: Still Failing Duration: 27 mins and 5 secs Commit: a51c9f6 (master) Author: Viktor Dukhovni Message: Added missing signature algorithm reflection functions SSL_get_signature_nid() -- local signature algorithm SSL_get_signature_type_nid() -- local signature algorithm key type SSL_get_peer_tmp_key() -- Peer key-exchange public key SSL_get_tmp_key -- local key exchange public key Aliased pre-existing SSL_get_server_tmp_key(), which was formerly just for clients, to SSL_get_peer_tmp_key(). Changed internal calls to use the new name. Reviewed-by: Matt Caswell View the changeset: https://github.com/openssl/openssl/compare/6e68dae85a8f...a51c9f637cde View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454193267?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From openssl at openssl.org Tue Nov 13 01:13:39 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 13 Nov 2018 01:13:39 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1542071619.761958.4616.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: a51c9f637c Added missing signature algorithm reflection functions 6e68dae85a Merge the CA list documentation for clarity fb8c83599e Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() 9873297900 Separate ca_names handling for client and server 24ae00388f Test use of a brainpool ECDSA certificate 83c81eebed Add some test brainpool certificates de4dc59802 Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable 425036130d Fix SipHash init order. Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_admis.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_admis.o -c -o crypto/x509v3/libcrypto-lib-v3_admis.o ../openssl/crypto/x509v3/v3_admis.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_akey.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_akey.o -c -o crypto/x509v3/libcrypto-lib-v3_akey.o ../openssl/crypto/x509v3/v3_akey.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_akeya.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_akeya.o -c -o crypto/x509v3/libcrypto-lib-v3_akeya.o ../openssl/crypto/x509v3/v3_akeya.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_alt.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_alt.o -c -o crypto/x509v3/libcrypto-lib-v3_alt.o ../openssl/crypto/x509v3/v3_alt.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_asid.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_asid.o -c -o crypto/x509v3/libcrypto-lib-v3_asid.o ../openssl/crypto/x509v3/v3_asid.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_bcons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_bcons.o -c -o crypto/x509v3/libcrypto-lib-v3_bcons.o ../openssl/crypto/x509v3/v3_bcons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_bitst.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_bitst.o -c -o crypto/x509v3/libcrypto-lib-v3_bitst.o ../openssl/crypto/x509v3/v3_bitst.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_conf.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_conf.o -c -o crypto/x509v3/libcrypto-lib-v3_conf.o ../openssl/crypto/x509v3/v3_conf.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_cpols.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_cpols.o -c -o crypto/x509v3/libcrypto-lib-v3_cpols.o ../openssl/crypto/x509v3/v3_cpols.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_crld.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_crld.o -c -o crypto/x509v3/libcrypto-lib-v3_crld.o ../openssl/crypto/x509v3/v3_crld.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_enum.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_enum.o -c -o crypto/x509v3/libcrypto-lib-v3_enum.o ../openssl/crypto/x509v3/v3_enum.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_extku.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_extku.o -c -o crypto/x509v3/libcrypto-lib-v3_extku.o ../openssl/crypto/x509v3/v3_extku.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_genn.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_genn.o -c -o crypto/x509v3/libcrypto-lib-v3_genn.o ../openssl/crypto/x509v3/v3_genn.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_ia5.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_ia5.o -c -o crypto/x509v3/libcrypto-lib-v3_ia5.o ../openssl/crypto/x509v3/v3_ia5.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_info.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_info.o -c -o crypto/x509v3/libcrypto-lib-v3_info.o ../openssl/crypto/x509v3/v3_info.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_int.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_int.o -c -o crypto/x509v3/libcrypto-lib-v3_int.o ../openssl/crypto/x509v3/v3_int.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_lib.o -c -o crypto/x509v3/libcrypto-lib-v3_lib.o ../openssl/crypto/x509v3/v3_lib.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_ncons.o -c -o crypto/x509v3/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509v3/v3_ncons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pci.o -c -o crypto/x509v3/libcrypto-lib-v3_pci.o ../openssl/crypto/x509v3/v3_pci.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pcia.o -c -o crypto/x509v3/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509v3/v3_pcia.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pcons.o -c -o crypto/x509v3/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509v3/v3_pcons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pku.o -c -o crypto/x509v3/libcrypto-lib-v3_pku.o ../openssl/crypto/x509v3/v3_pku.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pmaps.o -c -o crypto/x509v3/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509v3/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_prn.o -c -o crypto/x509v3/libcrypto-lib-v3_prn.o ../openssl/crypto/x509v3/v3_prn.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_purp.o -c -o crypto/x509v3/libcrypto-lib-v3_purp.o ../openssl/crypto/x509v3/v3_purp.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_skey.o -c -o crypto/x509v3/libcrypto-lib-v3_skey.o ../openssl/crypto/x509v3/v3_skey.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_sxnet.o -c -o crypto/x509v3/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509v3/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_tlsf.o -c -o crypto/x509v3/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509v3/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_utl.o -c -o crypto/x509v3/libcrypto-lib-v3_utl.o ../openssl/crypto/x509v3/v3_utl.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3err.d.tmp -MT crypto/x509v3/libcrypto-lib-v3err.o -c -o crypto/x509v3/libcrypto-lib-v3err.o ../openssl/crypto/x509v3/v3err.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-bio_ssl.d.tmp -MT ssl/libssl-lib-bio_ssl.o -c -o ssl/libssl-lib-bio_ssl.o ../openssl/ssl/bio_ssl.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_lib.d.tmp -MT ssl/libssl-lib-d1_lib.o -c -o ssl/libssl-lib-d1_lib.o ../openssl/ssl/d1_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_msg.d.tmp -MT ssl/libssl-lib-d1_msg.o -c -o ssl/libssl-lib-d1_msg.o ../openssl/ssl/d1_msg.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_srtp.d.tmp -MT ssl/libssl-lib-d1_srtp.o -c -o ssl/libssl-lib-d1_srtp.o ../openssl/ssl/d1_srtp.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-methods.d.tmp -MT ssl/libssl-lib-methods.o -c -o ssl/libssl-lib-methods.o ../openssl/ssl/methods.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-packet.d.tmp -MT ssl/libssl-lib-packet.o -c -o ssl/libssl-lib-packet.o ../openssl/ssl/packet.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-pqueue.d.tmp -MT ssl/libssl-lib-pqueue.o -c -o ssl/libssl-lib-pqueue.o ../openssl/ssl/pqueue.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_cbc.d.tmp -MT ssl/libssl-lib-s3_cbc.o -c -o ssl/libssl-lib-s3_cbc.o ../openssl/ssl/s3_cbc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_enc.d.tmp -MT ssl/libssl-lib-s3_enc.o -c -o ssl/libssl-lib-s3_enc.o ../openssl/ssl/s3_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_lib.d.tmp -MT ssl/libssl-lib-s3_lib.o -c -o ssl/libssl-lib-s3_lib.o ../openssl/ssl/s3_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_msg.d.tmp -MT ssl/libssl-lib-s3_msg.o -c -o ssl/libssl-lib-s3_msg.o ../openssl/ssl/s3_msg.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_asn1.d.tmp -MT ssl/libssl-lib-ssl_asn1.o -c -o ssl/libssl-lib-ssl_asn1.o ../openssl/ssl/ssl_asn1.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_cert.d.tmp -MT ssl/libssl-lib-ssl_cert.o -c -o ssl/libssl-lib-ssl_cert.o ../openssl/ssl/ssl_cert.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_ciph.d.tmp -MT ssl/libssl-lib-ssl_ciph.o -c -o ssl/libssl-lib-ssl_ciph.o ../openssl/ssl/ssl_ciph.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_conf.d.tmp -MT ssl/libssl-lib-ssl_conf.o -c -o ssl/libssl-lib-ssl_conf.o ../openssl/ssl/ssl_conf.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_err.d.tmp -MT ssl/libssl-lib-ssl_err.o -c -o ssl/libssl-lib-ssl_err.o ../openssl/ssl/ssl_err.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_init.d.tmp -MT ssl/libssl-lib-ssl_init.o -c -o ssl/libssl-lib-ssl_init.o ../openssl/ssl/ssl_init.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_lib.d.tmp -MT ssl/libssl-lib-ssl_lib.o -c -o ssl/libssl-lib-ssl_lib.o ../openssl/ssl/ssl_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_mcnf.d.tmp -MT ssl/libssl-lib-ssl_mcnf.o -c -o ssl/libssl-lib-ssl_mcnf.o ../openssl/ssl/ssl_mcnf.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_rsa.d.tmp -MT ssl/libssl-lib-ssl_rsa.o -c -o ssl/libssl-lib-ssl_rsa.o ../openssl/ssl/ssl_rsa.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_sess.d.tmp -MT ssl/libssl-lib-ssl_sess.o -c -o ssl/libssl-lib-ssl_sess.o ../openssl/ssl/ssl_sess.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_stat.d.tmp -MT ssl/libssl-lib-ssl_stat.o -c -o ssl/libssl-lib-ssl_stat.o ../openssl/ssl/ssl_stat.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_txt.d.tmp -MT ssl/libssl-lib-ssl_txt.o -c -o ssl/libssl-lib-ssl_txt.o ../openssl/ssl/ssl_txt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_utst.d.tmp -MT ssl/libssl-lib-ssl_utst.o -c -o ssl/libssl-lib-ssl_utst.o ../openssl/ssl/ssl_utst.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_enc.d.tmp -MT ssl/libssl-lib-t1_enc.o -c -o ssl/libssl-lib-t1_enc.o ../openssl/ssl/t1_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_lib.d.tmp -MT ssl/libssl-lib-t1_lib.o -c -o ssl/libssl-lib-t1_lib.o ../openssl/ssl/t1_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_trce.d.tmp -MT ssl/libssl-lib-t1_trce.o -c -o ssl/libssl-lib-t1_trce.o ../openssl/ssl/t1_trce.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-tls13_enc.d.tmp -MT ssl/libssl-lib-tls13_enc.o -c -o ssl/libssl-lib-tls13_enc.o ../openssl/ssl/tls13_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-tls_srp.d.tmp -MT ssl/libssl-lib-tls_srp.o -c -o ssl/libssl-lib-tls_srp.o ../openssl/ssl/tls_srp.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-dtls1_bitmap.d.tmp -MT ssl/record/libssl-lib-dtls1_bitmap.o -c -o ssl/record/libssl-lib-dtls1_bitmap.o ../openssl/ssl/record/dtls1_bitmap.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-rec_layer_d1.d.tmp -MT ssl/record/libssl-lib-rec_layer_d1.o -c -o ssl/record/libssl-lib-rec_layer_d1.o ../openssl/ssl/record/rec_layer_d1.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-rec_layer_s3.d.tmp -MT ssl/record/libssl-lib-rec_layer_s3.o -c -o ssl/record/libssl-lib-rec_layer_s3.o ../openssl/ssl/record/rec_layer_s3.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_buffer.d.tmp -MT ssl/record/libssl-lib-ssl3_buffer.o -c -o ssl/record/libssl-lib-ssl3_buffer.o ../openssl/ssl/record/ssl3_buffer.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_record.d.tmp -MT ssl/record/libssl-lib-ssl3_record.o -c -o ssl/record/libssl-lib-ssl3_record.o ../openssl/ssl/record/ssl3_record.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_record_tls13.d.tmp -MT ssl/record/libssl-lib-ssl3_record_tls13.o -c -o ssl/record/libssl-lib-ssl3_record_tls13.o ../openssl/ssl/record/ssl3_record_tls13.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions.d.tmp -MT ssl/statem/libssl-lib-extensions.o -c -o ssl/statem/libssl-lib-extensions.o ../openssl/ssl/statem/extensions.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_clnt.d.tmp -MT ssl/statem/libssl-lib-extensions_clnt.o -c -o ssl/statem/libssl-lib-extensions_clnt.o ../openssl/ssl/statem/extensions_clnt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_cust.d.tmp -MT ssl/statem/libssl-lib-extensions_cust.o -c -o ssl/statem/libssl-lib-extensions_cust.o ../openssl/ssl/statem/extensions_cust.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_srvr.d.tmp -MT ssl/statem/libssl-lib-extensions_srvr.o -c -o ssl/statem/libssl-lib-extensions_srvr.o ../openssl/ssl/statem/extensions_srvr.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem.d.tmp -MT ssl/statem/libssl-lib-statem.o -c -o ssl/statem/libssl-lib-statem.o ../openssl/ssl/statem/statem.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_clnt.d.tmp -MT ssl/statem/libssl-lib-statem_clnt.o -c -o ssl/statem/libssl-lib-statem_clnt.o ../openssl/ssl/statem/statem_clnt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_dtls.d.tmp -MT ssl/statem/libssl-lib-statem_dtls.o -c -o ssl/statem/libssl-lib-statem_dtls.o ../openssl/ssl/statem/statem_dtls.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_lib.d.tmp -MT ssl/statem/libssl-lib-statem_lib.o -c -o ssl/statem/libssl-lib-statem_lib.o ../openssl/ssl/statem/statem_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_srvr.d.tmp -MT ssl/statem/libssl-lib-statem_srvr.o -c -o ssl/statem/libssl-lib-statem_srvr.o ../openssl/ssl/statem/statem_srvr.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-basic_output.d.tmp -MT test/testutil/libtestutil-lib-basic_output.o -c -o test/testutil/libtestutil-lib-basic_output.o ../openssl/test/testutil/basic_output.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-cb.d.tmp -MT test/testutil/libtestutil-lib-cb.o -c -o test/testutil/libtestutil-lib-cb.o ../openssl/test/testutil/cb.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-driver.d.tmp -MT test/testutil/libtestutil-lib-driver.o -c -o test/testutil/libtestutil-lib-driver.o ../openssl/test/testutil/driver.c ../openssl/ssl/statem/statem_lib.c:1540:17: error: implicit declaration of function 'EVP_PKEY_get0_EC_KEY' is invalid in C99 [-Werror,-Wimplicit-function-declaration] eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); ^ ../openssl/ssl/statem/statem_lib.c:1540:17: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/statem/statem_lib.c:1540:15: error: incompatible integer to pointer conversion assigning to 'EC_KEY *' (aka 'struct ec_key_st *') from 'int' [-Werror,-Wint-conversion] eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/statem/statem_lib.c:1543:17: error: implicit declaration of function 'EC_GROUP_get_curve_name' is invalid in C99 [-Werror,-Wimplicit-function-declaration] curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); ^ ../openssl/ssl/statem/statem_lib.c:1543:17: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/statem/statem_lib.c:1543:41: error: implicit declaration of function 'EC_KEY_get0_group' is invalid in C99 [-Werror,-Wimplicit-function-declaration] curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); ^ clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-format_output.d.tmp -MT test/testutil/libtestutil-lib-format_output.o -c -o test/testutil/libtestutil-lib-format_output.o ../openssl/test/testutil/format_output.c ../openssl/ssl/statem/statem_lib.c:1543:41: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] 7 errors generated. Makefile:11265: recipe for target 'ssl/statem/libssl-lib-statem_lib.o' failed make[1]: *** [ssl/statem/libssl-lib-statem_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:171: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Tue Nov 13 03:20:53 2018 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 13 Nov 2018 03:20:53 +0000 Subject: [openssl-commits] Build failed: openssl master.20955 Message-ID: <20181113032053.1.B38A3F0CFA5A8B27@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Nov 13 03:46:21 2018 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 13 Nov 2018 03:46:21 +0000 Subject: [openssl-commits] Build completed: openssl master.20956 Message-ID: <20181113034621.1.0E38AA2EC8E5C352@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Tue Nov 13 11:05:43 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 13 Nov 2018 11:05:43 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1542107143.973551.26733.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: a51c9f637c Added missing signature algorithm reflection functions 6e68dae85a Merge the CA list documentation for clarity fb8c83599e Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() 9873297900 Separate ca_names handling for client and server 24ae00388f Test use of a brainpool ECDSA certificate 83c81eebed Add some test brainpool certificates de4dc59802 Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable 425036130d Fix SipHash init order. Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 195 wallclock secs ( 1.30 usr 0.28 sys + 174.83 cusr 8.21 csys = 184.62 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Tue Nov 13 11:46:06 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 13 Nov 2018 11:46:06 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1542109566.056723.16038.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: a51c9f637c Added missing signature algorithm reflection functions 6e68dae85a Merge the CA list documentation for clarity fb8c83599e Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() 9873297900 Separate ca_names handling for client and server 24ae00388f Test use of a brainpool ECDSA certificate 83c81eebed Add some test brainpool certificates de4dc59802 Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable 425036130d Fix SipHash init order. Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 218 wallclock secs ( 1.56 usr 0.30 sys + 188.73 cusr 11.10 csys = 201.69 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Tue Nov 13 15:06:00 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 15:06:00 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542121560.729001.2169.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 5f16ab333142de832555d3265aad243eb119b195 (commit) from 6ab937f2df403bdda7e25b6c62a93b061171250e (commit) - Log ----------------------------------------------------------------- commit 5f16ab333142de832555d3265aad243eb119b195 Author: Richard Levitte Date: Wed Oct 31 09:02:00 2018 +0100 Windows build: build foo.d after foo.obj We made the build of foo.obj depend on foo.d, meaning the latter gets built first. Unfortunately, the way the compiler works, we are forced to redirect all output to foo.d, meaning that if the source contains an error, the build fails without showing those errors. We therefore remove the dependency and force the build of foo.d to always happen after build of foo.obj. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7533) ----------------------------------------------------------------------- Summary of changes: Configurations/windows-makefile.tmpl | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index ef5af42..5c8d3e8 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -461,22 +461,20 @@ $obj$objext: $deps \$(AS) \$(ASFLAGS) \$(ASOUTFLAG)\$\@ $srcs EOF } - return <<"EOF" if (!$disabled{makedepend}); -$obj$depext: $deps - \$(CC) \$(CFLAGS) $ecflags$inc /Zs /showIncludes $srcs 2>&1 | \\ + my $recipe = <<"EOF"; +$obj$objext: $deps + \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs +EOF + $recipe .= <<"EOF" unless $disabled{makedepend}; + \$(CC) $incs \$(CFLAGS) $ecflags /Zs /showIncludes $srcs 2>&1 | \\ "\$(PERL)" -n << > $obj$depext chomp; s/^Note: including file: *//; \$\$collect{\$\$_} = 1; END { print '$obj$objext: ',join(" ", sort keys \%collect),"\\n" } << -$obj$objext: $obj$depext - \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs -EOF - return <<"EOF" if ($disabled{makedepend}); -$obj$objext: $deps - \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs EOF + return $recipe; } # On Unix, we build shlibs from static libs, so we're ignoring the From levitte at openssl.org Tue Nov 13 15:58:12 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 15:58:12 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542124692.642872.8848.nullmailer@dev.openssl.org> The branch master has been updated via 713683393330b0fb74d0034ece16247915d1f3cb (commit) from a51c9f637cdef7926d8a8991365e4b58975346db (commit) - Log ----------------------------------------------------------------- commit 713683393330b0fb74d0034ece16247915d1f3cb Author: Richard Levitte Date: Mon Nov 12 14:17:24 2018 +0100 Add issue templates and a user support page This will hopefully help directing our users to better user support resources as well as give some relevant advice in issue templates. https://help.github.com/articles/setting-up-your-project-for-healthy-contributions/ Reviewed-by: Nicola Tuveri Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7623) ----------------------------------------------------------------------- Summary of changes: .github/ISSUE_TEMPLATE.md | 27 ++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 51 +++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 32 +++++++++++++++++++ .github/SUPPORT.md | 11 +++++++ 4 files changed, 121 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/SUPPORT.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..0205927 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,27 @@ + diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..c8c9194 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,51 @@ +--- +name: Bug report +about: Report a defect in the software + +--- + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..54213b0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,32 @@ +--- +name: Feature request +about: Propose a feature you would like to see added in the software + +--- + + diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..b51dfce --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,11 @@ +OpenSSL User Support resources +============================== + +For *questions* on how to use OpenSSL or what went wrong when you +tried something, our primary resource is the mailing list +openssl-users at openssl.org, where you can get help from others in the +OpenSSL community (which includes the developers as time permits). + +Only subscribers can post to openssl-users at openssl.org (although the +archives are public). +For more information, see https://www.openssl.org/community/mailinglists.html From levitte at openssl.org Tue Nov 13 16:26:28 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 16:26:28 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542126388.488714.13974.nullmailer@dev.openssl.org> The branch master has been updated via 7dc6875c5562fce2336b87f59b081e0bf4d7855c (commit) from 713683393330b0fb74d0034ece16247915d1f3cb (commit) - Log ----------------------------------------------------------------- commit 7dc6875c5562fce2336b87f59b081e0bf4d7855c Author: Richard Levitte Date: Tue Nov 13 17:01:41 2018 +0100 Remove markdown links from HTML comments in issue templates HTML comments aren't rendered, so markdown link syntax is irrelevant inside them, and more confusing than useful. Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7632) ----------------------------------------------------------------------- Summary of changes: .github/ISSUE_TEMPLATE.md | 4 ++-- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++-- .github/ISSUE_TEMPLATE/feature_request.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 0205927..2d63c22 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,8 +2,8 @@ NOTE: If you're asking about how to use OpenSSL, this isn't the right - forum. Please see our - [User Support resources](https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md) + forum. Please see our User Support resources: + https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md If relevant, please remember to tell us in what OpenSSL version you found the issue. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index c8c9194..0d6d219 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -10,8 +10,8 @@ Thank you for your bug report. NOTE: If you're asking about how to use OpenSSL, this isn't the right - forum. Please see our - [User Support resources](https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md) + forum. Please see our User Support resources: + https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md Please remember to tell us in what OpenSSL version you found the issue. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 54213b0..9e5565e 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -10,8 +10,8 @@ Thank you for your feature request. NOTE: If you're asking about how to use OpenSSL, this isn't the right - forum. Please see our - [User Support resources](https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md) + forum. Please see our User Support resources: + https://github.com/openssl/openssl/blob/master/.github/SUPPORT.md Please remember to put ``` lines before and after any commands plus output and code, like this: From no-reply at appveyor.com Tue Nov 13 16:27:24 2018 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 13 Nov 2018 16:27:24 +0000 Subject: [openssl-commits] Build failed: openssl OpenSSL_1_1_0-stable.20970 Message-ID: <20181113162724.1.280F8BC318768FE2@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Nov 13 16:31:46 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 13 Nov 2018 16:31:46 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21704 (master - 7136833) In-Reply-To: Message-ID: <5beafc7198864_43fc735c39ec017612d@4ad0fa48-a9ab-42be-b5c9-041cbbd91213.mail> Build Update for openssl/openssl ------------------------------------- Build: #21704 Status: Still Failing Duration: 23 mins and 36 secs Commit: 7136833 (master) Author: Richard Levitte Message: Add issue templates and a user support page This will hopefully help directing our users to better user support resources as well as give some relevant advice in issue templates. https://help.github.com/articles/setting-up-your-project-for-healthy-contributions/ Reviewed-by: Nicola Tuveri Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7623) View the changeset: https://github.com/openssl/openssl/compare/a51c9f637cde...713683393330 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454557640?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Nov 13 16:49:49 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 13 Nov 2018 16:49:49 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21706 (master - 7dc6875) In-Reply-To: Message-ID: <5beb00ab78414_43fd245cecce41620ba@28c23600-0c43-45fd-8aa4-a7855a4a156e.mail> Build Update for openssl/openssl ------------------------------------- Build: #21706 Status: Still Failing Duration: 22 mins and 26 secs Commit: 7dc6875 (master) Author: Richard Levitte Message: Remove markdown links from HTML comments in issue templates HTML comments aren't rendered, so markdown link syntax is irrelevant inside them, and more confusing than useful. Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7632) View the changeset: https://github.com/openssl/openssl/compare/713683393330...7dc6875c5562 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454571604?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Nov 13 17:17:16 2018 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 13 Nov 2018 17:17:16 +0000 Subject: [openssl-commits] Build completed: openssl OpenSSL_1_1_0-stable.20971 Message-ID: <20181113171716.1.D1ED751334BC6713@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Tue Nov 13 21:02:07 2018 From: pauli at openssl.org (Paul I. Dale) Date: Tue, 13 Nov 2018 21:02:07 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542142927.236222.13394.nullmailer@dev.openssl.org> The branch master has been updated via 6e624a645300d784eaa97ddda29364081ede36d7 (commit) from 7dc6875c5562fce2336b87f59b081e0bf4d7855c (commit) - Log ----------------------------------------------------------------- commit 6e624a645300d784eaa97ddda29364081ede36d7 Author: Shane Lontis Date: Fri Nov 9 14:00:05 2018 +1000 KMAC implementation using EVP_MAC Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7597) ----------------------------------------------------------------------- Summary of changes: crypto/build.info | 2 +- crypto/err/openssl.txt | 3 + crypto/evp/c_allm.c | 2 + crypto/evp/evp_err.c | 4 + crypto/evp/m_sha3.c | 30 ++ crypto/include/internal/evp_int.h | 6 + crypto/kmac/build.info | 3 + crypto/kmac/kmac.c | 469 +++++++++++++++++++++++++++++++ crypto/objects/obj_dat.h | 12 +- crypto/objects/obj_mac.num | 2 + crypto/objects/objects.txt | 4 + doc/man3/EVP_MAC.pod | 17 +- doc/man7/EVP_MAC_KMAC.pod | 94 +++++++ include/openssl/evp.h | 5 + include/openssl/evperr.h | 3 + include/openssl/obj_mac.h | 8 + test/evp_test.c | 16 ++ test/recipes/30-test_evp_data/evpmac.txt | 86 ++++++ 18 files changed, 761 insertions(+), 5 deletions(-) create mode 100644 crypto/kmac/build.info create mode 100644 crypto/kmac/kmac.c create mode 100644 doc/man7/EVP_MAC_KMAC.pod diff --git a/crypto/build.info b/crypto/build.info index 75739c0..a0bb90a 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -5,7 +5,7 @@ SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 x509v3 conf \ md2 md4 md5 sha mdc2 gmac hmac ripemd whrlpool poly1305 blake2 \ siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \ seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \ - err comp ocsp cms ts srp cmac ct async + err comp ocsp cms ts srp cmac ct async kmac LIBS=../libcrypto SOURCE[../libcrypto]=\ diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 49e4875..0f8cbf4 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -803,6 +803,8 @@ EVP_F_EVP_SIGNFINAL:107:EVP_SignFinal EVP_F_EVP_VERIFYFINAL:108:EVP_VerifyFinal EVP_F_GMAC_CTRL:215:gmac_ctrl EVP_F_INT_CTX_NEW:157:int_ctx_new +EVP_F_KMAC_CTRL:217:kmac_ctrl +EVP_F_KMAC_INIT:218:kmac_init EVP_F_OK_NEW:200:ok_new EVP_F_PKCS5_PBE_KEYIVGEN:117:PKCS5_PBE_keyivgen EVP_F_PKCS5_V2_PBE_KEYIVGEN:118:PKCS5_v2_PBE_keyivgen @@ -2249,6 +2251,7 @@ EVP_R_GET_RAW_KEY_FAILED:182:get raw key failed EVP_R_ILLEGAL_SCRYPT_PARAMETERS:171:illegal scrypt parameters EVP_R_INITIALIZATION_ERROR:134:initialization error EVP_R_INPUT_NOT_INITIALIZED:111:input not initialized +EVP_R_INVALID_CUSTOM_LENGTH:185:invalid custom length EVP_R_INVALID_DIGEST:152:invalid digest EVP_R_INVALID_FIPS_MODE:168:invalid fips mode EVP_R_INVALID_KEY:163:invalid key diff --git a/crypto/evp/c_allm.c b/crypto/evp/c_allm.c index ba8acc7..a1379d5 100644 --- a/crypto/evp/c_allm.c +++ b/crypto/evp/c_allm.c @@ -17,6 +17,8 @@ void openssl_add_all_macs_int(void) #endif EVP_add_mac(&gmac_meth); EVP_add_mac(&hmac_meth); + EVP_add_mac(&kmac128_meth); + EVP_add_mac(&kmac256_meth); #ifndef OPENSSL_NO_SIPHASH EVP_add_mac(&siphash_meth); #endif diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 4ef0cf5..16fa865 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -143,6 +143,8 @@ static const ERR_STRING_DATA EVP_str_functs[] = { {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_VERIFYFINAL, 0), "EVP_VerifyFinal"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_GMAC_CTRL, 0), "gmac_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_INT_CTX_NEW, 0), "int_ctx_new"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_KMAC_CTRL, 0), "kmac_ctrl"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_KMAC_INIT, 0), "kmac_init"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_OK_NEW, 0), "ok_new"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKCS5_PBE_KEYIVGEN, 0), "PKCS5_PBE_keyivgen"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKCS5_V2_PBE_KEYIVGEN, 0), @@ -215,6 +217,8 @@ static const ERR_STRING_DATA EVP_str_reasons[] = { "initialization error"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INPUT_NOT_INITIALIZED), "input not initialized"}, + {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_CUSTOM_LENGTH), + "invalid custom length"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_DIGEST), "invalid digest"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_FIPS_MODE), "invalid fips mode"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_KEY), "invalid key"}, diff --git a/crypto/evp/m_sha3.c b/crypto/evp/m_sha3.c index 31379c0..57a2986 100644 --- a/crypto/evp/m_sha3.c +++ b/crypto/evp/m_sha3.c @@ -59,6 +59,11 @@ static int shake_init(EVP_MD_CTX *evp_ctx) return init(evp_ctx, '\x1f'); } +static int kmac_init(EVP_MD_CTX *evp_ctx) +{ + return init(evp_ctx, '\x04'); +} + static int sha3_update(EVP_MD_CTX *evp_ctx, const void *_inp, size_t len) { KECCAK1600_CTX *ctx = evp_ctx->md_data; @@ -395,6 +400,7 @@ const EVP_MD *EVP_shake##bitlen(void) \ }; \ return &shake##bitlen##_md; \ } + #endif EVP_MD_SHA3(224) @@ -404,3 +410,27 @@ EVP_MD_SHA3(512) EVP_MD_SHAKE(128) EVP_MD_SHAKE(256) + + +# define EVP_MD_KECCAK_KMAC(bitlen) \ +const EVP_MD *evp_keccak_kmac##bitlen(void) \ +{ \ + static const EVP_MD kmac_##bitlen##_md = { \ + -1, \ + 0, \ + 2 * bitlen / 8, \ + EVP_MD_FLAG_XOF, \ + kmac_init, \ + sha3_update, \ + sha3_final, \ + NULL, \ + NULL, \ + (KECCAK1600_WIDTH - bitlen * 2) / 8, \ + sizeof(KECCAK1600_CTX), \ + shake_ctrl \ + }; \ + return &kmac_##bitlen##_md; \ +} + +EVP_MD_KECCAK_KMAC(128) +EVP_MD_KECCAK_KMAC(256) diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index 85d3487..1828125 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -131,9 +131,15 @@ struct evp_mac_st { extern const EVP_MAC cmac_meth; extern const EVP_MAC gmac_meth; extern const EVP_MAC hmac_meth; +extern const EVP_MAC kmac128_meth; +extern const EVP_MAC kmac256_meth; extern const EVP_MAC siphash_meth; extern const EVP_MAC poly1305_meth; +/* Internal keccak algorithms used for KMAC */ +const EVP_MD *evp_keccak_kmac128(void); +const EVP_MD *evp_keccak_kmac256(void); + /* * This function is internal for now, but can be made external when needed. * The documentation would read: diff --git a/crypto/kmac/build.info b/crypto/kmac/build.info new file mode 100644 index 0000000..01d04be --- /dev/null +++ b/crypto/kmac/build.info @@ -0,0 +1,3 @@ +LIBS=../../libcrypto +SOURCE[../../libcrypto]=kmac.c + diff --git a/crypto/kmac/kmac.c b/crypto/kmac/kmac.c new file mode 100644 index 0000000..db0a42c --- /dev/null +++ b/crypto/kmac/kmac.c @@ -0,0 +1,469 @@ +/* + * Copyright 2018 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 + */ + +/* + * See SP800-185 "Appendix A - KMAC, .... in Terms of Keccak[c]" + * + * Inputs are: + * K = Key (len(K) < 2^2040 bits) + * X = Input + * L = Output length (0 <= L < 2^2040 bits) + * S = Customization String Default="" (len(S) < 2^2040 bits) + * + * KMAC128(K, X, L, S) + * { + * newX = bytepad(encode_string(K), 168) || X || right_encode(L). + * T = bytepad(encode_string(?KMAC?) || encode_string(S), 168). + * return KECCAK[256](T || newX || 00, L). + * } + * + * KMAC256(K, X, L, S) + * { + * newX = bytepad(encode_string(K), 136) || X || right_encode(L). + * T = bytepad(encode_string(?KMAC?) || encode_string(S), 136). + * return KECCAK[512](T || newX || 00, L). + * } + * + * KMAC128XOF(K, X, L, S) + * { + * newX = bytepad(encode_string(K), 168) || X || right_encode(0). + * T = bytepad(encode_string(?KMAC?) || encode_string(S), 168). + * return KECCAK[256](T || newX || 00, L). + * } + * + * KMAC256XOF(K, X, L, S) + * { + * newX = bytepad(encode_string(K), 136) || X || right_encode(0). + * T = bytepad(encode_string(?KMAC?) || encode_string(S), 136). + * return KECCAK[512](T || newX || 00, L). + * } + * + */ + +#include +#include +#include "internal/cryptlib.h" +#include "internal/evp_int.h" + +#define KMAC_MAX_BLOCKSIZE ((1600 - 128*2) / 8) /* 168 */ +#define KMAC_MIN_BLOCKSIZE ((1600 - 256*2) / 8) /* 136 */ + +/* Length encoding will be a 1 byte size + length in bits (2 bytes max) */ +#define KMAC_MAX_ENCODED_HEADER_LEN 3 + +/* + * Custom string max size is chosen such that: + * len(encoded_string(custom) + len(kmac_encoded_string) <= KMAC_MIN_BLOCKSIZE + * i.e: (KMAC_MAX_CUSTOM + KMAC_MAX_ENCODED_LEN) + 6 <= 136 + */ +#define KMAC_MAX_CUSTOM 127 + +/* Maximum size of encoded custom string */ +#define KMAC_MAX_CUSTOM_ENCODED (KMAC_MAX_CUSTOM + KMAC_MAX_ENCODED_HEADER_LEN) + +/* Maximum key size in bytes = 2040 / 8 */ +#define KMAC_MAX_KEY 255 + +/* + * Maximum Encoded Key size will be padded to a multiple of the blocksize + * i.e KMAC_MAX_KEY + KMAC_MAX_ENCODED_LEN = 258 + * Padded to a multiple of KMAC_MAX_BLOCKSIZE + */ +#define KMAC_MAX_KEY_ENCODED (KMAC_MAX_BLOCKSIZE * 2) + +/* Fixed value of encode_string("KMAC") */ +static const unsigned char kmac_string[] = { + 0x01, 0x20, 0x4B, 0x4D, 0x41, 0x43 +}; + + +#define KMAC_FLAG_XOF_MODE 1 + +/* typedef EVP_MAC_IMPL */ +struct evp_mac_impl_st { + EVP_MD_CTX *ctx; + const EVP_MD *md; + size_t out_len; + int key_len; + int custom_len; + /* If xof_mode = 1 then we use right_encode(0) */ + int xof_mode; + /* key and custom are stored in encoded form */ + unsigned char key[KMAC_MAX_KEY_ENCODED]; + unsigned char custom[KMAC_MAX_CUSTOM_ENCODED]; +}; + +static int encode_string(unsigned char *out, int *out_len, + const unsigned char *in, int in_len); +static int right_encode(unsigned char *out, int *out_len, size_t bits); +static int bytepad(unsigned char *out, int *out_len, + const unsigned char *in1, int in1_len, + const unsigned char *in2, int in2_len, + int w); +static int kmac_bytepad_encode_key(unsigned char *out, int *out_len, + const unsigned char *in, int in_len, + int w); +static int kmac_ctrl_str(EVP_MAC_IMPL *kctx, const char *type, + const char *value); + + +static void kmac_free(EVP_MAC_IMPL *kctx) +{ + if (kctx != NULL) { + EVP_MD_CTX_free(kctx->ctx); + OPENSSL_cleanse(kctx->key, kctx->key_len); + OPENSSL_cleanse(kctx->custom, kctx->custom_len); + OPENSSL_free(kctx); + } +} + +static EVP_MAC_IMPL *kmac_new(const EVP_MD *md) +{ + EVP_MAC_IMPL *kctx = NULL; + + if ((kctx = OPENSSL_zalloc(sizeof(*kctx))) == NULL + || (kctx->ctx = EVP_MD_CTX_new()) == NULL) { + kmac_free(kctx); + return NULL; + } + kctx->md = md; + kctx->out_len = md->md_size; + return kctx; +} + +static EVP_MAC_IMPL *kmac128_new(void) +{ + return kmac_new(evp_keccak_kmac128()); +} + +static EVP_MAC_IMPL *kmac256_new(void) +{ + return kmac_new(evp_keccak_kmac256()); +} + +static int kmac_copy(EVP_MAC_IMPL *gdst, EVP_MAC_IMPL *gsrc) +{ + gdst->md = gsrc->md; + gdst->out_len = gsrc->out_len; + gdst->key_len = gsrc->key_len; + gdst->custom_len = gsrc->custom_len; + gdst->xof_mode = gsrc->xof_mode; + memcpy(gdst->key, gsrc->key, gsrc->key_len); + memcpy(gdst->custom, gsrc->custom, gdst->custom_len); + + return EVP_MD_CTX_copy(gdst->ctx, gsrc->ctx); +} + +/* + * The init() assumes that any ctrl methods are set beforehand for + * md, key and custom. Setting the fields afterwards will have no + * effect on the output mac. + */ +static int kmac_init(EVP_MAC_IMPL *kctx) +{ + EVP_MD_CTX *ctx = kctx->ctx; + unsigned char out[KMAC_MAX_BLOCKSIZE]; + int out_len, block_len; + + /* Check key has been set */ + if (kctx->key_len == 0) { + EVPerr(EVP_F_KMAC_INIT, EVP_R_NO_KEY_SET); + return 0; + } + if (!EVP_DigestInit_ex(kctx->ctx, kctx->md, NULL)) + return 0; + + block_len = EVP_MD_block_size(kctx->md); + + /* Set default custom string if it is not already set */ + if (kctx->custom_len == 0) + (void)kmac_ctrl_str(kctx, "custom", ""); + + return bytepad(out, &out_len, kmac_string, sizeof(kmac_string), + kctx->custom, kctx->custom_len, block_len) + && EVP_DigestUpdate(ctx, out, out_len) + && EVP_DigestUpdate(ctx, kctx->key, kctx->key_len); +} + +static size_t kmac_size(EVP_MAC_IMPL *kctx) +{ + return kctx->out_len; +} + +static int kmac_update(EVP_MAC_IMPL *kctx, const unsigned char *data, + size_t datalen) +{ + return EVP_DigestUpdate(kctx->ctx, data, datalen); +} + +static int kmac_final(EVP_MAC_IMPL *kctx, unsigned char *out) +{ + EVP_MD_CTX *ctx = kctx->ctx; + int lbits, len; + unsigned char encoded_outlen[KMAC_MAX_ENCODED_HEADER_LEN]; + + /* KMAC XOF mode sets the encoded length to 0 */ + lbits = (kctx->xof_mode ? 0 : (kctx->out_len * 8)); + + return right_encode(encoded_outlen, &len, lbits) + && EVP_DigestUpdate(ctx, encoded_outlen, len) + && EVP_DigestFinalXOF(ctx, out, kctx->out_len); +} + +/* + * The following Ctrl functions can be set any time before final(): + * - EVP_MAC_CTRL_SET_SIZE: The requested output length. + * - EVP_MAC_CTRL_SET_XOF: If set, this indicates that right_encoded(0) is + * part of the digested data, otherwise it uses + * right_encoded(requested output length). + + * All other Ctrl functions should be set before init(). + */ +static int kmac_ctrl(EVP_MAC_IMPL *kctx, int cmd, va_list args) +{ + const unsigned char *p; + size_t len; + size_t size; + + switch (cmd) { + case EVP_MAC_CTRL_SET_XOF: + kctx->xof_mode = va_arg(args, int); + return 1; + + case EVP_MAC_CTRL_SET_SIZE: + size = va_arg(args, size_t); + kctx->out_len = size; + return 1; + + case EVP_MAC_CTRL_SET_KEY: + p = va_arg(args, const unsigned char *); + len = va_arg(args, size_t); + if (len < 4 || len > KMAC_MAX_KEY) { + EVPerr(EVP_F_KMAC_CTRL, EVP_R_INVALID_KEY_LENGTH); + return 0; + } + return kmac_bytepad_encode_key(kctx->key, &kctx->key_len, p, len, + EVP_MD_block_size(kctx->md)); + + case EVP_MAC_CTRL_SET_CUSTOM: + p = va_arg(args, const unsigned char *); + len = va_arg(args, size_t); + if (len > KMAC_MAX_CUSTOM) { + EVPerr(EVP_F_KMAC_CTRL, EVP_R_INVALID_CUSTOM_LENGTH); + return 0; + } + return encode_string(kctx->custom, &kctx->custom_len, p, len); + + default: + return -2; + } +} + +static int kmac_ctrl_int(EVP_MAC_IMPL *kctx, int cmd, ...) +{ + int rv; + va_list args; + + va_start(args, cmd); + rv = kmac_ctrl(kctx, cmd, args); + va_end(args); + + return rv; +} + +static int kmac_ctrl_str_cb(void *kctx, int cmd, void *buf, size_t buflen) +{ + return kmac_ctrl_int(kctx, cmd, buf, buflen); +} + +static int kmac_ctrl_str(EVP_MAC_IMPL *kctx, const char *type, + const char *value) +{ + if (value == NULL) + return 0; + + if (strcmp(type, "outlen") == 0) + return kmac_ctrl_int(kctx, EVP_MAC_CTRL_SET_SIZE, (size_t)atoi(value)); + if (strcmp(type, "xof") == 0) + return kmac_ctrl_int(kctx, EVP_MAC_CTRL_SET_XOF, atoi(value)); + if (strcmp(type, "key") == 0) + return EVP_str2ctrl(kmac_ctrl_str_cb, kctx, EVP_MAC_CTRL_SET_KEY, + value); + if (strcmp(type, "hexkey") == 0) + return EVP_hex2ctrl(kmac_ctrl_str_cb, kctx, EVP_MAC_CTRL_SET_KEY, + value); + if (strcmp(type, "custom") == 0) + return EVP_str2ctrl(kmac_ctrl_str_cb, kctx, EVP_MAC_CTRL_SET_CUSTOM, + value); + if (strcmp(type, "hexcustom") == 0) + return EVP_hex2ctrl(kmac_ctrl_str_cb, kctx, EVP_MAC_CTRL_SET_CUSTOM, + value); + return -2; +} + +/* + * Encoding/Padding Methods. + */ + +/* Returns the number of bytes required to store 'bits' into a byte array */ +static unsigned int get_encode_size(size_t bits) +{ + unsigned int cnt = 0, sz = sizeof(size_t); + + while (bits && (cnt < sz)) { + ++cnt; + bits >>= 8; + } + /* If bits is zero 1 byte is required */ + if (cnt == 0) + cnt = 1; + return cnt; +} + +/* + * Convert an integer into bytes . The number of bytes is appended + * to the end of the buffer. Returns an array of bytes 'out' of size + * *out_len. + * + * e.g if bits = 32, out[2] = { 0x20, 0x01 } + * + */ +static int right_encode(unsigned char *out, int *out_len, size_t bits) +{ + unsigned int len = get_encode_size(bits); + int i; + + /* The length is constrained to a single byte: 2040/8 = 255 */ + if (len > 0xFF) + return 0; + + /* MSB's are at the start of the bytes array */ + for (i = len - 1; i >= 0; --i) { + out[i] = (unsigned char)(bits & 0xFF); + bits >>= 8; + } + /* Tack the length onto the end */ + out[len] = (unsigned char)len; + + /* The Returned length includes the tacked on byte */ + *out_len = len + 1; + return 1; +} + +/* + * Encodes a string with a left encoded length added. Note that the + * in_len is converted to bits (*8). + * + * e.g- in="KMAC" gives out[6] = { 0x01, 0x20, 0x4B, 0x4D, 0x41, 0x43 } + * len bits K M A C + */ +static int encode_string(unsigned char *out, int *out_len, + const unsigned char *in, int in_len) +{ + if (in == NULL) { + *out_len = 0; + } else { + int i, bits, len; + + bits = 8 * in_len; + len = get_encode_size(bits); + if (len > 0xFF) + return 0; + + out[0] = len; + for (i = len; i > 0; --i) { + out[i] = (bits & 0xFF); + bits >>= 8; + } + memcpy(out + len + 1, in, in_len); + *out_len = (1 + len + in_len); + } + return 1; +} + +/* + * Returns a zero padded encoding of the inputs in1 and an optional + * in2 (can be NULL). The padded output must be a multiple of the blocksize 'w'. + * The value of w is in bytes (< 256). + * + * The returned output is: + * zero_padded(multiple of w, (left_encode(w) || in1 [|| in2]) + */ +static int bytepad(unsigned char *out, int *out_len, + const unsigned char *in1, int in1_len, + const unsigned char *in2, int in2_len, int w) +{ + int len; + unsigned char *p = out; + int sz = w; + + /* Left encoded w */ + *p++ = 1; + *p++ = w; + /* || in1 */ + memcpy(p, in1, in1_len); + p += in1_len; + /* [ || in2 ] */ + if (in2 != NULL && in2_len > 0) { + memcpy(p, in2, in2_len); + p += in2_len; + } + /* Figure out the pad size (divisible by w) */ + len = p - out; + while (len > sz) { + sz += w; + } + /* zero pad the end of the buffer */ + memset(p, 0, sz - len); + *out_len = sz; + return 1; +} + +/* + * Returns out = bytepad(encode_string(in), w) + */ +static int kmac_bytepad_encode_key(unsigned char *out, int *out_len, + const unsigned char *in, int in_len, + int w) +{ + unsigned char tmp[KMAC_MAX_KEY + KMAC_MAX_ENCODED_HEADER_LEN]; + int tmp_len; + + if (!encode_string(tmp, &tmp_len, in, in_len)) + return 0; + + return bytepad(out, out_len, tmp, tmp_len, NULL, 0, w); +} + +const EVP_MAC kmac128_meth = { + EVP_MAC_KMAC128, + kmac128_new, + kmac_copy, + kmac_free, + kmac_size, + kmac_init, + kmac_update, + kmac_final, + kmac_ctrl, + kmac_ctrl_str +}; + +const EVP_MAC kmac256_meth = { + EVP_MAC_KMAC256, + kmac256_new, + kmac_copy, + kmac_free, + kmac_size, + kmac_init, + kmac_update, + kmac_final, + kmac_ctrl, + kmac_ctrl_str +}; + diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index d9365ce..7d058fc 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -1079,7 +1079,7 @@ static const unsigned char so[7767] = { 0x28,0xCC,0x45,0x03,0x04, /* [ 7761] OBJ_gmac */ }; -#define NUM_NID 1196 +#define NUM_NID 1198 static const ASN1_OBJECT nid_objs[NUM_NID] = { {"UNDEF", "undefined", NID_undef}, {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]}, @@ -2277,9 +2277,11 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"hmacWithSHA512-224", "hmacWithSHA512-224", NID_hmacWithSHA512_224, 8, &so[7745]}, {"hmacWithSHA512-256", "hmacWithSHA512-256", NID_hmacWithSHA512_256, 8, &so[7753]}, {"GMAC", "gmac", NID_gmac, 5, &so[7761]}, + {"KMAC128", "kmac128", NID_kmac128}, + {"KMAC256", "kmac256", NID_kmac256}, }; -#define NUM_SN 1187 +#define NUM_SN 1189 static const unsigned int sn_objs[NUM_SN] = { 364, /* "AD_DVCS" */ 419, /* "AES-128-CBC" */ @@ -2445,6 +2447,8 @@ static const unsigned int sn_objs[NUM_SN] = { 645, /* "ITU-T" */ 646, /* "JOINT-ISO-ITU-T" */ 773, /* "KISA" */ + 1196, /* "KMAC128" */ + 1197, /* "KMAC256" */ 1063, /* "KxANY" */ 1039, /* "KxDHE" */ 1041, /* "KxDHE-PSK" */ @@ -3470,7 +3474,7 @@ static const unsigned int sn_objs[NUM_SN] = { 1093, /* "x509ExtAdmission" */ }; -#define NUM_LN 1187 +#define NUM_LN 1189 static const unsigned int ln_objs[NUM_LN] = { 363, /* "AD Time Stamping" */ 405, /* "ANSI X9.62" */ @@ -4266,6 +4270,8 @@ static const unsigned int ln_objs[NUM_LN] = { 956, /* "jurisdictionStateOrProvinceName" */ 150, /* "keyBag" */ 773, /* "kisa" */ + 1196, /* "kmac128" */ + 1197, /* "kmac256" */ 1063, /* "kx-any" */ 1039, /* "kx-dhe" */ 1041, /* "kx-dhe-psk" */ diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 487eeff..ad47750 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1193,3 +1193,5 @@ magma_mac 1192 hmacWithSHA512_224 1193 hmacWithSHA512_256 1194 gmac 1195 +kmac128 1196 +kmac256 1197 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index 1e83dff..590bbe9 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -13,6 +13,10 @@ iso 3 : identified-organization # GMAC OID iso 0 9797 3 4 : GMAC : gmac + +# There are no OIDs for these yet... + : KMAC128 : kmac128 + : KMAC256 : kmac256 # HMAC OIDs identified-organization 6 1 5 5 8 1 1 : HMAC-MD5 : hmac-md5 diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod index cc0d543..3444707 100644 --- a/doc/man3/EVP_MAC.pod +++ b/doc/man3/EVP_MAC.pod @@ -169,9 +169,23 @@ This control expects two arguments: C, C Some MAC implementations require an IV, this control sets the IV. +=item B + +This control expects two arguments: C, C + +Some MAC implementations (KMAC) require an Customization String, +this control sets the Customization String. The default value is "". + +=item B + +This control expects one argument: C + +This option is used by KMAC. + + =item B -This control expects one arguments: C +This control expects one argument: C These will set the MAC flags to the given numbers. Some MACs do not support this option. @@ -335,6 +349,7 @@ F<./foo>) L, L, L, +L, L, L diff --git a/doc/man7/EVP_MAC_KMAC.pod b/doc/man7/EVP_MAC_KMAC.pod new file mode 100644 index 0000000..0e6d45b --- /dev/null +++ b/doc/man7/EVP_MAC_KMAC.pod @@ -0,0 +1,94 @@ +=pod + +=head1 NAME + +EVP_MAC_KMAC - The KMAC EVP_MAC implementation + +=head1 DESCRIPTION + +Support for computing KMAC MACs through the B API. + +=head2 Numeric identity + +B and B are the numeric identities for this +implementation, and can be used in functions like EVP_MAC_CTX_new_id() and +EVP_get_macbynid(). + +=head2 Supported controls + +The supported controls are: + +=over 4 + +=item B + +This must be set before calling EVP_MAC_init(). + +EVP_MAC_ctrl_str() takes two type strings for this control: + +=over 4 + +=item "key" + +The value string is used as is. + +=item "hexkey" + +The value string is expected to be a hexadecimal number, which will be +decoded before passing on as control value. + +=back + +=item B + +This is an optional string value that can be set before calling EVP_MAC_init(). +If it is not set it uses the default value "". + +EVP_MAC_ctrl_str() takes two type strings for this control: + +=over 4 + +=item "custom" + +The value string is used as is. + +=item "hexcustom" + +The value string is expected to be a hexadecimal number, which will be +decoded before passing on as control value. + +=back + +=item B + +EVP_MAC_ctrl_str() type string: "outlen" + +This is an optional value string containing a decimal number. If it is not set +it uses the default value of 32 for EVP_MAC_KMAC128 and 64 for EVP_MAC_KMAC256. +This can be called any time before EVP_MAC_final(). + +=item B + +EVP_MAC_ctrl_str() type string: "xof" + +The value string is expected to be an integer value of 1 or 0. Use 1 to enable +XOF mode. If XOF is enabled then the output len that is encoded as part of the +input stream is set to zero. +This can be called any time before EVP_MAC_final(). + +=back + +=head1 SEE ALSO + +L, L + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/include/openssl/evp.h b/include/openssl/evp.h index a0b7a54..d22956d 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -717,6 +717,7 @@ const EVP_MD *EVP_sha3_384(void); const EVP_MD *EVP_sha3_512(void); const EVP_MD *EVP_shake128(void); const EVP_MD *EVP_shake256(void); + # ifndef OPENSSL_NO_MDC2 const EVP_MD *EVP_mdc2(void); # endif @@ -990,6 +991,8 @@ void EVP_MD_do_all_sorted(void (*fn) # define EVP_MAC_CMAC NID_cmac # define EVP_MAC_GMAC NID_gmac # define EVP_MAC_HMAC NID_hmac +# define EVP_MAC_KMAC128 NID_kmac128 +# define EVP_MAC_KMAC256 NID_kmac256 # define EVP_MAC_SIPHASH NID_siphash # define EVP_MAC_POLY1305 NID_poly1305 @@ -1027,6 +1030,8 @@ void EVP_MAC_do_all_sorted(void (*fn) # define EVP_MAC_CTRL_SET_CIPHER 0x05 /* EVP_CIPHER * */ # define EVP_MAC_CTRL_SET_SIZE 0x06 /* size_t */ # define EVP_MAC_CTRL_SET_IV 0x07 /* unsigned char *, size_t */ +# define EVP_MAC_CTRL_SET_CUSTOM 0x08 /* unsigned char *, size_t */ +# define EVP_MAC_CTRL_SET_XOF 0x09 /* int */ /* PKEY stuff */ int EVP_PKEY_decrypt_old(unsigned char *dec_key, diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index fff78cc..2c727d3 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -113,6 +113,8 @@ int ERR_load_EVP_strings(void); # define EVP_F_EVP_VERIFYFINAL 108 # define EVP_F_GMAC_CTRL 215 # define EVP_F_INT_CTX_NEW 157 +# define EVP_F_KMAC_CTRL 217 +# define EVP_F_KMAC_INIT 218 # define EVP_F_OK_NEW 200 # define EVP_F_PKCS5_PBE_KEYIVGEN 117 # define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 @@ -159,6 +161,7 @@ int ERR_load_EVP_strings(void); # define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171 # define EVP_R_INITIALIZATION_ERROR 134 # define EVP_R_INPUT_NOT_INITIALIZED 111 +# define EVP_R_INVALID_CUSTOM_LENGTH 185 # define EVP_R_INVALID_DIGEST 152 # define EVP_R_INVALID_FIPS_MODE 168 # define EVP_R_INVALID_KEY 163 diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index 0a3e4c5..e977a24 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -49,6 +49,14 @@ #define NID_gmac 1195 #define OBJ_gmac OBJ_iso,0L,9797L,3L,4L +#define SN_kmac128 "KMAC128" +#define LN_kmac128 "kmac128" +#define NID_kmac128 1196 + +#define SN_kmac256 "KMAC256" +#define LN_kmac256 "kmac256" +#define NID_kmac256 1197 + #define SN_hmac_md5 "HMAC-MD5" #define LN_hmac_md5 "hmac-md5" #define NID_hmac_md5 780 diff --git a/test/evp_test.c b/test/evp_test.c index 18b20af..0677b85 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -847,6 +847,8 @@ typedef struct mac_data_st { /* Expected output */ unsigned char *output; size_t output_len; + unsigned char *custom; + size_t custom_len; /* Collection of controls */ STACK_OF(OPENSSL_STRING) *controls; } MAC_DATA; @@ -929,6 +931,7 @@ static void mac_test_cleanup(EVP_TEST *t) OPENSSL_free(mdat->alg); OPENSSL_free(mdat->key); OPENSSL_free(mdat->iv); + OPENSSL_free(mdat->custom); OPENSSL_free(mdat->input); OPENSSL_free(mdat->output); } @@ -942,6 +945,8 @@ static int mac_test_parse(EVP_TEST *t, return parse_bin(value, &mdata->key, &mdata->key_len); if (strcmp(keyword, "IV") == 0) return parse_bin(value, &mdata->iv, &mdata->iv_len); + if (strcmp(keyword, "Custom") == 0) + return parse_bin(value, &mdata->custom, &mdata->custom_len); if (strcmp(keyword, "Algorithm") == 0) { mdata->alg = OPENSSL_strdup(value); if (!mdata->alg) @@ -1124,6 +1129,17 @@ static int mac_test_run_mac(EVP_TEST *t) t->err = "MAC_CTRL_ERROR"; goto err; } + if (expected->custom != NULL) { + rv = EVP_MAC_ctrl(ctx, EVP_MAC_CTRL_SET_CUSTOM, + expected->custom, expected->custom_len); + if (rv == -2) { + t->err = "MAC_CTRL_INVALID"; + goto err; + } else if (rv <= 0) { + t->err = "MAC_CTRL_ERROR"; + goto err; + } + } if (expected->iv != NULL) { rv = EVP_MAC_ctrl(ctx, EVP_MAC_CTRL_SET_IV, diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 1d635ba..940ef18 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -455,6 +455,92 @@ Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C Output = 00BDA1B7E87608BCBF470F12157F4C07 +Title = KMAC Tests (From NIST) +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Custom = "" +Output = E5780B0D3EA6F7D3A429C5706AA43A00FADBD7D49628839E3187243F456EE14E +Ctrl = xof:0 + +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Custom = "My Tagged Application" +Output = 3B1FBA963CD8B0B59E8C1A6D71888B7143651AF8BA0A7070C0979E2811324AA5 + +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "My Tagged Application" +Output = 1F5B4E6CCA02209E0DCB5CA635B89A15E271ECC760071DFD805FAA38F9729230 +Ctrl = outlen:32 + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Custom = "My Tagged Application" +Output = 20C570C31346F703C9AC36C61C03CB64C3970D0CFC787E9B79599D273A68D2F7F69D4CC3DE9D104A351689F27CF6F5951F0103F33F4F24871024D9C27773A8DD + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "" +Output = 75358CF39E41494E949707927CEE0AF20A3FF553904C86B08F21CC414BCFD691589D27CF5E15369CBBFF8B9A4C2EB17800855D0235FF635DA82533EC6B759B69 + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "My Tagged Application" +Output = B58618F71F92E1D56C1B8C55DDD7CD188B97B4CA4D99831EB2699A837DA2E4D970FBACFDE50033AEA585F1A2708510C32D07880801BD182898FE476876FC8965 +Ctrl = outlen:64 + +Title = KMAC XOF Tests (From NIST) + +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Output = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35 +Ctrl = xof:1 + +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Custom = "My Tagged Application" +Output = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C +Ctrl = xof:1 + +MAC = KMAC128 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "My Tagged Application" +Output = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F +Ctrl = xof:1 +Ctrl = outlen:32 + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 00010203 +Custom = "My Tagged Application" +Output = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B +Ctrl = xof:1 + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "" +Output = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B +Ctrl = xof:1 + +MAC = KMAC256 +Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Custom = "My Tagged Application" +Output = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D +Ctrl = outlen:64 +Ctrl = xof:1 + + Title = Poly1305 Tests (from RFC 7539 and others) MAC = Poly1305 From builds at travis-ci.org Tue Nov 13 21:23:23 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 13 Nov 2018 21:23:23 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21712 (master - 6e624a6) In-Reply-To: Message-ID: <5beb40cadf436_43fc735c667182813a6@4ad0fa48-a9ab-42be-b5c9-041cbbd91213.mail> Build Update for openssl/openssl ------------------------------------- Build: #21712 Status: Still Failing Duration: 20 mins and 25 secs Commit: 6e624a6 (master) Author: Shane Lontis Message: KMAC implementation using EVP_MAC Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7597) View the changeset: https://github.com/openssl/openssl/compare/7dc6875c5562...6e624a645300 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454692048?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Tue Nov 13 22:52:52 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 22:52:52 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542149572.634812.26930.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 0c594ccc29f6ba241627f436ba3d05fc400d1066 (commit) from 45f247258a87b73e76f95631e0f4aa22298fd19c (commit) - Log ----------------------------------------------------------------- commit 0c594ccc29f6ba241627f436ba3d05fc400d1066 Author: Richard Levitte Date: Tue Nov 13 18:49:21 2018 +0100 Configuration: make sure the shared_sources table doesn't contain empty elements Fixes #7634 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7635) ----------------------------------------------------------------------- Summary of changes: Configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configure b/Configure index c84722a..b332892 100755 --- a/Configure +++ b/Configure @@ -2203,8 +2203,8 @@ EOF next unless defined($unified_info{includes}->{$dest}->{$k}); my @incs = reverse @{$unified_info{includes}->{$dest}->{$k}}; foreach my $obj (grep /\.o$/, - (keys %{$unified_info{sources}->{$dest}}, - keys %{$unified_info{shared_sources}->{$dest}})) { + (keys %{$unified_info{sources}->{$dest} // {}}, + keys %{$unified_info{shared_sources}->{$dest} // {}})) { foreach my $inc (@incs) { unshift @{$unified_info{includes}->{$obj}->{$k}}, $inc unless grep { $_ eq $inc } @{$unified_info{includes}->{$obj}->{$k}}; From levitte at openssl.org Tue Nov 13 22:54:00 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 22:54:00 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542149640.352086.27977.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 013aefc5f03c95f5366cc854ffb02b0df49af90d (commit) from 5f16ab333142de832555d3265aad243eb119b195 (commit) - Log ----------------------------------------------------------------- commit 013aefc5f03c95f5366cc854ffb02b0df49af90d Author: Richard Levitte Date: Tue Nov 13 18:49:21 2018 +0100 Configuration: make sure the shared_sources table doesn't contain empty elements Fixes #7634 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7635) (cherry picked from commit 0c594ccc29f6ba241627f436ba3d05fc400d1066) ----------------------------------------------------------------------- Summary of changes: Configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configure b/Configure index d85ff6a..a1ce652 100755 --- a/Configure +++ b/Configure @@ -1906,8 +1906,8 @@ EOF next unless defined($unified_info{includes}->{$dest}->{$k}); my @incs = reverse @{$unified_info{includes}->{$dest}->{$k}}; foreach my $obj (grep /\.o$/, - (keys %{$unified_info{sources}->{$dest}}, - keys %{$unified_info{shared_sources}->{$dest}})) { + (keys %{$unified_info{sources}->{$dest} // {}}, + keys %{$unified_info{shared_sources}->{$dest} // {}})) { foreach my $inc (@incs) { unshift @{$unified_info{includes}->{$obj}->{$k}}, $inc unless grep { $_ eq $inc } @{$unified_info{includes}->{$obj}->{$k}}; From builds at travis-ci.org Tue Nov 13 23:10:46 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 13 Nov 2018 23:10:46 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21714 (OpenSSL_1_1_1-stable - 0c594cc) In-Reply-To: Message-ID: <5beb59f4118ea_43fc735e30bfc318146@4ad0fa48-a9ab-42be-b5c9-041cbbd91213.mail> Build Update for openssl/openssl ------------------------------------- Build: #21714 Status: Still Failing Duration: 17 mins and 4 secs Commit: 0c594cc (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Configuration: make sure the shared_sources table doesn't contain empty elements Fixes #7634 Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7635) View the changeset: https://github.com/openssl/openssl/compare/45f247258a87...0c594ccc29f6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454739411?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Tue Nov 13 23:40:07 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:40:07 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542152407.471372.2560.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 841303dad2d0bb28db2317d36ef430e73d137d3d (commit) via 75711510f08c33f55c40b89b21cb71d1a1679abf (commit) from 013aefc5f03c95f5366cc854ffb02b0df49af90d (commit) - Log ----------------------------------------------------------------- commit 841303dad2d0bb28db2317d36ef430e73d137d3d Author: Richard Levitte Date: Tue Nov 13 18:28:41 2018 +0100 test/recipes/90-test_shlibload.t needs $target{shared_extension} We therefore must add defaults. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7631) commit 75711510f08c33f55c40b89b21cb71d1a1679abf Author: Richard Levitte Date: Tue Nov 13 15:57:34 2018 +0100 Fix rpath-related Linux "test_shlibload" failure. When libssl and libcrypto are compiled on Linux with "-rpath", but not "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, and we end up running with the wrong libraries. This is resolved by using full (or at least relative, rather than just the filename to be found on LD_LIBRARY_PATH) paths to the shared objects. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7631) ----------------------------------------------------------------------- Summary of changes: Configurations/00-base-templates.conf | 6 ++++++ test/recipes/90-test_shlibload.t | 27 +++++++++++++++++++-------- util/shlib_wrap.sh.in | 28 +++++++++++++++++++--------- 3 files changed, 44 insertions(+), 17 deletions(-) diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index 3455b3a..8503c2f 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -68,6 +68,8 @@ } return (); }, + shared_extension => ".so", + build_scheme => [ "unified", "unix" ], build_file => "Makefile", }, @@ -99,6 +101,8 @@ mtinflag => "-manifest ", mtoutflag => "-outputresource:", + shared_extension => ".dll", + build_file => "makefile", build_scheme => [ "unified", "windows" ], }, @@ -107,6 +111,8 @@ inherit_from => [ "BASE_common" ], template => 1, + shared_extension => ".exe", + build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], }, diff --git a/test/recipes/90-test_shlibload.t b/test/recipes/90-test_shlibload.t index 04d5265..78899f6 100644 --- a/test/recipes/90-test_shlibload.t +++ b/test/recipes/90-test_shlibload.t @@ -6,8 +6,7 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html - -use OpenSSL::Test qw/:DEFAULT bldtop_dir/; +use OpenSSL::Test qw/:DEFAULT bldtop_dir bldtop_file/; use OpenSSL::Test::Utils; #Load configdata.pm @@ -22,12 +21,13 @@ plan skip_all => "Test only supported in a shared build" if disabled("shared"); plan tests => 4; -my $libcrypto_idx = $unified_info{rename}->{libcrypto} // "libcrypto"; -my $libssl_idx = $unified_info{rename}->{libssl} // "libssl"; -my $libcrypto = - $unified_info{sharednames}->{$libcrypto_idx}.$target{shared_extension_simple}; -my $libssl = - $unified_info{sharednames}->{$libssl_idx}.$target{shared_extension_simple}; +# When libssl and libcrypto are compiled on Linux with "-rpath", but not +# "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, +# and we end up running with the wrong libraries. This is resolved by +# using paths to the shared objects, not just the names. + +my $libcrypto = bldtop_file(shlib('libcrypto')); +my $libssl = bldtop_file(shlib('libssl')); ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl])), "running shlibloadtest -crypto_first"); @@ -38,3 +38,14 @@ ok(run(test(["shlibloadtest", "-just_crypto", $libcrypto, $libssl])), ok(run(test(["shlibloadtest", "-dso_ref", $libcrypto, $libssl])), "running shlibloadtest -dso_ref"); +sub shlib { + my $lib = shift; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_MAJOR\)\.\$\(SHLIB_MINOR\) + |.$config{shlib_version_number}|x; + return $lib; +} diff --git a/util/shlib_wrap.sh.in b/util/shlib_wrap.sh.in index 6c115ba..d030d33 100755 --- a/util/shlib_wrap.sh.in +++ b/util/shlib_wrap.sh.in @@ -1,5 +1,22 @@ #!/bin/sh +{- + use lib '.'; + use configdata; + sub shlib { + my $lib = shift; + return "" if $disabled{shared}; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_MAJOR\)\.\$\(SHLIB_MINOR\) + |.$config{shlib_version_number}|x; + return $lib; + } + ""; # Make sure no left over string sneaks its way into the script +-} # To test this OpenSSL version's applications against another version's # shared libraries, simply set # @@ -25,15 +42,8 @@ fi THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." [ -d "${THERE}" ] || exec "$@" # should never happen... -# Alternative to this is to parse ${THERE}/Makefile... -LIBCRYPTOSO="${THERE}/libcrypto.so" -if [ -f "$LIBCRYPTOSO" ]; then - while [ -h "$LIBCRYPTOSO" ]; do - LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`" - done - SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null` - LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}" -fi +LIBCRYPTOSO="${THERE}/{- shlib('libcrypto') -}" +LIBSSLSO="${THERE}/{- shlib('libssl') -}" SYSNAME=`(uname -s) 2>/dev/null`; case "$SYSNAME" in From levitte at openssl.org Tue Nov 13 23:42:04 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:42:04 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542152524.797603.3680.nullmailer@dev.openssl.org> The branch master has been updated via 45cdae1c7c93fe7ef2a981da4c36c3b8cb09e855 (commit) via 18289399743da6c3db462f37fc8797738e8acf7c (commit) from 6e624a645300d784eaa97ddda29364081ede36d7 (commit) - Log ----------------------------------------------------------------- commit 45cdae1c7c93fe7ef2a981da4c36c3b8cb09e855 Author: Richard Levitte Date: Tue Nov 13 18:28:41 2018 +0100 test/recipes/90-test_shlibload.t needs $target{shared_extension} We therefore must add defaults. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) commit 18289399743da6c3db462f37fc8797738e8acf7c Author: Richard Levitte Date: Tue Nov 13 00:16:55 2018 +0100 Fix rpath-related Linux "test_shlibload" failure. When libssl and libcrypto are compiled on Linux with "-rpath", but not "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, and we end up running with the wrong libraries. This is resolved by using full (or at least relative, rather than just the filename to be found on LD_LIBRARY_PATH) paths to the shared objects. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) ----------------------------------------------------------------------- Summary of changes: Configurations/00-base-templates.conf | 6 ++++++ test/recipes/90-test_shlibload.t | 27 +++++++++++++++++++-------- util/shlib_wrap.sh.in | 28 +++++++++++++++++++--------- 3 files changed, 44 insertions(+), 17 deletions(-) diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index dd0649d..8555ba1 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -102,6 +102,8 @@ my %targets=( ? "ranlib" : "" }, RC => "windres", + shared_extension => ".so", + build_scheme => [ "unified", "unix" ], build_file => "Makefile", }, @@ -142,6 +144,8 @@ my %targets=( mtinflag => "-manifest ", mtoutflag => "-outputresource:", + shared_extension => ".dll", + build_file => "makefile", build_scheme => [ "unified", "windows" ], }, @@ -160,6 +164,8 @@ my %targets=( return [ @incs ]; }), + shared_extension => ".exe", + build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], }, diff --git a/test/recipes/90-test_shlibload.t b/test/recipes/90-test_shlibload.t index 368dea3..2761d58 100644 --- a/test/recipes/90-test_shlibload.t +++ b/test/recipes/90-test_shlibload.t @@ -6,8 +6,7 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html - -use OpenSSL::Test qw/:DEFAULT bldtop_dir/; +use OpenSSL::Test qw/:DEFAULT bldtop_dir bldtop_file/; use OpenSSL::Test::Utils; #Load configdata.pm @@ -23,12 +22,13 @@ plan skip_all => "Test is disabled on AIX" if config('target') =~ m|^aix|; plan tests => 4; -my $libcrypto_idx = $unified_info{rename}->{libcrypto} // "libcrypto"; -my $libssl_idx = $unified_info{rename}->{libssl} // "libssl"; -my $libcrypto = - $unified_info{sharednames}->{$libcrypto_idx}.$target{shared_extension_simple}; -my $libssl = - $unified_info{sharednames}->{$libssl_idx}.$target{shared_extension_simple}; +# When libssl and libcrypto are compiled on Linux with "-rpath", but not +# "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, +# and we end up running with the wrong libraries. This is resolved by +# using paths to the shared objects, not just the names. + +my $libcrypto = bldtop_file(shlib('libcrypto')); +my $libssl = bldtop_file(shlib('libssl')); ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl])), "running shlibloadtest -crypto_first"); @@ -39,3 +39,14 @@ ok(run(test(["shlibloadtest", "-just_crypto", $libcrypto, $libssl])), ok(run(test(["shlibloadtest", "-dso_ref", $libcrypto, $libssl])), "running shlibloadtest -dso_ref"); +sub shlib { + my $lib = shift; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_VERSION_NUMBER\) + |.$config{shlib_version_number}|x; + return $lib; +} diff --git a/util/shlib_wrap.sh.in b/util/shlib_wrap.sh.in index 9199d12..eac70ed 100755 --- a/util/shlib_wrap.sh.in +++ b/util/shlib_wrap.sh.in @@ -1,5 +1,22 @@ #!/bin/sh +{- + use lib '.'; + use configdata; + sub shlib { + my $lib = shift; + return "" if $disabled{shared}; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_VERSION_NUMBER\) + |.$config{shlib_version_number}|x; + return $lib; + } + ""; # Make sure no left over string sneaks its way into the script +-} # To test this OpenSSL version's applications against another version's # shared libraries, simply set # @@ -25,15 +42,8 @@ fi THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." [ -d "${THERE}" ] || exec "$@" # should never happen... -# Alternative to this is to parse ${THERE}/Makefile... -LIBCRYPTOSO="${THERE}/libcrypto.so" -if [ -f "$LIBCRYPTOSO" ]; then - while [ -h "$LIBCRYPTOSO" ]; do - LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`" - done - SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null` - LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}" -fi +LIBCRYPTOSO="${THERE}/{- shlib('libcrypto') -}" +LIBSSLSO="${THERE}/{- shlib('libssl') -}" SYSNAME=`(uname -s) 2>/dev/null`; case "$SYSNAME" in From levitte at openssl.org Tue Nov 13 23:43:05 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:43:05 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542152585.265332.4633.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c8bcea93b116d8d3dbae4fb32600a44e07b3c957 (commit) via 86736316b77e06fa9ed085a3e6fac3d337325ccb (commit) from 0c594ccc29f6ba241627f436ba3d05fc400d1066 (commit) - Log ----------------------------------------------------------------- commit c8bcea93b116d8d3dbae4fb32600a44e07b3c957 Author: Richard Levitte Date: Tue Nov 13 18:28:41 2018 +0100 test/recipes/90-test_shlibload.t needs $target{shared_extension} We therefore must add defaults. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) (cherry picked from commit 45cdae1c7c93fe7ef2a981da4c36c3b8cb09e855) commit 86736316b77e06fa9ed085a3e6fac3d337325ccb Author: Richard Levitte Date: Tue Nov 13 00:16:55 2018 +0100 Fix rpath-related Linux "test_shlibload" failure. When libssl and libcrypto are compiled on Linux with "-rpath", but not "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, and we end up running with the wrong libraries. This is resolved by using full (or at least relative, rather than just the filename to be found on LD_LIBRARY_PATH) paths to the shared objects. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) (cherry picked from commit 18289399743da6c3db462f37fc8797738e8acf7c) ----------------------------------------------------------------------- Summary of changes: Configurations/00-base-templates.conf | 6 ++++++ test/recipes/90-test_shlibload.t | 27 +++++++++++++++++++-------- util/shlib_wrap.sh.in | 28 +++++++++++++++++++--------- 3 files changed, 44 insertions(+), 17 deletions(-) diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index dd0649d..8555ba1 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -102,6 +102,8 @@ my %targets=( ? "ranlib" : "" }, RC => "windres", + shared_extension => ".so", + build_scheme => [ "unified", "unix" ], build_file => "Makefile", }, @@ -142,6 +144,8 @@ my %targets=( mtinflag => "-manifest ", mtoutflag => "-outputresource:", + shared_extension => ".dll", + build_file => "makefile", build_scheme => [ "unified", "windows" ], }, @@ -160,6 +164,8 @@ my %targets=( return [ @incs ]; }), + shared_extension => ".exe", + build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], }, diff --git a/test/recipes/90-test_shlibload.t b/test/recipes/90-test_shlibload.t index 368dea3..2761d58 100644 --- a/test/recipes/90-test_shlibload.t +++ b/test/recipes/90-test_shlibload.t @@ -6,8 +6,7 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html - -use OpenSSL::Test qw/:DEFAULT bldtop_dir/; +use OpenSSL::Test qw/:DEFAULT bldtop_dir bldtop_file/; use OpenSSL::Test::Utils; #Load configdata.pm @@ -23,12 +22,13 @@ plan skip_all => "Test is disabled on AIX" if config('target') =~ m|^aix|; plan tests => 4; -my $libcrypto_idx = $unified_info{rename}->{libcrypto} // "libcrypto"; -my $libssl_idx = $unified_info{rename}->{libssl} // "libssl"; -my $libcrypto = - $unified_info{sharednames}->{$libcrypto_idx}.$target{shared_extension_simple}; -my $libssl = - $unified_info{sharednames}->{$libssl_idx}.$target{shared_extension_simple}; +# When libssl and libcrypto are compiled on Linux with "-rpath", but not +# "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, +# and we end up running with the wrong libraries. This is resolved by +# using paths to the shared objects, not just the names. + +my $libcrypto = bldtop_file(shlib('libcrypto')); +my $libssl = bldtop_file(shlib('libssl')); ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl])), "running shlibloadtest -crypto_first"); @@ -39,3 +39,14 @@ ok(run(test(["shlibloadtest", "-just_crypto", $libcrypto, $libssl])), ok(run(test(["shlibloadtest", "-dso_ref", $libcrypto, $libssl])), "running shlibloadtest -dso_ref"); +sub shlib { + my $lib = shift; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_VERSION_NUMBER\) + |.$config{shlib_version_number}|x; + return $lib; +} diff --git a/util/shlib_wrap.sh.in b/util/shlib_wrap.sh.in index 9199d12..eac70ed 100755 --- a/util/shlib_wrap.sh.in +++ b/util/shlib_wrap.sh.in @@ -1,5 +1,22 @@ #!/bin/sh +{- + use lib '.'; + use configdata; + sub shlib { + my $lib = shift; + return "" if $disabled{shared}; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_VERSION_NUMBER\) + |.$config{shlib_version_number}|x; + return $lib; + } + ""; # Make sure no left over string sneaks its way into the script +-} # To test this OpenSSL version's applications against another version's # shared libraries, simply set # @@ -25,15 +42,8 @@ fi THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." [ -d "${THERE}" ] || exec "$@" # should never happen... -# Alternative to this is to parse ${THERE}/Makefile... -LIBCRYPTOSO="${THERE}/libcrypto.so" -if [ -f "$LIBCRYPTOSO" ]; then - while [ -h "$LIBCRYPTOSO" ]; do - LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`" - done - SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null` - LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}" -fi +LIBCRYPTOSO="${THERE}/{- shlib('libcrypto') -}" +LIBSSLSO="${THERE}/{- shlib('libssl') -}" SYSNAME=`(uname -s) 2>/dev/null`; case "$SYSNAME" in From levitte at openssl.org Tue Nov 13 23:53:43 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:53:43 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542153223.358338.6667.nullmailer@dev.openssl.org> The branch master has been updated via 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb (commit) from 45cdae1c7c93fe7ef2a981da4c36c3b8cb09e855 (commit) - Log ----------------------------------------------------------------- commit 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb Author: Richard Levitte Date: Tue Nov 13 17:57:45 2018 +0100 Fix typo in util/perl/OpenSSL/Test.pm Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7633) ----------------------------------------------------------------------- Summary of changes: util/perl/OpenSSL/Test.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm index d2f8190..9564b26 100644 --- a/util/perl/OpenSSL/Test.pm +++ b/util/perl/OpenSSL/Test.pm @@ -814,7 +814,7 @@ Returns a list of two numbers, the first representing the build version, the second representing the library version. See opensslv.h for more information on those numbers. -= back +=back =cut From levitte at openssl.org Tue Nov 13 23:54:39 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:54:39 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542153279.916248.7713.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via e0e5241fc917fb3cc2320659c4216518da0ae2c9 (commit) from c8bcea93b116d8d3dbae4fb32600a44e07b3c957 (commit) - Log ----------------------------------------------------------------- commit e0e5241fc917fb3cc2320659c4216518da0ae2c9 Author: Richard Levitte Date: Tue Nov 13 17:57:45 2018 +0100 Fix typo in util/perl/OpenSSL/Test.pm Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7633) (cherry picked from commit 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb) ----------------------------------------------------------------------- Summary of changes: util/perl/OpenSSL/Test.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm index d2f8190..9564b26 100644 --- a/util/perl/OpenSSL/Test.pm +++ b/util/perl/OpenSSL/Test.pm @@ -814,7 +814,7 @@ Returns a list of two numbers, the first representing the build version, the second representing the library version. See opensslv.h for more information on those numbers. -= back +=back =cut From levitte at openssl.org Tue Nov 13 23:55:19 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 13 Nov 2018 23:55:19 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542153319.907464.8599.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via b1aec9e84e2d36b0c4b45633d5343a39cb1ac25f (commit) from 841303dad2d0bb28db2317d36ef430e73d137d3d (commit) - Log ----------------------------------------------------------------- commit b1aec9e84e2d36b0c4b45633d5343a39cb1ac25f Author: Richard Levitte Date: Tue Nov 13 17:57:45 2018 +0100 Fix typo in util/perl/OpenSSL/Test.pm Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7633) (cherry picked from commit 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb) ----------------------------------------------------------------------- Summary of changes: util/perl/OpenSSL/Test.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm index a6be487..a77909c 100644 --- a/util/perl/OpenSSL/Test.pm +++ b/util/perl/OpenSSL/Test.pm @@ -704,7 +704,7 @@ Returns a list of two numbers, the first representing the build version, the second representing the library version. See opensslv.h for more information on those numbers. -= back +=back =cut From builds at travis-ci.org Wed Nov 14 00:05:25 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 00:05:25 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21717 (master - 45cdae1) In-Reply-To: Message-ID: <5beb66c58c3c_43fcec360e34454759b@50386ed7-bae4-4f87-a754-12dfae21ed24.mail> Build Update for openssl/openssl ------------------------------------- Build: #21717 Status: Still Failing Duration: 22 mins and 9 secs Commit: 45cdae1 (master) Author: Richard Levitte Message: test/recipes/90-test_shlibload.t needs $target{shared_extension} We therefore must add defaults. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) View the changeset: https://github.com/openssl/openssl/compare/6e624a645300...45cdae1c7c93 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454755943?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Nov 14 00:19:44 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 00:19:44 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21718 (OpenSSL_1_1_1-stable - c8bcea9) In-Reply-To: Message-ID: <5beb6a2076b46_43fc735c5f8a03387a4@4ad0fa48-a9ab-42be-b5c9-041cbbd91213.mail> Build Update for openssl/openssl ------------------------------------- Build: #21718 Status: Still Failing Duration: 26 mins and 19 secs Commit: c8bcea9 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: test/recipes/90-test_shlibload.t needs $target{shared_extension} We therefore must add defaults. Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/7626) (cherry picked from commit 45cdae1c7c93fe7ef2a981da4c36c3b8cb09e855) View the changeset: https://github.com/openssl/openssl/compare/0c594ccc29f6...c8bcea93b116 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454756156?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Nov 14 00:29:01 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 00:29:01 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21719 (master - 2dc37bc) In-Reply-To: Message-ID: <5beb6c4ce76c9_43fafe581f0cc186537@3efe49bb-7afd-4f29-b988-1824ede70a76.mail> Build Update for openssl/openssl ------------------------------------- Build: #21719 Status: Still Failing Duration: 24 mins and 40 secs Commit: 2dc37bc (master) Author: Richard Levitte Message: Fix typo in util/perl/OpenSSL/Test.pm Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7633) View the changeset: https://github.com/openssl/openssl/compare/45cdae1c7c93...2dc37bc2b4c6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454759631?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Nov 14 00:38:16 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 00:38:16 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21720 (OpenSSL_1_1_1-stable - e0e5241) In-Reply-To: Message-ID: <5beb6e785023d_43faa90c3e3ec30114f@0bcd5dcc-9450-4c7c-a47a-3e2194d1a73f.mail> Build Update for openssl/openssl ------------------------------------- Build: #21720 Status: Still Failing Duration: 22 mins and 23 secs Commit: e0e5241 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Fix typo in util/perl/OpenSSL/Test.pm Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7633) (cherry picked from commit 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb) View the changeset: https://github.com/openssl/openssl/compare/c8bcea93b116...e0e5241fc917 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454760135?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Nov 14 01:19:18 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 14 Nov 2018 01:19:18 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1542158358.117029.2660.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 6e624a6453 KMAC implementation using EVP_MAC 7dc6875c55 Remove markdown links from HTML comments in issue templates 7136833933 Add issue templates and a user support page Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_akey.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_akey.o -c -o crypto/x509v3/libcrypto-lib-v3_akey.o ../openssl/crypto/x509v3/v3_akey.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_akeya.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_akeya.o -c -o crypto/x509v3/libcrypto-lib-v3_akeya.o ../openssl/crypto/x509v3/v3_akeya.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_alt.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_alt.o -c -o crypto/x509v3/libcrypto-lib-v3_alt.o ../openssl/crypto/x509v3/v3_alt.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_asid.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_asid.o -c -o crypto/x509v3/libcrypto-lib-v3_asid.o ../openssl/crypto/x509v3/v3_asid.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_bcons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_bcons.o -c -o crypto/x509v3/libcrypto-lib-v3_bcons.o ../openssl/crypto/x509v3/v3_bcons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_bitst.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_bitst.o -c -o crypto/x509v3/libcrypto-lib-v3_bitst.o ../openssl/crypto/x509v3/v3_bitst.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_conf.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_conf.o -c -o crypto/x509v3/libcrypto-lib-v3_conf.o ../openssl/crypto/x509v3/v3_conf.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_cpols.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_cpols.o -c -o crypto/x509v3/libcrypto-lib-v3_cpols.o ../openssl/crypto/x509v3/v3_cpols.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_crld.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_crld.o -c -o crypto/x509v3/libcrypto-lib-v3_crld.o ../openssl/crypto/x509v3/v3_crld.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_enum.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_enum.o -c -o crypto/x509v3/libcrypto-lib-v3_enum.o ../openssl/crypto/x509v3/v3_enum.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_extku.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_extku.o -c -o crypto/x509v3/libcrypto-lib-v3_extku.o ../openssl/crypto/x509v3/v3_extku.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_genn.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_genn.o -c -o crypto/x509v3/libcrypto-lib-v3_genn.o ../openssl/crypto/x509v3/v3_genn.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_ia5.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_ia5.o -c -o crypto/x509v3/libcrypto-lib-v3_ia5.o ../openssl/crypto/x509v3/v3_ia5.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_info.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_info.o -c -o crypto/x509v3/libcrypto-lib-v3_info.o ../openssl/crypto/x509v3/v3_info.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_int.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_int.o -c -o crypto/x509v3/libcrypto-lib-v3_int.o ../openssl/crypto/x509v3/v3_int.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_lib.o -c -o crypto/x509v3/libcrypto-lib-v3_lib.o ../openssl/crypto/x509v3/v3_lib.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_ncons.o -c -o crypto/x509v3/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509v3/v3_ncons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pci.o -c -o crypto/x509v3/libcrypto-lib-v3_pci.o ../openssl/crypto/x509v3/v3_pci.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pcia.o -c -o crypto/x509v3/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509v3/v3_pcia.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pcons.o -c -o crypto/x509v3/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509v3/v3_pcons.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pku.o -c -o crypto/x509v3/libcrypto-lib-v3_pku.o ../openssl/crypto/x509v3/v3_pku.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_pmaps.o -c -o crypto/x509v3/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509v3/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_prn.o -c -o crypto/x509v3/libcrypto-lib-v3_prn.o ../openssl/crypto/x509v3/v3_prn.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_purp.o -c -o crypto/x509v3/libcrypto-lib-v3_purp.o ../openssl/crypto/x509v3/v3_purp.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_skey.o -c -o crypto/x509v3/libcrypto-lib-v3_skey.o ../openssl/crypto/x509v3/v3_skey.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_sxnet.o -c -o crypto/x509v3/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509v3/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_tlsf.o -c -o crypto/x509v3/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509v3/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509v3/libcrypto-lib-v3_utl.o -c -o crypto/x509v3/libcrypto-lib-v3_utl.o ../openssl/crypto/x509v3/v3_utl.c clang -I. -Icrypto/include -Iinclude -I../openssl -I../openssl/crypto/include -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF crypto/x509v3/libcrypto-lib-v3err.d.tmp -MT crypto/x509v3/libcrypto-lib-v3err.o -c -o crypto/x509v3/libcrypto-lib-v3err.o ../openssl/crypto/x509v3/v3err.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-bio_ssl.d.tmp -MT ssl/libssl-lib-bio_ssl.o -c -o ssl/libssl-lib-bio_ssl.o ../openssl/ssl/bio_ssl.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_lib.d.tmp -MT ssl/libssl-lib-d1_lib.o -c -o ssl/libssl-lib-d1_lib.o ../openssl/ssl/d1_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_msg.d.tmp -MT ssl/libssl-lib-d1_msg.o -c -o ssl/libssl-lib-d1_msg.o ../openssl/ssl/d1_msg.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-d1_srtp.d.tmp -MT ssl/libssl-lib-d1_srtp.o -c -o ssl/libssl-lib-d1_srtp.o ../openssl/ssl/d1_srtp.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-methods.d.tmp -MT ssl/libssl-lib-methods.o -c -o ssl/libssl-lib-methods.o ../openssl/ssl/methods.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-packet.d.tmp -MT ssl/libssl-lib-packet.o -c -o ssl/libssl-lib-packet.o ../openssl/ssl/packet.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-pqueue.d.tmp -MT ssl/libssl-lib-pqueue.o -c -o ssl/libssl-lib-pqueue.o ../openssl/ssl/pqueue.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_cbc.d.tmp -MT ssl/libssl-lib-s3_cbc.o -c -o ssl/libssl-lib-s3_cbc.o ../openssl/ssl/s3_cbc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_enc.d.tmp -MT ssl/libssl-lib-s3_enc.o -c -o ssl/libssl-lib-s3_enc.o ../openssl/ssl/s3_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_lib.d.tmp -MT ssl/libssl-lib-s3_lib.o -c -o ssl/libssl-lib-s3_lib.o ../openssl/ssl/s3_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-s3_msg.d.tmp -MT ssl/libssl-lib-s3_msg.o -c -o ssl/libssl-lib-s3_msg.o ../openssl/ssl/s3_msg.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_asn1.d.tmp -MT ssl/libssl-lib-ssl_asn1.o -c -o ssl/libssl-lib-ssl_asn1.o ../openssl/ssl/ssl_asn1.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_cert.d.tmp -MT ssl/libssl-lib-ssl_cert.o -c -o ssl/libssl-lib-ssl_cert.o ../openssl/ssl/ssl_cert.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_ciph.d.tmp -MT ssl/libssl-lib-ssl_ciph.o -c -o ssl/libssl-lib-ssl_ciph.o ../openssl/ssl/ssl_ciph.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_conf.d.tmp -MT ssl/libssl-lib-ssl_conf.o -c -o ssl/libssl-lib-ssl_conf.o ../openssl/ssl/ssl_conf.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_err.d.tmp -MT ssl/libssl-lib-ssl_err.o -c -o ssl/libssl-lib-ssl_err.o ../openssl/ssl/ssl_err.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_init.d.tmp -MT ssl/libssl-lib-ssl_init.o -c -o ssl/libssl-lib-ssl_init.o ../openssl/ssl/ssl_init.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_lib.d.tmp -MT ssl/libssl-lib-ssl_lib.o -c -o ssl/libssl-lib-ssl_lib.o ../openssl/ssl/ssl_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_mcnf.d.tmp -MT ssl/libssl-lib-ssl_mcnf.o -c -o ssl/libssl-lib-ssl_mcnf.o ../openssl/ssl/ssl_mcnf.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_rsa.d.tmp -MT ssl/libssl-lib-ssl_rsa.o -c -o ssl/libssl-lib-ssl_rsa.o ../openssl/ssl/ssl_rsa.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_sess.d.tmp -MT ssl/libssl-lib-ssl_sess.o -c -o ssl/libssl-lib-ssl_sess.o ../openssl/ssl/ssl_sess.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_stat.d.tmp -MT ssl/libssl-lib-ssl_stat.o -c -o ssl/libssl-lib-ssl_stat.o ../openssl/ssl/ssl_stat.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_txt.d.tmp -MT ssl/libssl-lib-ssl_txt.o -c -o ssl/libssl-lib-ssl_txt.o ../openssl/ssl/ssl_txt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-ssl_utst.d.tmp -MT ssl/libssl-lib-ssl_utst.o -c -o ssl/libssl-lib-ssl_utst.o ../openssl/ssl/ssl_utst.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_enc.d.tmp -MT ssl/libssl-lib-t1_enc.o -c -o ssl/libssl-lib-t1_enc.o ../openssl/ssl/t1_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_lib.d.tmp -MT ssl/libssl-lib-t1_lib.o -c -o ssl/libssl-lib-t1_lib.o ../openssl/ssl/t1_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-t1_trce.d.tmp -MT ssl/libssl-lib-t1_trce.o -c -o ssl/libssl-lib-t1_trce.o ../openssl/ssl/t1_trce.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-tls13_enc.d.tmp -MT ssl/libssl-lib-tls13_enc.o -c -o ssl/libssl-lib-tls13_enc.o ../openssl/ssl/tls13_enc.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/libssl-lib-tls_srp.d.tmp -MT ssl/libssl-lib-tls_srp.o -c -o ssl/libssl-lib-tls_srp.o ../openssl/ssl/tls_srp.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-dtls1_bitmap.d.tmp -MT ssl/record/libssl-lib-dtls1_bitmap.o -c -o ssl/record/libssl-lib-dtls1_bitmap.o ../openssl/ssl/record/dtls1_bitmap.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-rec_layer_d1.d.tmp -MT ssl/record/libssl-lib-rec_layer_d1.o -c -o ssl/record/libssl-lib-rec_layer_d1.o ../openssl/ssl/record/rec_layer_d1.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-rec_layer_s3.d.tmp -MT ssl/record/libssl-lib-rec_layer_s3.o -c -o ssl/record/libssl-lib-rec_layer_s3.o ../openssl/ssl/record/rec_layer_s3.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_buffer.d.tmp -MT ssl/record/libssl-lib-ssl3_buffer.o -c -o ssl/record/libssl-lib-ssl3_buffer.o ../openssl/ssl/record/ssl3_buffer.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_record.d.tmp -MT ssl/record/libssl-lib-ssl3_record.o -c -o ssl/record/libssl-lib-ssl3_record.o ../openssl/ssl/record/ssl3_record.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/record/libssl-lib-ssl3_record_tls13.d.tmp -MT ssl/record/libssl-lib-ssl3_record_tls13.o -c -o ssl/record/libssl-lib-ssl3_record_tls13.o ../openssl/ssl/record/ssl3_record_tls13.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions.d.tmp -MT ssl/statem/libssl-lib-extensions.o -c -o ssl/statem/libssl-lib-extensions.o ../openssl/ssl/statem/extensions.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_clnt.d.tmp -MT ssl/statem/libssl-lib-extensions_clnt.o -c -o ssl/statem/libssl-lib-extensions_clnt.o ../openssl/ssl/statem/extensions_clnt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_cust.d.tmp -MT ssl/statem/libssl-lib-extensions_cust.o -c -o ssl/statem/libssl-lib-extensions_cust.o ../openssl/ssl/statem/extensions_cust.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-extensions_srvr.d.tmp -MT ssl/statem/libssl-lib-extensions_srvr.o -c -o ssl/statem/libssl-lib-extensions_srvr.o ../openssl/ssl/statem/extensions_srvr.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem.d.tmp -MT ssl/statem/libssl-lib-statem.o -c -o ssl/statem/libssl-lib-statem.o ../openssl/ssl/statem/statem.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_clnt.d.tmp -MT ssl/statem/libssl-lib-statem_clnt.o -c -o ssl/statem/libssl-lib-statem_clnt.o ../openssl/ssl/statem/statem_clnt.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_dtls.d.tmp -MT ssl/statem/libssl-lib-statem_dtls.o -c -o ssl/statem/libssl-lib-statem_dtls.o ../openssl/ssl/statem/statem_dtls.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_lib.d.tmp -MT ssl/statem/libssl-lib-statem_lib.o -c -o ssl/statem/libssl-lib-statem_lib.o ../openssl/ssl/statem/statem_lib.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF ssl/statem/libssl-lib-statem_srvr.d.tmp -MT ssl/statem/libssl-lib-statem_srvr.o -c -o ssl/statem/libssl-lib-statem_srvr.o ../openssl/ssl/statem/statem_srvr.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-basic_output.d.tmp -MT test/testutil/libtestutil-lib-basic_output.o -c -o test/testutil/libtestutil-lib-basic_output.o ../openssl/test/testutil/basic_output.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-cb.d.tmp -MT test/testutil/libtestutil-lib-cb.o -c -o test/testutil/libtestutil-lib-cb.o ../openssl/test/testutil/cb.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-driver.d.tmp -MT test/testutil/libtestutil-lib-driver.o -c -o test/testutil/libtestutil-lib-driver.o ../openssl/test/testutil/driver.c clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-format_output.d.tmp -MT test/testutil/libtestutil-lib-format_output.o -c -o test/testutil/libtestutil-lib-format_output.o ../openssl/test/testutil/format_output.c ../openssl/ssl/statem/statem_lib.c:1540:17: error: implicit declaration of function 'EVP_PKEY_get0_EC_KEY' is invalid in C99 [-Werror,-Wimplicit-function-declaration] eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); ^ clang -Iinclude -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wmissing-variable-declarations -Wno-unknown-warning-option -Wall -O0 -g -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-1.1\"" -MMD -MF test/testutil/libtestutil-lib-init.d.tmp -MT test/testutil/libtestutil-lib-init.o -c -o test/testutil/libtestutil-lib-init.o ../openssl/test/testutil/init.c ../openssl/ssl/statem/statem_lib.c:1540:17: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/statem/statem_lib.c:1540:15: error: incompatible integer to pointer conversion assigning to 'EC_KEY *' (aka 'struct ec_key_st *') from 'int' [-Werror,-Wint-conversion] eckey = EVP_PKEY_get0_EC_KEY(s->cert->pkeys[SSL_PKEY_ECC].privatekey); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/statem/statem_lib.c:1543:17: error: implicit declaration of function 'EC_GROUP_get_curve_name' is invalid in C99 [-Werror,-Wimplicit-function-declaration] curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); ^ ../openssl/ssl/statem/statem_lib.c:1543:17: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/statem/statem_lib.c:1543:41: error: implicit declaration of function 'EC_KEY_get0_group' is invalid in C99 [-Werror,-Wimplicit-function-declaration] curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); ^ ../openssl/ssl/statem/statem_lib.c:1543:41: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] 7 errors generated. Makefile:11281: recipe for target 'ssl/statem/libssl-lib-statem_lib.o' failed make[1]: *** [ssl/statem/libssl-lib-statem_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:171: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Wed Nov 14 11:27:12 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 14 Nov 2018 11:27:12 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1542194832.962899.27599.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 6e624a6453 KMAC implementation using EVP_MAC 7dc6875c55 Remove markdown links from HTML comments in issue templates 7136833933 Add issue templates and a user support page Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 214 wallclock secs ( 1.64 usr 0.29 sys + 184.39 cusr 10.93 csys = 197.25 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From matt at openssl.org Wed Nov 14 11:36:57 2018 From: matt at openssl.org (Matt Caswell) Date: Wed, 14 Nov 2018 11:36:57 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542195417.961000.4575.nullmailer@dev.openssl.org> The branch master has been updated via 65d2c16cbe0da8efed2f285f59930297326fb435 (commit) from 2dc37bc2b4c678462a24d2904604e58c0c5ac1cb (commit) - Log ----------------------------------------------------------------- commit 65d2c16cbe0da8efed2f285f59930297326fb435 Author: Matt Caswell Date: Mon Nov 12 14:23:07 2018 +0000 Fix no-ec and no-tls1_2 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7620) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_locl.h | 2 ++ ssl/statem/statem_lib.c | 9 ++++++- ssl/t1_lib.c | 2 ++ test/recipes/80-test_ssl_new.t | 1 + test/ssl-tests/28-seclevel.conf | 52 +++++++++++++++++++------------------- test/ssl-tests/28-seclevel.conf.in | 28 +++++++++++++------- 6 files changed, 58 insertions(+), 36 deletions(-) diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index e9c5c5c..70e5a17 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -2572,7 +2572,9 @@ __owur int tls1_process_sigalgs(SSL *s); __owur int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey); __owur int tls1_lookup_md(const SIGALG_LOOKUP *lu, const EVP_MD **pmd); __owur size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs); +# ifndef OPENSSL_NO_EC __owur int tls_check_sigalg_curve(const SSL *s, int curve); +# endif __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey); __owur int ssl_set_client_disabled(SSL *s); __owur int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 95c2206..4324896 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -1506,8 +1506,11 @@ static int ssl_method_error(const SSL *s, const SSL_METHOD *method) */ static int is_tls13_capable(const SSL *s) { - int i, curve; + int i; +#ifndef OPENSSL_NO_EC + int curve; EC_KEY *eckey; +#endif #ifndef OPENSSL_NO_PSK if (s->psk_server_callback != NULL) @@ -1530,6 +1533,7 @@ static int is_tls13_capable(const SSL *s) } if (!ssl_has_cert(s, i)) continue; +#ifndef OPENSSL_NO_EC if (i != SSL_PKEY_ECC) return 1; /* @@ -1543,6 +1547,9 @@ static int is_tls13_capable(const SSL *s) curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); if (tls_check_sigalg_curve(s, curve)) return 1; +#else + return 1; +#endif } return 0; diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index fe13a39..3415c63 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -949,6 +949,7 @@ size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs) } } +#ifndef OPENSSL_NO_EC /* * Called by servers only. Checks that we have a sig alg that supports the * specified EC curve. @@ -979,6 +980,7 @@ int tls_check_sigalg_curve(const SSL *s, int curve) return 0; } +#endif /* * Check signature algorithm is consistent with sent supported signature diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index da8302d..db2271c 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -69,6 +69,7 @@ my %conf_dependent_tests = ( "22-compression.conf" => !$is_default_tls, "25-cipher.conf" => disabled("poly1305") || disabled("chacha"), "27-ticket-appdata.conf" => !$is_default_tls, + "28-seclevel.conf" => disabled("tls1_2") || $no_ec, ); # Add your test here if it should be skipped for some compile-time diff --git a/test/ssl-tests/28-seclevel.conf b/test/ssl-tests/28-seclevel.conf index ddc2448..f863f68 100644 --- a/test/ssl-tests/28-seclevel.conf +++ b/test/ssl-tests/28-seclevel.conf @@ -4,8 +4,8 @@ num_tests = 4 test-0 = 0-SECLEVEL 3 with default key test-1 = 1-SECLEVEL 3 with ED448 key -test-2 = 2-SECLEVEL 3 with ED448 key, TLSv1.2 -test-3 = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE +test-2 = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE +test-3 = 3-SECLEVEL 3 with ED448 key, TLSv1.2 # =========================================================== [0-SECLEVEL 3 with default key] @@ -54,22 +54,22 @@ ExpectedResult = Success # =========================================================== -[2-SECLEVEL 3 with ED448 key, TLSv1.2] -ssl_conf = 2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE] +ssl_conf = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl -[2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] -server = 2-SECLEVEL 3 with ED448 key, TLSv1.2-server -client = 2-SECLEVEL 3 with ED448 key, TLSv1.2-client +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] +server = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server +client = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client -[2-SECLEVEL 3 with ED448 key, TLSv1.2-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] +Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem CipherString = DEFAULT:@SECLEVEL=3 -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +Groups = X25519 +PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem -[2-SECLEVEL 3 with ED448 key, TLSv1.2-client] -CipherString = DEFAULT -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] +CipherString = ECDHE:@SECLEVEL=3 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer [test-2] @@ -78,22 +78,22 @@ ExpectedResult = Success # =========================================================== -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE] -ssl_conf = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl +[3-SECLEVEL 3 with ED448 key, TLSv1.2] +ssl_conf = 3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] -server = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server -client = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client +[3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] +server = 3-SECLEVEL 3 with ED448 key, TLSv1.2-server +client = 3-SECLEVEL 3 with ED448 key, TLSv1.2-client -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] -Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem +[3-SECLEVEL 3 with ED448 key, TLSv1.2-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem CipherString = DEFAULT:@SECLEVEL=3 -Groups = X25519 -PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] -CipherString = ECDHE:@SECLEVEL=3 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +[3-SECLEVEL 3 with ED448 key, TLSv1.2-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-3] diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in index 5a1ee46..9f85a95 100644 --- a/test/ssl-tests/28-seclevel.conf.in +++ b/test/ssl-tests/28-seclevel.conf.in @@ -10,6 +10,7 @@ ## SSL test configurations package ssltests; +use OpenSSL::Test::Utils; our @tests = ( { @@ -18,6 +19,9 @@ our @tests = ( client => { }, test => { "ExpectedResult" => "ServerFail" }, }, +); + +our @tests_ec = ( { name => "SECLEVEL 3 with ED448 key", server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", @@ -27,15 +31,6 @@ our @tests = ( test => { "ExpectedResult" => "Success" }, }, { - name => "SECLEVEL 3 with ED448 key, TLSv1.2", - server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", - "Certificate" => test_pem("server-ed448-cert.pem"), - "PrivateKey" => test_pem("server-ed448-key.pem"), - "MaxProtocol" => "TLSv1.2" }, - client => { }, - test => { "ExpectedResult" => "Success" }, - }, - { name => "SECLEVEL 3 with P-384 key, X25519 ECDHE", server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", "Certificate" => test_pem("p384-server-cert.pem"), @@ -46,3 +41,18 @@ our @tests = ( test => { "ExpectedResult" => "Success" }, }, ); + +our @tests_tls1_2 = ( + { + name => "SECLEVEL 3 with ED448 key, TLSv1.2", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem"), + "MaxProtocol" => "TLSv1.2" }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, +); + +push @tests, @tests_ec unless disabled("ec"); +push @tests, @tests_tls1_2 unless disabled("tls1_2") || disabled("ec"); From matt at openssl.org Wed Nov 14 11:38:06 2018 From: matt at openssl.org (Matt Caswell) Date: Wed, 14 Nov 2018 11:38:06 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542195486.411328.5485.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via eaa32f3679a8f36975142ece0958a68422af8bbc (commit) from e0e5241fc917fb3cc2320659c4216518da0ae2c9 (commit) - Log ----------------------------------------------------------------- commit eaa32f3679a8f36975142ece0958a68422af8bbc Author: Matt Caswell Date: Mon Nov 12 14:23:07 2018 +0000 Fix no-ec and no-tls1_2 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7620) (cherry picked from commit 65d2c16cbe0da8efed2f285f59930297326fb435) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_locl.h | 2 ++ ssl/statem/statem_lib.c | 9 ++++++- ssl/t1_lib.c | 2 ++ test/recipes/80-test_ssl_new.t | 1 + test/ssl-tests/28-seclevel.conf | 52 +++++++++++++++++++------------------- test/ssl-tests/28-seclevel.conf.in | 28 +++++++++++++------- 6 files changed, 58 insertions(+), 36 deletions(-) diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index e9c5c5c..70e5a17 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -2572,7 +2572,9 @@ __owur int tls1_process_sigalgs(SSL *s); __owur int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey); __owur int tls1_lookup_md(const SIGALG_LOOKUP *lu, const EVP_MD **pmd); __owur size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs); +# ifndef OPENSSL_NO_EC __owur int tls_check_sigalg_curve(const SSL *s, int curve); +# endif __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey); __owur int ssl_set_client_disabled(SSL *s); __owur int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 95c2206..4324896 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -1506,8 +1506,11 @@ static int ssl_method_error(const SSL *s, const SSL_METHOD *method) */ static int is_tls13_capable(const SSL *s) { - int i, curve; + int i; +#ifndef OPENSSL_NO_EC + int curve; EC_KEY *eckey; +#endif #ifndef OPENSSL_NO_PSK if (s->psk_server_callback != NULL) @@ -1530,6 +1533,7 @@ static int is_tls13_capable(const SSL *s) } if (!ssl_has_cert(s, i)) continue; +#ifndef OPENSSL_NO_EC if (i != SSL_PKEY_ECC) return 1; /* @@ -1543,6 +1547,9 @@ static int is_tls13_capable(const SSL *s) curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(eckey)); if (tls_check_sigalg_curve(s, curve)) return 1; +#else + return 1; +#endif } return 0; diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index e79c7bf..fc41ed9 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -949,6 +949,7 @@ size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs) } } +#ifndef OPENSSL_NO_EC /* * Called by servers only. Checks that we have a sig alg that supports the * specified EC curve. @@ -979,6 +980,7 @@ int tls_check_sigalg_curve(const SSL *s, int curve) return 0; } +#endif /* * Check signature algorithm is consistent with sent supported signature diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index da8302d..db2271c 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -69,6 +69,7 @@ my %conf_dependent_tests = ( "22-compression.conf" => !$is_default_tls, "25-cipher.conf" => disabled("poly1305") || disabled("chacha"), "27-ticket-appdata.conf" => !$is_default_tls, + "28-seclevel.conf" => disabled("tls1_2") || $no_ec, ); # Add your test here if it should be skipped for some compile-time diff --git a/test/ssl-tests/28-seclevel.conf b/test/ssl-tests/28-seclevel.conf index ddc2448..f863f68 100644 --- a/test/ssl-tests/28-seclevel.conf +++ b/test/ssl-tests/28-seclevel.conf @@ -4,8 +4,8 @@ num_tests = 4 test-0 = 0-SECLEVEL 3 with default key test-1 = 1-SECLEVEL 3 with ED448 key -test-2 = 2-SECLEVEL 3 with ED448 key, TLSv1.2 -test-3 = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE +test-2 = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE +test-3 = 3-SECLEVEL 3 with ED448 key, TLSv1.2 # =========================================================== [0-SECLEVEL 3 with default key] @@ -54,22 +54,22 @@ ExpectedResult = Success # =========================================================== -[2-SECLEVEL 3 with ED448 key, TLSv1.2] -ssl_conf = 2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE] +ssl_conf = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl -[2-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] -server = 2-SECLEVEL 3 with ED448 key, TLSv1.2-server -client = 2-SECLEVEL 3 with ED448 key, TLSv1.2-client +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] +server = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server +client = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client -[2-SECLEVEL 3 with ED448 key, TLSv1.2-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] +Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem CipherString = DEFAULT:@SECLEVEL=3 -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +Groups = X25519 +PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem -[2-SECLEVEL 3 with ED448 key, TLSv1.2-client] -CipherString = DEFAULT -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] +CipherString = ECDHE:@SECLEVEL=3 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer [test-2] @@ -78,22 +78,22 @@ ExpectedResult = Success # =========================================================== -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE] -ssl_conf = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl +[3-SECLEVEL 3 with ED448 key, TLSv1.2] +ssl_conf = 3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] -server = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server -client = 3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client +[3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] +server = 3-SECLEVEL 3 with ED448 key, TLSv1.2-server +client = 3-SECLEVEL 3 with ED448 key, TLSv1.2-client -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] -Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem +[3-SECLEVEL 3 with ED448 key, TLSv1.2-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem CipherString = DEFAULT:@SECLEVEL=3 -Groups = X25519 -PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -[3-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] -CipherString = ECDHE:@SECLEVEL=3 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +[3-SECLEVEL 3 with ED448 key, TLSv1.2-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-3] diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in index 5a1ee46..9f85a95 100644 --- a/test/ssl-tests/28-seclevel.conf.in +++ b/test/ssl-tests/28-seclevel.conf.in @@ -10,6 +10,7 @@ ## SSL test configurations package ssltests; +use OpenSSL::Test::Utils; our @tests = ( { @@ -18,6 +19,9 @@ our @tests = ( client => { }, test => { "ExpectedResult" => "ServerFail" }, }, +); + +our @tests_ec = ( { name => "SECLEVEL 3 with ED448 key", server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", @@ -27,15 +31,6 @@ our @tests = ( test => { "ExpectedResult" => "Success" }, }, { - name => "SECLEVEL 3 with ED448 key, TLSv1.2", - server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", - "Certificate" => test_pem("server-ed448-cert.pem"), - "PrivateKey" => test_pem("server-ed448-key.pem"), - "MaxProtocol" => "TLSv1.2" }, - client => { }, - test => { "ExpectedResult" => "Success" }, - }, - { name => "SECLEVEL 3 with P-384 key, X25519 ECDHE", server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", "Certificate" => test_pem("p384-server-cert.pem"), @@ -46,3 +41,18 @@ our @tests = ( test => { "ExpectedResult" => "Success" }, }, ); + +our @tests_tls1_2 = ( + { + name => "SECLEVEL 3 with ED448 key, TLSv1.2", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem"), + "MaxProtocol" => "TLSv1.2" }, + client => { }, + test => { "ExpectedResult" => "Success" }, + }, +); + +push @tests, @tests_ec unless disabled("ec"); +push @tests, @tests_tls1_2 unless disabled("tls1_2") || disabled("ec"); From builds at travis-ci.org Wed Nov 14 11:57:31 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 11:57:31 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21727 (master - 65d2c16) In-Reply-To: Message-ID: <5bec0dab12ff9_43faaa6c1e540663af@38858e09-9944-4cce-b375-fb3b5e6bbaca.mail> Build Update for openssl/openssl ------------------------------------- Build: #21727 Status: Still Failing Duration: 19 mins and 43 secs Commit: 65d2c16 (master) Author: Matt Caswell Message: Fix no-ec and no-tls1_2 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7620) View the changeset: https://github.com/openssl/openssl/compare/2dc37bc2b4c6...65d2c16cbe0d View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454943133?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Nov 14 12:07:06 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 14 Nov 2018 12:07:06 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1542197226.282400.17457.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 6e624a6453 KMAC implementation using EVP_MAC 7dc6875c55 Remove markdown links from HTML comments in issue templates 7136833933 Add issue templates and a user support page Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ skipped: test_renegotiation needs TLS <= 1.2 enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs TLS enabled ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs TLS enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs SSLv3, TLSv1, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs TLS1.3, TLS1.2 and TLS1.1 enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs TLS1.3 and TLS1.2 enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs TLSv1.0, TLSv1.1 or TLSv1.2 enabled ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/28 subtests ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... skipped: TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... skipped: test_sysdefault is not supported in this build ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/80-test_ssl_new.t (Wstat: 256 Tests: 28 Failed: 1) Failed test: 28 Non-zero exit status: 1 Files=152, Tests=1278, 205 wallclock secs ( 1.48 usr 0.29 sys + 175.23 cusr 10.78 csys = 187.78 CPU) Result: FAIL Makefile:204: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:202: recipe for target 'tests' failed make: *** [tests] Error 2 From matthias.st.pierre at ncp-e.com Wed Nov 14 12:08:34 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Wed, 14 Nov 2018 12:08:34 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542197314.083553.10923.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 42acb69fd1fdab9099833c946171eefc9b86ecde (commit) from eaa32f3679a8f36975142ece0958a68422af8bbc (commit) - Log ----------------------------------------------------------------- commit 42acb69fd1fdab9099833c946171eefc9b86ecde Author: Vitezslav Cizek Date: Thu Oct 25 13:53:26 2018 +0200 DSA: Check for sanity of input parameters dsa_builtin_paramgen2 expects the L parameter to be greater than N, otherwise the generation will get stuck in an infinite loop. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre (cherry picked from commit 3afd38b277a806b901e039c6ad281c5e5c97ef67) (Merged from https://github.com/openssl/openssl/pull/7493) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_gen.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crypto/dsa/dsa_gen.c b/crypto/dsa/dsa_gen.c index 46f4f01..383d853 100644 --- a/crypto/dsa/dsa_gen.c +++ b/crypto/dsa/dsa_gen.c @@ -327,6 +327,12 @@ int dsa_builtin_paramgen2(DSA *ret, size_t L, size_t N, if (mctx == NULL) goto err; + /* make sure L > N, otherwise we'll get trapped in an infinite loop */ + if (L <= N) { + DSAerr(DSA_F_DSA_BUILTIN_PARAMGEN2, DSA_R_INVALID_PARAMETERS); + goto err; + } + if (evpmd == NULL) { if (N == 160) evpmd = EVP_sha1(); From builds at travis-ci.org Wed Nov 14 12:09:13 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 12:09:13 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21728 (OpenSSL_1_1_1-stable - eaa32f3) In-Reply-To: Message-ID: <5bec106974104_43fe30a4629b867570@ac44ca81-7d29-478c-8448-c573784aa206.mail> Build Update for openssl/openssl ------------------------------------- Build: #21728 Status: Still Failing Duration: 25 mins and 23 secs Commit: eaa32f3 (OpenSSL_1_1_1-stable) Author: Matt Caswell Message: Fix no-ec and no-tls1_2 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7620) (cherry picked from commit 65d2c16cbe0da8efed2f285f59930297326fb435) View the changeset: https://github.com/openssl/openssl/compare/e0e5241fc917...eaa32f3679a8 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454943711?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Wed Nov 14 12:10:31 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Wed, 14 Nov 2018 12:10:31 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542197431.521876.11891.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 84b4759dbd0d7917091d20cd78712a20afb57d9b (commit) from b18162a7c9bbfb57112459a4d6631fa258fd8c0c (commit) - Log ----------------------------------------------------------------- commit 84b4759dbd0d7917091d20cd78712a20afb57d9b Author: Vitezslav Cizek Date: Thu Oct 25 13:53:26 2018 +0200 DSA: Check for sanity of input parameters dsa_builtin_paramgen2 expects the L parameter to be greater than N, otherwise the generation will get stuck in an infinite loop. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre (cherry picked from commit 3afd38b277a806b901e039c6ad281c5e5c97ef67) (Merged from https://github.com/openssl/openssl/pull/7493) ----------------------------------------------------------------------- Summary of changes: crypto/dsa/dsa_gen.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crypto/dsa/dsa_gen.c b/crypto/dsa/dsa_gen.c index db52a38..e55d585 100644 --- a/crypto/dsa/dsa_gen.c +++ b/crypto/dsa/dsa_gen.c @@ -435,6 +435,12 @@ int dsa_builtin_paramgen2(DSA *ret, size_t L, size_t N, EVP_MD_CTX_init(&mctx); + /* make sure L > N, otherwise we'll get trapped in an infinite loop */ + if (L <= N) { + DSAerr(DSA_F_DSA_BUILTIN_PARAMGEN2, DSA_R_INVALID_PARAMETERS); + goto err; + } + if (evpmd == NULL) { if (N == 160) evpmd = EVP_sha1(); From builds at travis-ci.org Wed Nov 14 12:28:05 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 14 Nov 2018 12:28:05 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21729 (OpenSSL_1_1_1-stable - 42acb69) In-Reply-To: Message-ID: <5bec14d56970d_43fbcf9181938470f8@454a260f-3c68-4157-9870-e00fd3c268a4.mail> Build Update for openssl/openssl ------------------------------------- Build: #21729 Status: Still Failing Duration: 18 mins and 46 secs Commit: 42acb69 (OpenSSL_1_1_1-stable) Author: Vitezslav Cizek Message: DSA: Check for sanity of input parameters dsa_builtin_paramgen2 expects the L parameter to be greater than N, otherwise the generation will get stuck in an infinite loop. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre (cherry picked from commit 3afd38b277a806b901e039c6ad281c5e5c97ef67) (Merged from https://github.com/openssl/openssl/pull/7493) View the changeset: https://github.com/openssl/openssl/compare/eaa32f3679a8...42acb69fd1fd View the full build log and details: https://travis-ci.org/openssl/openssl/builds/454954902?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 14 15:34:25 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 14 Nov 2018 15:34:25 +0000 Subject: [openssl-commits] Build failed: openssl master.20998 Message-ID: <20181114153425.1.B858DA1A621E2084@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 14 16:00:31 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 14 Nov 2018 16:00:31 +0000 Subject: [openssl-commits] Build completed: openssl OpenSSL_1_1_1-stable.20999 Message-ID: <20181114160031.1.7BE501B5BB68A4B2@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Thu Nov 15 01:13:03 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 15 Nov 2018 01:13:03 +0000 Subject: [openssl-commits] SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1542244383.982857.31248.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 65d2c16cbe Fix no-ec and no-tls1_2 2dc37bc2b4 Fix typo in util/perl/OpenSSL/Test.pm 45cdae1c7c test/recipes/90-test_shlibload.t needs $target{shared_extension} 1828939974 Fix rpath-related Linux "test_shlibload" failure. From openssl at openssl.org Thu Nov 15 10:53:59 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 15 Nov 2018 10:53:59 +0000 Subject: [openssl-commits] SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1542279239.441214.10987.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 65d2c16cbe Fix no-ec and no-tls1_2 2dc37bc2b4 Fix typo in util/perl/OpenSSL/Test.pm 45cdae1c7c test/recipes/90-test_shlibload.t needs $target{shared_extension} 1828939974 Fix rpath-related Linux "test_shlibload" failure. From matt at openssl.org Thu Nov 15 10:58:38 2018 From: matt at openssl.org (Matt Caswell) Date: Thu, 15 Nov 2018 10:58:38 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542279518.617172.13942.nullmailer@dev.openssl.org> The branch master has been updated via ac48fba036e1764dfa98ed0f0aa932491aa1c4ef (commit) via ebfd055b29861b127c9cf4ed76553e109301fc64 (commit) via 51f03f12270cdebf1dff140cc17925991520fb77 (commit) via 495a1e5c3aec4d44558cd86161b8385f1b1b6822 (commit) via d9720a5992315a6936ffba55d2fbbac460fb96a2 (commit) via dc703d6b469f1b186483a55b59013fbaca2228fd (commit) from 65d2c16cbe0da8efed2f285f59930297326fb435 (commit) - Log ----------------------------------------------------------------- commit ac48fba036e1764dfa98ed0f0aa932491aa1c4ef Author: Antoine Salon Date: Tue Nov 6 13:26:49 2018 -0800 Deprecate SSL_set_tmp_ecdh Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) commit ebfd055b29861b127c9cf4ed76553e109301fc64 Author: Antoine Salon Date: Thu Nov 1 15:41:16 2018 -0700 Making SRP_user_pwd functions public Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) commit 51f03f12270cdebf1dff140cc17925991520fb77 Author: Antoine Salon Date: Thu Nov 1 11:56:55 2018 -0700 Added SRP_VBASE_add0_user() Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) commit 495a1e5c3aec4d44558cd86161b8385f1b1b6822 Author: Antoine Salon Date: Thu Oct 25 15:43:35 2018 -0700 SRP module documentation Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) commit d9720a5992315a6936ffba55d2fbbac460fb96a2 Author: Antoine Salon Date: Tue Oct 16 16:40:01 2018 -0700 Add SSL_CTX_set_tmp_ecdh.pod Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) commit dc703d6b469f1b186483a55b59013fbaca2228fd Author: Antoine Salon Date: Tue Oct 16 09:07:00 2018 -0700 SSL extra chain certificates doc Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) ----------------------------------------------------------------------- Summary of changes: crypto/srp/srp_lib.c | 8 +- crypto/srp/srp_vfy.c | 48 ++++--- doc/man1/srp.pod | 2 +- doc/man3/SRP_VBASE_new.pod | 99 ++++++++++++++ doc/man3/SRP_create_verifier.pod | 110 +++++++++++++++ doc/man3/SRP_user_pwd_new.pod | 70 ++++++++++ doc/man3/SSL_CTX_add_extra_chain_cert.pod | 20 ++- doc/man3/SSL_CTX_set_srp_password.pod | 216 ++++++++++++++++++++++++++++++ doc/man3/SSL_CTX_set_tmp_ecdh.pod | 50 +++++++ doc/man7/ssl.pod | 40 ++++++ include/openssl/srp.h | 6 + include/openssl/ssl.h | 8 +- ssl/s3_lib.c | 8 +- util/libcrypto.num | 5 + util/private.num | 6 + 15 files changed, 665 insertions(+), 31 deletions(-) create mode 100644 doc/man3/SRP_VBASE_new.pod create mode 100644 doc/man3/SRP_create_verifier.pod create mode 100644 doc/man3/SRP_user_pwd_new.pod create mode 100644 doc/man3/SSL_CTX_set_srp_password.pod create mode 100644 doc/man3/SSL_CTX_set_tmp_ecdh.pod diff --git a/crypto/srp/srp_lib.c b/crypto/srp/srp_lib.c index b97d630..a9e244e 100644 --- a/crypto/srp/srp_lib.c +++ b/crypto/srp/srp_lib.c @@ -44,13 +44,13 @@ static BIGNUM *srp_Calc_xy(const BIGNUM *x, const BIGNUM *y, const BIGNUM *N) static BIGNUM *srp_Calc_k(const BIGNUM *N, const BIGNUM *g) { - /* k = SHA1(N | PAD(g)) -- tls-srp draft 8 */ + /* k = SHA1(N | PAD(g)) -- tls-srp RFC 5054 */ return srp_Calc_xy(N, g, N); } BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N) { - /* k = SHA1(PAD(A) || PAD(B) ) -- tls-srp draft 8 */ + /* u = SHA1(PAD(A) || PAD(B) ) -- tls-srp RFC 5054 */ return srp_Calc_xy(A, B, N); } @@ -254,13 +254,13 @@ static SRP_gN knowngN[] = { /* * Check if G and N are known parameters. The values have been generated - * from the ietf-tls-srp draft version 8 + * from the IETF RFC 5054 */ char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N) { size_t i; if ((g == NULL) || (N == NULL)) - return 0; + return NULL; for (i = 0; i < KNOWN_GN_NUMBER; i++) { if (BN_cmp(knowngN[i].g, g) == 0 && BN_cmp(knowngN[i].N, N) == 0) diff --git a/crypto/srp/srp_vfy.c b/crypto/srp/srp_vfy.c index 17b35c0..bfe517b 100644 --- a/crypto/srp/srp_vfy.c +++ b/crypto/srp/srp_vfy.c @@ -184,7 +184,7 @@ void SRP_user_pwd_free(SRP_user_pwd *user_pwd) OPENSSL_free(user_pwd); } -static SRP_user_pwd *SRP_user_pwd_new(void) +SRP_user_pwd *SRP_user_pwd_new(void) { SRP_user_pwd *ret; @@ -201,16 +201,18 @@ static SRP_user_pwd *SRP_user_pwd_new(void) return ret; } -static void SRP_user_pwd_set_gN(SRP_user_pwd *vinfo, const BIGNUM *g, - const BIGNUM *N) +void SRP_user_pwd_set_gN(SRP_user_pwd *vinfo, const BIGNUM *g, + const BIGNUM *N) { vinfo->N = N; vinfo->g = g; } -static int SRP_user_pwd_set_ids(SRP_user_pwd *vinfo, const char *id, - const char *info) +int SRP_user_pwd_set1_ids(SRP_user_pwd *vinfo, const char *id, + const char *info) { + OPENSSL_free(vinfo->id); + OPENSSL_free(vinfo->info); if (id != NULL && NULL == (vinfo->id = OPENSSL_strdup(id))) return 0; return (info == NULL || NULL != (vinfo->info = OPENSSL_strdup(info))); @@ -243,8 +245,10 @@ static int SRP_user_pwd_set_sv(SRP_user_pwd *vinfo, const char *s, return 0; } -static int SRP_user_pwd_set_sv_BN(SRP_user_pwd *vinfo, BIGNUM *s, BIGNUM *v) +int SRP_user_pwd_set0_sv(SRP_user_pwd *vinfo, BIGNUM *s, BIGNUM *v) { + BN_free(vinfo->s); + BN_clear_free(vinfo->v); vinfo->v = v; vinfo->s = s; return (vinfo->s != NULL && vinfo->v != NULL); @@ -260,8 +264,8 @@ static SRP_user_pwd *srp_user_pwd_dup(SRP_user_pwd *src) return NULL; SRP_user_pwd_set_gN(ret, src->g, src->N); - if (!SRP_user_pwd_set_ids(ret, src->id, src->info) - || !SRP_user_pwd_set_sv_BN(ret, BN_dup(src->s), BN_dup(src->v))) { + if (!SRP_user_pwd_set1_ids(ret, src->id, src->info) + || !SRP_user_pwd_set0_sv(ret, BN_dup(src->s), BN_dup(src->v))) { SRP_user_pwd_free(ret); return NULL; } @@ -340,12 +344,13 @@ static SRP_gN *SRP_get_gN_by_id(const char *id, STACK_OF(SRP_gN) *gN_tab) int i; SRP_gN *gN; - if (gN_tab != NULL) + if (gN_tab != NULL) { for (i = 0; i < sk_SRP_gN_num(gN_tab); i++) { gN = sk_SRP_gN_value(gN_tab, i); if (gN && (id == NULL || strcmp(gN->id, id) == 0)) return gN; } + } return SRP_get_default_gN(id); } @@ -374,9 +379,13 @@ static BIGNUM *SRP_gN_place_bn(STACK_OF(SRP_gN_cache) *gN_cache, char *ch) } /* - * this function parses verifier file. Format is: - * string(index):base64(N):base64(g):0 - * string(username):base64(v):base64(salt):int(index) + * This function parses the verifier file generated by the srp app. + * The format for each entry is: + * V base64(verifier) base64(salt) username gNid userinfo(optional) + * or + * I base64(N) base64(g) + * Note that base64 is the SRP variant of base64 encoding described + * in t_fromb64(). */ int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file) @@ -441,7 +450,7 @@ int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file) goto err; SRP_user_pwd_set_gN(user_pwd, lgN->g, lgN->N); - if (!SRP_user_pwd_set_ids + if (!SRP_user_pwd_set1_ids (user_pwd, pp[DB_srpid], pp[DB_srpinfo])) goto err; @@ -509,6 +518,13 @@ static SRP_user_pwd *find_user(SRP_VBASE *vb, char *username) return NULL; } +int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd) +{ + if (sk_SRP_user_pwd_push(vb->users_pwd, user_pwd) <= 0) + return 0; + return 1; +} + # if OPENSSL_API_COMPAT < 0x10100000L /* * DEPRECATED: use SRP_VBASE_get1_by_user instead. @@ -550,7 +566,7 @@ SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username) SRP_user_pwd_set_gN(user, vb->default_g, vb->default_N); - if (!SRP_user_pwd_set_ids(user, username, NULL)) + if (!SRP_user_pwd_set1_ids(user, username, NULL)) goto err; if (RAND_priv_bytes(digv, SHA_DIGEST_LENGTH) <= 0) @@ -564,7 +580,7 @@ SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username) goto err; EVP_MD_CTX_free(ctxt); ctxt = NULL; - if (SRP_user_pwd_set_sv_BN(user, + if (SRP_user_pwd_set0_sv(user, BN_bin2bn(digs, SHA_DIGEST_LENGTH, NULL), BN_bin2bn(digv, SHA_DIGEST_LENGTH, NULL))) return user; @@ -605,7 +621,7 @@ char *SRP_create_verifier(const char *user, const char *pass, char **salt, g_bn = g_bn_alloc; defgNid = "*"; } else { - SRP_gN *gN = SRP_get_gN_by_id(g, NULL); + SRP_gN *gN = SRP_get_default_gN(g); if (gN == NULL) goto err; N_bn = gN->N; diff --git a/doc/man1/srp.pod b/doc/man1/srp.pod index e858a22..4977431 100644 --- a/doc/man1/srp.pod +++ b/doc/man1/srp.pod @@ -25,7 +25,7 @@ B =head1 DESCRIPTION -The B command is user to maintain an SRP (secure remote password) +The B command is used to maintain an SRP (secure remote password) file. At most one of the B<-add>, B<-modify>, B<-delete>, and B<-list> options can be specified. diff --git a/doc/man3/SRP_VBASE_new.pod b/doc/man3/SRP_VBASE_new.pod new file mode 100644 index 0000000..8a0fb6d --- /dev/null +++ b/doc/man3/SRP_VBASE_new.pod @@ -0,0 +1,99 @@ +=pod + +=head1 NAME + +SRP_VBASE_new, +SRP_VBASE_free, +SRP_VBASE_init, +SRP_VBASE_add0_user, +SRP_VBASE_get1_by_user, +SRP_VBASE_get_by_user +- Functions to create and manage a stack of SRP user verifier information + +=head1 SYNOPSIS + + #include + + SRP_VBASE *SRP_VBASE_new(char *seed_key); + void SRP_VBASE_free(SRP_VBASE *vb); + + int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + + int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd); + SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); + +=head1 DESCRIPTION + +The SRP_VBASE_new() function allocates a structure to store server side SRP +verifier information. +If B is not NULL a copy is stored and used to generate dummy parameters +for users that are not found by SRP_VBASE_get1_by_user(). This allows the server +to hide the fact that it doesn't have a verifier for a particular username, +as described in section 2.5.1.3 'Unknown SRP' of RFC 5054. +The seed string should contain random NUL terminated binary data (therefore +the random data should not contain NUL bytes!). + +The SRP_VBASE_free() function frees up the B structure. +If B is NULL, nothing is done. + +The SRP_VBASE_init() function parses the information in a verifier file and +populates the B structure. +The verifier file is a text file containing multiple entries, whose format is: +flag base64(verifier) base64(salt) username gNid userinfo(optional) +where the flag can be 'V' (valid) or 'R' (revoked). +Note that the base64 encoding used here is non-standard so it is recommended +to use L to generate this file. + +The SRP_VBASE_add0_user() function adds the B verifier information +to the B structure. See L to create and populate this +record. +The library takes ownership of B, it should not be freed by the caller. + +The SRP_VBASE_get1_by_user() function returns the password info for the user +whose username matches B. It replaces the deprecated +SRP_VBASE_get_by_user(). +If no matching user is found but a seed_key and default gN parameters have been +set, dummy authentication information is generated from the seed_key, allowing +the server to hide the fact that it doesn't have a verifier for a particular +username. When using SRP as a TLS authentication mechanism, this will cause +the handshake to proceed normally but the first client will be rejected with +a "bad_record_mac" alert, as if the password was incorrect. +If no matching user is found and the seed_key is not set, NULL is returned. +Ownership of the returned pointer is released to the caller, it must be freed +with SRP_user_pwd_free(). + +=head1 RETURN VALUES + +SRP_VBASE_init() returns B (0) on success and a positive value +on failure. +The error codes are B if the file could not be opened, +B if the file could not be parsed, +B on memory allocation failure and B +for invalid decoded parameter values. + +SRP_VBASE_add0_user() returns 1 on success and 0 on failure. + +=head1 SEE ALSO + +L, +L, +L, +L + +=head1 HISTORY + +SRP_VBASE_add0_user() was first added to OpenSSL 1.2.0. + +All other functions were first added to OpenSSL 1.0.1. + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/doc/man3/SRP_create_verifier.pod b/doc/man3/SRP_create_verifier.pod new file mode 100644 index 0000000..ac7c05b --- /dev/null +++ b/doc/man3/SRP_create_verifier.pod @@ -0,0 +1,110 @@ +=pod + +=head1 NAME + +SRP_create_verifier, +SRP_create_verifier_BN, +SRP_check_known_gN_param, +SRP_get_default_gN +- SRP authentication primitives + +=head1 SYNOPSIS + + #include + + char *SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, const BIGNUM *N, const BIGNUM *g); + char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); + + char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); + SRP_gN *SRP_get_default_gN(const char *id); + +=head1 DESCRIPTION + +The SRP_create_verifier_BN() function creates an SRP password verifier from +the supplied parameters as defined in section 2.4 of RFC 5054. +On successful exit B<*verifier> will point to a newly allocated BIGNUM containing +the verifier and (if a salt was not provided) B<*salt> will be populated with a +newly allocated BIGNUM containing a random salt. If B<*salt> is not NULL then +the provided salt is used instead. +The caller is responsible for freeing the allocated B<*salt> and B<*verifier> +BIGNUMS (use L). + +The SRP_create_verifier() function is similar to SRP_create_verifier_BN() but +all numeric parameters are in a non-standard base64 encoding originally designed +for compatibility with libsrp. This is mainly present for historical compatibility +and its use is discouraged. +It is possible to pass NULL as B and an SRP group id as B instead to +load the appropriate gN values (see SRP_get_default_gN()). +If both B and B are NULL the 8192-bit SRP group parameters are used. +The caller is responsible for freeing the allocated B<*salt> and B<*verifier> +(use L). + +The SRP_check_known_gN_param() function checks that B and B are valid +SRP group parameters from RFC 5054 appendix A. + +The SRP_get_default_gN() function returns the gN parameters for the RFC 5054 B +SRP group size. +The known ids are "1024", "1536", "2048", "3072", "4096", "6144" and "8192". + +=head1 RETURN VALUES + +SRP_create_verifier_BN() returns 1 on success and 0 on failure. + +SRP_create_verifier() returns NULL on failure and a non-NULL value on success: +"*" if B is not NULL, the selected group id otherwise. This value should +not be freed. + +SRP_check_known_gN_param() returns the text representation of the group id +(ie. the prime bit size) or NULL if the arguments are not valid SRP group parameters. +This value should not be freed. + +SRP_get_default_gN() returns NULL if B is not a valid group size, +or the 8192-bit group parameters if B is NULL. + +=head1 EXAMPLES + +Generate and store a 8192 bit password verifier (error handling +omitted for clarity): + + #include + #include + + const char *username = "username"; + const char *password = "password"; + + SRP_VBASE *srpData = SRP_VBASE_new(NULL); + + SRP_gN *gN = SRP_get_default_gN("8192"); + + BIGNUM *salt = NULL, *verifier = NULL; + SRP_create_verifier_BN(username, password, &salt, &verifier, gN->N, gN->g); + + SRP_user_pwd *pwd = SRP_user_pwd_new(); + SRP_user_pwd_set1_ids(pwd, username, NULL); + SRP_user_pwd_set0_sv(pwd, salt, verifier); + SRP_user_pwd_set_gN(pwd, gN->g, gN->N); + + SRP_VBASE_add0_user(srpData, pwd); + +=head1 SEE ALSO + +L, +L, +L + +=head1 HISTORY + +These functions were first added to OpenSSL 1.0.1. + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/doc/man3/SRP_user_pwd_new.pod b/doc/man3/SRP_user_pwd_new.pod new file mode 100644 index 0000000..4f631a1 --- /dev/null +++ b/doc/man3/SRP_user_pwd_new.pod @@ -0,0 +1,70 @@ +=pod + +=head1 NAME + +SRP_user_pwd_new, +SRP_user_pwd_free, +SRP_user_pwd_set1_ids, +SRP_user_pwd_set_gN, +SRP_user_pwd_set0_sv +- Functions to create a record of SRP user verifier information + +=head1 SYNOPSIS + + #include + + SRP_user_pwd *SRP_user_pwd_new(void); + void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + + int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, const char *info); + void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, const BIGNUM *N); + int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); + +=head1 DESCRIPTION + +The SRP_user_pwd_new() function allocates a structure to store a user verifier +record. + +The SRP_user_pwd_free() function frees up the B structure. +If B is NULL, nothing is done. + +The SRP_user_pwd_set1_ids() function sets the username to B and the optional +user info to B for B. +The library allocates new copies of B and B, the caller still +owns the original memory. + +The SRP_user_pwd_set0_sv() function sets the user salt to B and the verifier +to B for B. +The library takes ownership of the values, they should not be freed by the caller. + +The SRP_user_pwd_set_gN() function sets the SRP group parameters for B. +The memory is not freed by SRP_user_pwd_free(), the caller must make sure it is +freed once it is no longer used. + +=head1 RETURN VALUES + +SRP_user_pwd_set1_ids() returns 1 on success and 0 on failure or if B was NULL. + +SRP_user_pwd_set0_sv() returns 1 if both B and B are not NULL, 0 otherwise. + +=head1 SEE ALSO + +L, +L, +L, +L + +=head1 HISTORY + +These functions were made public in OpenSSL 1.2.0. + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/doc/man3/SSL_CTX_add_extra_chain_cert.pod b/doc/man3/SSL_CTX_add_extra_chain_cert.pod index 05d17f8..b8f11b3 100644 --- a/doc/man3/SSL_CTX_add_extra_chain_cert.pod +++ b/doc/man3/SSL_CTX_add_extra_chain_cert.pod @@ -2,14 +2,19 @@ =head1 NAME -SSL_CTX_add_extra_chain_cert, SSL_CTX_clear_extra_chain_certs - add or clear -extra chain certificates +SSL_CTX_add_extra_chain_cert, +SSL_CTX_get_extra_chain_certs, +SSL_CTX_get_extra_chain_certs_only, +SSL_CTX_clear_extra_chain_certs +- add, get or clear extra chain certificates =head1 SYNOPSIS #include long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509); + long SSL_CTX_get_extra_chain_certs(SSL_CTX *ctx, STACK_OF(X509) **sk); + long SSL_CTX_get_extra_chain_certs_only(SSL_CTX *ctx, STACK_OF(X509) **sk); long SSL_CTX_clear_extra_chain_certs(SSL_CTX *ctx); =head1 DESCRIPTION @@ -18,6 +23,15 @@ SSL_CTX_add_extra_chain_cert() adds the certificate B to the extra chain certificates associated with B. Several certificates can be added one after another. +SSL_CTX_get_extra_chain_certs() retrieves the extra chain certificates +associated with B, or the chain associated with the current certificate +of B if the extra chain is empty. +The returned stack should not be freed by the caller. + +SSL_CTX_get_extra_chain_certs_only() retrieves the extra chain certificates +associated with B. +The returned stack should not be freed by the caller. + SSL_CTX_clear_extra_chain_certs() clears all extra chain certificates associated with B. @@ -70,7 +84,7 @@ L =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 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 diff --git a/doc/man3/SSL_CTX_set_srp_password.pod b/doc/man3/SSL_CTX_set_srp_password.pod new file mode 100644 index 0000000..6f33230 --- /dev/null +++ b/doc/man3/SSL_CTX_set_srp_password.pod @@ -0,0 +1,216 @@ +=pod + +=head1 NAME + +SSL_CTX_set_srp_username, +SSL_CTX_set_srp_password, +SSL_CTX_set_srp_strength, +SSL_CTX_set_srp_cb_arg, +SSL_CTX_set_srp_username_callback, +SSL_CTX_set_srp_client_pwd_callback, +SSL_CTX_set_srp_verify_param_callback, +SSL_set_srp_server_param, +SSL_set_srp_server_param_pw, +SSL_get_srp_g, +SSL_get_srp_N, +SSL_get_srp_username, +SSL_get_srp_userinfo +- SRP control operations + +=head1 SYNOPSIS + + #include + + int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); + int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); + int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); + int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *s, int *ad, void *arg)); + int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *s, void *arg)); + int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *s, void *arg)); + + int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); + int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + + BIGNUM *SSL_get_srp_g(SSL *s); + BIGNUM *SSL_get_srp_N(SSL *s); + + char *SSL_get_srp_username(SSL *s); + char *SSL_get_srp_userinfo(SSL *s); + +=head1 DESCRIPTION + +These functions provide access to SRP (Secure Remote Password) parameters, +an alternate authentication mechanism for TLS. SRP allows the use of user names +and passwords over unencrypted channels without revealing the password to an +eavesdropper. SRP also supplies a shared secret at the end of the authentication +sequence that can be used to generate encryption keys. + +The SRP protocol, version 3 is specified in RFC 2945. SRP version 6 is described +in RFC 5054 with applications to TLS authentication. + +The SSL_CTX_set_srp_username() function sets the SRP username for B. This +should be called on the client prior to creating a connection to the server. +The length of B must be shorter or equal to 255 characters. + +The SSL_CTX_set_srp_password() function sets the SRP password for B. This +may be called on the client prior to creating a connection to the server. +This overrides the effect of SSL_CTX_set_srp_client_pwd_callback(). + +The SSL_CTX_set_srp_strength() function sets the SRP strength for B. This +is the minimal length of the SRP prime in bits. If not specified 1024 is used. +If not satisfied by the server key exchange the connection will be rejected. + +The SSL_CTX_set_srp_cb_arg() function sets an extra parameter that will +be passed to all following callbacks as B. + +The SSL_CTX_set_srp_username_callback() function sets the server side callback +that is invoked when an SRP username is found in a ClientHello. +The callback parameters are the SSL connection B, a writable error flag B +and the extra argument B set by SSL_CTX_set_srp_cb_arg(). +This callback should setup the server for the key exchange by calling +SSL_set_srp_server_param() with the appropriate parameters for the received +username. The username can be obtained by calling SSL_get_srp_username(). +See L to parse the verifier file created by L or +L to generate it. +The callback should return B to proceed with the server key exchange, +B for a fatal error or any value < 0 for a retryable error. +In the event of a B the alert flag given by B<*al> will be sent +back. By default this will be B. + +The SSL_CTX_set_srp_client_pwd_callback() function sets the client password +callback on the client. +The callback parameters are the SSL connection B and the extra argument B +set by SSL_CTX_set_srp_cb_arg(). +The callback will be called as part of the generation of the client secrets. +It should return the client password in text form or NULL to abort the connection. +The resulting memory will be freed by the library as part of the callback resolution. +This overrides the effect of SSL_CTX_set_srp_password(). + +The SSL_CTX_set_srp_verify_param_callback() sets the SRP gN parameter verification +callback on the client. This allows the client to perform custom verification when +receiving the server SRP proposed parameters. +The callback parameters are the SSL connection B and the extra argument B +set by SSL_CTX_set_srp_cb_arg(). +The callback should return a positive value to accept the server parameters. +Returning 0 or a negative value will abort the connection. The server parameters +can be obtained by calling SSL_get_srp_N() and SSL_get_srp_g(). +Sanity checks are already performed by the library after the handshake +(B % N non zero, check against the strength parameter) and are not necessary. +If no callback is set the g and N parameters will be checked against +known RFC 5054 values. + +The SSL_set_srp_server_param() function sets all SRP parameters for +the connection B. B and B are the SRP group parameters, B is the +user salt, B the password verifier and B is the optional user info. + +The SSL_set_srp_server_param_pw() function sets all SRP parameters for the +connection B by generating a random salt and a password verifier. +B is the username, B the password and B the SRP group paramters +identifier for L. + +The SSL_get_srp_g() function returns the SRP group generator for B, or from +the underlying SSL_CTX if it is NULL. + +The SSL_get_srp_N() function returns the SRP prime for B, or from +the underlying SSL_CTX if it is NULL. + +The SSL_get_srp_username() function returns the SRP username for B, or from +the underlying SSL_CTX if it is NULL. + +The SSL_get_srp_userinfo() function returns the SRP user info for B, or from +the underlying SSL_CTX if it is NULL. + +=head1 RETURN VALUES + +All SSL_CTX_set_* functions return 1 on success and 0 on failure. + +SSL_set_srp_server_param() returns 1 on success and -1 on failure. + +The SSL_get_SRP_* functions return a pointer to the requested data, the memory +is owned by the library and should not be freed by the caller. + +=head1 EXAMPLES + +Setup SRP parameters on the client: + + #include + + const char *username = "username"; + const char *password = "password"; + + SSL_CTX *ctx = SSL_CTX_new(TLS_client_method()); + if (!ctx) + /* Error */ + if (!SSL_CTX_set_srp_username(ctx, username)) + /* Error */ + if (!SSL_CTX_set_srp_password(ctx, password)) + /* Error */ + +Setup SRP server with verifier file: + + #include + #include + + const char *srpvfile = "password.srpv"; + + int srpServerCallback(SSL *s, int *ad, void *arg) + { + SRP_VBASE *srpData = (SRP_VBASE*) arg; + char *username = SSL_get_srp_username(s); + + SRP_user_pwd *user_pwd = SRP_VBASE_get1_by_user(srpData, username); + if (!user_pwd) + /* Error */ + return SSL3_AL_FATAL; + + if (SSL_set_srp_server_param(s, user_pwd->N, user_pwd->g, + user_pwd->s, user_pwd->v, user_pwd->info) < 0) + /* Error */ + + SRP_user_pwd_free(user_pwd); + return SSL_ERROR_NONE; + } + + SSL_CTX *ctx = SSL_CTX_new(TLS_server_method()); + if (!ctx) + /* Error */ + + /* + * seedKey should contain a NUL terminated sequence + * of random non NUL bytes + */ + const char *seedKey; + + SRP_VBASE *srpData = SRP_VBASE_new(seedKey); + if (SRP_VBASE_init(srpData, (char*) srpvfile) != SRP_NO_ERROR) + /* Error */ + + SSL_CTX_set_srp_cb_arg(ctx, srpData); + SSL_CTX_set_srp_username_callback(ctx, srpServerCallback); + +=head1 SEE ALSO + +L, +L, +L + +=head1 HISTORY + +These functions were first added to OpenSSL 1.0.1. + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/doc/man3/SSL_CTX_set_tmp_ecdh.pod b/doc/man3/SSL_CTX_set_tmp_ecdh.pod new file mode 100644 index 0000000..398fcbf --- /dev/null +++ b/doc/man3/SSL_CTX_set_tmp_ecdh.pod @@ -0,0 +1,50 @@ +=pod + +=head1 NAME + +SSL_CTX_set_tmp_ecdh, SSL_set_tmp_ecdh, SSL_CTX_set_ecdh_auto, SSL_set_ecdh_auto +- handle ECDH keys for ephemeral key exchange + +=head1 SYNOPSIS + +#include + +long SSL_CTX_set_tmp_ecdh(SSL_CTX *ctx, const EC_KEY *ecdh); +long SSL_set_tmp_ecdh(SSL *ssl, const EC_KEY *ecdh); + +long SSL_CTX_set_ecdh_auto(SSL_CTX *ctx, int state); +long SSL_set_ecdh_auto(SSL *ssl, int state); + +=head1 DESCRIPTION + +SSL_CTX_set_tmp_ecdh() sets ECDH parameters to be used to be B. +The key is inherited by all B objects created from B. +This macro is deprecated in favor of L. + +SSL_set_tmp_ecdh() sets the parameters only for B. +This macro is deprecated in favor of L. + +SSL_CTX_set_ecdh_auto() and SSL_set_ecdh_auto() are deprecated and +have no effect. + +=head1 RETURN VALUES + +SSL_CTX_set_tmp_ecdh() and SSL_set_tmp_ecdh() return 1 on success and 0 +on failure. + +=head1 SEE ALSO + +L, L, L, +L, L, +L, L + +=head1 COPYRIGHT + +Copyright 2018 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 +L. + +=cut diff --git a/doc/man7/ssl.pod b/doc/man7/ssl.pod index d439860..60b1834 100644 --- a/doc/man7/ssl.pod +++ b/doc/man7/ssl.pod @@ -254,6 +254,10 @@ protocol context defined in the B structure. =item int B(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void)) +=item long B(SSL_CTX *ctx, STACK_OF(X509) **sk); + +=item long B(SSL_CTX *ctx, STACK_OF(X509) **sk); + =item void (*B(SSL_CTX *ctx))(SSL *ssl, int cb, int ret); =item int B(const SSL_CTX *ctx); @@ -371,6 +375,20 @@ Use the file path to locate trusted CA certificates. =item void B(SSL_CTX *ctx, int mode); +=item int B(SSL_CTX *ctx, void *arg); + +=item int B(SSL_CTX *ctx, char *(*cb)(SSL *ssl, void *arg)); + +=item int B(SSL_CTX *ctx, char *password); + +=item int B(SSL_CTX *ctx, int strength); + +=item int B(SSL_CTX *ctx, char *name); + +=item int B(SSL_CTX *ctx, int (*cb)(SSL *ssl, int *ad, void *arg)); + +=item int B(SSL_CTX *ctx, int (*cb)(SSL *ssl, void *arg)); + =item int B(SSL_CTX *ctx, const SSL_METHOD *meth); =item void B(SSL_CTX *ctx, long t); @@ -379,6 +397,8 @@ Use the file path to locate trusted CA certificates. =item long B(SSL_CTX *ctx, DH *(*cb)(void)); +=item long B(SSL_CTX* ctx, const EC_KEY *ecdh); + =item void B(SSL_CTX *ctx, int mode, int (*cb);(void)) =item int B(SSL_CTX *ctx, EVP_PKEY *pkey); @@ -576,6 +596,14 @@ fresh handle for each connection. =item int B(const SSL *ssl); +=item BIGNUM *B(SSL *ssl); + +=item BIGNUM *B(SSL *ssl); + +=item char *B(SSL *ssl); + +=item char *B(SSL *ssl); + =item const SSL_METHOD *B(SSL *ssl); =item int B(const SSL *ssl); @@ -668,12 +696,22 @@ fresh handle for each connection. =item void B(SSL *ssl, int mode); +=item int B(SSL *ssl, const BIGNUM *N, const BIGNUM *g, BIGNUM *sa, BIGNUM *v, char *info); + +=item int B(SSL *ssl, const char *user, const char *pass, const char *grp); + =item int B(SSL *ssl, const SSL_METHOD *meth); =item void B(SSL *ssl, long t); =item void B(SSL *ssl, long t); +=item long B(SSL *ssl, DH *dh); + +=item long B(SSL *ssl, DH *(*cb)(void)); + +=item long B(SSL *ssl, const EC_KEY *ecdh); + =item void B(SSL *ssl, int mode, int (*callback);(void)) =item void B(SSL *ssl, long arg); @@ -778,9 +816,11 @@ L, L, L, L, +L, L, L, L, +L, L, L, L, diff --git a/include/openssl/srp.h b/include/openssl/srp.h index aaf1355..86fe6f4 100644 --- a/include/openssl/srp.h +++ b/include/openssl/srp.h @@ -47,8 +47,13 @@ typedef struct SRP_user_pwd_st { char *info; } SRP_user_pwd; +SRP_user_pwd *SRP_user_pwd_new(void); void SRP_user_pwd_free(SRP_user_pwd *user_pwd); +void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, const BIGNUM *N); +int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, const char *info); +int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); + DEFINE_STACK_OF(SRP_user_pwd) typedef struct SRP_VBASE_st { @@ -75,6 +80,7 @@ SRP_VBASE *SRP_VBASE_new(char *seed_key); void SRP_VBASE_free(SRP_VBASE *vb); int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); +int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd); /* This method ignores the configured seed and fails for an unknown user. */ DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) /* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index cceb2d4..1e9e8d5 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1307,16 +1307,18 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) # define SSL_CTX_set_tmp_dh(ctx,dh) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) -# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) # define SSL_CTX_set_dh_auto(ctx, onoff) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) # define SSL_set_dh_auto(s, onoff) \ SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) # define SSL_set_tmp_dh(ssl,dh) \ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) -# define SSL_set_tmp_ecdh(ssl,ecdh) \ +# if OPENSSL_API_COMPAT < 0x10200000L +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# endif # define SSL_CTX_add_extra_chain_cert(ctx,x509) \ SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509)) # define SSL_CTX_get_extra_chain_certs(ctx,px509) \ diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 866ca4d..4b9906f 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3414,7 +3414,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) EVP_PKEY *pkdh = NULL; if (dh == NULL) { SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); - return ret; + return 0; } pkdh = ssl_dh_to_pkey(dh); if (pkdh == NULL) { @@ -3425,11 +3425,11 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) EVP_PKEY_security_bits(pkdh), 0, pkdh)) { SSLerr(SSL_F_SSL3_CTRL, SSL_R_DH_KEY_TOO_SMALL); EVP_PKEY_free(pkdh); - return ret; + return 0; } EVP_PKEY_free(s->cert->dh_tmp); s->cert->dh_tmp = pkdh; - ret = 1; + return 1; } break; case SSL_CTRL_SET_TMP_DH_CB: @@ -3781,7 +3781,7 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) EVP_PKEY_security_bits(pkdh), 0, pkdh)) { SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_DH_KEY_TOO_SMALL); EVP_PKEY_free(pkdh); - return 1; + return 0; } EVP_PKEY_free(ctx->cert->dh_tmp); ctx->cert->dh_tmp = pkdh; diff --git a/util/libcrypto.num b/util/libcrypto.num index c6de172..f7d6cb5 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4598,3 +4598,8 @@ EVP_MAC_do_all_sorted 4551 1_1_2 EXIST::FUNCTION: EVP_str2ctrl 4552 1_1_2 EXIST::FUNCTION: EVP_hex2ctrl 4553 1_1_2 EXIST::FUNCTION: EVP_PKEY_supports_digest_nid 4554 1_1_2 EXIST::FUNCTION: +SRP_VBASE_add0_user 4555 1_1_2 EXIST::FUNCTION:SRP +SRP_user_pwd_new 4556 1_1_2 EXIST::FUNCTION:SRP +SRP_user_pwd_set_gN 4557 1_1_2 EXIST::FUNCTION:SRP +SRP_user_pwd_set1_ids 4558 1_1_2 EXIST::FUNCTION:SRP +SRP_user_pwd_set0_sv 4559 1_1_2 EXIST::FUNCTION:SRP diff --git a/util/private.num b/util/private.num index c5f3431..d6724ed 100644 --- a/util/private.num +++ b/util/private.num @@ -324,6 +324,8 @@ SSL_CTX_disable_ct define SSL_CTX_generate_session_ticket_fn define SSL_CTX_get0_chain_certs define SSL_CTX_get_default_read_ahead define +SSL_CTX_get_extra_chain_certs define +SSL_CTX_get_extra_chain_certs_only define SSL_CTX_get_max_cert_list define SSL_CTX_get_max_proto_version define SSL_CTX_get_min_proto_version define @@ -363,6 +365,7 @@ SSL_CTX_set1_sigalgs define SSL_CTX_set1_sigalgs_list define SSL_CTX_set1_verify_cert_store define SSL_CTX_set_current_cert define +SSL_CTX_set_ecdh_auto define SSL_CTX_set_max_cert_list define SSL_CTX_set_max_pipelines define SSL_CTX_set_max_proto_version define @@ -380,6 +383,7 @@ SSL_CTX_set_tlsext_status_cb define SSL_CTX_set_tlsext_status_type define SSL_CTX_set_tlsext_ticket_key_cb define SSL_CTX_set_tmp_dh define +SSL_CTX_set_tmp_ecdh define SSL_add0_chain_cert define SSL_add1_chain_cert define SSL_build_cert_chain define @@ -431,6 +435,7 @@ SSL_set1_sigalgs define SSL_set1_sigalgs_list define SSL_set1_verify_cert_store define SSL_set_current_cert define +SSL_set_ecdh_auto define SSL_set_max_cert_list define SSL_set_max_pipelines define SSL_set_max_proto_version define @@ -446,6 +451,7 @@ SSL_set_tlsext_host_name define SSL_set_tlsext_status_ocsp_resp define SSL_set_tlsext_status_type define SSL_set_tmp_dh define +SSL_set_tmp_ecdh define SSL_want_async define SSL_want_async_job define SSL_want_client_hello_cb define From openssl at openssl.org Thu Nov 15 11:32:21 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 15 Nov 2018 11:32:21 +0000 Subject: [openssl-commits] SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1542281541.579596.14339.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 65d2c16cbe Fix no-ec and no-tls1_2 2dc37bc2b4 Fix typo in util/perl/OpenSSL/Test.pm 45cdae1c7c test/recipes/90-test_shlibload.t needs $target{shared_extension} 1828939974 Fix rpath-related Linux "test_shlibload" failure. From builds at travis-ci.org Thu Nov 15 11:18:10 2018 From: builds at travis-ci.org (Travis CI) Date: Thu, 15 Nov 2018 11:18:10 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21741 (master - ac48fba) In-Reply-To: Message-ID: <5bed55f2b6ee_43f8e60e1b684260864@00806bb5-e131-4c79-8d5a-de72225968fe.mail> Build Update for openssl/openssl ------------------------------------- Build: #21741 Status: Still Failing Duration: 18 mins and 37 secs Commit: ac48fba (master) Author: Antoine Salon Message: Deprecate SSL_set_tmp_ecdh Signed-off-by: Antoine Salon Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7522) View the changeset: https://github.com/openssl/openssl/compare/65d2c16cbe0d...ac48fba036e1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/455438351?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt at openssl.org Thu Nov 15 11:52:33 2018 From: matt at openssl.org (Matt Caswell) Date: Thu, 15 Nov 2018 11:52:33 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542282753.211548.25447.nullmailer@dev.openssl.org> The branch master has been updated via 157af9be4106c951afadf7b12afe4cbaba0c0823 (commit) from ac48fba036e1764dfa98ed0f0aa932491aa1c4ef (commit) - Log ----------------------------------------------------------------- commit 157af9be4106c951afadf7b12afe4cbaba0c0823 Author: Matt Caswell Date: Thu Nov 8 14:03:17 2018 +0000 Add a missing SSLfatal call A missing SSLfatal call can result in an assertion failed error if the condition gets triggered. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7594) ----------------------------------------------------------------------- Summary of changes: ssl/s3_msg.c | 8 ++++++-- ssl/t1_enc.c | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ssl/s3_msg.c b/ssl/s3_msg.c index 4238254..040a728 100644 --- a/ssl/s3_msg.c +++ b/ssl/s3_msg.c @@ -26,12 +26,16 @@ int ssl3_do_change_cipher_spec(SSL *s) } s->session->cipher = s->s3->tmp.new_cipher; - if (!s->method->ssl3_enc->setup_key_block(s)) + if (!s->method->ssl3_enc->setup_key_block(s)) { + /* SSLfatal() already called */ return 0; + } } - if (!s->method->ssl3_enc->change_cipher_state(s, i)) + if (!s->method->ssl3_enc->change_cipher_state(s, i)) { + /* SSLfatal() already called */ return 0; + } return 1; } diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c index 2db913f..2be37c7 100644 --- a/ssl/t1_enc.c +++ b/ssl/t1_enc.c @@ -131,8 +131,11 @@ int tls1_change_cipher_state(SSL *s, int which) } dd = s->enc_read_ctx; mac_ctx = ssl_replace_hash(&s->read_hash, NULL); - if (mac_ctx == NULL) + if (mac_ctx == NULL) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS1_CHANGE_CIPHER_STATE, + ERR_R_INTERNAL_ERROR); goto err; + } #ifndef OPENSSL_NO_COMP COMP_CTX_free(s->expand); s->expand = NULL; From builds at travis-ci.org Thu Nov 15 12:11:15 2018 From: builds at travis-ci.org (Travis CI) Date: Thu, 15 Nov 2018 12:11:15 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21742 (master - 157af9b) In-Reply-To: Message-ID: <5bed626363988_43fd00ea28d5c1529d3@61787b8f-b3ec-43d1-b5fb-61e423407f47.mail> Build Update for openssl/openssl ------------------------------------- Build: #21742 Status: Still Failing Duration: 17 mins and 57 secs Commit: 157af9b (master) Author: Matt Caswell Message: Add a missing SSLfatal call A missing SSLfatal call can result in an assertion failed error if the condition gets triggered. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7594) View the changeset: https://github.com/openssl/openssl/compare/ac48fba036e1...157af9be4106 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/455458109?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Thu Nov 15 14:35:14 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 15 Nov 2018 14:35:14 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542292514.058055.28050.nullmailer@dev.openssl.org> The branch master has been updated via c7af8b0a267981c25cc42643493289a01ffe1bbd (commit) from 157af9be4106c951afadf7b12afe4cbaba0c0823 (commit) - Log ----------------------------------------------------------------- commit c7af8b0a267981c25cc42643493289a01ffe1bbd Author: Richard Levitte Date: Thu Nov 15 13:45:31 2018 +0100 test/siphash_internal_test.c: ensure the SIPHASH structure is zeroed Fixes #7641 [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7642) ----------------------------------------------------------------------- Summary of changes: test/siphash_internal_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/siphash_internal_test.c b/test/siphash_internal_test.c index dfdce48..ae9082b 100644 --- a/test/siphash_internal_test.c +++ b/test/siphash_internal_test.c @@ -169,7 +169,7 @@ static TESTDATA tests[] = { static int test_siphash(int idx) { - SIPHASH siphash; + SIPHASH siphash = { 0, }; TESTDATA test = tests[idx]; unsigned char key[SIPHASH_KEY_SIZE]; unsigned char in[64]; @@ -257,7 +257,7 @@ static int test_siphash(int idx) static int test_siphash_basic(void) { - SIPHASH siphash; + SIPHASH siphash = { 0, }; unsigned char key[SIPHASH_KEY_SIZE]; unsigned char output[SIPHASH_MAX_DIGEST_SIZE]; From levitte at openssl.org Thu Nov 15 14:35:55 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 15 Nov 2018 14:35:55 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542292555.372577.28962.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via b3393401faab5ce5631103f6938ef444c295d0d9 (commit) from 42acb69fd1fdab9099833c946171eefc9b86ecde (commit) - Log ----------------------------------------------------------------- commit b3393401faab5ce5631103f6938ef444c295d0d9 Author: Richard Levitte Date: Thu Nov 15 13:45:31 2018 +0100 test/siphash_internal_test.c: ensure the SIPHASH structure is zeroed Fixes #7641 [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7642) (cherry picked from commit c7af8b0a267981c25cc42643493289a01ffe1bbd) ----------------------------------------------------------------------- Summary of changes: test/siphash_internal_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/siphash_internal_test.c b/test/siphash_internal_test.c index dfdce48..ae9082b 100644 --- a/test/siphash_internal_test.c +++ b/test/siphash_internal_test.c @@ -169,7 +169,7 @@ static TESTDATA tests[] = { static int test_siphash(int idx) { - SIPHASH siphash; + SIPHASH siphash = { 0, }; TESTDATA test = tests[idx]; unsigned char key[SIPHASH_KEY_SIZE]; unsigned char in[64]; @@ -257,7 +257,7 @@ static int test_siphash(int idx) static int test_siphash_basic(void) { - SIPHASH siphash; + SIPHASH siphash = { 0, }; unsigned char key[SIPHASH_KEY_SIZE]; unsigned char output[SIPHASH_MAX_DIGEST_SIZE]; From builds at travis-ci.org Thu Nov 15 15:04:42 2018 From: builds at travis-ci.org (Travis CI) Date: Thu, 15 Nov 2018 15:04:42 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21749 (master - c7af8b0) In-Reply-To: Message-ID: <5bed8b09e3c78_43f8e5fc162043380de@00806bb5-e131-4c79-8d5a-de72225968fe.mail> Build Update for openssl/openssl ------------------------------------- Build: #21749 Status: Fixed Duration: 25 mins and 53 secs Commit: c7af8b0 (master) Author: Richard Levitte Message: test/siphash_internal_test.c: ensure the SIPHASH structure is zeroed Fixes #7641 [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7642) View the changeset: https://github.com/openssl/openssl/compare/157af9be4106...c7af8b0a2679 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/455527208?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Nov 15 15:15:05 2018 From: builds at travis-ci.org (Travis CI) Date: Thu, 15 Nov 2018 15:15:05 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21750 (OpenSSL_1_1_1-stable - b339340) In-Reply-To: Message-ID: <5bed8d79361e5_43fedb3a7ae001593c9@88de3c68-2758-46c6-8526-f2ea892f2b2c.mail> Build Update for openssl/openssl ------------------------------------- Build: #21750 Status: Fixed Duration: 22 mins and 58 secs Commit: b339340 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: test/siphash_internal_test.c: ensure the SIPHASH structure is zeroed Fixes #7641 [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7642) (cherry picked from commit c7af8b0a267981c25cc42643493289a01ffe1bbd) View the changeset: https://github.com/openssl/openssl/compare/42acb69fd1fd...b3393401faab View the full build log and details: https://travis-ci.org/openssl/openssl/builds/455527507?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Thu Nov 15 23:19:28 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 15 Nov 2018 23:19:28 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542323968.810935.22785.nullmailer@dev.openssl.org> The branch master has been updated via 856b1b65fa21439f8247a45ffbd44cee74da19af (commit) from c7af8b0a267981c25cc42643493289a01ffe1bbd (commit) - Log ----------------------------------------------------------------- commit 856b1b65fa21439f8247a45ffbd44cee74da19af Author: Richard Levitte Date: Thu Nov 15 21:37:55 2018 +0100 Configuration: only include shared_sources in dirinfo in shared config Without this precaution, we end up having directory targets depend on shlib object files for which there are no rules. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7644) ----------------------------------------------------------------------- Summary of changes: Configure | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Configure b/Configure index 94e48b4..cc061dc 100755 --- a/Configure +++ b/Configure @@ -2249,6 +2249,9 @@ EOF dst => 'sources' } } } -> {$prodtype}; foreach my $kind (keys %$intent) { + next if ($intent->{$kind}->{dst} eq 'shared_sources' + && $disabled{shared}); + my @src = @{$intent->{$kind}->{src}}; my $dst = $intent->{$kind}->{dst}; my $prodselect = $intent->{$kind}->{prodselect} // sub { @_ }; From levitte at openssl.org Thu Nov 15 23:54:01 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 15 Nov 2018 23:54:01 +0000 Subject: [openssl-commits] [tools] master update Message-ID: <1542326041.274135.28877.nullmailer@dev.openssl.org> The branch master has been updated via e759eccf4e6bd38f8a16e8ee053b1da978d4fb89 (commit) from ca2469ca133476e1fb3f89bbaf43f8d7a4244c25 (commit) - Log ----------------------------------------------------------------- commit e759eccf4e6bd38f8a16e8ee053b1da978d4fb89 Author: Dr. Matthias St. Pierre Date: Wed Oct 24 08:53:38 2018 +0200 cherry-checker: add a 'fixes' column Scans the commit messages for 'Fixes' annotations and displays them in an additional column. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/tools/pull/33) ----------------------------------------------------------------------- Summary of changes: review-tools/cherry-checker | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/review-tools/cherry-checker b/review-tools/cherry-checker index d65e801..dbdbd06 100755 --- a/review-tools/cherry-checker +++ b/review-tools/cherry-checker @@ -76,13 +76,16 @@ def pick_cherries(left, right, all = False): left + "..." + right, "--pretty=%at;%m;%h;%s" ] - regex = re.compile("|".join([ + prnum_regex = re.compile("|".join([ # The standard pull request annotation "\(Merged from https://github.com/openssl/openssl/pull/([0-9]+)\)", # @kroeck's special pull request annotation ;-) "GH: #([0-9]+)" ])) + fixes_regex = re.compile( + "Fixes[:]?\s+(#|https://github.com/openssl/openssl/pull/)([0-9]+)") + for line in subprocess.check_output(git_command).decode().splitlines(): timestamp, branch, commit, subject = line.split(";") @@ -99,7 +102,7 @@ def pick_cherries(left, right, all = False): ["git", "show", "--no-patch", commit] ).decode() - match = regex.search(message) + match = prnum_regex.search(message) if match: if match.group(1): prnum = match.group(1) @@ -108,7 +111,13 @@ def pick_cherries(left, right, all = False): else: prnum = "????" - yield prnum, timestamp, branch, commit, subject + match = fixes_regex.search(message) + if match: + fixes = "#" + match.group(2) + else: + fixes = "" + + yield prnum, fixes, timestamp, branch, commit, subject @@ -136,17 +145,17 @@ if __name__ == '__main__': -> {right} == both - prnum | br | commit | subject - ----- | -- | ---------- | -------------------------------------------""".format( + prnum | fixes | br | commit | subject + ----- | ----- | -- | ---------- | -------------------------------------------""".format( left = left, right = right)) branch_marker = { '<': '<-', '>': '->', '=' : '==' } try: - for prnum, _, branch, commit, subject in commits: - print(' #{:>4} | {} | {} | {} '.format( - prnum, branch_marker[branch], commit, subject + for prnum, fixes, _, branch, commit, subject in commits: + print(' #{:>4} | {:>5} | {} | {} | {} '.format( + prnum, fixes, branch_marker[branch], commit, subject )) except subprocess.CalledProcessError as e: print(e, file=sys.stderr) From no-reply at appveyor.com Fri Nov 16 00:31:11 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 16 Nov 2018 00:31:11 +0000 Subject: [openssl-commits] Build failed: openssl OpenSSL_1_1_1-stable.21032 Message-ID: <20181116003111.1.7E222D44621C60A0@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 16 03:55:12 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 16 Nov 2018 03:55:12 +0000 Subject: [openssl-commits] Build completed: openssl master.21033 Message-ID: <20181116035512.1.78EA5465B027C167@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Fri Nov 16 08:24:46 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 16 Nov 2018 08:24:46 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542356686.639996.11662.nullmailer@dev.openssl.org> The branch master has been updated via 6b956fe77b8aeb899ef7bdfa147a00bda51b804a (commit) via 79d7fb990cd28bbe2888ed8f9051ab54c9f986b0 (commit) from 856b1b65fa21439f8247a45ffbd44cee74da19af (commit) - Log ----------------------------------------------------------------- commit 6b956fe77b8aeb899ef7bdfa147a00bda51b804a Author: Andy Polyakov Date: Thu Nov 15 15:47:46 2018 +0100 sha/asm/sha512p8-ppc.pl: optimize epilogue. Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7643) commit 79d7fb990cd28bbe2888ed8f9051ab54c9f986b0 Author: Andy Polyakov Date: Thu Nov 15 15:42:02 2018 +0100 sha/asm/sha512p8-ppc.pl: fix typo in prologue. Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7643) ----------------------------------------------------------------------- Summary of changes: crypto/sha/asm/sha512p8-ppc.pl | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/crypto/sha/asm/sha512p8-ppc.pl b/crypto/sha/asm/sha512p8-ppc.pl index 2792800..0d4fdd2 100755 --- a/crypto/sha/asm/sha512p8-ppc.pl +++ b/crypto/sha/asm/sha512p8-ppc.pl @@ -166,8 +166,8 @@ $func: addi r11,r11,32 stvx v30,r10,$sp stvx v31,r11,$sp - li r11,-4096+255 - stw $vrsave,`$FRAME+6*$SIZE_T-4`($sp) # save vrsave + li r11,-4096+255 # 0xfffff0ff + stw $vrsave,`$FRAME-6*$SIZE_T-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME-6*$SIZE_T`($sp) li $x20,0x20 @@ -286,24 +286,17 @@ $code.=<<___ if ($SZ==8); stvx_u $G,$x30,$ctx ___ $code.=<<___; - li r10,`$LOCALS+15` + addi $offload,$sp,`$LOCALS+15` mtlr $lrsave - li r11,`$LOCALS+31` mtspr 256,$vrsave - lvx v24,r10,$sp # ABI says so - addi r10,r10,32 - lvx v25,r11,$sp - addi r11,r11,32 - lvx v26,r10,$sp - addi r10,r10,32 - lvx v27,r11,$sp - addi r11,r11,32 - lvx v28,r10,$sp - addi r10,r10,32 - lvx v29,r11,$sp - addi r11,r11,32 - lvx v30,r10,$sp - lvx v31,r11,$sp + lvx v24,$x00,$offload # ABI says so + lvx v25,$x10,$offload + lvx v26,$x20,$offload + lvx v27,$x30,$offload + lvx v28,$x40,$offload + lvx v29,$x50,$offload + lvx v30,$x60,$offload + lvx v31,$x70,$offload $POP r26,`$FRAME-6*$SIZE_T`($sp) $POP r27,`$FRAME-5*$SIZE_T`($sp) $POP r28,`$FRAME-4*$SIZE_T`($sp) From levitte at openssl.org Fri Nov 16 08:26:36 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 16 Nov 2018 08:26:36 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542356797.000994.13031.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7a6d71c5275eef2206c7e946fb936152c83c8d29 (commit) via 0e2ad9593a0ff494fab3234e49499a2e68542228 (commit) from b3393401faab5ce5631103f6938ef444c295d0d9 (commit) - Log ----------------------------------------------------------------- commit 7a6d71c5275eef2206c7e946fb936152c83c8d29 Author: Andy Polyakov Date: Thu Nov 15 15:47:46 2018 +0100 sha/asm/sha512p8-ppc.pl: optimize epilogue. Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7643) (cherry picked from commit 6b956fe77b8aeb899ef7bdfa147a00bda51b804a) commit 0e2ad9593a0ff494fab3234e49499a2e68542228 Author: Andy Polyakov Date: Thu Nov 15 15:42:02 2018 +0100 sha/asm/sha512p8-ppc.pl: fix typo in prologue. Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7643) (cherry picked from commit 79d7fb990cd28bbe2888ed8f9051ab54c9f986b0) ----------------------------------------------------------------------- Summary of changes: crypto/sha/asm/sha512p8-ppc.pl | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/crypto/sha/asm/sha512p8-ppc.pl b/crypto/sha/asm/sha512p8-ppc.pl index 2792800..0d4fdd2 100755 --- a/crypto/sha/asm/sha512p8-ppc.pl +++ b/crypto/sha/asm/sha512p8-ppc.pl @@ -166,8 +166,8 @@ $func: addi r11,r11,32 stvx v30,r10,$sp stvx v31,r11,$sp - li r11,-4096+255 - stw $vrsave,`$FRAME+6*$SIZE_T-4`($sp) # save vrsave + li r11,-4096+255 # 0xfffff0ff + stw $vrsave,`$FRAME-6*$SIZE_T-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME-6*$SIZE_T`($sp) li $x20,0x20 @@ -286,24 +286,17 @@ $code.=<<___ if ($SZ==8); stvx_u $G,$x30,$ctx ___ $code.=<<___; - li r10,`$LOCALS+15` + addi $offload,$sp,`$LOCALS+15` mtlr $lrsave - li r11,`$LOCALS+31` mtspr 256,$vrsave - lvx v24,r10,$sp # ABI says so - addi r10,r10,32 - lvx v25,r11,$sp - addi r11,r11,32 - lvx v26,r10,$sp - addi r10,r10,32 - lvx v27,r11,$sp - addi r11,r11,32 - lvx v28,r10,$sp - addi r10,r10,32 - lvx v29,r11,$sp - addi r11,r11,32 - lvx v30,r10,$sp - lvx v31,r11,$sp + lvx v24,$x00,$offload # ABI says so + lvx v25,$x10,$offload + lvx v26,$x20,$offload + lvx v27,$x30,$offload + lvx v28,$x40,$offload + lvx v29,$x50,$offload + lvx v30,$x60,$offload + lvx v31,$x70,$offload $POP r26,`$FRAME-6*$SIZE_T`($sp) $POP r27,`$FRAME-5*$SIZE_T`($sp) $POP r28,`$FRAME-4*$SIZE_T`($sp) From levitte at openssl.org Fri Nov 16 08:48:11 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 16 Nov 2018 08:48:11 +0000 Subject: [openssl-commits] [tools] master update Message-ID: <1542358091.800247.32628.nullmailer@dev.openssl.org> The branch master has been updated via b7d03f8bd7e918a96c25eb6fadd1b70f28cc6e39 (commit) from e759eccf4e6bd38f8a16e8ee053b1da978d4fb89 (commit) - Log ----------------------------------------------------------------- commit b7d03f8bd7e918a96c25eb6fadd1b70f28cc6e39 Author: Richard Levitte Date: Fri Nov 16 00:55:11 2018 +0100 gitaddrev: don't lowercase the git author email address That may lead to difficulties matching with the person database. Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Yang (Merged from https://github.com/openssl/tools/pull/34) ----------------------------------------------------------------------- Summary of changes: review-tools/gitaddrev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-tools/gitaddrev b/review-tools/gitaddrev index 08cc5d8..4b97298 100755 --- a/review-tools/gitaddrev +++ b/review-tools/gitaddrev @@ -128,7 +128,7 @@ if (my $rev = try_add_reviewer($ENV{GIT_AUTHOR_EMAIL})) { # In case the author is unknown to our databases or is lacking a CLA, # we need to be extra careful to check if this is supposed to be a # trivial commit. - my $author = lc($ENV{GIT_AUTHOR_EMAIL}); + my $author = $ENV{GIT_AUTHOR_EMAIL}; # Note: it really should be enough to check if $author is unknown, since # the databases are supposed to be consistent with each other. However, From no-reply at appveyor.com Fri Nov 16 12:53:28 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 16 Nov 2018 12:53:28 +0000 Subject: [openssl-commits] Build failed: openssl master.21036 Message-ID: <20181116125328.1.117D4D73788C976C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 16 13:48:47 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 16 Nov 2018 13:48:47 +0000 Subject: [openssl-commits] Build completed: openssl master.21037 Message-ID: <20181116134847.1.C343EFAE4A162717@appveyor.com> An HTML attachment was scrubbed... URL: From scan-admin at coverity.com Sun Nov 18 07:24:56 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 18 Nov 2018 07:24:56 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5bf113c7647fa_3bff2ab1dd750f5871456@node1.mail> Your request for analysis of openssl/openssl has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEcf-2B75FkFkxwwFKGZV8c1xA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3rXZckQL0qmiZaCpvFV-2F37SaZJm5dQD-2F9unjV83AZnycmCKs57PC3VryZGdLLc2vj0qDzG66crbTucCMF95fIl5KMSwJnk50FoUsSei40phFaxt43ova8uDK8nrfvLA6NBiyCGMacMy0Y0KIUrLZjm-2Fyzol-2FwjwxWz3pmA0LLvyCY7o1x0p-2BtXDqNzaTuMn3c-3D Build ID: 237884 Analysis Summary: New defects found: 0 Defects eliminated: 0 From scan-admin at coverity.com Sun Nov 18 07:46:13 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 18 Nov 2018 07:46:13 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5bf118c4efc1e_48282ab1dd750f58714aa@node1.mail> Your request for analysis of OpenSSL-1.0.2 has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEeuRTZVWU4ku8PUBnVPw8PQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I0TFlC-2FHhdNwwhfw-2FfD3AeyuSTMaDub5Lg8WalyF8gW-2FtBSWf6-2FcVCbF5JpBhohRe-2FuiPJl-2B4o7AxrXyyikmgdrkM6XVDJzZKSWxSpcoBGmYIdDVkzK-2Fg9eZwXZmIWaQjCTEQEqdwcGXbGOI5Oq24OOKJr6L-2Fopgo-2FkeeBCflqLM8d6TnRv4KEg4HVV8xzNccw-3D Build ID: 237887 Analysis Summary: New defects found: 0 Defects eliminated: 0 From levitte at openssl.org Sun Nov 18 17:53:25 2018 From: levitte at openssl.org (Richard Levitte) Date: Sun, 18 Nov 2018 17:53:25 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542563605.827011.31223.nullmailer@dev.openssl.org> The branch master has been updated via 6dfcea3dfb167ccf37907601a3be6dc50f9c213b (commit) via 9d1bf5f7dee88e2fc1149be16256404265765894 (commit) from 6b956fe77b8aeb899ef7bdfa147a00bda51b804a (commit) - Log ----------------------------------------------------------------- commit 6dfcea3dfb167ccf37907601a3be6dc50f9c213b Author: Johannes Bauer Date: Tue Mar 20 20:06:13 2018 +0100 Add documentation for -pkeyopt_passin Add documentation to new parameter and two examples showcasing scrypt KDF. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/5697) commit 9d1bf5f7dee88e2fc1149be16256404265765894 Author: Johannes Bauer Date: Tue Aug 1 19:38:32 2017 +0200 Add option to read pkeyopts interactively This patch adds the ability to interactively enter passphrases for the pkeyutl application. For example, you could use $ openssl pkeyutl -kdf TLS1-PRF -kdflen 8 -pkeyopt md:md5 -pkeyopt_passin secret -pkeyopt_passin seed To have the "secret" and "seed" values read interactively from keyboard (with hidden input). Alternatively, the pass phrase argument syntax is also supported, e.g.: $ openssl pkeyutl -kdf TLS1-PRF -kdflen 8 -pkeyopt md:md5 -pkeyopt_passin secret:stdin -pkeyopt_passin seed:env:SEEDVAR To have "secret" read from stdin and "seed" from the environment variable SEEDVAR. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/5697) ----------------------------------------------------------------------- Summary of changes: apps/pkeyutl.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++-- doc/man1/pkeyutl.pod | 18 +++++++++++++++++ 2 files changed, 71 insertions(+), 2 deletions(-) diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 2c4e524..38fd624 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -37,8 +37,8 @@ typedef enum OPTION_choice { OPT_PUBIN, OPT_CERTIN, OPT_ASN1PARSE, OPT_HEXDUMP, OPT_SIGN, OPT_VERIFY, OPT_VERIFYRECOVER, OPT_REV, OPT_ENCRYPT, OPT_DECRYPT, OPT_DERIVE, OPT_SIGFILE, OPT_INKEY, OPT_PEERKEY, OPT_PASSIN, - OPT_PEERFORM, OPT_KEYFORM, OPT_PKEYOPT, OPT_KDF, OPT_KDFLEN, - OPT_R_ENUM + OPT_PEERFORM, OPT_KEYFORM, OPT_PKEYOPT, OPT_PKEYOPT_PASSIN, OPT_KDF, + OPT_KDFLEN, OPT_R_ENUM } OPTION_CHOICE; const OPTIONS pkeyutl_options[] = { @@ -66,6 +66,8 @@ const OPTIONS pkeyutl_options[] = { {"peerform", OPT_PEERFORM, 'E', "Peer key format - default PEM"}, {"keyform", OPT_KEYFORM, 'E', "Private key format - default PEM"}, {"pkeyopt", OPT_PKEYOPT, 's', "Public key options as opt:value"}, + {"pkeyopt_passin", OPT_PKEYOPT_PASSIN, 's', + "Public key option that is read as a passphrase argument opt:passphrase"}, OPT_R_OPTIONS, #ifndef OPENSSL_NO_ENGINE {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"}, @@ -94,6 +96,7 @@ int pkeyutl_main(int argc, char **argv) const char *kdfalg = NULL; int kdflen = 0; STACK_OF(OPENSSL_STRING) *pkeyopts = NULL; + STACK_OF(OPENSSL_STRING) *pkeyopts_passin = NULL; prog = opt_init(argc, argv, pkeyutl_options); while ((o = opt_next()) != OPT_EOF) { @@ -192,6 +195,14 @@ int pkeyutl_main(int argc, char **argv) goto end; } break; + case OPT_PKEYOPT_PASSIN: + if ((pkeyopts_passin == NULL && + (pkeyopts_passin = sk_OPENSSL_STRING_new_null()) == NULL) || + sk_OPENSSL_STRING_push(pkeyopts_passin, opt_arg()) == 0) { + BIO_puts(bio_err, "out of memory\n"); + goto end; + } + break; } } argc = opt_num_rest(); @@ -240,6 +251,45 @@ int pkeyutl_main(int argc, char **argv) } } } + if (pkeyopts_passin != NULL) { + int num = sk_OPENSSL_STRING_num(pkeyopts_passin); + int i; + + for (i = 0; i < num; i++) { + char *opt = sk_OPENSSL_STRING_value(pkeyopts_passin, i); + char *passin = strchr(opt, ':'); + char *passwd; + + if (passin == NULL) { + /* Get password interactively */ + char passwd_buf[4096]; + BIO_snprintf(passwd_buf, sizeof(passwd_buf), "Enter %s: ", opt); + EVP_read_pw_string(passwd_buf, sizeof(passwd_buf) - 1, + passwd_buf, 0); + passwd = OPENSSL_strdup(passwd_buf); + if (passwd == NULL) { + BIO_puts(bio_err, "out of memory\n"); + goto end; + } + } else { + /* Get password as a passin argument: First split option name + * and passphrase argument into two strings */ + *passin = 0; + passin++; + if (app_passwd(passin, NULL, &passwd, NULL) == 0) { + BIO_printf(bio_err, "failed to get '%s'\n", opt); + goto end; + } + } + + if (EVP_PKEY_CTX_ctrl_str(ctx, opt, passwd) <= 0) { + BIO_printf(bio_err, "%s: Can't set parameter \"%s\":\n", + prog, opt); + goto end; + } + OPENSSL_free(passwd); + } + } if (sigfile != NULL && (pkey_op != EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, @@ -359,6 +409,7 @@ int pkeyutl_main(int argc, char **argv) OPENSSL_free(buf_out); OPENSSL_free(sig); sk_OPENSSL_STRING_free(pkeyopts); + sk_OPENSSL_STRING_free(pkeyopts_passin); return ret; } diff --git a/doc/man1/pkeyutl.pod b/doc/man1/pkeyutl.pod index 664dbef..a0dae86 100644 --- a/doc/man1/pkeyutl.pod +++ b/doc/man1/pkeyutl.pod @@ -29,6 +29,7 @@ B B [B<-kdf algorithm>] [B<-kdflen length>] [B<-pkeyopt opt:value>] +[B<-pkeyopt_passin opt:passarg>] [B<-hexdump>] [B<-asn1parse>] [B<-rand file...>] @@ -140,6 +141,13 @@ Set the output length for KDF. Public key options specified as opt:value. See NOTES below for more details. +=item B<-pkeyopt_passin opt:passarg> + +Allows reading a public key option B from stdin or a password source. If +only opt is specified, the user will be prompted to enter the value on stdin. +Alternatively, passarg can be specified which can be any value supported by +B in L. + =item B<-hexdump> hex dump the output data. @@ -320,6 +328,16 @@ seed consisting of the single byte 0xFF: openssl pkeyutl -kdf TLS1-PRF -kdflen 48 -pkeyopt md:SHA256 \ -pkeyopt hexsecret:ff -pkeyopt hexseed:ff -hexdump +Derive a key using B where the password is read from command line: + + openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass \ + -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1 + +Derive using the same algorithm, but read key from environment variable MYPASS: + + openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass:env:MYPASS \ + -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1 + =head1 SEE ALSO L, L, L From no-reply at appveyor.com Sun Nov 18 19:03:41 2018 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 18 Nov 2018 19:03:41 +0000 Subject: [openssl-commits] Build failed: openssl master.21050 Message-ID: <20181118190341.1.C9214FAB157EAD85@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Nov 19 01:58:07 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 19 Nov 2018 01:58:07 +0000 Subject: [openssl-commits] Build completed: openssl master.21051 Message-ID: <20181119015807.1.1281C1EF6CC1F9A8@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Mon Nov 19 09:56:03 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 19 Nov 2018 09:56:03 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542621363.241099.7079.nullmailer@dev.openssl.org> The branch master has been updated via 9694ebf753e571a55935a63b4df8016e7bd3248d (commit) from 6dfcea3dfb167ccf37907601a3be6dc50f9c213b (commit) - Log ----------------------------------------------------------------- commit 9694ebf753e571a55935a63b4df8016e7bd3248d Author: Richard Levitte Date: Mon Nov 19 10:21:49 2018 +0100 Unix build: for mingw and cygwin, create the right location for DLLs Mingw and Cygwin builds install the DLLs in the application directory, not the library directory, so ensure that one is created for them when installing the DLLs. Fixes #7653 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7654) ----------------------------------------------------------------------- Summary of changes: Configurations/unix-Makefile.tmpl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 8b4b6fe..c64c154 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -644,7 +644,9 @@ install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir) - @ : {- output_on() if windowsdll(); "" -} + @ : {- output_on() if windowsdll(); output_off() unless windowsdll(); "" -} + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @ : {- output_on() unless windowsdll(); "" -} @$(ECHO) "*** Installing runtime libraries" @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ From levitte at openssl.org Mon Nov 19 09:56:43 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 19 Nov 2018 09:56:43 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542621403.874382.7961.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 610ea181a85ffafdbebe5a123817becbbfdae30f (commit) from 7a6d71c5275eef2206c7e946fb936152c83c8d29 (commit) - Log ----------------------------------------------------------------- commit 610ea181a85ffafdbebe5a123817becbbfdae30f Author: Richard Levitte Date: Mon Nov 19 10:21:49 2018 +0100 Unix build: for mingw and cygwin, create the right location for DLLs Mingw and Cygwin builds install the DLLs in the application directory, not the library directory, so ensure that one is created for them when installing the DLLs. Fixes #7653 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7654) (cherry picked from commit 9694ebf753e571a55935a63b4df8016e7bd3248d) ----------------------------------------------------------------------- Summary of changes: Configurations/unix-Makefile.tmpl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 7de614a..e712019 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -640,7 +640,9 @@ install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir) - @ : {- output_on() if windowsdll(); "" -} + @ : {- output_on() if windowsdll(); output_off() unless windowsdll(); "" -} + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @ : {- output_on() unless windowsdll(); "" -} @$(ECHO) "*** Installing runtime libraries" @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ From no-reply at appveyor.com Mon Nov 19 14:17:32 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 19 Nov 2018 14:17:32 +0000 Subject: [openssl-commits] Build failed: openssl OpenSSL_1_1_1-stable.21059 Message-ID: <20181119141732.1.1073EB2F1072285E@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Nov 19 15:03:51 2018 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 19 Nov 2018 15:03:51 +0000 Subject: [openssl-commits] Build completed: openssl OpenSSL_1_1_1-stable.21060 Message-ID: <20181119150351.1.D76A9B80433714B3@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Mon Nov 19 17:30:17 2018 From: matt at openssl.org (Matt Caswell) Date: Mon, 19 Nov 2018 17:30:17 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542648617.381175.29510.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via cc330c704d961e51eae561a4dff425965c656914 (commit) from 610ea181a85ffafdbebe5a123817becbbfdae30f (commit) - Log ----------------------------------------------------------------- commit cc330c704d961e51eae561a4dff425965c656914 Author: Richard Levitte Date: Fri Nov 16 00:28:00 2018 +0100 Configuration: only include shared_sources in dirinfo in shared config Without this precaution, we end up having directory targets depend on shlib object files for which there are no rules. Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7645) ----------------------------------------------------------------------- Summary of changes: Configure | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Configure b/Configure index b332892..d5dc36c 100755 --- a/Configure +++ b/Configure @@ -2179,6 +2179,16 @@ EOF # Massage the result + # If the user configured no-shared, we allow no shared sources + if ($disabled{shared}) { + foreach (keys %{$unified_info{shared_sources}}) { + foreach (keys %{$unified_info{shared_sources}->{$_}}) { + delete $unified_info{sources}->{$_}; + } + } + $unified_info{shared_sources} = {}; + } + # If we depend on a header file or a perl module, add an inclusion of # its directory to allow smoothe inclusion foreach my $dest (keys %{$unified_info{depends}}) { From levitte at openssl.org Mon Nov 19 20:04:50 2018 From: levitte at openssl.org (Richard Levitte) Date: Mon, 19 Nov 2018 20:04:50 +0000 Subject: [openssl-commits] [tools] master update Message-ID: <1542657890.219570.15982.nullmailer@dev.openssl.org> The branch master has been updated via 1de20a3a49e1b4f6e7104b84b8fc5594b144712a (commit) via cd0711f60154d5da0f9974349b897a2615934554 (commit) from b7d03f8bd7e918a96c25eb6fadd1b70f28cc6e39 (commit) - Log ----------------------------------------------------------------- commit 1de20a3a49e1b4f6e7104b84b8fc5594b144712a Author: Pauli Date: Sun Nov 18 15:59:41 2018 +1000 add dependencies to Makefile.PL Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/tools/pull/35) commit cd0711f60154d5da0f9974349b897a2615934554 Author: Pauli Date: Sun Nov 18 10:06:32 2018 +1000 Tool changes for Mac OS/X. Perl ends up with a different path when installed using _brew_. The system perl seems to have broken _cpan_ somehow. Some additional packages need to be installed. PATH also needs to be set so it can find the _plackup_ executable. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/tools/pull/35) ----------------------------------------------------------------------- Summary of changes: OpenSSL-Query/Makefile.PL | 2 ++ OpenSSL-Query/README.md | 2 ++ review-tools/addrev | 2 +- review-tools/gitaddrev | 2 +- review-tools/gitlabutil | 2 +- 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/OpenSSL-Query/Makefile.PL b/OpenSSL-Query/Makefile.PL index ac80b4a..a98f4e6 100644 --- a/OpenSSL-Query/Makefile.PL +++ b/OpenSSL-Query/Makefile.PL @@ -35,6 +35,8 @@ requires ( 'URI::Encode' => 0, Moo => 0, Carp => 0, + 'LWP::UserAgent' => 0, + 'LWP::Protocol::https' =>0, ); install_as_site; diff --git a/OpenSSL-Query/README.md b/OpenSSL-Query/README.md index df036d8..27dd3fd 100644 --- a/OpenSSL-Query/README.md +++ b/OpenSSL-Query/README.md @@ -23,6 +23,8 @@ OpenSSL::Query requires these extra modules to run: - Class::Method::Modifiers (debian package libclass-method-modifiers-perl) - Moo (debian package libmoo-perl) - URI::Encode (debian package liburi-encode-perl) +- LWP::UserAgent +- LWP::Protocol::https Any other module OpenSSL::Query depends on should be part of core perl. diff --git a/review-tools/addrev b/review-tools/addrev index ce770f3..5cadfdb 100755 --- a/review-tools/addrev +++ b/review-tools/addrev @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; diff --git a/review-tools/gitaddrev b/review-tools/gitaddrev index 4b97298..1c2071e 100755 --- a/review-tools/gitaddrev +++ b/review-tools/gitaddrev @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; diff --git a/review-tools/gitlabutil b/review-tools/gitlabutil index 03fb02d..f700644 100755 --- a/review-tools/gitlabutil +++ b/review-tools/gitlabutil @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use HTTP::Tiny; use JSON::PP; From matt at openssl.org Tue Nov 20 11:52:52 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 11:52:52 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542714772.217525.7351.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via d88ff8962c2fd86aeb7ca7297ca9526d0916787e (commit) from 84b4759dbd0d7917091d20cd78712a20afb57d9b (commit) - Log ----------------------------------------------------------------- commit d88ff8962c2fd86aeb7ca7297ca9526d0916787e Author: Richard Levitte Date: Tue Nov 20 12:11:38 2018 +0100 VMS: ensure crypto/getenv.c is included in the build Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7665) ----------------------------------------------------------------------- Summary of changes: crypto/crypto-lib.com | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/crypto-lib.com b/crypto/crypto-lib.com index 37dc418..efed110 100644 --- a/crypto/crypto-lib.com +++ b/crypto/crypto-lib.com @@ -214,7 +214,8 @@ $! The contents of these variables are copied from the LIBOBJ variable in the $! corresponding Makefile from each corresponding subdirectory, with .o stripped $! and spaces replaced with commas. $ LIB_ = "cryptlib,mem,mem_dbg,cversion,ex_data,cpt_err,ebcdic,"+ - - "uid,o_time,o_str,o_dir,o_fips,o_init,fips_ers,mem_clr" + "uid,o_time,o_str,o_dir,o_fips,o_init,fips_ers,mem_clr,"+ - + "getenv" $ LIB_OBJECTS = "o_names,obj_dat,obj_lib,obj_err,obj_xref" $ LIB_MD2 = "md2_dgst,md2_one" $ LIB_MD4 = "md4_dgst,md4_one" From matt at openssl.org Tue Nov 20 11:54:09 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 11:54:09 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542714849.017489.8250.nullmailer@dev.openssl.org> The branch master has been updated via c1ef2852b252307d001a80409dc1ef23a3c1d874 (commit) from 9694ebf753e571a55935a63b4df8016e7bd3248d (commit) - Log ----------------------------------------------------------------- commit c1ef2852b252307d001a80409dc1ef23a3c1d874 Author: Matt Caswell Date: Tue Nov 20 10:52:53 2018 +0000 Update CHANGES and NEWS for new release Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7663) ----------------------------------------------------------------------- Summary of changes: CHANGES | 22 +++++++++++++++++++++- NEWS | 5 +++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index df6e6b1..95bced8 100644 --- a/CHANGES +++ b/CHANGES @@ -55,7 +55,27 @@ list of built in objects, i.e. OIDs with names. [Richard Levitte] - Changes between 1.1.1 and 1.1.1a [xx XXX xxxx] + Changes between 1.1.1 and 1.1.1a [20 Nov 2018] + + *) Timing vulnerability in DSA signature generation + + The OpenSSL DSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. + (CVE-2018-0734) + [Paul Dale] + + *) Timing vulnerability in ECDSA signature generation + + The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser. + (CVE-2018-0735) + [Paul Dale] *) Fixed the issue that RAND_add()/RAND_seed() silently discards random input if its length exceeds 4096 bytes. The limit has been raised to a buffer size diff --git a/NEWS b/NEWS index 56aab21..df16b78 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,11 @@ o Added EVP_MAC, an EVP layer MAC API, and a generic EVP_PKEY to EVP_MAC bridge. + Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [20 Nov 2018] + + o Timing vulnerability in DSA signature generation (CVE-2018-0734) + o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) + Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.1 [11 Sep 2018] o Support for TLSv1.3 added (see https://wiki.openssl.org/index.php/TLS1.3 From matt at openssl.org Tue Nov 20 11:55:15 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 11:55:15 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542714915.672224.9501.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via d90d8537959683d6bc25636120b885f27bbce060 (commit) from cc330c704d961e51eae561a4dff425965c656914 (commit) - Log ----------------------------------------------------------------- commit d90d8537959683d6bc25636120b885f27bbce060 Author: Matt Caswell Date: Tue Nov 20 10:52:53 2018 +0000 Update CHANGES and NEWS for new release Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7664) ----------------------------------------------------------------------- Summary of changes: CHANGES | 20 ++++++++++++++++++++ NEWS | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index cf45875..aafc262 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,26 @@ Changes between 1.1.1 and 1.1.1a [xx XXX xxxx] + *) Timing vulnerability in DSA signature generation + + The OpenSSL DSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. + (CVE-2018-0734) + [Paul Dale] + + *) Timing vulnerability in ECDSA signature generation + + The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser. + (CVE-2018-0735) + [Paul Dale] + *) Added EVP_PKEY_ECDH_KDF_X9_63 and ecdh_KDF_X9_63() as replacements for the EVP_PKEY_ECDH_KDF_X9_62 KDF type and ECDH_KDF_X9_62(). The old names are retained for backwards compatibility. diff --git a/NEWS b/NEWS index 4026385..410e845 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,8 @@ Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [under development] - o + o Timing vulnerability in DSA signature generation (CVE-2018-0734) + o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.1 [11 Sep 2018] From matt at openssl.org Tue Nov 20 11:56:28 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 11:56:28 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542714988.273063.11008.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 503c18583a1c8910ad42d4426290f0a61daae7a6 (commit) from b1aec9e84e2d36b0c4b45633d5343a39cb1ac25f (commit) - Log ----------------------------------------------------------------- commit 503c18583a1c8910ad42d4426290f0a61daae7a6 Author: Matt Caswell Date: Tue Nov 20 10:52:53 2018 +0000 Update CHANGES and NEWS for new release Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7666) ----------------------------------------------------------------------- Summary of changes: CHANGES | 20 ++++++++++++++++++++ NEWS | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 28b9938..cb2e6b1 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,26 @@ Changes between 1.1.0i and 1.1.0j [xx XXX xxxx] + *) Timing vulnerability in DSA signature generation + + The OpenSSL DSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. + (CVE-2018-0734) + [Paul Dale] + + *) Timing vulnerability in ECDSA signature generation + + The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser. + (CVE-2018-0735) + [Paul Dale] + *) Add coordinate blinding for EC_POINT and implement projective coordinate blinding for generic prime curves as a countermeasure to chosen point SCA attacks. diff --git a/NEWS b/NEWS index ca3ed49..88a0be4 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,8 @@ Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.0j [under development] - o + o Timing vulnerability in DSA signature generation (CVE-2018-0734) + o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Major changes between OpenSSL 1.1.0h and OpenSSL 1.1.0i [14 Aug 2018] From matt at openssl.org Tue Nov 20 11:57:43 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 11:57:43 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542715063.310591.12380.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 548cce63dd401b89e26d049152e3f9465f82720f (commit) from d88ff8962c2fd86aeb7ca7297ca9526d0916787e (commit) - Log ----------------------------------------------------------------- commit 548cce63dd401b89e26d049152e3f9465f82720f Author: Matt Caswell Date: Tue Nov 20 10:52:53 2018 +0000 Update CHANGES and NEWS for new release Reviewed-by: Richard Levitte Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7667) ----------------------------------------------------------------------- Summary of changes: CHANGES | 10 ++++++++++ NEWS | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index fde66b5..11d7232 100644 --- a/CHANGES +++ b/CHANGES @@ -22,6 +22,16 @@ (CVE-2018-5407) [Billy Brumley] + *) Timing vulnerability in DSA signature generation + + The OpenSSL DSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. + (CVE-2018-0734) + [Paul Dale] + *) Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module, accidentally introduced while backporting security fixes from the development branch and hindering the use of ECC in FIPS mode. diff --git a/NEWS b/NEWS index 2c5f5f8..38fe668 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,8 @@ Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [under development] - o + o Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) + o Timing vulnerability in DSA signature generation (CVE-2018-0734) Major changes between OpenSSL 1.0.2o and OpenSSL 1.0.2p [14 Aug 2018] From matt at openssl.org Tue Nov 20 13:27:04 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 13:27:04 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542720424.904893.6252.nullmailer@dev.openssl.org> The branch master has been updated via c486283cb8e9bd6c1db7eb01d31a72e68b8dc4b8 (commit) from c1ef2852b252307d001a80409dc1ef23a3c1d874 (commit) - Log ----------------------------------------------------------------- commit c486283cb8e9bd6c1db7eb01d31a72e68b8dc4b8 Author: Matt Caswell Date: Tue Nov 20 13:13:00 2018 +0000 Update copyright year Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7668) ----------------------------------------------------------------------- Summary of changes: apps/app_rand.c | 2 +- crypto/bn/asm/x86_64-gcc.c | 2 +- crypto/evp/e_rc2.c | 2 +- crypto/s390xcap.c | 2 +- doc/man1/list.pod | 2 +- doc/man1/srp.pod | 2 +- doc/man3/EVP_aes.pod | 2 +- doc/man3/EVP_aria.pod | 2 +- doc/man3/EVP_bf_cbc.pod | 2 +- doc/man3/EVP_camellia.pod | 2 +- doc/man3/EVP_cast5_cbc.pod | 2 +- doc/man3/EVP_des.pod | 2 +- doc/man3/EVP_idea_cbc.pod | 2 +- doc/man3/EVP_rc2_cbc.pod | 2 +- doc/man3/EVP_rc5_32_12_16_cbc.pod | 2 +- doc/man3/EVP_seed_cbc.pod | 2 +- doc/man3/SSL_CTX_set1_curves.pod | 2 +- doc/man3/SSL_CTX_set_quiet_shutdown.pod | 2 +- doc/man3/SSL_get_peer_tmp_key.pod | 2 +- doc/man3/SSL_set_shutdown.pod | 2 +- fuzz/helper.py | 2 +- include/openssl/symhacks.h | 2 +- ssl/d1_lib.c | 2 +- ssl/record/record.h | 2 +- ssl/s3_cbc.c | 2 +- test/cipher_overhead_test.c | 2 +- test/drbgtest.h | 2 +- test/recipes/01-test_symbol_presence.t | 2 +- test/recipes/02-test_internal_ctype.t | 2 +- test/recipes/03-test_internal_asn1.t | 2 +- test/recipes/03-test_internal_chacha.t | 2 +- test/recipes/03-test_internal_modes.t | 2 +- test/recipes/03-test_internal_poly1305.t | 2 +- test/recipes/03-test_internal_siphash.t | 2 +- test/recipes/03-test_internal_ssl_cert_table.t | 2 +- test/recipes/03-test_internal_x509.t | 2 +- test/rsa_test.c | 2 +- test/ssl-tests/28-seclevel.conf.in | 2 +- test/wpackettest.c | 2 +- 39 files changed, 39 insertions(+), 39 deletions(-) diff --git a/apps/app_rand.c b/apps/app_rand.c index d0b2e83..2b0bbde 100644 --- a/apps/app_rand.c +++ b/apps/app_rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c index e6f1698..31839ba 100644 --- a/crypto/bn/asm/x86_64-gcc.c +++ b/crypto/bn/asm/x86_64-gcc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/crypto/evp/e_rc2.c b/crypto/evp/e_rc2.c index 234d1eb..aa0d140 100644 --- a/crypto/evp/e_rc2.c +++ b/crypto/evp/e_rc2.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/s390xcap.c b/crypto/s390xcap.c index 881613a..c04e52d 100644 --- a/crypto/s390xcap.c +++ b/crypto/s390xcap.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2018 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 diff --git a/doc/man1/list.pod b/doc/man1/list.pod index ca7af49..394d70e 100644 --- a/doc/man1/list.pod +++ b/doc/man1/list.pod @@ -94,7 +94,7 @@ format described in L. =head1 COPYRIGHT -Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2018 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 diff --git a/doc/man1/srp.pod b/doc/man1/srp.pod index 4977431..229a30a 100644 --- a/doc/man1/srp.pod +++ b/doc/man1/srp.pod @@ -63,7 +63,7 @@ Generate verbose output while processing. =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_aes.pod b/doc/man3/EVP_aes.pod index a47c7eb..4192a9e 100644 --- a/doc/man3/EVP_aes.pod +++ b/doc/man3/EVP_aes.pod @@ -176,7 +176,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_aria.pod b/doc/man3/EVP_aria.pod index b98ec56..fbb7918 100644 --- a/doc/man3/EVP_aria.pod +++ b/doc/man3/EVP_aria.pod @@ -106,7 +106,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_bf_cbc.pod b/doc/man3/EVP_bf_cbc.pod index 09b412d..505d41b 100644 --- a/doc/man3/EVP_bf_cbc.pod +++ b/doc/man3/EVP_bf_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_camellia.pod b/doc/man3/EVP_camellia.pod index fe21cac..6ad59f8 100644 --- a/doc/man3/EVP_camellia.pod +++ b/doc/man3/EVP_camellia.pod @@ -89,7 +89,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_cast5_cbc.pod b/doc/man3/EVP_cast5_cbc.pod index 95c9b8d..0be0727 100644 --- a/doc/man3/EVP_cast5_cbc.pod +++ b/doc/man3/EVP_cast5_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_des.pod b/doc/man3/EVP_des.pod index 9b42656..a05149f 100644 --- a/doc/man3/EVP_des.pod +++ b/doc/man3/EVP_des.pod @@ -95,7 +95,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_idea_cbc.pod b/doc/man3/EVP_idea_cbc.pod index 61d0150..14dcc90 100644 --- a/doc/man3/EVP_idea_cbc.pod +++ b/doc/man3/EVP_idea_cbc.pod @@ -49,7 +49,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_rc2_cbc.pod b/doc/man3/EVP_rc2_cbc.pod index 8fde8e5..79769b8 100644 --- a/doc/man3/EVP_rc2_cbc.pod +++ b/doc/man3/EVP_rc2_cbc.pod @@ -65,7 +65,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_rc5_32_12_16_cbc.pod b/doc/man3/EVP_rc5_32_12_16_cbc.pod index 9d580da..442a114 100644 --- a/doc/man3/EVP_rc5_32_12_16_cbc.pod +++ b/doc/man3/EVP_rc5_32_12_16_cbc.pod @@ -56,7 +56,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_seed_cbc.pod b/doc/man3/EVP_seed_cbc.pod index cd75392..0d23295 100644 --- a/doc/man3/EVP_seed_cbc.pod +++ b/doc/man3/EVP_seed_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/SSL_CTX_set1_curves.pod b/doc/man3/SSL_CTX_set1_curves.pod index 2757ccb..7dca0e0 100644 --- a/doc/man3/SSL_CTX_set1_curves.pod +++ b/doc/man3/SSL_CTX_set1_curves.pod @@ -102,7 +102,7 @@ functions were first added to OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013-2018 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 diff --git a/doc/man3/SSL_CTX_set_quiet_shutdown.pod b/doc/man3/SSL_CTX_set_quiet_shutdown.pod index d3e6d9f..8ed9315 100644 --- a/doc/man3/SSL_CTX_set_quiet_shutdown.pod +++ b/doc/man3/SSL_CTX_set_quiet_shutdown.pod @@ -62,7 +62,7 @@ L, L =head1 COPYRIGHT -Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2018 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 diff --git a/doc/man3/SSL_get_peer_tmp_key.pod b/doc/man3/SSL_get_peer_tmp_key.pod index 23006b3..a722a81 100644 --- a/doc/man3/SSL_get_peer_tmp_key.pod +++ b/doc/man3/SSL_get_peer_tmp_key.pod @@ -43,7 +43,7 @@ L, L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/SSL_set_shutdown.pod b/doc/man3/SSL_set_shutdown.pod index 7010807..b1cf589 100644 --- a/doc/man3/SSL_set_shutdown.pod +++ b/doc/man3/SSL_set_shutdown.pod @@ -71,7 +71,7 @@ L, L =head1 COPYRIGHT -Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2018 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 diff --git a/fuzz/helper.py b/fuzz/helper.py index 889af30..e83ea00 100755 --- a/fuzz/helper.py +++ b/fuzz/helper.py @@ -1,6 +1,6 @@ #!/usr/bin/python # -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 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 diff --git a/include/openssl/symhacks.h b/include/openssl/symhacks.h index b6d68ef..156ea6e 100644 --- a/include/openssl/symhacks.h +++ b/include/openssl/symhacks.h @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c index 7a7a4be..fcda327 100644 --- a/ssl/d1_lib.c +++ b/ssl/d1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2018 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 diff --git a/ssl/record/record.h b/ssl/record/record.h index 76a2b81..af56206 100644 --- a/ssl/record/record.h +++ b/ssl/record/record.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c index 8e11864..8377d7f 100644 --- a/ssl/s3_cbc.c +++ b/ssl/s3_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2012-2018 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 diff --git a/test/cipher_overhead_test.c b/test/cipher_overhead_test.c index 8997fcc..296fa0a 100644 --- a/test/cipher_overhead_test.c +++ b/test/cipher_overhead_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 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 diff --git a/test/drbgtest.h b/test/drbgtest.h index f4d867e..7342b38 100644 --- a/test/drbgtest.h +++ b/test/drbgtest.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2018 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 diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t index 015dee9..31007e6 100644 --- a/test/recipes/01-test_symbol_presence.t +++ b/test/recipes/01-test_symbol_presence.t @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: Perl -*- -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 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 diff --git a/test/recipes/02-test_internal_ctype.t b/test/recipes/02-test_internal_ctype.t index 9990021..daacfe0 100644 --- a/test/recipes/02-test_internal_ctype.t +++ b/test/recipes/02-test_internal_ctype.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # Licensed under the OpenSSL license (the "License"). You may not use diff --git a/test/recipes/03-test_internal_asn1.t b/test/recipes/03-test_internal_asn1.t index f6f3b5c..5f27214 100644 --- a/test/recipes/03-test_internal_asn1.t +++ b/test/recipes/03-test_internal_asn1.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_chacha.t b/test/recipes/03-test_internal_chacha.t index 14ec5c6..b115392 100644 --- a/test/recipes/03-test_internal_chacha.t +++ b/test/recipes/03-test_internal_chacha.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_modes.t b/test/recipes/03-test_internal_modes.t index 09c0664..1f75bd8 100644 --- a/test/recipes/03-test_internal_modes.t +++ b/test/recipes/03-test_internal_modes.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_poly1305.t b/test/recipes/03-test_internal_poly1305.t index a3b9849..42f26c1 100644 --- a/test/recipes/03-test_internal_poly1305.t +++ b/test/recipes/03-test_internal_poly1305.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_siphash.t b/test/recipes/03-test_internal_siphash.t index f5e8890..408a674 100644 --- a/test/recipes/03-test_internal_siphash.t +++ b/test/recipes/03-test_internal_siphash.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_ssl_cert_table.t b/test/recipes/03-test_internal_ssl_cert_table.t index 8872cd5..334e47e 100644 --- a/test/recipes/03-test_internal_ssl_cert_table.t +++ b/test/recipes/03-test_internal_ssl_cert_table.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2018 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 diff --git a/test/recipes/03-test_internal_x509.t b/test/recipes/03-test_internal_x509.t index ef140eb..972ff65 100644 --- a/test/recipes/03-test_internal_x509.t +++ b/test/recipes/03-test_internal_x509.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/rsa_test.c b/test/rsa_test.c index 25709e4..bf25fd1 100644 --- a/test/rsa_test.c +++ b/test/rsa_test.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in index 9f85a95..12b9021 100644 --- a/test/ssl-tests/28-seclevel.conf.in +++ b/test/ssl-tests/28-seclevel.conf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 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 diff --git a/test/wpackettest.c b/test/wpackettest.c index 71eb763..1b5b3ba 100644 --- a/test/wpackettest.c +++ b/test/wpackettest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 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 From matt at openssl.org Tue Nov 20 13:27:54 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 13:27:54 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542720474.427305.7666.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7c6d372affa7d40629f51de4e076e59cf6048091 (commit) from d90d8537959683d6bc25636120b885f27bbce060 (commit) - Log ----------------------------------------------------------------- commit 7c6d372affa7d40629f51de4e076e59cf6048091 Author: Matt Caswell Date: Tue Nov 20 13:20:01 2018 +0000 Update copyright year Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7669) ----------------------------------------------------------------------- Summary of changes: apps/app_rand.c | 2 +- crypto/bn/asm/x86_64-gcc.c | 2 +- crypto/evp/e_rc2.c | 2 +- doc/man3/EVP_aes.pod | 2 +- doc/man3/EVP_aria.pod | 2 +- doc/man3/EVP_bf_cbc.pod | 2 +- doc/man3/EVP_camellia.pod | 2 +- doc/man3/EVP_cast5_cbc.pod | 2 +- doc/man3/EVP_des.pod | 2 +- doc/man3/EVP_idea_cbc.pod | 2 +- doc/man3/EVP_rc2_cbc.pod | 2 +- doc/man3/EVP_rc5_32_12_16_cbc.pod | 2 +- doc/man3/EVP_seed_cbc.pod | 2 +- doc/man3/SSL_CTX_set1_curves.pod | 2 +- doc/man3/SSL_CTX_set_quiet_shutdown.pod | 2 +- doc/man3/SSL_get_peer_tmp_key.pod | 2 +- doc/man3/SSL_set_shutdown.pod | 2 +- fuzz/helper.py | 2 +- include/openssl/symhacks.h | 2 +- ssl/d1_lib.c | 2 +- ssl/record/record.h | 2 +- ssl/s3_cbc.c | 2 +- test/recipes/02-test_internal_ctype.t | 2 +- test/recipes/03-test_internal_asn1.t | 2 +- test/recipes/03-test_internal_chacha.t | 2 +- test/recipes/03-test_internal_modes.t | 2 +- test/recipes/03-test_internal_poly1305.t | 2 +- test/recipes/03-test_internal_siphash.t | 2 +- test/recipes/03-test_internal_ssl_cert_table.t | 2 +- test/recipes/03-test_internal_x509.t | 2 +- test/ssl-tests/28-seclevel.conf.in | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/apps/app_rand.c b/apps/app_rand.c index d0b2e83..2b0bbde 100644 --- a/apps/app_rand.c +++ b/apps/app_rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c index e6f1698..31839ba 100644 --- a/crypto/bn/asm/x86_64-gcc.c +++ b/crypto/bn/asm/x86_64-gcc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/crypto/evp/e_rc2.c b/crypto/evp/e_rc2.c index 234d1eb..aa0d140 100644 --- a/crypto/evp/e_rc2.c +++ b/crypto/evp/e_rc2.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/doc/man3/EVP_aes.pod b/doc/man3/EVP_aes.pod index a47c7eb..4192a9e 100644 --- a/doc/man3/EVP_aes.pod +++ b/doc/man3/EVP_aes.pod @@ -176,7 +176,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_aria.pod b/doc/man3/EVP_aria.pod index b98ec56..fbb7918 100644 --- a/doc/man3/EVP_aria.pod +++ b/doc/man3/EVP_aria.pod @@ -106,7 +106,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_bf_cbc.pod b/doc/man3/EVP_bf_cbc.pod index 09b412d..505d41b 100644 --- a/doc/man3/EVP_bf_cbc.pod +++ b/doc/man3/EVP_bf_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_camellia.pod b/doc/man3/EVP_camellia.pod index fe21cac..6ad59f8 100644 --- a/doc/man3/EVP_camellia.pod +++ b/doc/man3/EVP_camellia.pod @@ -89,7 +89,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_cast5_cbc.pod b/doc/man3/EVP_cast5_cbc.pod index 95c9b8d..0be0727 100644 --- a/doc/man3/EVP_cast5_cbc.pod +++ b/doc/man3/EVP_cast5_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_des.pod b/doc/man3/EVP_des.pod index 9b42656..a05149f 100644 --- a/doc/man3/EVP_des.pod +++ b/doc/man3/EVP_des.pod @@ -95,7 +95,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_idea_cbc.pod b/doc/man3/EVP_idea_cbc.pod index 61d0150..14dcc90 100644 --- a/doc/man3/EVP_idea_cbc.pod +++ b/doc/man3/EVP_idea_cbc.pod @@ -49,7 +49,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_rc2_cbc.pod b/doc/man3/EVP_rc2_cbc.pod index 8fde8e5..79769b8 100644 --- a/doc/man3/EVP_rc2_cbc.pod +++ b/doc/man3/EVP_rc2_cbc.pod @@ -65,7 +65,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_rc5_32_12_16_cbc.pod b/doc/man3/EVP_rc5_32_12_16_cbc.pod index 9d580da..442a114 100644 --- a/doc/man3/EVP_rc5_32_12_16_cbc.pod +++ b/doc/man3/EVP_rc5_32_12_16_cbc.pod @@ -56,7 +56,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/EVP_seed_cbc.pod b/doc/man3/EVP_seed_cbc.pod index cd75392..0d23295 100644 --- a/doc/man3/EVP_seed_cbc.pod +++ b/doc/man3/EVP_seed_cbc.pod @@ -51,7 +51,7 @@ L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/SSL_CTX_set1_curves.pod b/doc/man3/SSL_CTX_set1_curves.pod index 2757ccb..7dca0e0 100644 --- a/doc/man3/SSL_CTX_set1_curves.pod +++ b/doc/man3/SSL_CTX_set1_curves.pod @@ -102,7 +102,7 @@ functions were first added to OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013-2018 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 diff --git a/doc/man3/SSL_CTX_set_quiet_shutdown.pod b/doc/man3/SSL_CTX_set_quiet_shutdown.pod index d3e6d9f..8ed9315 100644 --- a/doc/man3/SSL_CTX_set_quiet_shutdown.pod +++ b/doc/man3/SSL_CTX_set_quiet_shutdown.pod @@ -62,7 +62,7 @@ L, L =head1 COPYRIGHT -Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2018 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 diff --git a/doc/man3/SSL_get_peer_tmp_key.pod b/doc/man3/SSL_get_peer_tmp_key.pod index 23006b3..a722a81 100644 --- a/doc/man3/SSL_get_peer_tmp_key.pod +++ b/doc/man3/SSL_get_peer_tmp_key.pod @@ -43,7 +43,7 @@ L, L =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2018 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 diff --git a/doc/man3/SSL_set_shutdown.pod b/doc/man3/SSL_set_shutdown.pod index 7010807..b1cf589 100644 --- a/doc/man3/SSL_set_shutdown.pod +++ b/doc/man3/SSL_set_shutdown.pod @@ -71,7 +71,7 @@ L, L =head1 COPYRIGHT -Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2018 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 diff --git a/fuzz/helper.py b/fuzz/helper.py index 889af30..e83ea00 100755 --- a/fuzz/helper.py +++ b/fuzz/helper.py @@ -1,6 +1,6 @@ #!/usr/bin/python # -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 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 diff --git a/include/openssl/symhacks.h b/include/openssl/symhacks.h index b6d68ef..156ea6e 100644 --- a/include/openssl/symhacks.h +++ b/include/openssl/symhacks.h @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c index 7a7a4be..fcda327 100644 --- a/ssl/d1_lib.c +++ b/ssl/d1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2018 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 diff --git a/ssl/record/record.h b/ssl/record/record.h index 76a2b81..af56206 100644 --- a/ssl/record/record.h +++ b/ssl/record/record.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c index 8e11864..8377d7f 100644 --- a/ssl/s3_cbc.c +++ b/ssl/s3_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2012-2018 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 diff --git a/test/recipes/02-test_internal_ctype.t b/test/recipes/02-test_internal_ctype.t index 9990021..daacfe0 100644 --- a/test/recipes/02-test_internal_ctype.t +++ b/test/recipes/02-test_internal_ctype.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # Licensed under the OpenSSL license (the "License"). You may not use diff --git a/test/recipes/03-test_internal_asn1.t b/test/recipes/03-test_internal_asn1.t index f6f3b5c..5f27214 100644 --- a/test/recipes/03-test_internal_asn1.t +++ b/test/recipes/03-test_internal_asn1.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_chacha.t b/test/recipes/03-test_internal_chacha.t index 14ec5c6..b115392 100644 --- a/test/recipes/03-test_internal_chacha.t +++ b/test/recipes/03-test_internal_chacha.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_modes.t b/test/recipes/03-test_internal_modes.t index 09c0664..1f75bd8 100644 --- a/test/recipes/03-test_internal_modes.t +++ b/test/recipes/03-test_internal_modes.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_poly1305.t b/test/recipes/03-test_internal_poly1305.t index a3b9849..42f26c1 100644 --- a/test/recipes/03-test_internal_poly1305.t +++ b/test/recipes/03-test_internal_poly1305.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_siphash.t b/test/recipes/03-test_internal_siphash.t index f5e8890..408a674 100644 --- a/test/recipes/03-test_internal_siphash.t +++ b/test/recipes/03-test_internal_siphash.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/recipes/03-test_internal_ssl_cert_table.t b/test/recipes/03-test_internal_ssl_cert_table.t index 8872cd5..334e47e 100644 --- a/test/recipes/03-test_internal_ssl_cert_table.t +++ b/test/recipes/03-test_internal_ssl_cert_table.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2018 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 diff --git a/test/recipes/03-test_internal_x509.t b/test/recipes/03-test_internal_x509.t index ef140eb..972ff65 100644 --- a/test/recipes/03-test_internal_x509.t +++ b/test/recipes/03-test_internal_x509.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/ssl-tests/28-seclevel.conf.in b/test/ssl-tests/28-seclevel.conf.in index 9f85a95..12b9021 100644 --- a/test/ssl-tests/28-seclevel.conf.in +++ b/test/ssl-tests/28-seclevel.conf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 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 From matt at openssl.org Tue Nov 20 13:29:11 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 13:29:11 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542720551.235523.9474.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via a8e613cc51beaeb181a322da3620a27ef8bcead3 (commit) from 503c18583a1c8910ad42d4426290f0a61daae7a6 (commit) - Log ----------------------------------------------------------------- commit a8e613cc51beaeb181a322da3620a27ef8bcead3 Author: Matt Caswell Date: Tue Nov 20 13:21:36 2018 +0000 Update copyright year Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7670) ----------------------------------------------------------------------- Summary of changes: apps/pkey.c | 2 +- apps/req.c | 2 +- config | 2 +- crypto/bio/b_print.c | 2 +- crypto/bn/asm/x86_64-gcc.c | 2 +- crypto/bn/bn_blind.c | 2 +- crypto/bn/bn_mul.c | 2 +- crypto/bn/bn_x931p.c | 2 +- crypto/conf/conf_mod.c | 2 +- crypto/ct/ct_log.c | 2 +- crypto/dh/dh_lib.c | 2 +- crypto/dsa/dsa_lib.c | 2 +- crypto/ec/ec_key.c | 2 +- crypto/ec/ec_kmeth.c | 2 +- crypto/ec/ecp_mont.c | 2 +- crypto/ec/ecp_nist.c | 2 +- crypto/ec/ecp_nistp224.c | 2 +- crypto/ec/ecp_nistp521.c | 2 +- crypto/engine/eng_list.c | 2 +- crypto/kdf/hkdf.c | 2 +- crypto/lhash/lhash.c | 2 +- crypto/objects/o_names.c | 2 +- crypto/ocsp/ocsp_cl.c | 2 +- crypto/pkcs12/p12_init.c | 2 +- crypto/pkcs12/p12_mutl.c | 2 +- crypto/pkcs7/pk7_lib.c | 2 +- crypto/rand/md_rand.c | 2 +- crypto/rand/randfile.c | 2 +- crypto/rsa/rsa_lib.c | 2 +- crypto/x509/by_file.c | 2 +- doc/apps/crl.pod | 2 +- doc/apps/req.pod | 2 +- doc/crypto/EVP_DigestVerifyInit.pod | 2 +- engines/e_capi.c | 2 +- include/openssl/ec.h | 2 +- include/openssl/ocsp.h | 2 +- include/openssl/symhacks.h | 2 +- ssl/s3_enc.c | 2 +- test/ct_test.c | 2 +- test/recipes/30-test_evp.t | 2 +- test/secmemtest.c | 2 +- util/mkrc.pl | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/apps/pkey.c b/apps/pkey.c index 60e8581..5c13d8b 100644 --- a/apps/pkey.c +++ b/apps/pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2018 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 diff --git a/apps/req.c b/apps/req.c index a691f93..a20e7c1 100644 --- a/apps/req.c +++ b/apps/req.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/config b/config index 19c0071..ef0841d 100755 --- a/config +++ b/config @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2018 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 diff --git a/crypto/bio/b_print.c b/crypto/bio/b_print.c index bf006d1..8f50cb8 100644 --- a/crypto/bio/b_print.c +++ b/crypto/bio/b_print.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c index cdb54fa..621be33 100644 --- a/crypto/bn/asm/x86_64-gcc.c +++ b/crypto/bn/asm/x86_64-gcc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/crypto/bn/bn_blind.c b/crypto/bn/bn_blind.c index 7a8237c..9474e21 100644 --- a/crypto/bn/bn_blind.c +++ b/crypto/bn/bn_blind.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2018 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 diff --git a/crypto/bn/bn_mul.c b/crypto/bn/bn_mul.c index a14f53f..237d7df 100644 --- a/crypto/bn/bn_mul.c +++ b/crypto/bn/bn_mul.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/bn/bn_x931p.c b/crypto/bn/bn_x931p.c index 24f6a85..d01f12c 100644 --- a/crypto/bn/bn_x931p.c +++ b/crypto/bn/bn_x931p.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2018 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 diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c index 7314435..722fe46 100644 --- a/crypto/conf/conf_mod.c +++ b/crypto/conf/conf_mod.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/crypto/ct/ct_log.c b/crypto/ct/ct_log.c index 881dc98..973bf4d 100644 --- a/crypto/ct/ct_log.c +++ b/crypto/ct/ct_log.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 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 diff --git a/crypto/dh/dh_lib.c b/crypto/dh/dh_lib.c index 4bc62a6..2e727df 100644 --- a/crypto/dh/dh_lib.c +++ b/crypto/dh/dh_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c index 9600c61..08956b9 100644 --- a/crypto/dsa/dsa_lib.c +++ b/crypto/dsa/dsa_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c index df35b64..462156f 100644 --- a/crypto/ec/ec_key.c +++ b/crypto/ec/ec_key.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/crypto/ec/ec_kmeth.c b/crypto/ec/ec_kmeth.c index decad65..64a5d20 100644 --- a/crypto/ec/ec_kmeth.c +++ b/crypto/ec/ec_kmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2018 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 diff --git a/crypto/ec/ecp_mont.c b/crypto/ec/ecp_mont.c index 1e0a3e0..d837d4d 100644 --- a/crypto/ec/ecp_mont.c +++ b/crypto/ec/ecp_mont.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 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 diff --git a/crypto/ec/ecp_nist.c b/crypto/ec/ecp_nist.c index 66b88d5..143f21f 100644 --- a/crypto/ec/ecp_nist.c +++ b/crypto/ec/ecp_nist.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 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 diff --git a/crypto/ec/ecp_nistp224.c b/crypto/ec/ecp_nistp224.c index 7dc5309..52056ff 100644 --- a/crypto/ec/ecp_nistp224.c +++ b/crypto/ec/ecp_nistp224.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2018 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 diff --git a/crypto/ec/ecp_nistp521.c b/crypto/ec/ecp_nistp521.c index 74d56e3..0a82abc 100644 --- a/crypto/ec/ecp_nistp521.c +++ b/crypto/ec/ecp_nistp521.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2018 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 diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index fcab415..f8d74c1 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 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 diff --git a/crypto/kdf/hkdf.c b/crypto/kdf/hkdf.c index 6d38a2f..0fb55e9 100644 --- a/crypto/kdf/hkdf.c +++ b/crypto/kdf/hkdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 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 diff --git a/crypto/lhash/lhash.c b/crypto/lhash/lhash.c index 319dd49..ea83bf9 100644 --- a/crypto/lhash/lhash.c +++ b/crypto/lhash/lhash.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/objects/o_names.c b/crypto/objects/o_names.c index 709b9c3..7fb0136 100644 --- a/crypto/objects/o_names.c +++ b/crypto/objects/o_names.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2018 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 diff --git a/crypto/ocsp/ocsp_cl.c b/crypto/ocsp/ocsp_cl.c index 5d99ae3..b638694 100644 --- a/crypto/ocsp/ocsp_cl.c +++ b/crypto/ocsp/ocsp_cl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 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 diff --git a/crypto/pkcs12/p12_init.c b/crypto/pkcs12/p12_init.c index 7b76909..88db0f2 100644 --- a/crypto/pkcs12/p12_init.c +++ b/crypto/pkcs12/p12_init.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/crypto/pkcs12/p12_mutl.c b/crypto/pkcs12/p12_mutl.c index 0c47250..0cbbed3 100644 --- a/crypto/pkcs12/p12_mutl.c +++ b/crypto/pkcs12/p12_mutl.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c index c7d7181..371b9c9 100644 --- a/crypto/pkcs7/pk7_lib.c +++ b/crypto/pkcs7/pk7_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index bc1b6fb..eb6a14b 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/rand/randfile.c b/crypto/rand/randfile.c index ee6a1ec..c827407 100644 --- a/crypto/rand/randfile.c +++ b/crypto/rand/randfile.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/rsa/rsa_lib.c b/crypto/rsa/rsa_lib.c index 40dee36..d99d049 100644 --- a/crypto/rsa/rsa_lib.c +++ b/crypto/rsa/rsa_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c index c4e33d3..77a7c4a 100644 --- a/crypto/x509/by_file.c +++ b/crypto/x509/by_file.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/doc/apps/crl.pod b/doc/apps/crl.pod index 8207ee9..82c77d6 100644 --- a/doc/apps/crl.pod +++ b/doc/apps/crl.pod @@ -133,7 +133,7 @@ L, L, L =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 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 diff --git a/doc/apps/req.pod b/doc/apps/req.pod index 00ec1a8..291b1da 100644 --- a/doc/apps/req.pod +++ b/doc/apps/req.pod @@ -653,7 +653,7 @@ L =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 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 diff --git a/doc/crypto/EVP_DigestVerifyInit.pod b/doc/crypto/EVP_DigestVerifyInit.pod index 2e1d00f..ff1153b 100644 --- a/doc/crypto/EVP_DigestVerifyInit.pod +++ b/doc/crypto/EVP_DigestVerifyInit.pod @@ -84,7 +84,7 @@ were first added to OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2018 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 diff --git a/engines/e_capi.c b/engines/e_capi.c index 9d5e850..a1de0b4 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2018 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 diff --git a/include/openssl/ec.h b/include/openssl/ec.h index 9dbc172..d6b36c7 100644 --- a/include/openssl/ec.h +++ b/include/openssl/ec.h @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 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 diff --git a/include/openssl/ocsp.h b/include/openssl/ocsp.h index aa432f1..ba1b973 100644 --- a/include/openssl/ocsp.h +++ b/include/openssl/ocsp.h @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2018 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 diff --git a/include/openssl/symhacks.h b/include/openssl/symhacks.h index b6d68ef..156ea6e 100644 --- a/include/openssl/symhacks.h +++ b/include/openssl/symhacks.h @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 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 diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index 89b7739..65fe913 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 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 diff --git a/test/ct_test.c b/test/ct_test.c index 88a8b77..49c4695 100644 --- a/test/ct_test.c +++ b/test/ct_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 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 diff --git a/test/recipes/30-test_evp.t b/test/recipes/30-test_evp.t index d8e11e2..da0eada 100644 --- a/test/recipes/30-test_evp.t +++ b/test/recipes/30-test_evp.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 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 diff --git a/test/secmemtest.c b/test/secmemtest.c index 6077216..36906f7 100644 --- a/test/secmemtest.c +++ b/test/secmemtest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2018 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 diff --git a/util/mkrc.pl b/util/mkrc.pl index 96f56f3..99912eb 100755 --- a/util/mkrc.pl +++ b/util/mkrc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2018 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 From matt at openssl.org Tue Nov 20 13:31:16 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 13:31:16 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542720676.118722.11099.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 8ea167207d2a014bf592eb21b7e33ed2204d5063 (commit) from 548cce63dd401b89e26d049152e3f9465f82720f (commit) - Log ----------------------------------------------------------------- commit 8ea167207d2a014bf592eb21b7e33ed2204d5063 Author: Matt Caswell Date: Tue Nov 20 13:23:36 2018 +0000 Update copyright year Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7671) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_blind.c | 2 +- crypto/bn/bn_x931p.c | 2 +- crypto/conf/conf_mod.c | 2 +- crypto/ec/ec_lcl.h | 2 +- crypto/ec/ec_mult.c | 2 +- crypto/engine/eng_list.c | 2 +- crypto/pkcs12/p12_init.c | 2 +- crypto/rand/md_rand.c | 2 +- crypto/rand/rand_lcl.h | 2 +- engines/e_capi.c | 2 +- ssl/ssl_ciph.c | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/crypto/bn/bn_blind.c b/crypto/bn/bn_blind.c index 40e1bb6..a1e5e13 100644 --- a/crypto/bn/bn_blind.c +++ b/crypto/bn/bn_blind.c @@ -1,6 +1,6 @@ /* crypto/bn/bn_blind.c */ /* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/bn/bn_x931p.c b/crypto/bn/bn_x931p.c index 116620a..e40241f 100644 --- a/crypto/bn/bn_x931p.c +++ b/crypto/bn/bn_x931p.c @@ -4,7 +4,7 @@ * 2005. */ /* ==================================================================== - * Copyright (c) 2005 The OpenSSL Project. All rights reserved. + * Copyright (c) 2005-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c index 2a7a27b..1df463d 100644 --- a/crypto/conf/conf_mod.c +++ b/crypto/conf/conf_mod.c @@ -4,7 +4,7 @@ * 2001. */ /* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 2001-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/ec/ec_lcl.h b/crypto/ec/ec_lcl.h index 2d604fa..8665a4c 100644 --- a/crypto/ec/ec_lcl.h +++ b/crypto/ec/ec_lcl.h @@ -3,7 +3,7 @@ * Originally written by Bodo Moeller for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2010 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/ec/ec_mult.c b/crypto/ec/ec_mult.c index c573d4b..da71526 100644 --- a/crypto/ec/ec_mult.c +++ b/crypto/ec/ec_mult.c @@ -3,7 +3,7 @@ * Originally written by Bodo Moeller and Nils Larsch for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index 9e64b9d..5d7eee4 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -4,7 +4,7 @@ * 2000. */ /* ==================================================================== - * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/pkcs12/p12_init.c b/crypto/pkcs12/p12_init.c index 8275a23..a074b94 100644 --- a/crypto/pkcs12/p12_init.c +++ b/crypto/pkcs12/p12_init.c @@ -4,7 +4,7 @@ * 1999. */ /* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 0c273ad..2983a3f 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 10ccdf0..7b4dbcf 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/engines/e_capi.c b/engines/e_capi.c index 814a325..7ec6de6 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -4,7 +4,7 @@ * project. */ /* ==================================================================== - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * Copyright (c) 2008-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index e5a500d..58dcddf 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From matt at openssl.org Tue Nov 20 14:11:43 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:11:43 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542723103.340831.23635.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c97a75bf1348e252239bb88ab4ff8ac2e0e7e092 (commit) via d1c28d791a7391a8dc101713cd8646df96491d03 (commit) from 7c6d372affa7d40629f51de4e076e59cf6048091 (commit) - Log ----------------------------------------------------------------- commit c97a75bf1348e252239bb88ab4ff8ac2e0e7e092 Author: Matt Caswell Date: Tue Nov 20 13:38:03 2018 +0000 Prepare for 1.1.1b-dev Reviewed-by: Richard Levitte commit d1c28d791a7391a8dc101713cd8646df96491d03 Author: Matt Caswell Date: Tue Nov 20 13:35:35 2018 +0000 Prepare for 1.1.1a release Reviewed-by: Richard Levitte ----------------------------------------------------------------------- Summary of changes: CHANGES | 6 +++++- NEWS | 6 +++++- README | 2 +- include/openssl/opensslv.h | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index aafc262..9cc29b7 100644 --- a/CHANGES +++ b/CHANGES @@ -7,7 +7,11 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. - Changes between 1.1.1 and 1.1.1a [xx XXX xxxx] + Changes between 1.1.1a and 1.1.1b [xx XXX xxxx] + + *) + + Changes between 1.1.1 and 1.1.1a [20 Nov 2018] *) Timing vulnerability in DSA signature generation diff --git a/NEWS b/NEWS index 410e845..6d2b97d 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,11 @@ 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.1 and OpenSSL 1.1.1a [under development] + Major changes between OpenSSL 1.1.1a and OpenSSL 1.1.1b [under development] + + o + + Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [20 Nov 2018] o Timing vulnerability in DSA signature generation (CVE-2018-0734) o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) diff --git a/README b/README index 5817b54..5b614cb 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ - OpenSSL 1.1.1a-dev + OpenSSL 1.1.1b-dev Copyright (c) 1998-2018 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/include/openssl/opensslv.h b/include/openssl/opensslv.h index 2a54f2c..308091f 100644 --- a/include/openssl/opensslv.h +++ b/include/openssl/opensslv.h @@ -39,8 +39,8 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x10101010L -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1a-dev xx XXX xxxx" +# define OPENSSL_VERSION_NUMBER 0x10101020L +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1b-dev xx XXX xxxx" /*- * The macros below are to be used for shared library (.so, .dll, ...) From matt at openssl.org Tue Nov 20 14:12:06 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:12:06 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542723126.390986.24834.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 0fbe8491fc05d280a1f00bfc26dd3c3a6c63f04a (commit) via 74f2d9c1ec5f5510e1d3da5a9f03c28df0977762 (commit) from a8e613cc51beaeb181a322da3620a27ef8bcead3 (commit) - Log ----------------------------------------------------------------- commit 0fbe8491fc05d280a1f00bfc26dd3c3a6c63f04a Author: Matt Caswell Date: Tue Nov 20 13:42:16 2018 +0000 Prepare for 1.1.0k-dev Reviewed-by: Richard Levitte commit 74f2d9c1ec5f5510e1d3da5a9f03c28df0977762 Author: Matt Caswell Date: Tue Nov 20 13:41:22 2018 +0000 Prepare for 1.1.0j release Reviewed-by: Richard Levitte ----------------------------------------------------------------------- Summary of changes: CHANGES | 6 +++++- NEWS | 6 +++++- README | 2 +- include/openssl/opensslv.h | 6 +++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index cb2e6b1..60c0dd1 100644 --- a/CHANGES +++ b/CHANGES @@ -7,7 +7,11 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. - Changes between 1.1.0i and 1.1.0j [xx XXX xxxx] + Changes between 1.1.0j and 1.1.0k [xx XXX xxxx] + + *) + + Changes between 1.1.0i and 1.1.0j [20 Nov 2018] *) Timing vulnerability in DSA signature generation diff --git a/NEWS b/NEWS index 88a0be4..188e9aa 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,11 @@ 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.0i and OpenSSL 1.1.0j [under development] + Major changes between OpenSSL 1.1.0j and OpenSSL 1.1.0k [under development] + + o + + Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.0j [20 Nov 2018] o Timing vulnerability in DSA signature generation (CVE-2018-0734) o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) diff --git a/README b/README index 3af2619..51828a7 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ - OpenSSL 1.1.0j-dev + OpenSSL 1.1.0k-dev Copyright (c) 1998-2018 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/include/openssl/opensslv.h b/include/openssl/opensslv.h index 72f09af..0e2992e 100644 --- a/include/openssl/opensslv.h +++ b/include/openssl/opensslv.h @@ -39,11 +39,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x101000a0L +# define OPENSSL_VERSION_NUMBER 0x101000b0L # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0j-fips-dev xx XXX xxxx" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0k-fips-dev xx XXX xxxx" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0j-dev xx XXX xxxx" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0k-dev xx XXX xxxx" # endif /*- From matt at openssl.org Tue Nov 20 14:12:22 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:12:22 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542723142.062702.25870.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 49d07eb3cc85b5ea8877f7cdfadc8c20497eb09a (commit) via 5707219a6aae8052cb98aa361d115be01b8fd894 (commit) via d98ff540df55b6ef4e29df9590e082afa7ad65b4 (commit) from 8ea167207d2a014bf592eb21b7e33ed2204d5063 (commit) - Log ----------------------------------------------------------------- commit 49d07eb3cc85b5ea8877f7cdfadc8c20497eb09a Author: Matt Caswell Date: Tue Nov 20 13:46:11 2018 +0000 Prepare for 1.0.2r-dev Reviewed-by: Richard Levitte commit 5707219a6aae8052cb98aa361d115be01b8fd894 Author: Matt Caswell Date: Tue Nov 20 13:45:20 2018 +0000 Prepare for 1.0.2q release Reviewed-by: Richard Levitte commit d98ff540df55b6ef4e29df9590e082afa7ad65b4 Author: Matt Caswell Date: Tue Nov 20 13:45:20 2018 +0000 make update Reviewed-by: Richard Levitte ----------------------------------------------------------------------- Summary of changes: CHANGES | 6 +++++- NEWS | 6 +++++- README | 2 +- crypto/Makefile | 7 +++++++ crypto/conf/Makefile | 7 ++++--- crypto/opensslv.h | 6 +++--- crypto/rand/Makefile | 9 +++++---- openssl.spec | 2 +- util/libeay.num | 1 + 9 files changed, 32 insertions(+), 14 deletions(-) diff --git a/CHANGES b/CHANGES index 11d7232..ab5cdf6 100644 --- a/CHANGES +++ b/CHANGES @@ -7,7 +7,11 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. - Changes between 1.0.2p and 1.0.2q [xx XXX xxxx] + Changes between 1.0.2q and 1.0.2r [xx XXX xxxx] + + *) + + Changes between 1.0.2p and 1.0.2q [20 Nov 2018] *) Microarchitecture timing vulnerability in ECC scalar multiplication diff --git a/NEWS b/NEWS index 38fe668..566ce43 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,11 @@ 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.0.2p and OpenSSL 1.0.2q [under development] + Major changes between OpenSSL 1.0.2q and OpenSSL 1.0.2r [under development] + + o + + Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [20 Nov 2018] o Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) o Timing vulnerability in DSA signature generation (CVE-2018-0734) diff --git a/README b/README index 3f5f81e..a288fd6 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ - OpenSSL 1.0.2q-dev + OpenSSL 1.0.2r-dev Copyright (c) 1998-2018 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/crypto/Makefile b/crypto/Makefile index 72c96f6..180707e 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -180,6 +180,13 @@ ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h ex_data.o: ex_data.c fips_ers.o: ../include/openssl/opensslconf.h fips_ers.c +getenv.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h +getenv.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h +getenv.o: ../include/openssl/err.h ../include/openssl/lhash.h +getenv.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +getenv.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h +getenv.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h +getenv.o: getenv.c mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h mem.o: ../include/openssl/err.h ../include/openssl/lhash.h diff --git a/crypto/conf/Makefile b/crypto/conf/Makefile index d5f5c58..cd436f7 100644 --- a/crypto/conf/Makefile +++ b/crypto/conf/Makefile @@ -80,12 +80,13 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. conf_api.o: ../../e_os.h ../../include/openssl/bio.h -conf_api.o: ../../include/openssl/conf.h ../../include/openssl/conf_api.h -conf_api.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +conf_api.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +conf_api.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h +conf_api.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h conf_api.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h conf_api.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h conf_api.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -conf_api.o: ../../include/openssl/symhacks.h conf_api.c +conf_api.o: ../../include/openssl/symhacks.h ../cryptlib.h conf_api.c conf_def.o: ../../e_os.h ../../include/openssl/bio.h conf_def.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h conf_def.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h diff --git a/crypto/opensslv.h b/crypto/opensslv.h index 8509228..f808f1e 100644 --- a/crypto/opensslv.h +++ b/crypto/opensslv.h @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x10002110L +# define OPENSSL_VERSION_NUMBER 0x10002120L # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips-dev xx XXX xxxx" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2r-fips-dev xx XXX xxxx" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-dev xx XXX xxxx" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2r-dev xx XXX xxxx" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/crypto/rand/Makefile b/crypto/rand/Makefile index df44369..1643a74 100644 --- a/crypto/rand/Makefile +++ b/crypto/rand/Makefile @@ -157,10 +157,11 @@ rand_win.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h rand_win.o: ../../include/openssl/sha.h ../../include/openssl/stack.h rand_win.o: ../../include/openssl/symhacks.h ../cryptlib.h rand_lcl.h rand_win.o: rand_win.c -randfile.o: ../../e_os.h ../../include/openssl/buffer.h -randfile.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h -randfile.o: ../../include/openssl/opensslconf.h +randfile.o: ../../e_os.h ../../include/openssl/bio.h +randfile.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +randfile.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +randfile.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h randfile.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h randfile.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h randfile.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -randfile.o: randfile.c +randfile.o: ../cryptlib.h randfile.c diff --git a/openssl.spec b/openssl.spec index f1061be..b42b739 100644 --- a/openssl.spec +++ b/openssl.spec @@ -7,7 +7,7 @@ Release: 1 Summary: Secure Sockets Layer and cryptography libraries and tools Name: openssl -Version: 1.0.2q +Version: 1.0.2r Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz License: OpenSSL Group: System Environment/Libraries diff --git a/util/libeay.num b/util/libeay.num index f5b4f21..2e52214 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -4431,3 +4431,4 @@ EVP_PKEY_meth_get_decrypt 4785 EXIST::FUNCTION: EVP_PKEY_meth_get_cleanup 4786 EXIST::FUNCTION: EVP_PKEY_meth_get_encrypt 4787 EXIST::FUNCTION: EVP_PKEY_meth_get_copy 4788 EXIST::FUNCTION: +ossl_safe_getenv 4789 EXIST::FUNCTION: From matt at openssl.org Tue Nov 20 14:12:34 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:12:34 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2q create Message-ID: <1542723154.672529.27069.nullmailer@dev.openssl.org> The annotated tag OpenSSL_1_0_2q has been created at 4bd676413494473ed5f3011c7ffa423eaae79468 (tag) tagging 5707219a6aae8052cb98aa361d115be01b8fd894 (commit) replaces OpenSSL_1_0_2p tagged by Matt Caswell on Tue Nov 20 13:45:20 2018 +0000 - Log ----------------------------------------------------------------- OpenSSL 1.0.2q release tag -----BEGIN PGP SIGNATURE----- iQFFBAABCgAvFiEEhlersmDwVrHlGQg52cTSbQ5gRJEFAlv0D/ARHG1hdHRAb3Bl bnNzbC5vcmcACgkQ2cTSbQ5gRJEiJgf+Mi2MCBgbXiqhNckXMIZRxFqE/Yp2QanX Wei3dOmkmCGTqk/Ej2gfkZc73aGsD+ZeyMXyOdV78OyH4gZBAe4GzIXwFq/VhpQI cqY24XWciF2NjzB1DGf05ufMgoO+aOU+QGKYP2ugjGNFVy9BSn5f9FqTr48An1LL p5LalvKnwAz+gOuNxi3/uGCQYvMUQrtB8GZEK6SEBts8aO/PI6hs8X6xsjgfah1i 4IvRrKR8p/GYw6zfslaYn8kMJGDIr2JAHCNk80msj7mDNN4T1MspGqA2nI5HeKP0 RMT1pI5Ugjdb+h0XMTkZ7dewQfRkZHKXJR/M1EvVL3xCvlqUM9MibA== =OHP3 -----END PGP SIGNATURE----- Andy Polyakov (7): x509v3/v3_purp.c: resolve Thread Sanitizer nit. crypto/bn: add more fixed-top routines. rsa/rsa_eay.c: implement variant of "Smooth CRT-RSA." bn/bn_blind.c: use Montgomery multiplication when possible. bn/bn_lib.c: conceal even memmory access pattern in bn2binpad. util/domd: omit superfluous shift in -MD handling. rsa/rsa_ossl.c: fix and extend commentary [skip ci]. Bernd Edlinger (1): Make the config script fail with an error code if Configure failed Billy Brumley (1): CVE-2018-5407 fix: ECC ladder Daniel Bevenius (1): Document OPENSSL_VERSION_TEXT macro Dr. Matthias St. Pierre (3): drbg_get_entropy: force a reseed before calling ssleay_rand_bytes() md_rand.c: don't stop polling until properly initialized Fix 'no-ecdh' build Eric Brown (1): Remove redundant ASN1_INTEGER_set call Hubert Kario (1): document the -no_ecdhe option in s_server man page Jakub Wilk (1): Fix example in crl(1) man page Manikantan Subramanian (1): Use gethostbyname_r if available Matt Caswell (9): Prepare for 1.0.2q-dev The req documentation incorrectly states that we default to md5 Clarify the EVP_DigestSignInit docs Check the return value from ASN1_INTEGER_set Properly handle duplicated messages from the next epoch Update CHANGES and NEWS for new release Update copyright year make update Prepare for 1.0.2q release Nicola Tuveri (1): Access `group->mont_data` conditionally in EC_GROUP_set_generator() Pauli (5): Check the return from BN_sub() in BN_X931_generate_Xpq(). Merge 1.0.2 setuid calls to getenv(3) safety. Merge DSA reallocation timing fix CVE-2018-0734. Merge to 1.0.2: DSA mod inverse fix. Add a constant time flag to one of the bignums to avoid a timing leak. Richard Levitte (6): VMS: add missing x509_time test to test scripts openssl req: don't try to report bits CAPI engine: add support for RSA_NO_PADDING crypto/ui/ui_openssl.c: make sure to recognise ENXIO and EIO too crypto/bn/asm/x86_64-gcc.c: remove unnecessary redefinition of BN_ULONG VMS: ensure crypto/getenv.c is included in the build Viktor Dukhovni (2): Only CA certificates can be self-issued Apply self-imposed path length also to root CAs Vitezslav Cizek (1): DSA: Check for sanity of input parameters ----------------------------------------------------------------------- From matt at openssl.org Tue Nov 20 14:12:34 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:12:34 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0j create Message-ID: <1542723154.711583.27086.nullmailer@dev.openssl.org> The annotated tag OpenSSL_1_1_0j has been created at 21830324cf9f3f9589b30303c078189fda92cd2b (tag) tagging 74f2d9c1ec5f5510e1d3da5a9f03c28df0977762 (commit) replaces OpenSSL_1_1_0i tagged by Matt Caswell on Tue Nov 20 13:41:22 2018 +0000 - Log ----------------------------------------------------------------- OpenSSL 1.1.0j release tag -----BEGIN PGP SIGNATURE----- iQFFBAABCgAvFiEEhlersmDwVrHlGQg52cTSbQ5gRJEFAlv0DwIRHG1hdHRAb3Bl bnNzbC5vcmcACgkQ2cTSbQ5gRJFWawgAklJtlX3lFSkgwdBTbvuSV89o+ErEXOxV Ap9PPIIlo/ZCeOSZwNTpmwzq/LxgSCDF74nSIYhDUAKIdTyf0jesPg61CRMs0gJq yBf6xaozWDyp4/FhHqCAm2FwoFRrtnf08gTPDlpRHg04o2GSx1QPyTo7d+QPLD4h BfGJjyBZQtgoc/xfBQyaOTpojv0ehvm9lO4SGXDTAUZR1xRcIDJtsl3hhQWSlJuh zzja9utZf7BYRV0j49VYvsEpvx7y3GF6zPaoMUJLT1pNki2K0PmBrYw+DKwwQo0v aF2Bbo568lKjB+r2w8vftTkZf0WC0G9uaG08ETl0s23/91eaqPUqyg== =5beK -----END PGP SIGNATURE----- Andy Polyakov (8): crypto/init.c: improve destructor_key's portability. crypto/bn: add more fixed-top routines. rsa/rsa_ossl.c: implement variant of "Smooth CRT-RSA." bn/bn_blind.c: use Montgomery multiplication when possible. bn/bn_lib.c: conceal even memmory access pattern in bn2binpad. rsa/rsa_ossl.c: fix and extend commentary [skip ci]. ssl/s3_enc.c: fix logical errors in ssl3_final_finish_mac. arch/async_posix.h: improve portability. Benjamin Kaduk (2): Avoid shadowing 'free' in X509_LOOKUP_met_set_free apps: allow empty attribute values with -subj Bernd Edlinger (2): Fix a warning from MSVC build Make the config script fail with an error code if Configure failed Billy Brumley (3): More EVP ECC testing: positive and negative [test] ECC: make sure negative tests pass for the right reasons [crypto/bn] swap BN_FLG_FIXED_TOP too Daniel Bevenius (1): Document OPENSSL_VERSION_TEXT macro Dmitry Belyavskiy (1): Backport #7007 to 1.1.0 Dr. Matthias St. Pierre (1): md_rand.c: don't stop polling until properly initialized Eric Brown (1): Remove redundant ASN1_INTEGER_set call Eric Curtin (1): New openssl subject parser hard to debug Jakub Wilk (1): Fix example in crl(1) man page Matt Caswell (9): Prepare for 1.1.0j-dev Free SSL object on an error path The req documentation incorrectly states that we default to md5 Clarify the EVP_DigestSignInit docs Check the return value from ASN1_INTEGER_set Add an explicit cast to time_t Update CHANGES and NEWS for new release Update copyright year Prepare for 1.1.0j release Nicola Tuveri (5): Backport #6648 to OpenSSL_1_1_0-stable Fix segfault in RSA_free() (and DSA/DH/EC_KEY) Harmonize the error handling codepath Split test/evptests.txt into separate files. Move evp test programs input data to its own data dir Paul Kehrer (2): add getter for tbsResponseData and signatureAlgorithm on OCSP_BASICRESP add docs for OCSP_resp_get0_signature Pauli (11): Zero memory in CRYPTO_secure_malloc. Check the return from BN_sub() in BN_X931_generate_Xpq(). Make OBJ_NAME case insensitive. Key zeroization fix for EVP_SealInit. Add a compile time test to verify that openssl/rsa.h and complex.h can coexist. Use 'i' as parameter name not 'I'. Use secure_getenv(3) when available. DSA mod inverse fix Timing vulnerability in DSA signature generation (CVE-2018-0734). Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Add a constant time flag to one of the bignums to avoid a timing leak. Richard Levitte (15): openssl req: don't try to report bits CAPI engine: add support for RSA_NO_PADDING crypto/ui/ui_openssl.c: make sure to recognise ENXIO and EIO too crypto/bn/asm/x86_64-gcc.c: remove unnecessary redefinition of BN_ULONG Small cleanup (util/mkdef.pl, crypto/bio/bss_log.c, include/openssl/ocsp.h) Clean out aliases in include/openssl/symhacks.h Allow parallel install Have install targets depend on more precise build targets VMS build: colon after target must be separated with a space Fix cherry-pick error Windows build: build foo.d after foo.obj Configuration: make sure the shared_sources table doesn't contain empty elements Fix rpath-related Linux "test_shlibload" failure. test/recipes/90-test_shlibload.t needs $target{shared_extension} Fix typo in util/perl/OpenSSL/Test.pm Rod Vagg (1): Remove brace from bad cherry-pick of DSA reallocation fix Shane Lontis (4): key zeroisation for pvkfmt now done on all branch paths key zeroisation fix for p12 hkdf zeroization fix RSA padding Zeroization fixes Sohaib ul Hassan (1): Implement coordinate blinding for EC_POINT Tomas Mraz (1): Fix copy&paste error found in Coverity scan Viktor Dukhovni (2): Only CA certificates can be self-issued Apply self-imposed path length also to root CAs Viktor Szakats (1): minor fixes for Windows parasssh (1): Fix typos in documentation. ----------------------------------------------------------------------- From matt at openssl.org Tue Nov 20 14:12:34 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:12:34 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1a create Message-ID: <1542723154.755002.27105.nullmailer@dev.openssl.org> The annotated tag OpenSSL_1_1_1a has been created at 55225b873d0cad98a12e539c269c70740e90a793 (tag) tagging d1c28d791a7391a8dc101713cd8646df96491d03 (commit) replaces OpenSSL_1_1_1 tagged by Matt Caswell on Tue Nov 20 13:35:35 2018 +0000 - Log ----------------------------------------------------------------- OpenSSL 1.1.1a release tag -----BEGIN PGP SIGNATURE----- iQFFBAABCgAvFiEEhlersmDwVrHlGQg52cTSbQ5gRJEFAlv0DacRHG1hdHRAb3Bl bnNzbC5vcmcACgkQ2cTSbQ5gRJE/+Qf9FTyqV3xNKquHdIFZa5p0RlrvWbsDsscJ hHvBYV8tZmmhnZw7uBxgZtOai8pumaB02FMppUyRJSIwzXLpApuzi72xDbKzcmaZ QissgXjuqxO+59LgeIZSpdkDcKmGjIWi0nmwfUiqxQW3NUu+/DMOzWbEMy9qdb3Q eAuR0esrVHvV9d+Bj0iXW9jFIHY/Fh7HIf87H+wY/+LjaKsguPRlqgYvJM4J6ZT+ Zg9/UEGwikIm/VxmxxRIZ+XxlnJU2b8ZUNMlUnnuilM2cy4VAEWAyzFXxcSQn4mq cD87wcmYA2dyKvZkXNCVEFLEm+YUqsP2DGkO/oor6CL0jPXTv8qqGQ== =ACcb -----END PGP SIGNATURE----- Andy Polyakov (9): sha/asm/keccak1600-s390x.pl: resolve -march=z900 portability issue. ssl/s3_enc.c: fix logical errors in ssl3_final_finish_mac. rsa/rsa_ossl.c: fix and extend commentary [skip ci]. arch/async_posix.h: improve portability. Configurations/15-android.conf: add support for "standalone toolchain". Configurations/15-android.conf: fix implicit __ANDROID_API__ handling. Configurations/15-android.conf: detect NDK llvm-ar. sha/asm/sha512p8-ppc.pl: fix typo in prologue. sha/asm/sha512p8-ppc.pl: optimize epilogue. Antoine Salon (3): Update enc(1) examples to more recent ciphers and key derivation algorithms Add missing cipher aliases to openssl(1) EVP module documentation pass Benjamin Kaduk (4): Reset TLS 1.3 ciphers in SSL_CTX_set_ssl_version() apps: allow empty attribute values with -subj Add tsan_decr() API, counterpart of tsan_counter() Restore sensible "sess_accept" counter tracking Bernd Edlinger (16): Fix a possible recursion in SSLfatal handling Create the .rnd file it it does not exist Reduce stack usage in tls13_hkdf_expand Fix a possible crash in rand_drbg_get_entropy Fix data race in RAND_DRBG_generate Rework and simplify resource flow in drbg_add Fix a race condition in drbg_add Fix error handling in RAND_DRBG_set Fix error handling in rand_drbg_new Fix error handling in drbgtest.c Fix error handling in RAND_DRBG_uninstantiate Avoid two memory allocations in each RAND_DRBG_bytes Fix a race condition in drbgtest.c Initialize reseed_gen_counter to 1, like it is done in master Rename the rand_drbg_st data member "pool" to "seed_pool" Fix issues with do_rand_init/rand_cleanup_int Billy Brumley (1): [crypto/bn] swap BN_FLG_FIXED_TOP too Brian 'geeknik' Carpenter (1): Update README.md Chocobo1 (1): Fix MSVC warning C4819 Daniel Bevenius (1): Document OPENSSL_VERSION_TEXT macro David Makepeace (1): Fixed typos in hkdf documentation. Dr. Matthias St. Pierre (19): Replace the public RAND_DRBG_USED_FLAGS #define by an internal constant ssl/ssl_ciph.c: make set_ciphersuites static test/secmemtest: test secure memory only if it is implemented rand_unix.c: fix --with-rand-seed=none build DRBG: fix reseeding via RAND_add()/RAND_seed() with large input Fix: 'openssl ca' command crashes when used with 'rand_serial' option RAND_add(): fix heap corruption in error path RAND_load_file(): return error if reseeding failed RAND_load_file(): avoid adding small chunks to RAND_add() Configure: Reword the summary output Backport some DRBG renamings and typo fixes RAND_add()/RAND_seed(): fix failure on short input or low entropy Configure: Improve warning if no random seed source was configured drbg_lib: avoid NULL pointer dereference in drbg_add randfile.c: fix a Coverity warning rand_drbg.h: include Test: link drbgtest statically against libcrypto Test: enable internal tests for shared Windows builds rand_unix.c: open random devices on first use only FdaSilvaYY (1): crypto/rand: fix some style nit's James Callahan (1): doc/man3/SSL_set_bio.pod: Fix wrong function name in return values section Kurt Roeckx (1): Improve SSL_shutdown() documentation Mansour Ahmadi (2): Add a missing check on s->s3->tmp.pkey Check return value of EVP_PKEY_new Matt Caswell (37): Prepare for 1.1.1a-dev Add an explicit cast to time_t Don't allow -early_data with other options where it doesn't work Delay setting the sig algs until after the cert_cb has been called Add a test for the certificate callback Fix the max psk len for TLSv1.3 Fix a mem leak in the ocsp app Fix some Coverity warnings Fix the BIO callback return code handling Extend the BIO callback tests to check the return value semantics Fix a typo in a macro Fix no-tls1_2 Fix no-psk Fix no-engine Fix a DTLS memory leak Test DTLS cookie generation and verification Use the read and write buffers in DTLSv1_listen() Buffer a ClientHello with a cookie received via DTLSv1_listen Don't complain and fail about unknown TLSv1.3 PSK identities in s_server Properly handle duplicated messages from the next epoch Add a test for duplicated DTLS records Reset the HKDF state between operations Add a test where we reuse the EVP_PKEY_CTX for two HKDF test runs Don't call the client_cert_cb immediately in TLSv1.3 Add a client_cert_cb test Ignore disabled ciphers when deciding if we are using ECC Give a better error if an attempt is made to set a zero length groups list Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable Add some test brainpool certificates Test use of a brainpool ECDSA certificate Separate ca_names handling for client and server Add a test for SSL_CTX_set0_CA_list()/SSL_CTX_set_client_CA_list() Merge the CA list documentation for clarity Fix no-ec and no-tls1_2 Update CHANGES and NEWS for new release Update copyright year Prepare for 1.1.1a release Matt Eaton (1): Update RAND_DRBG.pod Mykola Baibuz (2): Safer memory cleanup in (crypto/rsa/rsa_lib.c) Remove useless check. Hash can be longer than EC group degree and it will be truncated. Paul Yang (5): Make some return checks consistent with others Add some missing ciphers in 'enc' document Fix a nit of copyright date range Fix compiling warnings in example code Fix a doc-nit in EVP_PKEY_CTX_ctrl.pod Pauli (12): Add a compile time test to verify that openssl/rsa.h and complex.h can coexist. Use 'i' as parameter name not 'I'. Add missing include file. Specifically, include e_os.h to pick up alloca definition for WIN32. Use secure_getenv(3) when available. Indentation fixes. DSA mod inverse fix Timing vulnerability in DSA signature generation (CVE-2018-0734). Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Add a constant time flag to one of the bignums to avoid a timing leak. Cleanse the key log buffer. Fix return formatting. Add missing RAND initialisation call. Richard Levitte (38): crypto/sm2/sm2_sign.c: ensure UINT16_MAX is properly defined VMS: only use the high precision on VMS v8.4 and up crypto/ui/ui_openssl.c: make sure to recognise ENXIO and EIO too util/mkdef.pl, util/add-depends.pl: don't lowercase file names /dev/crypto engine: add missing RC4 parameter crypto/bn/asm/x86_64-gcc.c: remove unnecessary redefinition of BN_ULONG Small cleanup (util/mkdef.pl, crypto/bio/bss_log.c, include/openssl/ocsp.h) Clean out aliases in include/openssl/symhacks.h /dev/crypto engine: give CIOCFSESSION the actual sess-id Build file templates: look at *all* defines build file templates: have targets for all shared library names RAND: ensure INT32_MAX is defined Windows: Produce a static version of the public libraries, always iOS config targets: disable "async" by default apps/rehash.c: Convert ISO-8859-1 to UTF-8 VMS & cryptoerr.h: include symhacks.h ssl/statem: Don't compare size_t with less than zero Windows build: build foo.d after foo.obj test/evp_test.c: don't misuse pkey_test_ctrl() in mac_test_run() Configuration: when building the dirinfo structure, include shared_sources apps: Stop pretending to care about Netscape keys crypto/engine/eng_devcrypto.c: add digest copy crypto/engine/eng_devcrypto.c: new compilers are strict on prototypes crypto/engine/eng_devcrypto.c: open /dev/crypto only once crypto/engine/eng_devcrypto.c: ensure we don't leak resources util/add-depends.pl: go through shared_sources too Allow parallel install Have install targets depend on more precise build targets VMS build: colon after target must be separated with a space Fix SipHash init order. Configure: ensure empty arrays aren't created inadvertently Configuration: make sure the shared_sources table doesn't contain empty elements Fix rpath-related Linux "test_shlibload" failure. test/recipes/90-test_shlibload.t needs $target{shared_extension} Fix typo in util/perl/OpenSSL/Test.pm test/siphash_internal_test.c: ensure the SIPHASH structure is zeroed Unix build: for mingw and cygwin, create the right location for DLLs Configuration: only include shared_sources in dirinfo in shared config Tobias Nie?en (1): Trivial test improvements Tomas Mraz (2): Fix copy&paste error found in Coverity scan Unbreak SECLEVEL 3 regression causing it to not accept any ciphers. Viktor Dukhovni (3): Only CA certificates can be self-issued Apply self-imposed path length also to root CAs Added missing signature algorithm reflection functions Viktor Szakats (1): minor fixes for Windows Vitezslav Cizek (1): DSA: Check for sanity of input parameters agnosticdev (1): typo-fixes: miscellaneous typo fixes armfazh (1): Fix tls_cbc_digest_record is slow using SHA-384 and short messages cclauss (1): print() is a function in Python 3 ??? (1): Cleanup typos and grammar in DES_random_key.pod ----------------------------------------------------------------------- From matt at openssl.org Tue Nov 20 14:13:30 2018 From: matt at openssl.org (Matt Caswell) Date: Tue, 20 Nov 2018 14:13:30 +0000 Subject: [openssl-commits] [web] master update Message-ID: <1542723210.741265.28406.nullmailer@dev.openssl.org> The branch master has been updated via af5e14f2df748257775c39faa63fcc755b81b1b9 (commit) from 28c43932d579cd6ba18ec411bb828a2512c3419e (commit) - Log ----------------------------------------------------------------- commit af5e14f2df748257775c39faa63fcc755b81b1b9 Author: Matt Caswell Date: Tue Nov 20 13:55:56 2018 +0000 Updates for new release Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/web/pull/95) ----------------------------------------------------------------------- Summary of changes: news/newsflash.txt | 4 ++++ news/vulnerabilities.xml | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/news/newsflash.txt b/news/newsflash.txt index 2c05c1a..07229f2 100644 --- a/news/newsflash.txt +++ b/news/newsflash.txt @@ -4,6 +4,10 @@ # Format is two fields, colon-separated; the first line is the column # headings. URL paths must all be absolute. Date: Item +20-Nov-2018: OpenSSL 1.1.1a is now available, including bug and security fixes +20-Nov-2018: OpenSSL 1.1.0j is now available, including bug and security fixes +20-Nov-2018: OpenSSL 1.0.2q is now available, including bug and security fixes +12-Nov-2018: Security Advisory: one low severity fix in ECC scalar multiplication 29-Oct-2018: Security Advisory: one low severity fix in DSA 29-Oct-2018: Security Advisory: one low severity fix in ECDSA 11-Sep-2018: Final version of OpenSSL 1.1.1 (LTS) is now available: please download and upgrade! diff --git a/news/vulnerabilities.xml b/news/vulnerabilities.xml index 46cdcff..2142ade 100644 --- a/news/vulnerabilities.xml +++ b/news/vulnerabilities.xml @@ -40,7 +40,7 @@ - + Side Channel Attack @@ -85,13 +85,13 @@ - + - + - + Constant time issue @@ -118,10 +118,10 @@ - + - + Constant time issue From builds at travis-ci.org Tue Nov 20 14:41:02 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 20 Nov 2018 14:41:02 +0000 Subject: [openssl-commits] Passed: openssl/openssl#21831 (OpenSSL_1_0_2q - 5707219) In-Reply-To: Message-ID: <5bf41cfdac94e_43fa81f00ff4415833d@3d811da5-e5a9-4ea9-accd-f873d0a8b504.mail> Build Update for openssl/openssl ------------------------------------- Build: #21831 Status: Passed Duration: 4 mins and 35 secs Commit: 5707219 (OpenSSL_1_0_2q) Author: Matt Caswell Message: Prepare for 1.0.2q release Reviewed-by: Richard Levitte View the changeset: https://github.com/openssl/openssl/compare/OpenSSL_1_0_2q View the full build log and details: https://travis-ci.org/openssl/openssl/builds/457470382?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Nov 20 14:56:44 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 20 Nov 2018 14:56:44 +0000 Subject: [openssl-commits] Passed: openssl/openssl#21832 (OpenSSL_1_1_0j - 74f2d9c) In-Reply-To: Message-ID: <5bf420abb6552_43fe1eac2cf483693c8@7a0c53c6-09ae-4a98-812b-7b24c49fe04b.mail> Build Update for openssl/openssl ------------------------------------- Build: #21832 Status: Passed Duration: 17 mins and 15 secs Commit: 74f2d9c (OpenSSL_1_1_0j) Author: Matt Caswell Message: Prepare for 1.1.0j release Reviewed-by: Richard Levitte View the changeset: https://github.com/openssl/openssl/compare/OpenSSL_1_1_0j View the full build log and details: https://travis-ci.org/openssl/openssl/builds/457470395?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Nov 20 15:07:53 2018 From: builds at travis-ci.org (Travis CI) Date: Tue, 20 Nov 2018 15:07:53 +0000 Subject: [openssl-commits] Passed: openssl/openssl#21833 (OpenSSL_1_1_1a - d1c28d7) In-Reply-To: Message-ID: <5bf423493ecb8_43ff0d150b6ec10013@e18bd37b-6add-4fe9-b3a3-690adeb0014a.mail> Build Update for openssl/openssl ------------------------------------- Build: #21833 Status: Passed Duration: 23 mins and 27 secs Commit: d1c28d7 (OpenSSL_1_1_1a) Author: Matt Caswell Message: Prepare for 1.1.1a release Reviewed-by: Richard Levitte View the changeset: https://github.com/openssl/openssl/compare/OpenSSL_1_1_1a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/457470419?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Tue Nov 20 15:58:01 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 20 Nov 2018 15:58:01 +0000 Subject: [openssl-commits] [tools] master update Message-ID: <1542729481.458389.24408.nullmailer@dev.openssl.org> The branch master has been updated via 191d279c0e11953cd1a3d02e3fe422391cf9674f (commit) via 617dbc4a479831adbf711df0879324b23d5f4cb6 (commit) via a89caedb7667bec77ca155ef99b6beacd7a4479c (commit) from 1de20a3a49e1b4f6e7104b84b8fc5594b144712a (commit) - Log ----------------------------------------------------------------- commit 191d279c0e11953cd1a3d02e3fe422391cf9674f Author: Richard Levitte Date: Tue Nov 20 16:34:16 2018 +0100 release-tools/do-copyright-year: skip versioned directories These are submodules, and we have no interest changing those. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/tools/pull/36) commit 617dbc4a479831adbf711df0879324b23d5f4cb6 Author: Richard Levitte Date: Tue Nov 20 16:33:12 2018 +0100 release-tools/do-copyright-year: more efficient skip of D records Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/tools/pull/36) commit a89caedb7667bec77ca155ef99b6beacd7a4479c Author: Richard Levitte Date: Tue Nov 20 16:30:21 2018 +0100 release-tools/do-copyright-year: add a spinner+counter to show process When a lot of changes has happened in a branch, processing all the files can take some time, so this adds some visual progress feedback. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/tools/pull/36) ----------------------------------------------------------------------- Summary of changes: release-tools/do-copyright-year | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/release-tools/do-copyright-year b/release-tools/do-copyright-year index 6c3d710..8bebf6a 100755 --- a/release-tools/do-copyright-year +++ b/release-tools/do-copyright-year @@ -29,12 +29,30 @@ EOF NYD=`date +%Y-01-01` echo Updating copryight -git diff-tree -r --name-status `git rev-list -1 --before=$NYD HEAD`..HEAD \ - | while read STATUS FILE ; do - if [ "$STATUS" = 'D' ]; then continue; fi - sed -E -f /tmp/sed$$ -i "$FILE" - git add "$FILE" -done +git diff-tree -r --name-status `git rev-list -1 --before=$NYD HEAD`..HEAD | \ + grep -v '^ *D' | \ + ( + count=0 + sp="/-\|" + sc=0 + spin() { + printf "\r${sp:sc++:1} %s" "$@" + ((sc==${#sp})) && sc=0 + } + endspin() { + printf "\r%s\n" "$@" + } + + while read STATUS FILE ; do + if [ -d "$FILE" ]; then continue; fi + (( count++ )) + spin $count + sed -E -f /tmp/sed$$ -i "$FILE" + git add "$FILE" + done + endspin "Files considered: $count" + ) +echo Files changed: $(git status --porcelain | grep '^ *M' | wc -l) echo Committing change locally. git commit -m 'Update copyright year' rm -f $ss From matthias.st.pierre at ncp-e.com Tue Nov 20 18:02:44 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 20 Nov 2018 18:02:44 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542736964.103268.21650.nullmailer@dev.openssl.org> The branch master has been updated via 2a6f57bc098cdfa6320189f2725337c7f74a052e (commit) from c486283cb8e9bd6c1db7eb01d31a72e68b8dc4b8 (commit) - Log ----------------------------------------------------------------- commit 2a6f57bc098cdfa6320189f2725337c7f74a052e Author: cclauss Date: Tue Oct 16 07:18:00 2018 +0200 Travis CI: Use flake8 to find Python syntax errors or undefined names CLA: trivial In Travis CI, add a Python linting step that runs flake8 tests in Travis CI to find syntax errors and undefined names. (http://flake8.pycqa.org) __E901,E999,F821,F822,F823__ are the "_showstopper_" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety. * F821: undefined name `name` * F822: undefined name `name` in `__all__` * F823: local variable name referenced before assignment * E901: SyntaxError or IndentationError * E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree Reviewed-by: Paul Dale Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7410) ----------------------------------------------------------------------- Summary of changes: .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index 764da28..0124368 100644 --- a/.travis.yml +++ b/.travis.yml @@ -120,6 +120,18 @@ matrix: - gcc-mingw-w64 compiler: x86_64-w64-mingw32-gcc env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" + - os: linux + language: python + python: 3.7 + dist: xenial # required for Python 3.7 (travis-ci/travis-ci#9069) + sudo: required # required for Python 3.7 (travis-ci/travis-ci#9069) + install: pip install flake8 + before_script: + # stop the build if there are Python syntax errors or undefined names + - flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + script: true exclude: - os: linux compiler: clang From matthias.st.pierre at ncp-e.com Tue Nov 20 18:04:31 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 20 Nov 2018 18:04:31 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542737071.986028.23003.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via e587e8e36a0279674882f4b8bdba81ed1b10e1a6 (commit) from c97a75bf1348e252239bb88ab4ff8ac2e0e7e092 (commit) - Log ----------------------------------------------------------------- commit e587e8e36a0279674882f4b8bdba81ed1b10e1a6 Author: cclauss Date: Tue Oct 16 07:18:00 2018 +0200 Travis CI: Use flake8 to find Python syntax errors or undefined names CLA: trivial In Travis CI, add a Python linting step that runs flake8 tests in Travis CI to find syntax errors and undefined names. (http://flake8.pycqa.org) __E901,E999,F821,F822,F823__ are the "_showstopper_" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety. * F821: undefined name `name` * F822: undefined name `name` in `__all__` * F823: local variable name referenced before assignment * E901: SyntaxError or IndentationError * E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree Reviewed-by: Paul Dale Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7410) (cherry picked from commit 2a6f57bc098cdfa6320189f2725337c7f74a052e) ----------------------------------------------------------------------- Summary of changes: .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index 764da28..0124368 100644 --- a/.travis.yml +++ b/.travis.yml @@ -120,6 +120,18 @@ matrix: - gcc-mingw-w64 compiler: x86_64-w64-mingw32-gcc env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" + - os: linux + language: python + python: 3.7 + dist: xenial # required for Python 3.7 (travis-ci/travis-ci#9069) + sudo: required # required for Python 3.7 (travis-ci/travis-ci#9069) + install: pip install flake8 + before_script: + # stop the build if there are Python syntax errors or undefined names + - flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + script: true exclude: - os: linux compiler: clang From no-reply at appveyor.com Wed Nov 21 14:56:18 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 21 Nov 2018 14:56:18 +0000 Subject: [openssl-commits] Build failed: openssl master.21124 Message-ID: <20181121145618.1.02C304652D519C0A@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 21 16:02:33 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 21 Nov 2018 16:02:33 +0000 Subject: [openssl-commits] Build completed: openssl master.21125 Message-ID: <20181121160233.1.3246128E63E6EFB5@appveyor.com> An HTML attachment was scrubbed... URL: From yang.yang at baishancloud.com Wed Nov 21 17:06:54 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Wed, 21 Nov 2018 17:06:54 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542820014.667815.10641.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 3ccccb91ae1c07a4310778b3d7ba74ff4ff787f0 (commit) from e587e8e36a0279674882f4b8bdba81ed1b10e1a6 (commit) - Log ----------------------------------------------------------------- commit 3ccccb91ae1c07a4310778b3d7ba74ff4ff787f0 Author: Paul Yang Date: Wed Nov 21 13:16:27 2018 +0800 Fix wrong return value in ssl3_ctx_ctrl This fixes issue #7677 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7678) ----------------------------------------------------------------------- Summary of changes: ssl/s3_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 866ca4d..99ae481 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3781,7 +3781,7 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) EVP_PKEY_security_bits(pkdh), 0, pkdh)) { SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_DH_KEY_TOO_SMALL); EVP_PKEY_free(pkdh); - return 1; + return 0; } EVP_PKEY_free(ctx->cert->dh_tmp); ctx->cert->dh_tmp = pkdh; From levitte at openssl.org Wed Nov 21 18:22:38 2018 From: levitte at openssl.org (Richard Levitte) Date: Wed, 21 Nov 2018 18:22:38 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542824558.517797.23541.nullmailer@dev.openssl.org> The branch master has been updated via 2cc3f68cde77af23c61fbad65470602ee86f2575 (commit) from 2a6f57bc098cdfa6320189f2725337c7f74a052e (commit) - Log ----------------------------------------------------------------- commit 2cc3f68cde77af23c61fbad65470602ee86f2575 Author: Andy Polyakov Date: Wed Nov 7 22:07:22 2018 +0100 rsa/rsa_ossl.c: cache MONT_CTX for public modulus earlier. Blinding is performed more efficiently and securely if MONT_CTX for public modulus is available by the time blinding parameter are instantiated. So make sure it's the case. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7586) ----------------------------------------------------------------------- Summary of changes: crypto/rsa/rsa_ossl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 2b1b006..09762b7 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -286,6 +286,11 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, goto err; } + if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) + goto err; + if (!(rsa->flags & RSA_FLAG_NO_BLINDING)) { blinding = rsa_get_blinding(rsa, &local_blinding, ctx); if (blinding == NULL) { @@ -318,13 +323,6 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, } BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); - if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, - rsa->n, ctx)) { - BN_free(d); - goto err; - } - if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx, rsa->_method_mod_n)) { BN_free(d); From matthias.st.pierre at ncp-e.com Wed Nov 21 20:05:43 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Wed, 21 Nov 2018 20:05:43 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542830743.732885.17189.nullmailer@dev.openssl.org> The branch master has been updated via b92678f4e94eeec468f194333f874906a6fff7f1 (commit) from 2cc3f68cde77af23c61fbad65470602ee86f2575 (commit) - Log ----------------------------------------------------------------- commit b92678f4e94eeec468f194333f874906a6fff7f1 Author: Matthew Hodgson Date: Wed Nov 21 02:00:52 2018 +0000 openssl s_server: don't use sendto() with connected UDP socket Fixes #7675 On macOS, if you call `connect()` on a UDP socket you cannot then call `sendto()` with a destination, otherwise it fails with Err#56 ('socket is already connected'). By calling `BIO_ctrl_set_connected()` on the wbio we can tell it that the socket has been connected and make it call `send()` rather than `sendto()`. Reviewed-by: Matt Caswell Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7676) ----------------------------------------------------------------------- Summary of changes: apps/s_server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/s_server.c b/apps/s_server.c index ac7dca6..15b4b43 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -2754,6 +2754,8 @@ static int init_ssl_connection(SSL *con) BIO_ADDR_free(client); return 0; } + + (void)BIO_ctrl_set_connected(wbio, client); BIO_ADDR_free(client); dtlslisten = 0; } else { From matthias.st.pierre at ncp-e.com Wed Nov 21 20:06:19 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Wed, 21 Nov 2018 20:06:19 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542830779.631566.18121.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 49fabf6b4d3b53f0f1871be10c5b28e15e7d33d3 (commit) from 3ccccb91ae1c07a4310778b3d7ba74ff4ff787f0 (commit) - Log ----------------------------------------------------------------- commit 49fabf6b4d3b53f0f1871be10c5b28e15e7d33d3 Author: Matthew Hodgson Date: Wed Nov 21 02:00:52 2018 +0000 openssl s_server: don't use sendto() with connected UDP socket Fixes #7675 On macOS, if you call `connect()` on a UDP socket you cannot then call `sendto()` with a destination, otherwise it fails with Err#56 ('socket is already connected'). By calling `BIO_ctrl_set_connected()` on the wbio we can tell it that the socket has been connected and make it call `send()` rather than `sendto()`. Reviewed-by: Matt Caswell Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7676) (cherry picked from commit b92678f4e94eeec468f194333f874906a6fff7f1) ----------------------------------------------------------------------- Summary of changes: apps/s_server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/s_server.c b/apps/s_server.c index ac7dca6..15b4b43 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -2754,6 +2754,8 @@ static int init_ssl_connection(SSL *con) BIO_ADDR_free(client); return 0; } + + (void)BIO_ctrl_set_connected(wbio, client); BIO_ADDR_free(client); dtlslisten = 0; } else { From builds at travis-ci.org Wed Nov 21 20:24:36 2018 From: builds at travis-ci.org (Travis CI) Date: Wed, 21 Nov 2018 20:24:36 +0000 Subject: [openssl-commits] Errored: openssl/openssl#21863 (master - b92678f) In-Reply-To: Message-ID: <5bf5bf023ec7a_43ff580817a80223915@06b58646-4e04-423e-9a51-1bf1ba92356a.mail> Build Update for openssl/openssl ------------------------------------- Build: #21863 Status: Errored Duration: 17 mins and 58 secs Commit: b92678f (master) Author: Matthew Hodgson Message: openssl s_server: don't use sendto() with connected UDP socket Fixes #7675 On macOS, if you call `connect()` on a UDP socket you cannot then call `sendto()` with a destination, otherwise it fails with Err#56 ('socket is already connected'). By calling `BIO_ctrl_set_connected()` on the wbio we can tell it that the socket has been connected and make it call `send()` rather than `sendto()`. Reviewed-by: Matt Caswell Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7676) View the changeset: https://github.com/openssl/openssl/compare/2cc3f68cde77...b92678f4e94e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/458116391?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt at openssl.org Thu Nov 22 09:55:17 2018 From: matt at openssl.org (Matt Caswell) Date: Thu, 22 Nov 2018 09:55:17 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542880517.381515.4125.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 5970d48093ecf5bc62b398c97e6ed030620dee30 (commit) from 49fabf6b4d3b53f0f1871be10c5b28e15e7d33d3 (commit) - Log ----------------------------------------------------------------- commit 5970d48093ecf5bc62b398c97e6ed030620dee30 Author: Andy Polyakov Date: Wed Nov 7 22:07:22 2018 +0100 rsa/rsa_ossl.c: cache MONT_CTX for public modulus earlier. Blinding is performed more efficiently and securely if MONT_CTX for public modulus is available by the time blinding parameter are instantiated. So make sure it's the case. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/7586) (cherry picked from commit 2cc3f68cde77af23c61fbad65470602ee86f2575) ----------------------------------------------------------------------- Summary of changes: crypto/rsa/rsa_ossl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 2b1b006..09762b7 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -286,6 +286,11 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, goto err; } + if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) + goto err; + if (!(rsa->flags & RSA_FLAG_NO_BLINDING)) { blinding = rsa_get_blinding(rsa, &local_blinding, ctx); if (blinding == NULL) { @@ -318,13 +323,6 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, } BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); - if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, - rsa->n, ctx)) { - BN_free(d); - goto err; - } - if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx, rsa->_method_mod_n)) { BN_free(d); From levitte at openssl.org Thu Nov 22 10:10:45 2018 From: levitte at openssl.org (Richard Levitte) Date: Thu, 22 Nov 2018 10:10:45 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542881445.847685.9429.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 8bfde2578ce28f2f24bc5d53c374b14290436c0b (commit) from 49d07eb3cc85b5ea8877f7cdfadc8c20497eb09a (commit) - Log ----------------------------------------------------------------- commit 8bfde2578ce28f2f24bc5d53c374b14290436c0b Author: Richard Levitte Date: Thu Nov 22 11:05:31 2018 +0100 VMS: ensure x509_time_test is built A lacking DCL variable to indicate where it's located was missing. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7685) ----------------------------------------------------------------------- Summary of changes: test/maketests.com | 1 + 1 file changed, 1 insertion(+) diff --git a/test/maketests.com b/test/maketests.com index c0e1730..a440c07 100644 --- a/test/maketests.com +++ b/test/maketests.com @@ -198,6 +198,7 @@ $ T_D_BAD_DTLS_TEST := [-.ssl] $ T_D_SSLV2CONFTEST := [-.ssl] $ T_D_DTLSTEST := [-.ssl] $ T_D_FATALERRTEST := [-.ssl] +$ T_D_X509_TIME_TEST := [] $ $ EXOBJ_DTLSTEST := SSLTESTLIB $ EXOBJ_FATALERRTEST := SSLTESTLIB From no-reply at appveyor.com Thu Nov 22 10:21:24 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 22 Nov 2018 10:21:24 +0000 Subject: [openssl-commits] Build failed: openssl master.21138 Message-ID: <20181122102124.1.CB8442ACCAD71B1C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 22 11:08:09 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 22 Nov 2018 11:08:09 +0000 Subject: [openssl-commits] Build completed: openssl OpenSSL_1_1_1-stable.21139 Message-ID: <20181122110809.1.12CA1C5C5E2A28A6@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 22 14:54:46 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 22 Nov 2018 14:54:46 +0000 Subject: [openssl-commits] Build failed: openssl master.21143 Message-ID: <20181122145446.1.4539E0D1858EBED1@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 22 15:46:34 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 22 Nov 2018 15:46:34 +0000 Subject: [openssl-commits] Build failed: openssl master.21144 Message-ID: <20181122154634.1.C780279685A61A10@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 22 18:29:08 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 22 Nov 2018 18:29:08 +0000 Subject: [openssl-commits] Build completed: openssl master.21145 Message-ID: <20181122182908.1.3050C4704174A857@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 23 06:45:35 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 23 Nov 2018 06:45:35 +0000 Subject: [openssl-commits] Build failed: openssl master.21149 Message-ID: <20181123064535.1.D2181BE64D14CE9E@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Fri Nov 23 11:34:52 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 23 Nov 2018 11:34:52 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542972892.254167.7955.nullmailer@dev.openssl.org> The branch master has been updated via 4b801fdcf4c25f44374eb18cb18f36d904975edd (commit) via 2c5b6bbb6797242f43b5a986e1c018943e5c1305 (commit) from b92678f4e94eeec468f194333f874906a6fff7f1 (commit) - Log ----------------------------------------------------------------- commit 4b801fdcf4c25f44374eb18cb18f36d904975edd Author: Richard Levitte Date: Thu Nov 22 10:52:51 2018 +0100 Add an error message test recipes for system error messages This ensures we collected them properly and and as completely as can be tested safely. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) commit 2c5b6bbb6797242f43b5a986e1c018943e5c1305 Author: Richard Levitte Date: Wed Nov 21 18:25:53 2018 +0100 Smarter build of system error text database We stored copies of the system error texts in a fixed line size array, which is a huge waste. Instead, use a static memory pool and pack all the string in there. The wasted space at the end, if any, gives us some leeway for longer strings than we have measured so far. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 19 +++++++++---- test/recipes/02-test_errstr.t | 66 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 test/recipes/02-test_errstr.t diff --git a/crypto/err/err.c b/crypto/err/err.c index 03cbd73..ffdc140 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -181,8 +181,9 @@ static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d) } #ifndef OPENSSL_NO_ERR +/* A measurement on Linux 2018-11-21 showed about 3.5kib */ +# define SPACE_SYS_STR_REASONS 4 * 1024 # define NUM_SYS_STR_REASONS 127 -# define LEN_SYS_STR_REASON 32 static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; /* @@ -198,7 +199,9 @@ static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; static void build_SYS_str_reasons(void) { /* OPENSSL_malloc cannot be used here, use static storage instead */ - static char strerror_tab[NUM_SYS_STR_REASONS][LEN_SYS_STR_REASON]; + static char strerror_pool[SPACE_SYS_STR_REASONS]; + char *cur = strerror_pool; + size_t cnt = 0; static int init = 1; int i; @@ -213,9 +216,15 @@ static void build_SYS_str_reasons(void) str->error = ERR_PACK(ERR_LIB_SYS, 0, i); if (str->string == NULL) { - char (*dest)[LEN_SYS_STR_REASON] = &(strerror_tab[i - 1]); - if (openssl_strerror_r(i, *dest, sizeof(*dest))) - str->string = *dest; + if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { + size_t l = strlen(cur) + 1; + + str->string = cur; + cnt += l; + if (cnt > sizeof(strerror_pool)) + cnt = sizeof(strerror_pool); + cur += l; + } } if (str->string == NULL) str->string = "unknown"; diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t new file mode 100644 index 0000000..3d806f0 --- /dev/null +++ b/test/recipes/02-test_errstr.t @@ -0,0 +1,66 @@ +#! /usr/bin/env perl +# Copyright 2018 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 + +use strict; +no strict 'refs'; # To be able to use strings as function refs +use OpenSSL::Test; +use Errno qw(:POSIX); +use POSIX qw(strerror); + +# We actually have space for up to 4095 error messages, +# numerically speaking... but we're currently only using +# numbers 1 through 127. +# This constant should correspond to the same constant +# defined in crypto/err/err.c, or at least must not be +# assigned a greater number. +use constant NUM_SYS_STR_REASONS => 127; + +setup('test_errstr'); + +# These are POSIX error names, which Errno implements as functions +# (this is documented) +my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; + +plan tests => scalar @posix_errors + +1 # Checking that error 128 gives 'reason(128)' + +1 # Checking that error 0 gives the library name + ; + +foreach my $errname (@posix_errors) { + my $errnum = "Errno::$errname"->(); + + SKIP: { + skip "Error $errname ($errnum) isn't within our range", 1 + if $errnum > NUM_SYS_STR_REASONS; + + my $perr = eval { + # Set $! to the error number... + local $! = $errnum; + # ... and $! will give you the error string back + $! + }; + + # We know that the system reasons are in OpenSSL error library 2 + my @oerr = run(app([ qw(openssl errstr), sprintf("2%06x", $errnum) ]), + capture => 1); + $oerr[0] =~ s|\R$||; + $oerr[0] =~ s|.*system library:||g; # The actual message is last + + ok($oerr[0] eq $perr, "($errnum) '$oerr[0]' == '$perr'"); + } +} + +my @after = run(app([ qw(openssl errstr 2000080) ]), capture => 1); +$after[0] =~ s|\R$||; +$after[0] =~ s|.*system library:||g; +ok($after[0] eq "reason(128)", "(128) '$after[0]' == 'reason(128)'"); + +my @zero = run(app([ qw(openssl errstr 2000000) ]), capture => 1); +$zero[0] =~ s|\R$||; +$zero[0] =~ s|.*system library:||g; +ok($zero[0] eq "system library", "(0) '$zero[0]' == 'system library'"); From levitte at openssl.org Fri Nov 23 11:36:08 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 23 Nov 2018 11:36:08 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542972968.473317.9132.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via a9334a490de001d9d6ed2251c34dd58a6651ab5b (commit) via cae2a7ca4289d4bdd5fbbc25406736f36bcfee7a (commit) from 5970d48093ecf5bc62b398c97e6ed030620dee30 (commit) - Log ----------------------------------------------------------------- commit a9334a490de001d9d6ed2251c34dd58a6651ab5b Author: Richard Levitte Date: Thu Nov 22 10:52:51 2018 +0100 Add an error message test recipes for system error messages This ensures we collected them properly and and as completely as can be tested safely. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) (cherry picked from commit 4b801fdcf4c25f44374eb18cb18f36d904975edd) commit cae2a7ca4289d4bdd5fbbc25406736f36bcfee7a Author: Richard Levitte Date: Wed Nov 21 18:25:53 2018 +0100 Smarter build of system error text database We stored copies of the system error texts in a fixed line size array, which is a huge waste. Instead, use a static memory pool and pack all the string in there. The wasted space at the end, if any, gives us some leeway for longer strings than we have measured so far. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) (cherry picked from commit 2c5b6bbb6797242f43b5a986e1c018943e5c1305) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 19 +++++++++---- test/recipes/02-test_errstr.t | 66 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 test/recipes/02-test_errstr.t diff --git a/crypto/err/err.c b/crypto/err/err.c index 03cbd73..ffdc140 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -181,8 +181,9 @@ static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d) } #ifndef OPENSSL_NO_ERR +/* A measurement on Linux 2018-11-21 showed about 3.5kib */ +# define SPACE_SYS_STR_REASONS 4 * 1024 # define NUM_SYS_STR_REASONS 127 -# define LEN_SYS_STR_REASON 32 static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; /* @@ -198,7 +199,9 @@ static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; static void build_SYS_str_reasons(void) { /* OPENSSL_malloc cannot be used here, use static storage instead */ - static char strerror_tab[NUM_SYS_STR_REASONS][LEN_SYS_STR_REASON]; + static char strerror_pool[SPACE_SYS_STR_REASONS]; + char *cur = strerror_pool; + size_t cnt = 0; static int init = 1; int i; @@ -213,9 +216,15 @@ static void build_SYS_str_reasons(void) str->error = ERR_PACK(ERR_LIB_SYS, 0, i); if (str->string == NULL) { - char (*dest)[LEN_SYS_STR_REASON] = &(strerror_tab[i - 1]); - if (openssl_strerror_r(i, *dest, sizeof(*dest))) - str->string = *dest; + if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { + size_t l = strlen(cur) + 1; + + str->string = cur; + cnt += l; + if (cnt > sizeof(strerror_pool)) + cnt = sizeof(strerror_pool); + cur += l; + } } if (str->string == NULL) str->string = "unknown"; diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t new file mode 100644 index 0000000..3d806f0 --- /dev/null +++ b/test/recipes/02-test_errstr.t @@ -0,0 +1,66 @@ +#! /usr/bin/env perl +# Copyright 2018 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 + +use strict; +no strict 'refs'; # To be able to use strings as function refs +use OpenSSL::Test; +use Errno qw(:POSIX); +use POSIX qw(strerror); + +# We actually have space for up to 4095 error messages, +# numerically speaking... but we're currently only using +# numbers 1 through 127. +# This constant should correspond to the same constant +# defined in crypto/err/err.c, or at least must not be +# assigned a greater number. +use constant NUM_SYS_STR_REASONS => 127; + +setup('test_errstr'); + +# These are POSIX error names, which Errno implements as functions +# (this is documented) +my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; + +plan tests => scalar @posix_errors + +1 # Checking that error 128 gives 'reason(128)' + +1 # Checking that error 0 gives the library name + ; + +foreach my $errname (@posix_errors) { + my $errnum = "Errno::$errname"->(); + + SKIP: { + skip "Error $errname ($errnum) isn't within our range", 1 + if $errnum > NUM_SYS_STR_REASONS; + + my $perr = eval { + # Set $! to the error number... + local $! = $errnum; + # ... and $! will give you the error string back + $! + }; + + # We know that the system reasons are in OpenSSL error library 2 + my @oerr = run(app([ qw(openssl errstr), sprintf("2%06x", $errnum) ]), + capture => 1); + $oerr[0] =~ s|\R$||; + $oerr[0] =~ s|.*system library:||g; # The actual message is last + + ok($oerr[0] eq $perr, "($errnum) '$oerr[0]' == '$perr'"); + } +} + +my @after = run(app([ qw(openssl errstr 2000080) ]), capture => 1); +$after[0] =~ s|\R$||; +$after[0] =~ s|.*system library:||g; +ok($after[0] eq "reason(128)", "(128) '$after[0]' == 'reason(128)'"); + +my @zero = run(app([ qw(openssl errstr 2000000) ]), capture => 1); +$zero[0] =~ s|\R$||; +$zero[0] =~ s|.*system library:||g; +ok($zero[0] eq "system library", "(0) '$zero[0]' == 'system library'"); From levitte at openssl.org Fri Nov 23 11:41:31 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 23 Nov 2018 11:41:31 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1542973291.280148.11401.nullmailer@dev.openssl.org> The branch master has been updated via 8d9535ec3e317641b8e551973c8cfe2ee1c89296 (commit) via 8c209eeef426ded66ce99048f535f35d08b88462 (commit) from 4b801fdcf4c25f44374eb18cb18f36d904975edd (commit) - Log ----------------------------------------------------------------- commit 8d9535ec3e317641b8e551973c8cfe2ee1c89296 Author: Richard Levitte Date: Thu Nov 22 21:29:02 2018 +0100 Remove all 'make dist' artifacts Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) commit 8c209eeef426ded66ce99048f535f35d08b88462 Author: Richard Levitte Date: Thu Nov 22 21:17:47 2018 +0100 Change tarball making procedure Since recently, OpenSSL tarballs are produced with 'make tar' rather than 'make dist', as the latter has turned out to be more troublesome than useful. The next step to look at is why we would need to configure at all to produce a Makefile just to produce a tarball. After all, the tarball should now only contain source files that are present even without configuring. Furthermore, the current method for producing tarballs is a bit complex, and can be greatly simplified with the right tools. Since we have everything versioned with git, we might as well use the tool that comes with it. Added: util/mktar.sh, a simple script to produce OpenSSL tarballs. It takes the options --name to modify the prefix of the distribution, and --tarfile tp modify the tarball file name specifically. This also adds a few entries in .gitattributes to specify files that should never end up in a distribution tarball. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 5 +++++ .travis-create-release.sh | 10 +--------- Configurations/dist.conf | 12 ------------ Configurations/unix-Makefile.tmpl | 31 +------------------------------ util/mktar.sh | 27 +++++++++++++++++++++++++++ 5 files changed, 34 insertions(+), 51 deletions(-) delete mode 100644 Configurations/dist.conf create mode 100755 util/mktar.sh diff --git a/.gitattributes b/.gitattributes index 15121c8..912b4ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,8 @@ *.der binary /fuzz/corpora/** binary *.pfx binary + +# For git archive +fuzz/corpora/** export-ignore +Configurations/*.norelease.conf export-ignore +.* export-ignore diff --git a/.travis-create-release.sh b/.travis-create-release.sh index b39a001..3407de7 100644 --- a/.travis-create-release.sh +++ b/.travis-create-release.sh @@ -1,11 +1,3 @@ #! /bin/sh -# $1 is expected to be $TRAVIS_OS_NAME - -./Configure dist -if [ "$1" == osx ]; then - make NAME='_srcdist' TARFILE='_srcdist.tar' \ - TAR_COMMAND='$(TAR) $(TARFLAGS) -cf -' tar -else - make TARFILE='_srcdist.tar' NAME='_srcdist' dist -fi +./util/mktar.sh --name=_srcdist diff --git a/Configurations/dist.conf b/Configurations/dist.conf deleted file mode 100644 index 2a458bc..0000000 --- a/Configurations/dist.conf +++ /dev/null @@ -1,12 +0,0 @@ -## -*- mode: perl; -*- -## Build configuration targets for openssl-team members - -# This is to support 'make dist' -my %targets = ( - "dist" => { - inherit_from => [ 'BASE_unix' ], - CC => "cc", - CFLAGS => "-O", - thread_scheme => "(unknown)", - }, -); diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index c64c154..b5c6991 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -872,37 +872,8 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### -# If your tar command doesn't support --owner and --group, make sure to -# use one that does, for example GNU tar -TAR_COMMAND=$(TAR) $(TARFLAGS) --owner 0 --group 0 -cf - -PREPARE_CMD=: tar: - set -e; \ - TMPDIR=/var/tmp/openssl-copy.$$$$; \ - DISTDIR=$(NAME); \ - mkdir -p $$TMPDIR/$$DISTDIR; \ - (cd $(SRCDIR); \ - excl_re=`git submodule status | sed -e 's/^.//' | cut -d' ' -f2`; \ - excl_re="^(fuzz/corpora|Configurations/.*\.norelease\.conf|`echo $$excl_re | sed -e 's/ /$$|/g'`\$$)"; \ - echo "$$excl_re"; \ - git ls-tree -r --name-only --full-tree HEAD \ - | egrep -v "$$excl_re" \ - | while read F; do \ - mkdir -p $$TMPDIR/$$DISTDIR/`dirname $$F`; \ - cp $$F $$TMPDIR/$$DISTDIR/$$F; \ - done); \ - (cd $$TMPDIR/$$DISTDIR; \ - $(PREPARE_CMD); \ - find . -type d -print | xargs chmod 755; \ - find . -type f -print | xargs chmod a+r; \ - find . -type f -perm -0100 -print | xargs chmod a+x); \ - (cd $$TMPDIR; $(TAR_COMMAND) $$DISTDIR) \ - | (cd $(SRCDIR); gzip --best > $(TARFILE).gz); \ - rm -rf $$TMPDIR - cd $(SRCDIR); ls -l $(TARFILE).gz - -dist: - @$(MAKE) PREPARE_CMD='$(PERL) ./Configure dist' TARFILE="$(TARFILE)" NAME="$(NAME)" tar + $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh new file mode 100755 index 0000000..0848b7b --- /dev/null +++ b/util/mktar.sh @@ -0,0 +1,27 @@ +#! /bin/sh + +HERE=`dirname $0` + +version=`grep 'OPENSSL_VERSION_TEXT *"OpenSSL' $HERE/../include/openssl/opensslv.h | sed -e 's|.*"OpenSSL ||' -e 's| .*||'` +basename=openssl + +NAME="$basename-$version" + +while [ $# -gt 0 ]; do + case "$1" in + --name=* ) NAME=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --name ) shift; NAME="$1" ;; + --tarfile=* ) TARFILE=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --tarfile ) shift; TARFILE="$1" ;; + * ) echo >&2 "Could not parse '$1'"; exit 1 ;; + esac + shift +done + +if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi + +# This counts on .gitattributes to specify what files should be ignored +git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ + | gzip -9 > "$TARFILE.gz" + +ls -l "$TARFILE.gz" From levitte at openssl.org Fri Nov 23 11:42:50 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 23 Nov 2018 11:42:50 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1542973370.779253.12720.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 415c4a46695d32c47865c21d11a466f72d647179 (commit) via 48c813ef3ac28363c355afe4b1594eaacf9886d4 (commit) from a9334a490de001d9d6ed2251c34dd58a6651ab5b (commit) - Log ----------------------------------------------------------------- commit 415c4a46695d32c47865c21d11a466f72d647179 Author: Richard Levitte Date: Thu Nov 22 21:29:02 2018 +0100 Remove all 'make dist' artifacts Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) (cherry picked from commit 8d9535ec3e317641b8e551973c8cfe2ee1c89296) commit 48c813ef3ac28363c355afe4b1594eaacf9886d4 Author: Richard Levitte Date: Thu Nov 22 21:17:47 2018 +0100 Change tarball making procedure Since recently, OpenSSL tarballs are produced with 'make tar' rather than 'make dist', as the latter has turned out to be more troublesome than useful. The next step to look at is why we would need to configure at all to produce a Makefile just to produce a tarball. After all, the tarball should now only contain source files that are present even without configuring. Furthermore, the current method for producing tarballs is a bit complex, and can be greatly simplified with the right tools. Since we have everything versioned with git, we might as well use the tool that comes with it. Added: util/mktar.sh, a simple script to produce OpenSSL tarballs. It takes the options --name to modify the prefix of the distribution, and --tarfile tp modify the tarball file name specifically. This also adds a few entries in .gitattributes to specify files that should never end up in a distribution tarball. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) (cherry picked from commit 8c209eeef426ded66ce99048f535f35d08b88462) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 5 +++++ .travis-create-release.sh | 10 +--------- Configurations/dist.conf | 12 ------------ Configurations/unix-Makefile.tmpl | 31 +------------------------------ util/mktar.sh | 27 +++++++++++++++++++++++++++ 5 files changed, 34 insertions(+), 51 deletions(-) delete mode 100644 Configurations/dist.conf create mode 100755 util/mktar.sh diff --git a/.gitattributes b/.gitattributes index 15121c8..912b4ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,8 @@ *.der binary /fuzz/corpora/** binary *.pfx binary + +# For git archive +fuzz/corpora/** export-ignore +Configurations/*.norelease.conf export-ignore +.* export-ignore diff --git a/.travis-create-release.sh b/.travis-create-release.sh index b39a001..3407de7 100644 --- a/.travis-create-release.sh +++ b/.travis-create-release.sh @@ -1,11 +1,3 @@ #! /bin/sh -# $1 is expected to be $TRAVIS_OS_NAME - -./Configure dist -if [ "$1" == osx ]; then - make NAME='_srcdist' TARFILE='_srcdist.tar' \ - TAR_COMMAND='$(TAR) $(TARFLAGS) -cf -' tar -else - make TARFILE='_srcdist.tar' NAME='_srcdist' dist -fi +./util/mktar.sh --name=_srcdist diff --git a/Configurations/dist.conf b/Configurations/dist.conf deleted file mode 100644 index 2a458bc..0000000 --- a/Configurations/dist.conf +++ /dev/null @@ -1,12 +0,0 @@ -## -*- mode: perl; -*- -## Build configuration targets for openssl-team members - -# This is to support 'make dist' -my %targets = ( - "dist" => { - inherit_from => [ 'BASE_unix' ], - CC => "cc", - CFLAGS => "-O", - thread_scheme => "(unknown)", - }, -); diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index e712019..003b28a 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -830,37 +830,8 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### -# If your tar command doesn't support --owner and --group, make sure to -# use one that does, for example GNU tar -TAR_COMMAND=$(TAR) $(TARFLAGS) --owner 0 --group 0 -cf - -PREPARE_CMD=: tar: - set -e; \ - TMPDIR=/var/tmp/openssl-copy.$$$$; \ - DISTDIR=$(NAME); \ - mkdir -p $$TMPDIR/$$DISTDIR; \ - (cd $(SRCDIR); \ - excl_re=`git submodule status | sed -e 's/^.//' | cut -d' ' -f2`; \ - excl_re="^(fuzz/corpora|Configurations/.*\.norelease\.conf|`echo $$excl_re | sed -e 's/ /$$|/g'`\$$)"; \ - echo "$$excl_re"; \ - git ls-tree -r --name-only --full-tree HEAD \ - | egrep -v "$$excl_re" \ - | while read F; do \ - mkdir -p $$TMPDIR/$$DISTDIR/`dirname $$F`; \ - cp $$F $$TMPDIR/$$DISTDIR/$$F; \ - done); \ - (cd $$TMPDIR/$$DISTDIR; \ - $(PREPARE_CMD); \ - find . -type d -print | xargs chmod 755; \ - find . -type f -print | xargs chmod a+r; \ - find . -type f -perm -0100 -print | xargs chmod a+x); \ - (cd $$TMPDIR; $(TAR_COMMAND) $$DISTDIR) \ - | (cd $(SRCDIR); gzip --best > $(TARFILE).gz); \ - rm -rf $$TMPDIR - cd $(SRCDIR); ls -l $(TARFILE).gz - -dist: - @$(MAKE) PREPARE_CMD='$(PERL) ./Configure dist' TARFILE="$(TARFILE)" NAME="$(NAME)" tar + $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh new file mode 100755 index 0000000..0848b7b --- /dev/null +++ b/util/mktar.sh @@ -0,0 +1,27 @@ +#! /bin/sh + +HERE=`dirname $0` + +version=`grep 'OPENSSL_VERSION_TEXT *"OpenSSL' $HERE/../include/openssl/opensslv.h | sed -e 's|.*"OpenSSL ||' -e 's| .*||'` +basename=openssl + +NAME="$basename-$version" + +while [ $# -gt 0 ]; do + case "$1" in + --name=* ) NAME=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --name ) shift; NAME="$1" ;; + --tarfile=* ) TARFILE=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --tarfile ) shift; TARFILE="$1" ;; + * ) echo >&2 "Could not parse '$1'"; exit 1 ;; + esac + shift +done + +if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi + +# This counts on .gitattributes to specify what files should be ignored +git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ + | gzip -9 > "$TARFILE.gz" + +ls -l "$TARFILE.gz" From levitte at openssl.org Fri Nov 23 11:46:13 2018 From: levitte at openssl.org (Richard Levitte) Date: Fri, 23 Nov 2018 11:46:13 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542973573.031710.14239.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via b97cbe05a3a4bf18b6bd6262dbda04b87256a54c (commit) via f68bfdf62805f1f3af4330754c7f141fa521b6dd (commit) from 0fbe8491fc05d280a1f00bfc26dd3c3a6c63f04a (commit) - Log ----------------------------------------------------------------- commit b97cbe05a3a4bf18b6bd6262dbda04b87256a54c Author: Richard Levitte Date: Thu Nov 22 21:29:02 2018 +0100 Remove all 'make dist' artifacts Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) (cherry picked from commit 8d9535ec3e317641b8e551973c8cfe2ee1c89296) commit f68bfdf62805f1f3af4330754c7f141fa521b6dd Author: Richard Levitte Date: Thu Nov 22 21:17:47 2018 +0100 Change tarball making procedure Since recently, OpenSSL tarballs are produced with 'make tar' rather than 'make dist', as the latter has turned out to be more troublesome than useful. The next step to look at is why we would need to configure at all to produce a Makefile just to produce a tarball. After all, the tarball should now only contain source files that are present even without configuring. Furthermore, the current method for producing tarballs is a bit complex, and can be greatly simplified with the right tools. Since we have everything versioned with git, we might as well use the tool that comes with it. Added: util/mktar.sh, a simple script to produce OpenSSL tarballs. It takes the options --name to modify the prefix of the distribution, and --tarfile tp modify the tarball file name specifically. This also adds a few entries in .gitattributes to specify files that should never end up in a distribution tarball. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) (cherry picked from commit 8c209eeef426ded66ce99048f535f35d08b88462) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 5 +++++ .travis-create-release.sh | 10 +--------- Configurations/dist.conf | 12 ------------ Configurations/unix-Makefile.tmpl | 30 +----------------------------- util/mktar.sh | 27 +++++++++++++++++++++++++++ 5 files changed, 34 insertions(+), 50 deletions(-) delete mode 100644 Configurations/dist.conf create mode 100755 util/mktar.sh diff --git a/.gitattributes b/.gitattributes index 15121c8..912b4ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,8 @@ *.der binary /fuzz/corpora/** binary *.pfx binary + +# For git archive +fuzz/corpora/** export-ignore +Configurations/*.norelease.conf export-ignore +.* export-ignore diff --git a/.travis-create-release.sh b/.travis-create-release.sh index 311cedd..3407de7 100644 --- a/.travis-create-release.sh +++ b/.travis-create-release.sh @@ -1,11 +1,3 @@ #! /bin/sh -# $1 is expected to be $TRAVIS_OS_NAME - -./Configure dist -if [ "$1" == osx ]; then - make NAME='_srcdist' TARFILE='_srcdist.tar' \ - TAR_COMMAND='$(TAR) $(TARFLAGS) -cvf -' tar -else - make TARFILE='_srcdist.tar' NAME='_srcdist' dist -fi +./util/mktar.sh --name=_srcdist diff --git a/Configurations/dist.conf b/Configurations/dist.conf deleted file mode 100644 index 4f58dad..0000000 --- a/Configurations/dist.conf +++ /dev/null @@ -1,12 +0,0 @@ -## -*- mode: perl; -*- -## Build configuration targets for openssl-team members - -# This is to support 'make dist' -%targets = ( - "dist" => { - inherit_from => [ 'BASE_unix' ], - cc => "cc", - cflags => "-O", - thread_scheme => "(unknown)", - }, -); diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 7254478..b35db4f 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -665,36 +665,8 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### -# If your tar command doesn't support --owner and --group, make sure to -# use one that does, for example GNU tar -TAR_COMMAND=$(TAR) $(TARFLAGS) --owner 0 --group 0 -cvf - -PREPARE_CMD=: tar: - set -e; \ - TMPDIR=/var/tmp/openssl-copy.$$$$; \ - DISTDIR=$(NAME); \ - mkdir -p $$TMPDIR/$$DISTDIR; \ - (cd $(SRCDIR); \ - excl_re="^(fuzz/corpora|Configurations/.*\.norelease\.conf)"; \ - echo "$$excl_re"; \ - git ls-tree -r --name-only --full-tree HEAD \ - | egrep -v "$$excl_re" \ - | while read F; do \ - mkdir -p $$TMPDIR/$$DISTDIR/`dirname $$F`; \ - cp $$F $$TMPDIR/$$DISTDIR/$$F; \ - done); \ - (cd $$TMPDIR/$$DISTDIR; \ - $(PREPARE_CMD); \ - find . -type d -print | xargs chmod 755; \ - find . -type f -print | xargs chmod a+r; \ - find . -type f -perm -0100 -print | xargs chmod a+x); \ - (cd $$TMPDIR; $(TAR_COMMAND) $$DISTDIR) \ - | (cd $(SRCDIR); gzip --best > $(TARFILE).gz); \ - rm -rf $$TMPDIR - cd $(SRCDIR); ls -l $(TARFILE).gz - -dist: - @$(MAKE) PREPARE_CMD='$(PERL) ./Configure dist' tar + $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh new file mode 100755 index 0000000..0848b7b --- /dev/null +++ b/util/mktar.sh @@ -0,0 +1,27 @@ +#! /bin/sh + +HERE=`dirname $0` + +version=`grep 'OPENSSL_VERSION_TEXT *"OpenSSL' $HERE/../include/openssl/opensslv.h | sed -e 's|.*"OpenSSL ||' -e 's| .*||'` +basename=openssl + +NAME="$basename-$version" + +while [ $# -gt 0 ]; do + case "$1" in + --name=* ) NAME=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --name ) shift; NAME="$1" ;; + --tarfile=* ) TARFILE=`echo "$1" | sed -e 's|[^=]*=||'` ;; + --tarfile ) shift; TARFILE="$1" ;; + * ) echo >&2 "Could not parse '$1'"; exit 1 ;; + esac + shift +done + +if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi + +# This counts on .gitattributes to specify what files should be ignored +git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ + | gzip -9 > "$TARFILE.gz" + +ls -l "$TARFILE.gz" From matthias.st.pierre at ncp-e.com Fri Nov 23 12:05:57 2018 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Fri, 23 Nov 2018 12:05:57 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1542974757.350168.20585.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 23bfb5b556a4e534fd61fb30719851d4b7b1fc82 (commit) from 8bfde2578ce28f2f24bc5d53c374b14290436c0b (commit) - Log ----------------------------------------------------------------- commit 23bfb5b556a4e534fd61fb30719851d4b7b1fc82 Author: Andy Polyakov Date: Wed Nov 7 22:07:22 2018 +0100 rsa/rsa_eay.c: cache MONT_CTX for public modulus earlier. Blinding is performed more efficiently and securely if MONT_CTX for public modulus is available by the time blinding parameter are instantiated. So make sure it's the case. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre (manually cherry picked from commit 2cc3f68cde77af23c61fbad65470602ee86f2575) (Merged from https://github.com/openssl/openssl/pull/7586) ----------------------------------------------------------------------- Summary of changes: crypto/rsa/rsa_eay.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crypto/rsa/rsa_eay.c b/crypto/rsa/rsa_eay.c index be948a4..1155583 100644 --- a/crypto/rsa/rsa_eay.c +++ b/crypto/rsa/rsa_eay.c @@ -397,6 +397,11 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from, goto err; } + if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, + rsa->n, ctx)) + goto err; + if (!(rsa->flags & RSA_FLAG_NO_BLINDING)) { blinding = rsa_get_blinding(rsa, &local_blinding, ctx); if (blinding == NULL) { @@ -431,11 +436,6 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from, } else d = rsa->d; - if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, - rsa->n, ctx)) - goto err; - if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx, rsa->_method_mod_n)) goto err; From builds at travis-ci.org Fri Nov 23 11:54:37 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 23 Nov 2018 11:54:37 +0000 Subject: [openssl-commits] Failed: openssl/openssl#21879 (master - 4b801fd) In-Reply-To: Message-ID: <5bf7ea7d5e0fd_43fce51517020115546@c43483a1-83d5-42a1-b2a4-826d429709b2.mail> Build Update for openssl/openssl ------------------------------------- Build: #21879 Status: Failed Duration: 18 mins and 51 secs Commit: 4b801fd (master) Author: Richard Levitte Message: Add an error message test recipes for system error messages This ensures we collected them properly and and as completely as can be tested safely. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) View the changeset: https://github.com/openssl/openssl/compare/b92678f4e94e...4b801fdcf4c2 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/458766437?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Nov 23 12:05:49 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 23 Nov 2018 12:05:49 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21880 (OpenSSL_1_1_1-stable - a9334a4) In-Reply-To: Message-ID: <5bf7ed1d5741f_43fab2c65d5bc473623@71253afd-8b0a-4bde-b9fe-980f6041f0c7.mail> Build Update for openssl/openssl ------------------------------------- Build: #21880 Status: Broken Duration: 24 mins and 14 secs Commit: a9334a4 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Add an error message test recipes for system error messages This ensures we collected them properly and and as completely as can be tested safely. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7681) (cherry picked from commit 4b801fdcf4c25f44374eb18cb18f36d904975edd) View the changeset: https://github.com/openssl/openssl/compare/5970d48093ec...a9334a490de0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/458766803?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Nov 23 12:17:57 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 23 Nov 2018 12:17:57 +0000 Subject: [openssl-commits] Failed: openssl/openssl#21881 (master - 8d9535e) In-Reply-To: Message-ID: <5bf7eff51a13f_43f9b3292247893424@9dfa4824-b565-4f44-bb9c-03db7aa4b4bb.mail> Build Update for openssl/openssl ------------------------------------- Build: #21881 Status: Failed Duration: 25 mins and 31 secs Commit: 8d9535e (master) Author: Richard Levitte Message: Remove all 'make dist' artifacts Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) View the changeset: https://github.com/openssl/openssl/compare/4b801fdcf4c2...8d9535ec3e31 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/458768551?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Nov 23 12:27:58 2018 From: builds at travis-ci.org (Travis CI) Date: Fri, 23 Nov 2018 12:27:58 +0000 Subject: [openssl-commits] Broken: openssl/openssl#21882 (OpenSSL_1_1_1-stable - 415c4a4) In-Reply-To: Message-ID: <5bf7f24e59ee0_43f94f2e3a8341922bf@8034e716-9eeb-405d-acc3-ab3138f42a18.mail> Build Update for openssl/openssl ------------------------------------- Build: #21882 Status: Broken Duration: 24 mins and 21 secs Commit: 415c4a4 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Remove all 'make dist' artifacts Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7692) (cherry picked from commit 8d9535ec3e317641b8e551973c8cfe2ee1c89296) View the changeset: https://github.com/openssl/openssl/compare/a9334a490de0...415c4a46695d View the full build log and details: https://travis-ci.org/openssl/openssl/builds/458769031?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt at openssl.org Fri Nov 23 16:41:24 2018 From: matt at openssl.org (Matt Caswell) Date: Fri, 23 Nov 2018 16:41:24 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1542991284.796497.28129.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 7dac8144a760f0d9780cd7eb0771894874becd78 (commit) from b97cbe05a3a4bf18b6bd6262dbda04b87256a54c (commit) - Log ----------------------------------------------------------------- commit 7dac8144a760f0d9780cd7eb0771894874becd78 Author: Andy Polyakov Date: Wed Nov 7 22:07:22 2018 +0100 rsa/rsa_ossl.c: cache MONT_CTX for public modulus earlier. Blinding is performed more efficiently and securely if MONT_CTX for public modulus is available by the time blinding parameter are instantiated. So make sure it's the case. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (cherry picked from commit 2cc3f68cde77af23c61fbad65470602ee86f2575) Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7586) ----------------------------------------------------------------------- Summary of changes: crypto/rsa/rsa_ossl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 23f948f..a485c7e 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -280,6 +280,11 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, goto err; } + if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) + goto err; + if (!(rsa->flags & RSA_FLAG_NO_BLINDING)) { blinding = rsa_get_blinding(rsa, &local_blinding, ctx); if (blinding == NULL) { @@ -311,13 +316,6 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, } BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); - if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, - rsa->n, ctx)) { - BN_free(d); - goto err; - } - if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx, rsa->_method_mod_n)) { BN_free(d); From no-reply at appveyor.com Fri Nov 23 16:44:34 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 23 Nov 2018 16:44:34 +0000 Subject: [openssl-commits] Build failed: openssl master.21159 Message-ID: <20181123164434.1.1AEE5EC2024022BE@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 23 17:34:46 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 23 Nov 2018 17:34:46 +0000 Subject: [openssl-commits] Build completed: openssl master.21160 Message-ID: <20181123173446.1.26B74A39D017728A@appveyor.com> An HTML attachment was scrubbed... URL: From nic.tuv at gmail.com Sat Nov 24 06:51:24 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 24 Nov 2018 06:51:24 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543042284.648071.21999.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 6aca8d1a5fb1fa8b359d0ddeab636174c09bf534 (commit) via abaa2311add6f19c712655b3d12fea979b774843 (commit) from 415c4a46695d32c47865c21d11a466f72d647179 (commit) - Log ----------------------------------------------------------------- commit 6aca8d1a5fb1fa8b359d0ddeab636174c09bf534 Author: David Woodhouse Date: Tue Oct 16 07:59:46 2018 -0700 Honour mandatory digest on private key in has_usable_cert() If the private key says it can only support one specific digest, then don't ask it to perform a different one. Fixes: #7348 Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (cherry picked from commit 2d263a4a73f852005b16359873475d48755999ad) Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7609) commit abaa2311add6f19c712655b3d12fea979b774843 Author: David Woodhouse Date: Tue Oct 16 07:41:17 2018 -0700 Stop marking default digest for EC keys as mandatory ASN1_PKEY_CTRL_DEFAULT_MD_NID is documented to return 2 for a mandatory digest algorithm, when the key can't support any others. That isn't true here, so return 1 instead. Partially fixes #7348 Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (cherry picked from commit eb7eb1378cd15c4652884b3701d4c0ef27b5b8a6) Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7609) ----------------------------------------------------------------------- Summary of changes: crypto/ec/ec_ameth.c | 2 +- ssl/t1_lib.c | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index a3164b5..8b363e0 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -505,7 +505,7 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) case ASN1_PKEY_CTRL_DEFAULT_MD_NID: *(int *)arg2 = NID_sha256; - return 2; + return 1; case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: return EC_KEY_oct2key(EVP_PKEY_get0_EC_KEY(pkey), arg2, arg1, NULL); diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index fc41ed9..68cb237 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -2537,7 +2537,8 @@ static int tls12_get_cert_sigalg_idx(const SSL *s, const SIGALG_LOOKUP *lu) static int has_usable_cert(SSL *s, const SIGALG_LOOKUP *sig, int idx) { const SIGALG_LOOKUP *lu; - int mdnid, pknid; + int mdnid, pknid, default_mdnid; + int mandatory_md = 0; size_t i; /* TLS 1.2 callers can override lu->sig_idx, but not TLS 1.3 callers. */ @@ -2545,12 +2546,26 @@ static int has_usable_cert(SSL *s, const SIGALG_LOOKUP *sig, int idx) idx = sig->sig_idx; if (!ssl_has_cert(s, idx)) return 0; + /* If the EVP_PKEY reports a mandatory digest, allow nothing else. */ + ERR_set_mark(); + switch (EVP_PKEY_get_default_digest_nid(s->cert->pkeys[idx].privatekey, + &default_mdnid)) { + case 2: + mandatory_md = 1; + break; + case 1: + break; + default: /* If it didn't report a mandatory NID, for whatever reasons, + * just clear the error and allow all hashes to be used. */ + ERR_pop_to_mark(); + } if (s->s3->tmp.peer_cert_sigalgs != NULL) { for (i = 0; i < s->s3->tmp.peer_cert_sigalgslen; i++) { lu = tls1_lookup_sigalg(s->s3->tmp.peer_cert_sigalgs[i]); if (lu == NULL || !X509_get_signature_info(s->cert->pkeys[idx].x509, &mdnid, - &pknid, NULL, NULL)) + &pknid, NULL, NULL) + || (mandatory_md && mdnid != default_mdnid)) continue; /* * TODO this does not differentiate between the @@ -2563,7 +2578,7 @@ static int has_usable_cert(SSL *s, const SIGALG_LOOKUP *sig, int idx) } return 0; } - return 1; + return !mandatory_md || sig->hash == default_mdnid; } /* From nic.tuv at gmail.com Sat Nov 24 07:02:27 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Sat, 24 Nov 2018 07:02:27 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_0_2-stable update Message-ID: <1543042947.759997.26224.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 63262bd2768797e140f7d0328fb6ccf81aba87b0 (commit) via cf68eb3687e271d02e55af2c132ea7527d76bcac (commit) from 23bfb5b556a4e534fd61fb30719851d4b7b1fc82 (commit) - Log ----------------------------------------------------------------- commit 63262bd2768797e140f7d0328fb6ccf81aba87b0 Author: David Woodhouse Date: Tue Oct 16 07:59:46 2018 -0700 Honour mandatory digest on private key in tls1_process_sigalgs() If the private key says it can only support one specific digest, then don't ask it to perform a different one. Fixes: #7348 (cherry picked from commit 2d263a4a73f852005b16359873475d48755999ad and reworked for 1.0.2) Reviewed-by: Matt Caswell Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7610) commit cf68eb3687e271d02e55af2c132ea7527d76bcac Author: David Woodhouse Date: Tue Oct 16 07:41:17 2018 -0700 Stop marking default digest for EC keys as mandatory ASN1_PKEY_CTRL_DEFAULT_MD_NID is documented to return 2 for a mandatory digest algorithm, when the key can't support any others. That isn't true here, so return 1 instead. Partially fixes #7348 (cherry picked from commit eb7eb1378cd15c4652884b3701d4c0ef27b5b8a6) Reviewed-by: Matt Caswell Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7610) ----------------------------------------------------------------------- Summary of changes: crypto/ec/ec_ameth.c | 2 +- ssl/t1_lib.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index aa5f305..db7e791 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -601,7 +601,7 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) case ASN1_PKEY_CTRL_DEFAULT_MD_NID: *(int *)arg2 = NID_sha256; - return 2; + return 1; default: return -2; diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 55f918d..8c1f3ae 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -3697,6 +3697,12 @@ int tls12_get_sigid(const EVP_PKEY *pk) sizeof(tls12_sig) / sizeof(tls12_lookup)); } +static int tls12_get_hash_nid(unsigned char hash_alg) +{ + return tls12_find_nid(hash_alg, tls12_md, + sizeof(tls12_md) / sizeof(tls12_lookup)); +} + const EVP_MD *tls12_get_hash(unsigned char hash_alg) { switch (hash_alg) { @@ -3887,6 +3893,8 @@ int tls1_process_sigalgs(SSL *s) const EVP_MD *md; CERT *c = s->cert; TLS_SIGALGS *sigptr; + int mandatory_mdnid; + if (!tls1_set_shared_sigalgs(s)) return 0; @@ -3918,6 +3926,18 @@ int tls1_process_sigalgs(SSL *s) for (i = 0, sigptr = c->shared_sigalgs; i < c->shared_sigalgslen; i++, sigptr++) { idx = tls12_get_pkey_idx(sigptr->rsign); + if (s->cert->pkeys[idx].privatekey) { + ERR_set_mark(); + if (EVP_PKEY_get_default_digest_nid(s->cert->pkeys[idx].privatekey, + &mandatory_mdnid) == 2 && + mandatory_mdnid != tls12_get_hash_nid(sigptr->rhash)) + continue; + /* + * If EVP_PKEY_get_default_digest_nid() failed, don't pollute + * the error stack. + */ + ERR_pop_to_mark(); + } if (idx > 0 && c->pkeys[idx].digest == NULL) { md = tls12_get_hash(sigptr->rhash); c->pkeys[idx].digest = md; From builds at travis-ci.org Sat Nov 24 07:09:10 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 07:09:10 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21895 (OpenSSL_1_1_1-stable - 6aca8d1) In-Reply-To: Message-ID: <5bf8f9163ffcb_43faa4bf3eff01571e4@161bb85f-daad-42b9-8399-aea767ad75a0.mail> Build Update for openssl/openssl ------------------------------------- Build: #21895 Status: Still Failing Duration: 16 mins and 55 secs Commit: 6aca8d1 (OpenSSL_1_1_1-stable) Author: David Woodhouse Message: Honour mandatory digest on private key in has_usable_cert() If the private key says it can only support one specific digest, then don't ask it to perform a different one. Fixes: #7348 Reviewed-by: Nicola Tuveri Reviewed-by: Richard Levitte (cherry picked from commit 2d263a4a73f852005b16359873475d48755999ad) Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7609) View the changeset: https://github.com/openssl/openssl/compare/415c4a46695d...6aca8d1a5fb1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459047016?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 18:55:29 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 18:55:29 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21910 (OpenSSL_1_1_1-stable - ca554c0) In-Reply-To: Message-ID: <5bf99ea16aa25_43fd7233aaf2c23507f@4a2dfcef-fda7-4318-8272-ec3256623fbf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21910 Status: Fixed Duration: 22 mins and 19 secs Commit: ca554c0 (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Avoid test_errstr in a cross compiled configuration There's too high a chance that the openssl app and perl get different messages for some error numbers. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7699) (cherry picked from commit 0777de15ff09105593c7e778cf47f97a9144d273) View the changeset: https://github.com/openssl/openssl/compare/97afd2b6b13f...ca554c02df8f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459180727?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 18:19:17 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 18:19:17 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21906 (master - 3be3894) In-Reply-To: Message-ID: <5bf99624d3a41_43fcbef24818c1986a9@38e2e796-38d5-4d7b-821b-b2a76a8f70bf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21906 Status: Still Failing Duration: 24 mins and 16 secs Commit: 3be3894 (master) Author: Richard Levitte Message: Have util/mktar.sh display the absolute path to the tarball Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) View the changeset: https://github.com/openssl/openssl/compare/707c19f42113...3be389435fc7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459178800?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 18:06:11 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 18:06:11 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21905 (OpenSSL_1_1_1-stable - 5f90d1b) In-Reply-To: Message-ID: <5bf993136adf3_43fd7234ce1ec211654@4a2dfcef-fda7-4318-8272-ec3256623fbf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21905 Status: Still Failing Duration: 22 mins and 55 secs Commit: 5f90d1b (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: VMS config: Typo fix, as -> AS This typo prevented ia64 assembler to be compiled on VMS Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7700) (cherry picked from commit 04375857cf4971460c473fa44bef86351f2177fe) View the changeset: https://github.com/openssl/openssl/compare/1119d4e7f4b1...5f90d1b88204 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459178336?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 17:16:12 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 17:16:12 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21902 (OpenSSL_1_1_1-stable - 1119d4e) In-Reply-To: Message-ID: <5bf9875beaf98_43fd7242434f819423d@4a2dfcef-fda7-4318-8272-ec3256623fbf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21902 Status: Still Failing Duration: 21 mins and 51 secs Commit: 1119d4e (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: VMS: fix collected error strings It turns out that on VMS, strerror() returns messages with added spaces at the end. We wouldn't had noticed if it wasn't for perl trimming those spaces off for its own sake and thereby having test/recipes/02-test_errstr.t fail on VMS. The safe fix is to do the same trimming ourselves. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7701) (cherry picked from commit 9f15e5b911ba6053e09578f190354568e01c07d7) View the changeset: https://github.com/openssl/openssl/compare/6aca8d1a5fb1...1119d4e7f4b1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459164846?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 18:44:35 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 18:44:35 +0000 Subject: [openssl-commits] Fixed: openssl/openssl#21909 (master - 0777de1) In-Reply-To: Message-ID: <5bf99c12d83d1_43f90bf1abd2039679@7dfe1d4f-6f42-4119-a42d-50efe0f88c5a.mail> Build Update for openssl/openssl ------------------------------------- Build: #21909 Status: Fixed Duration: 20 mins and 8 secs Commit: 0777de1 (master) Author: Richard Levitte Message: Avoid test_errstr in a cross compiled configuration There's too high a chance that the openssl app and perl get different messages for some error numbers. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7699) View the changeset: https://github.com/openssl/openssl/compare/3be389435fc7...0777de15ff09 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459180523?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 18:27:41 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 18:27:41 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21907 (OpenSSL_1_1_1-stable - 97afd2b) In-Reply-To: Message-ID: <5bf9981d31f33_43fd724242eb8221370@4a2dfcef-fda7-4318-8272-ec3256623fbf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21907 Status: Still Failing Duration: 22 mins and 26 secs Commit: 97afd2b (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Have util/mktar.sh display the absolute path to the tarball Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit 3be389435fc7b94623d972b622dbd9f0cd5c34f7) View the changeset: https://github.com/openssl/openssl/compare/5f90d1b88204...97afd2b6b13f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459179289?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 17:55:02 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 17:55:02 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21904 (master - 707c19f) In-Reply-To: Message-ID: <5bf99075dadd1_43fa844abbef01767f8@45750dcf-21ed-4d4a-b256-9eef18dc3171.mail> Build Update for openssl/openssl ------------------------------------- Build: #21904 Status: Still Failing Duration: 17 mins and 38 secs Commit: 707c19f (master) Author: Richard Levitte Message: VMS build: typo in build file template, generatesrc Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7700) View the changeset: https://github.com/openssl/openssl/compare/9f15e5b911ba...707c19f42113 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459177578?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Nov 24 17:06:19 2018 From: builds at travis-ci.org (Travis CI) Date: Sat, 24 Nov 2018 17:06:19 +0000 Subject: [openssl-commits] Still Failing: openssl/openssl#21901 (master - 9f15e5b) In-Reply-To: Message-ID: <5bf9850b923c_43fd724243e8019029@4a2dfcef-fda7-4318-8272-ec3256623fbf.mail> Build Update for openssl/openssl ------------------------------------- Build: #21901 Status: Still Failing Duration: 22 mins and 34 secs Commit: 9f15e5b (master) Author: Richard Levitte Message: VMS: fix collected error strings It turns out that on VMS, strerror() returns messages with added spaces at the end. We wouldn't had noticed if it wasn't for perl trimming those spaces off for its own sake and thereby having test/recipes/02-test_errstr.t fail on VMS. The safe fix is to do the same trimming ourselves. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7701) View the changeset: https://github.com/openssl/openssl/compare/8d9535ec3e31...9f15e5b911ba View the full build log and details: https://travis-ci.org/openssl/openssl/builds/459164673?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From levitte at openssl.org Sat Nov 24 17:39:35 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:39:35 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543081175.296547.27384.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 5f90d1b88204b893555b575cb1f22f9a4ea53522 (commit) from 1119d4e7f4b1f9eeb0e50063081c516708e3ca72 (commit) - Log ----------------------------------------------------------------- commit 5f90d1b88204b893555b575cb1f22f9a4ea53522 Author: Richard Levitte Date: Sat Nov 24 11:37:10 2018 +0100 VMS config: Typo fix, as -> AS This typo prevented ia64 assembler to be compiled on VMS Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7700) (cherry picked from commit 04375857cf4971460c473fa44bef86351f2177fe) ----------------------------------------------------------------------- Summary of changes: Configurations/10-main.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 5cf345d..f0cf6c1 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1782,7 +1782,7 @@ my %targets = ( }, "vms-ia64" => { inherit_from => [ "vms-generic", - sub { vms_info()->{as} + sub { vms_info()->{AS} ? asm("ia64_asm")->() : () } ], bn_ops => "SIXTY_FOUR_BIT RC4_INT", pointer_size => "", From levitte at openssl.org Sat Nov 24 17:49:00 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:49:00 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543081740.774789.32442.nullmailer@dev.openssl.org> The branch master has been updated via 0777de15ff09105593c7e778cf47f97a9144d273 (commit) from 3be389435fc7b94623d972b622dbd9f0cd5c34f7 (commit) - Log ----------------------------------------------------------------- commit 0777de15ff09105593c7e778cf47f97a9144d273 Author: Richard Levitte Date: Fri Nov 23 18:53:32 2018 +0100 Avoid test_errstr in a cross compiled configuration There's too high a chance that the openssl app and perl get different messages for some error numbers. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7699) ----------------------------------------------------------------------- Summary of changes: test/recipes/02-test_errstr.t | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t index 3d806f0..745c3c0 100644 --- a/test/recipes/02-test_errstr.t +++ b/test/recipes/02-test_errstr.t @@ -9,6 +9,7 @@ use strict; no strict 'refs'; # To be able to use strings as function refs use OpenSSL::Test; +use OpenSSL::Test::Utils; use Errno qw(:POSIX); use POSIX qw(strerror); @@ -22,6 +23,14 @@ use constant NUM_SYS_STR_REASONS => 127; setup('test_errstr'); +# In a cross compiled situation, there are chances that our +# application is linked against different C libraries than +# perl, and may thereby get different error messages for the +# same error. +# The safest is not to test under such circumstances. +plan skip_all => 'This is unsupported for cross compiled configurations' + if config('CROSS_COMPILE'); + # These are POSIX error names, which Errno implements as functions # (this is documented) my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; From levitte at openssl.org Sat Nov 24 17:46:05 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:46:05 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_0-stable update Message-ID: <1543081565.677959.31207.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_0-stable has been updated via 403783ce05991e21a50d637398798a014e2c4f9d (commit) via ffe7659f788300d924179209c854e6826f2c0332 (commit) via 58381f26c288505766daac9e0f20f879fcd06631 (commit) via 0e17281a9c35077263128f721e82199a89c36cb8 (commit) via ed207080455147f76d575687f1a7743fa6b0ae0a (commit) from 7dac8144a760f0d9780cd7eb0771894874becd78 (commit) - Log ----------------------------------------------------------------- commit 403783ce05991e21a50d637398798a014e2c4f9d Author: Richard Levitte Date: Sat Nov 24 17:51:24 2018 +0100 Have util/mktar.sh display the absolute path to the tarball Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit 3be389435fc7b94623d972b622dbd9f0cd5c34f7) commit ffe7659f788300d924179209c854e6826f2c0332 Author: Richard Levitte Date: Sat Nov 24 11:27:50 2018 +0100 Make sure to run util/mktar.sh from the source directory Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b741f153b2f24139d7210b1b0c9caf561f4900e8) commit 58381f26c288505766daac9e0f20f879fcd06631 Author: Richard Levitte Date: Sat Nov 24 00:59:33 2018 +0100 Don't export the submodules 'boringssl', 'krb5' and 'pyca-cryptography' Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit 76bc401cc63219a462224884cb4af787e17725ed) commit 0e17281a9c35077263128f721e82199a89c36cb8 Author: Richard Levitte Date: Fri Nov 23 14:43:16 2018 +0100 Don't export util/mktar.sh When creating a tarball, it's pointless to include scripts that assume a git workspace. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b9a694717902af796639e1dff641ba620703303b) commit ed207080455147f76d575687f1a7743fa6b0ae0a Author: Richard Levitte Date: Fri Nov 23 14:40:39 2018 +0100 Document the removed 'dist' target Also adds missing copyright boilerplate to util/mktar.sh Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b42922ea2f605fd6c42faad1743fb27be5f7f1f3) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 4 ++++ CHANGES | 5 ++++- Configurations/unix-Makefile.tmpl | 3 ++- util/mktar.sh | 11 ++++++++++- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 912b4ae..96e40b6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,7 @@ fuzz/corpora/** export-ignore Configurations/*.norelease.conf export-ignore .* export-ignore +util/mktar.sh export-ignore +boringssl export-ignore +krb5 export-ignore +pyca-cryptography export-ignore diff --git a/CHANGES b/CHANGES index 60c0dd1..e19b976 100644 --- a/CHANGES +++ b/CHANGES @@ -9,7 +9,10 @@ Changes between 1.1.0j and 1.1.0k [xx XXX xxxx] - *) + *) Remove the 'dist' target and add a tarball building script. The + 'dist' target has fallen out of use, and it shouldn't be + necessary to configure just to create a source distribution. + [Richard Levitte] Changes between 1.1.0i and 1.1.0j [20 Nov 2018] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index b35db4f..af84bd4 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -201,6 +201,7 @@ MAKEDEPEND={- $config{makedepprog} -} BASENAME= openssl NAME= $(BASENAME)-$(VERSION) +# Relative to $(SRCDIR) TARFILE= ../$(NAME).tar # We let the C compiler driver to take care of .s files. This is done in @@ -666,7 +667,7 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### tar: - $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' + (cd $(SRCDIR); ./util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)') # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh index 0848b7b..17115cf 100755 --- a/util/mktar.sh +++ b/util/mktar.sh @@ -1,4 +1,10 @@ #! /bin/sh +# Copyright 2018 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 HERE=`dirname $0` @@ -24,4 +30,7 @@ if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ | gzip -9 > "$TARFILE.gz" -ls -l "$TARFILE.gz" +# Good old way to ensure we display an absolute path +td=`dirname $TARFILE` +tf=`basename $TARFILE` +ls -l "`cd $td; pwd`/$tf.gz" From levitte at openssl.org Sat Nov 24 17:49:43 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:49:43 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543081783.165012.855.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via ca554c02df8fb207e346f07c70c5f4d3b84cdb1d (commit) from 97afd2b6b13fd79bccf8b85abbc1c15af4b945d4 (commit) - Log ----------------------------------------------------------------- commit ca554c02df8fb207e346f07c70c5f4d3b84cdb1d Author: Richard Levitte Date: Fri Nov 23 18:53:32 2018 +0100 Avoid test_errstr in a cross compiled configuration There's too high a chance that the openssl app and perl get different messages for some error numbers. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7699) (cherry picked from commit 0777de15ff09105593c7e778cf47f97a9144d273) ----------------------------------------------------------------------- Summary of changes: test/recipes/02-test_errstr.t | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t index 3d806f0..745c3c0 100644 --- a/test/recipes/02-test_errstr.t +++ b/test/recipes/02-test_errstr.t @@ -9,6 +9,7 @@ use strict; no strict 'refs'; # To be able to use strings as function refs use OpenSSL::Test; +use OpenSSL::Test::Utils; use Errno qw(:POSIX); use POSIX qw(strerror); @@ -22,6 +23,14 @@ use constant NUM_SYS_STR_REASONS => 127; setup('test_errstr'); +# In a cross compiled situation, there are chances that our +# application is linked against different C libraries than +# perl, and may thereby get different error messages for the +# same error. +# The safest is not to test under such circumstances. +plan skip_all => 'This is unsupported for cross compiled configurations' + if config('CROSS_COMPILE'); + # These are POSIX error names, which Errno implements as functions # (this is documented) my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; From levitte at openssl.org Sat Nov 24 17:44:08 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:44:08 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543081448.655553.29781.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 97afd2b6b13fd79bccf8b85abbc1c15af4b945d4 (commit) via d4fd89996866f320d6193b5f5e2c2b9efeed31c5 (commit) via 105d4c0cdf5de96ca4241bbdad735ed6a590ff90 (commit) via a6d4cc8257b6852fa3b84935434d75aba396bdab (commit) via 909ecd4f371a5de20e2d74985cee3258f4d1d6d3 (commit) from 5f90d1b88204b893555b575cb1f22f9a4ea53522 (commit) - Log ----------------------------------------------------------------- commit 97afd2b6b13fd79bccf8b85abbc1c15af4b945d4 Author: Richard Levitte Date: Sat Nov 24 17:51:24 2018 +0100 Have util/mktar.sh display the absolute path to the tarball Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit 3be389435fc7b94623d972b622dbd9f0cd5c34f7) commit d4fd89996866f320d6193b5f5e2c2b9efeed31c5 Author: Richard Levitte Date: Sat Nov 24 11:27:50 2018 +0100 Make sure to run util/mktar.sh from the source directory Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b741f153b2f24139d7210b1b0c9caf561f4900e8) commit 105d4c0cdf5de96ca4241bbdad735ed6a590ff90 Author: Richard Levitte Date: Sat Nov 24 00:59:33 2018 +0100 Don't export the submodules 'boringssl', 'krb5' and 'pyca-cryptography' Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit 76bc401cc63219a462224884cb4af787e17725ed) commit a6d4cc8257b6852fa3b84935434d75aba396bdab Author: Richard Levitte Date: Fri Nov 23 14:43:16 2018 +0100 Don't export util/mktar.sh When creating a tarball, it's pointless to include scripts that assume a git workspace. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b9a694717902af796639e1dff641ba620703303b) commit 909ecd4f371a5de20e2d74985cee3258f4d1d6d3 Author: Richard Levitte Date: Fri Nov 23 14:40:39 2018 +0100 Document the removed 'dist' target Also adds missing copyright boilerplate to util/mktar.sh Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) (cherry picked from commit b42922ea2f605fd6c42faad1743fb27be5f7f1f3) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 4 ++++ CHANGES | 5 ++++- Configurations/unix-Makefile.tmpl | 3 ++- util/mktar.sh | 11 ++++++++++- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 912b4ae..96e40b6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,7 @@ fuzz/corpora/** export-ignore Configurations/*.norelease.conf export-ignore .* export-ignore +util/mktar.sh export-ignore +boringssl export-ignore +krb5 export-ignore +pyca-cryptography export-ignore diff --git a/CHANGES b/CHANGES index 9cc29b7..94ccdc0 100644 --- a/CHANGES +++ b/CHANGES @@ -9,7 +9,10 @@ Changes between 1.1.1a and 1.1.1b [xx XXX xxxx] - *) + *) Remove the 'dist' target and add a tarball building script. The + 'dist' target has fallen out of use, and it shouldn't be + necessary to configure just to create a source distribution. + [Richard Levitte] Changes between 1.1.1 and 1.1.1a [20 Nov 2018] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 003b28a..3d99985 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -227,6 +227,7 @@ TARFLAGS= {- $target{TARFLAGS} -} BASENAME= openssl NAME= $(BASENAME)-$(VERSION) +# Relative to $(SRCDIR) TARFILE= ../$(NAME).tar ##### Project flags ################################################## @@ -831,7 +832,7 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### tar: - $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' + (cd $(SRCDIR); ./util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)') # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh index 0848b7b..17115cf 100755 --- a/util/mktar.sh +++ b/util/mktar.sh @@ -1,4 +1,10 @@ #! /bin/sh +# Copyright 2018 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 HERE=`dirname $0` @@ -24,4 +30,7 @@ if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ | gzip -9 > "$TARFILE.gz" -ls -l "$TARFILE.gz" +# Good old way to ensure we display an absolute path +td=`dirname $TARFILE` +tf=`basename $TARFILE` +ls -l "`cd $td; pwd`/$tf.gz" From levitte at openssl.org Sat Nov 24 16:42:58 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 16:42:58 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543077778.164633.12217.nullmailer@dev.openssl.org> The branch master has been updated via 9f15e5b911ba6053e09578f190354568e01c07d7 (commit) from 8d9535ec3e317641b8e551973c8cfe2ee1c89296 (commit) - Log ----------------------------------------------------------------- commit 9f15e5b911ba6053e09578f190354568e01c07d7 Author: Richard Levitte Date: Sat Nov 24 13:08:56 2018 +0100 VMS: fix collected error strings It turns out that on VMS, strerror() returns messages with added spaces at the end. We wouldn't had noticed if it wasn't for perl trimming those spaces off for its own sake and thereby having test/recipes/02-test_errstr.t fail on VMS. The safe fix is to do the same trimming ourselves. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7701) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index ffdc140..34061bc 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -19,6 +19,7 @@ #include #include #include "internal/thread_once.h" +#include "internal/ctype.h" static int err_load_strings(const ERR_STRING_DATA *str); @@ -217,13 +218,24 @@ static void build_SYS_str_reasons(void) str->error = ERR_PACK(ERR_LIB_SYS, 0, i); if (str->string == NULL) { if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { - size_t l = strlen(cur) + 1; + size_t l = strlen(cur); str->string = cur; cnt += l; if (cnt > sizeof(strerror_pool)) cnt = sizeof(strerror_pool); cur += l; + + /* + * VMS has an unusual quirk of adding spaces at the end of + * some (most? all?) messages. Lets trim them off. + */ + while (ossl_isspace(cur[-1])) { + cur--; + cnt--; + } + *cur++ = '\0'; + cnt++; } } if (str->string == NULL) From levitte at openssl.org Sat Nov 24 17:41:41 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:41:41 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543081301.336421.28502.nullmailer@dev.openssl.org> The branch master has been updated via 3be389435fc7b94623d972b622dbd9f0cd5c34f7 (commit) via b741f153b2f24139d7210b1b0c9caf561f4900e8 (commit) via 76bc401cc63219a462224884cb4af787e17725ed (commit) via b9a694717902af796639e1dff641ba620703303b (commit) via b42922ea2f605fd6c42faad1743fb27be5f7f1f3 (commit) from 707c19f42113f90405b67cde59e5f1c1e42e6ab2 (commit) - Log ----------------------------------------------------------------- commit 3be389435fc7b94623d972b622dbd9f0cd5c34f7 Author: Richard Levitte Date: Sat Nov 24 17:51:24 2018 +0100 Have util/mktar.sh display the absolute path to the tarball Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) commit b741f153b2f24139d7210b1b0c9caf561f4900e8 Author: Richard Levitte Date: Sat Nov 24 11:27:50 2018 +0100 Make sure to run util/mktar.sh from the source directory Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) commit 76bc401cc63219a462224884cb4af787e17725ed Author: Richard Levitte Date: Sat Nov 24 00:59:33 2018 +0100 Don't export the submodules 'boringssl', 'krb5' and 'pyca-cryptography' Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) commit b9a694717902af796639e1dff641ba620703303b Author: Richard Levitte Date: Fri Nov 23 14:43:16 2018 +0100 Don't export util/mktar.sh When creating a tarball, it's pointless to include scripts that assume a git workspace. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) commit b42922ea2f605fd6c42faad1743fb27be5f7f1f3 Author: Richard Levitte Date: Fri Nov 23 14:40:39 2018 +0100 Document the removed 'dist' target Also adds missing copyright boilerplate to util/mktar.sh Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7696) ----------------------------------------------------------------------- Summary of changes: .gitattributes | 4 ++++ CHANGES | 5 +++++ Configurations/unix-Makefile.tmpl | 3 ++- util/mktar.sh | 11 ++++++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.gitattributes b/.gitattributes index 912b4ae..96e40b6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,7 @@ fuzz/corpora/** export-ignore Configurations/*.norelease.conf export-ignore .* export-ignore +util/mktar.sh export-ignore +boringssl export-ignore +krb5 export-ignore +pyca-cryptography export-ignore diff --git a/CHANGES b/CHANGES index 95bced8..c554575 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ Changes between 1.1.1 and 1.1.2 [xx XXX xxxx] + *) Remove the 'dist' target and add a tarball building script. The + 'dist' target has fallen out of use, and it shouldn't be + necessary to configure just to create a source distribution. + [Richard Levitte] + *) Recreate the OS390-Unix config target. It no longer relies on a special script like it did for OpenSSL pre-1.1.0. [Richard Levitte] diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index b5c6991..ecdd0c1 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -231,6 +231,7 @@ TARFLAGS= {- $target{TARFLAGS} -} BASENAME= openssl NAME= $(BASENAME)-$(VERSION) +# Relative to $(SRCDIR) TARFILE= ../$(NAME).tar ##### Project flags ################################################## @@ -873,7 +874,7 @@ tags TAGS: FORCE # Release targets (note: only available on Unix) ##################### tar: - $(SRCDIR)/util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)' + (cd $(SRCDIR); ./util/mktar.sh --name='$(NAME)' --tarfile='$(TARFILE)') # Helper targets ##################################################### diff --git a/util/mktar.sh b/util/mktar.sh index 0848b7b..17115cf 100755 --- a/util/mktar.sh +++ b/util/mktar.sh @@ -1,4 +1,10 @@ #! /bin/sh +# Copyright 2018 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 HERE=`dirname $0` @@ -24,4 +30,7 @@ if [ -z "$TARFILE" ]; then TARFILE="$NAME.tar"; fi git archive --worktree-attributes --format=tar --prefix="$NAME/" -v HEAD \ | gzip -9 > "$TARFILE.gz" -ls -l "$TARFILE.gz" +# Good old way to ensure we display an absolute path +td=`dirname $TARFILE` +tf=`basename $TARFILE` +ls -l "`cd $td; pwd`/$tf.gz" From levitte at openssl.org Sat Nov 24 16:43:36 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 16:43:36 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543077816.613472.13229.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 1119d4e7f4b1f9eeb0e50063081c516708e3ca72 (commit) from 6aca8d1a5fb1fa8b359d0ddeab636174c09bf534 (commit) - Log ----------------------------------------------------------------- commit 1119d4e7f4b1f9eeb0e50063081c516708e3ca72 Author: Richard Levitte Date: Sat Nov 24 13:08:56 2018 +0100 VMS: fix collected error strings It turns out that on VMS, strerror() returns messages with added spaces at the end. We wouldn't had noticed if it wasn't for perl trimming those spaces off for its own sake and thereby having test/recipes/02-test_errstr.t fail on VMS. The safe fix is to do the same trimming ourselves. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7701) (cherry picked from commit 9f15e5b911ba6053e09578f190354568e01c07d7) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index ffdc140..34061bc 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -19,6 +19,7 @@ #include #include #include "internal/thread_once.h" +#include "internal/ctype.h" static int err_load_strings(const ERR_STRING_DATA *str); @@ -217,13 +218,24 @@ static void build_SYS_str_reasons(void) str->error = ERR_PACK(ERR_LIB_SYS, 0, i); if (str->string == NULL) { if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { - size_t l = strlen(cur) + 1; + size_t l = strlen(cur); str->string = cur; cnt += l; if (cnt > sizeof(strerror_pool)) cnt = sizeof(strerror_pool); cur += l; + + /* + * VMS has an unusual quirk of adding spaces at the end of + * some (most? all?) messages. Lets trim them off. + */ + while (ossl_isspace(cur[-1])) { + cur--; + cnt--; + } + *cur++ = '\0'; + cnt++; } } if (str->string == NULL) From levitte at openssl.org Sat Nov 24 17:36:41 2018 From: levitte at openssl.org (Richard Levitte) Date: Sat, 24 Nov 2018 17:36:41 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543081001.179927.26330.nullmailer@dev.openssl.org> The branch master has been updated via 707c19f42113f90405b67cde59e5f1c1e42e6ab2 (commit) via 04375857cf4971460c473fa44bef86351f2177fe (commit) from 9f15e5b911ba6053e09578f190354568e01c07d7 (commit) - Log ----------------------------------------------------------------- commit 707c19f42113f90405b67cde59e5f1c1e42e6ab2 Author: Richard Levitte Date: Sat Nov 24 17:39:56 2018 +0100 VMS build: typo in build file template, generatesrc Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7700) commit 04375857cf4971460c473fa44bef86351f2177fe Author: Richard Levitte Date: Sat Nov 24 11:37:10 2018 +0100 VMS config: Typo fix, as -> AS This typo prevented ia64 assembler to be compiled on VMS Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/7700) ----------------------------------------------------------------------- Summary of changes: Configurations/10-main.conf | 2 +- Configurations/descrip.mms.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index e3cc34c..d86691c 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1791,7 +1791,7 @@ my %targets = ( }, "vms-ia64" => { inherit_from => [ "vms-generic", - sub { vms_info()->{as} + sub { vms_info()->{AS} ? asm("ia64_asm")->() : () } ], bn_ops => "SIXTY_FOUR_BIT RC4_INT", pointer_size => "", diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 71660b3..d06c699 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -766,7 +766,7 @@ reconfigure reconf : $target : $args{generator}->[0] $deps $mkdef \$(PERL) $mkdef$ord_ver --ordinals $args{generator}->[0] --name $ord_name "--OS" "VMS"$case_insensitive > $target EOF - } elsif ($target !~ /\.[sS]$/) { + } elsif ($args{src} !~ /\.[sS]$/) { my $target = $args{src}; if ($args{generator}->[0] =~ m|^.*\.in$|) { my $dofile = abs2rel(rel2abs(catfile($config{sourcedir}, From scan-admin at coverity.com Sun Nov 25 07:24:39 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 25 Nov 2018 07:24:39 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5bfa4e36d7ba0_34f22ab1dd750f5871457@node1.mail> Your request for analysis of openssl/openssl has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEcf-2B75FkFkxwwFKGZV8c1xA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I12EshTlJkAlr2Oek8SSgNyJRnnVjU6eY-2Fbwt1e4wO3-2F1q7r3iZ6V0RqP0eXYbFRaPz-2FCaiVlYYhC7dtQG8r1h8zFx11glm2JcHYU4J01xYeGB29EQRWBCjWf2Jxt-2BLefTNvo225N4Rk9kWWa8qgGhD5Py8-2FX9aBDYfS6jAG-2BQsTdlMhyf0w8XxVP38o0Z68Ks-3D Build ID: 238947 Analysis Summary: New defects found: 0 Defects eliminated: 0 From scan-admin at coverity.com Sun Nov 25 07:45:36 2018 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 25 Nov 2018 07:45:36 +0000 (UTC) Subject: [openssl-commits] Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5bfa531f76ef3_404f2ab1dd750f587148b@node1.mail> Your request for analysis of OpenSSL-1.0.2 has been completed successfully. The results are available at https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEeuRTZVWU4ku8PUBnVPw8PQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I2C-2FCIwGE-2BGmFHzFbgDQ-2BuvjELN7dTM1v8-2F-2BcQI-2BHDzyOAoQkVwX2DrzEOqbfg9-2F9F1ur9HQOsrwTponIfDmTT4CZU7CTRRwUqna1lvv9Pr-2FeUXhoagYTXMaMo4rrR9F7jDGFPZbaGS9mMUNjlXU9kKBVMVBrFnXyZpSB59PbNfwg29MbRfJ4vc4Ya-2BvSZe7uo-3D Build ID: 238949 Analysis Summary: New defects found: 1 Defects eliminated: 0 If you have difficulty understanding any defects, email us at scan-admin at coverity.com, or post your question to StackOverflow at https://u2389337.ct.sendgrid.net/wf/click?upn=OgIsEqWzmIl4S-2FzEUMxLXL-2BukuZt9UUdRZhgmgzAKchwAzH1nH3073xDEXNRgHN6q227lMNIWoOb8ZgSjAjKcg-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I2C-2FCIwGE-2BGmFHzFbgDQ-2BuvjELN7dTM1v8-2F-2BcQI-2BHDzyDEKQT7qAkrbjoMopR55-2BtqcmC4ci9nOSlbxIf-2F91J59UySMesZIiqK-2F0PlwK20fB-2FF5WlCGKZQLmS2-2BttJfe6Ydqnh2bnsKkSpuhP7KY4J7-2Bbu-2FJ0mC6K7oQ2UsoMfTWdTrgD3BhoeGtiiDAcjLehE-3D From openssl at openssl.org Sun Nov 25 23:05:02 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Sun, 25 Nov 2018 23:05:02 +0000 Subject: [openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings no-autoerrinit Message-ID: <1543187102.410781.16356.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-autoerrinit Commit log since last time: 0777de15ff Avoid test_errstr in a cross compiled configuration 3be389435f Have util/mktar.sh display the absolute path to the tarball b741f153b2 Make sure to run util/mktar.sh from the source directory 76bc401cc6 Don't export the submodules 'boringssl', 'krb5' and 'pyca-cryptography' b9a6947179 Don't export util/mktar.sh b42922ea2f Document the removed 'dist' target 707c19f421 VMS build: typo in build file template, generatesrc 04375857cf VMS config: Typo fix, as -> AS 9f15e5b911 VMS: fix collected error strings 8d9535ec3e Remove all 'make dist' artifacts 8c209eeef4 Change tarball making procedure 4b801fdcf4 Add an error message test recipes for system error messages 2c5b6bbb67 Smarter build of system error text database Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_evp_extra.t ................ ok ../../openssl/test/recipes/30-test_pbelu.t .................... ok ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ ok ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ ok ../../openssl/test/recipes/70-test_sslcertstatus.t ............ ok ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. ok ../../openssl/test/recipes/70-test_sslrecords.t ............... ok ../../openssl/test/recipes/70-test_sslsessiontick.t ........... ok ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. ok ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... ok ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. ok ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. ok ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... ok ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... ok ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/02-test_errstr.t (Wstat: 19456 Tests: 76 Failed: 76) Failed tests: 1-76 Non-zero exit status: 76 Files=153, Tests=1438, 212 wallclock secs ( 2.89 usr 0.39 sys + 189.43 cusr 11.03 csys = 203.74 CPU) Result: FAIL Makefile:205: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-autoerrinit' Makefile:203: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Mon Nov 26 02:01:54 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 26 Nov 2018 02:01:54 +0000 Subject: [openssl-commits] FAILED build of OpenSSL branch master with options -d --strict-warnings no-err Message-ID: <1543197714.498014.1997.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-err Commit log since last time: 0777de15ff Avoid test_errstr in a cross compiled configuration 3be389435f Have util/mktar.sh display the absolute path to the tarball b741f153b2 Make sure to run util/mktar.sh from the source directory 76bc401cc6 Don't export the submodules 'boringssl', 'krb5' and 'pyca-cryptography' b9a6947179 Don't export util/mktar.sh b42922ea2f Document the removed 'dist' target 707c19f421 VMS build: typo in build file template, generatesrc 04375857cf VMS config: Typo fix, as -> AS 9f15e5b911 VMS: fix collected error strings 8d9535ec3e Remove all 'make dist' artifacts 8c209eeef4 Change tarball making procedure 4b801fdcf4 Add an error message test recipes for system error messages 2c5b6bbb67 Smarter build of system error text database Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_evp_extra.t ................ ok ../../openssl/test/recipes/30-test_pbelu.t .................... ok ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ ok ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ ok ../../openssl/test/recipes/70-test_sslcertstatus.t ............ ok ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. ok ../../openssl/test/recipes/70-test_sslrecords.t ............... ok ../../openssl/test/recipes/70-test_sslsessiontick.t ........... ok ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. ok ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... ok ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. ok ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. ok ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... ok ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... ok ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/02-test_errstr.t (Wstat: 19456 Tests: 76 Failed: 76) Failed tests: 1-76 Non-zero exit status: 76 Files=153, Tests=1438, 216 wallclock secs ( 2.87 usr 0.32 sys + 189.85 cusr 11.32 csys = 204.36 CPU) Result: FAIL Makefile:205: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-err' Makefile:203: recipe for target 'tests' failed make: *** [tests] Error 2 From nic.tuv at gmail.com Mon Nov 26 15:53:24 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Mon, 26 Nov 2018 15:53:24 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543247604.065420.16098.nullmailer@dev.openssl.org> The branch master has been updated via 900fd8f375ca758d182e894bc1556509b231dbc8 (commit) from 0777de15ff09105593c7e778cf47f97a9144d273 (commit) - Log ----------------------------------------------------------------- commit 900fd8f375ca758d182e894bc1556509b231dbc8 Author: Billy Brumley Date: Mon Nov 12 15:47:54 2018 +0200 Clean up BN_consttime_swap. Updated "condition" logic lifted from Theo Buehler's LibreSSL commit https://github.com/libressl-portable/openbsd/commit/517358603b4be76d48a50007a0d414c2072697dd Reviewed-by: Matt Caswell Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7619) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_lib.c | 61 +++++++++++++++--------------------------------------- 1 file changed, 17 insertions(+), 44 deletions(-) diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 80f910c..040c4cd 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -737,26 +737,25 @@ int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b, int cl, int dl) return bn_cmp_words(a, b, cl); } -/* +/*- * Constant-time conditional swap of a and b. - * a and b are swapped if condition is not 0. The code assumes that at most one bit of condition is set. - * nwords is the number of words to swap. The code assumes that at least nwords are allocated in both a and b, - * and that no more than nwords are used by either a or b. - * a and b cannot be the same number + * a and b are swapped if condition is not 0. + * nwords is the number of words to swap. + * Assumes that at least nwords are allocated in both a and b. + * Assumes that no more than nwords are used by either a or b. */ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) { BN_ULONG t; int i; + if (a == b) + return; + bn_wcheck_size(a, nwords); bn_wcheck_size(b, nwords); - assert(a != b); - assert((condition & (condition - 1)) == 0); - assert(sizeof(BN_ULONG) >= sizeof(int)); - - condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1; + condition = ((~condition & ((condition - 1))) >> (BN_BITS2 - 1)) - 1; t = (a->top ^ b->top) & condition; a->top ^= t; @@ -794,42 +793,16 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) a->flags ^= t; b->flags ^= t; -#define BN_CONSTTIME_SWAP(ind) \ - do { \ - t = (a->d[ind] ^ b->d[ind]) & condition; \ - a->d[ind] ^= t; \ - b->d[ind] ^= t; \ - } while (0) - - switch (nwords) { - default: - for (i = 10; i < nwords; i++) - BN_CONSTTIME_SWAP(i); - /* Fallthrough */ - case 10: - BN_CONSTTIME_SWAP(9); /* Fallthrough */ - case 9: - BN_CONSTTIME_SWAP(8); /* Fallthrough */ - case 8: - BN_CONSTTIME_SWAP(7); /* Fallthrough */ - case 7: - BN_CONSTTIME_SWAP(6); /* Fallthrough */ - case 6: - BN_CONSTTIME_SWAP(5); /* Fallthrough */ - case 5: - BN_CONSTTIME_SWAP(4); /* Fallthrough */ - case 4: - BN_CONSTTIME_SWAP(3); /* Fallthrough */ - case 3: - BN_CONSTTIME_SWAP(2); /* Fallthrough */ - case 2: - BN_CONSTTIME_SWAP(1); /* Fallthrough */ - case 1: - BN_CONSTTIME_SWAP(0); - } -#undef BN_CONSTTIME_SWAP + /* conditionally swap the data */ + for (i = 0; i < nwords; i++) { + t = (a->d[i] ^ b->d[i]) & condition; + a->d[i] ^= t; + b->d[i] ^= t; + } } +#undef BN_CONSTTIME_SWAP_FLAGS + /* Bits of security, see SP800-57 */ int BN_security_bits(int L, int N) From nic.tuv at gmail.com Mon Nov 26 15:58:10 2018 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Mon, 26 Nov 2018 15:58:10 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543247890.995618.17239.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 37b07c68ef55058cdb990e8cf81650ae58dbd3ee (commit) from ca554c02df8fb207e346f07c70c5f4d3b84cdb1d (commit) - Log ----------------------------------------------------------------- commit 37b07c68ef55058cdb990e8cf81650ae58dbd3ee Author: Billy Brumley Date: Mon Nov 12 15:47:54 2018 +0200 Clean up BN_consttime_swap. Updated "condition" logic lifted from Theo Buehler's LibreSSL commit https://github.com/libressl-portable/openbsd/commit/517358603b4be76d48a50007a0d414c2072697dd Reviewed-by: Matt Caswell Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/7619) (cherry picked from commit 900fd8f375ca758d182e894bc1556509b231dbc8) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_lib.c | 61 +++++++++++++++--------------------------------------- 1 file changed, 17 insertions(+), 44 deletions(-) diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 80f910c..040c4cd 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -737,26 +737,25 @@ int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b, int cl, int dl) return bn_cmp_words(a, b, cl); } -/* +/*- * Constant-time conditional swap of a and b. - * a and b are swapped if condition is not 0. The code assumes that at most one bit of condition is set. - * nwords is the number of words to swap. The code assumes that at least nwords are allocated in both a and b, - * and that no more than nwords are used by either a or b. - * a and b cannot be the same number + * a and b are swapped if condition is not 0. + * nwords is the number of words to swap. + * Assumes that at least nwords are allocated in both a and b. + * Assumes that no more than nwords are used by either a or b. */ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) { BN_ULONG t; int i; + if (a == b) + return; + bn_wcheck_size(a, nwords); bn_wcheck_size(b, nwords); - assert(a != b); - assert((condition & (condition - 1)) == 0); - assert(sizeof(BN_ULONG) >= sizeof(int)); - - condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1; + condition = ((~condition & ((condition - 1))) >> (BN_BITS2 - 1)) - 1; t = (a->top ^ b->top) & condition; a->top ^= t; @@ -794,42 +793,16 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) a->flags ^= t; b->flags ^= t; -#define BN_CONSTTIME_SWAP(ind) \ - do { \ - t = (a->d[ind] ^ b->d[ind]) & condition; \ - a->d[ind] ^= t; \ - b->d[ind] ^= t; \ - } while (0) - - switch (nwords) { - default: - for (i = 10; i < nwords; i++) - BN_CONSTTIME_SWAP(i); - /* Fallthrough */ - case 10: - BN_CONSTTIME_SWAP(9); /* Fallthrough */ - case 9: - BN_CONSTTIME_SWAP(8); /* Fallthrough */ - case 8: - BN_CONSTTIME_SWAP(7); /* Fallthrough */ - case 7: - BN_CONSTTIME_SWAP(6); /* Fallthrough */ - case 6: - BN_CONSTTIME_SWAP(5); /* Fallthrough */ - case 5: - BN_CONSTTIME_SWAP(4); /* Fallthrough */ - case 4: - BN_CONSTTIME_SWAP(3); /* Fallthrough */ - case 3: - BN_CONSTTIME_SWAP(2); /* Fallthrough */ - case 2: - BN_CONSTTIME_SWAP(1); /* Fallthrough */ - case 1: - BN_CONSTTIME_SWAP(0); - } -#undef BN_CONSTTIME_SWAP + /* conditionally swap the data */ + for (i = 0; i < nwords; i++) { + t = (a->d[i] ^ b->d[i]) & condition; + a->d[i] ^= t; + b->d[i] ^= t; + } } +#undef BN_CONSTTIME_SWAP_FLAGS + /* Bits of security, see SP800-57 */ int BN_security_bits(int L, int N) From openssl at openssl.org Mon Nov 26 23:04:05 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 26 Nov 2018 23:04:05 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-autoerrinit Message-ID: <1543273445.907414.12939.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-autoerrinit Commit log since last time: 900fd8f375 Clean up BN_consttime_swap. Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_evp_extra.t ................ ok ../../openssl/test/recipes/30-test_pbelu.t .................... ok ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ ok ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ ok ../../openssl/test/recipes/70-test_sslcertstatus.t ............ ok ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. ok ../../openssl/test/recipes/70-test_sslrecords.t ............... ok ../../openssl/test/recipes/70-test_sslsessiontick.t ........... ok ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. ok ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... ok ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. ok ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. ok ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... ok ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... ok ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/02-test_errstr.t (Wstat: 19456 Tests: 76 Failed: 76) Failed tests: 1-76 Non-zero exit status: 76 Files=153, Tests=1438, 214 wallclock secs ( 2.80 usr 0.43 sys + 188.64 cusr 11.66 csys = 203.53 CPU) Result: FAIL Makefile:205: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-autoerrinit' Makefile:203: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Tue Nov 27 02:02:24 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 27 Nov 2018 02:02:24 +0000 Subject: [openssl-commits] Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-err Message-ID: <1543284144.793042.31819.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-err Commit log since last time: 900fd8f375 Clean up BN_consttime_swap. Build log ended with (last 100 lines): ../../openssl/test/recipes/30-test_evp_extra.t ................ ok ../../openssl/test/recipes/30-test_pbelu.t .................... ok ../../openssl/test/recipes/30-test_pkey_meth.t ................ ok ../../openssl/test/recipes/30-test_pkey_meth_kdf.t ............ ok ../../openssl/test/recipes/40-test_rehash.t ................... ok ../../openssl/test/recipes/60-test_x509_check_cert_pkey.t ..... ok ../../openssl/test/recipes/60-test_x509_dup_cert.t ............ ok ../../openssl/test/recipes/60-test_x509_store.t ............... ok ../../openssl/test/recipes/60-test_x509_time.t ................ ok ../../openssl/test/recipes/70-test_asyncio.t .................. ok ../../openssl/test/recipes/70-test_bad_dtls.t ................. ok ../../openssl/test/recipes/70-test_clienthello.t .............. ok ../../openssl/test/recipes/70-test_comp.t ..................... ok ../../openssl/test/recipes/70-test_key_share.t ................ ok ../../openssl/test/recipes/70-test_packet.t ................... ok ../../openssl/test/recipes/70-test_recordlen.t ................ ok ../../openssl/test/recipes/70-test_renegotiation.t ............ ok ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ ok ../../openssl/test/recipes/70-test_sslcertstatus.t ............ ok ../../openssl/test/recipes/70-test_sslextension.t ............. ok ../../openssl/test/recipes/70-test_sslmessages.t .............. ok ../../openssl/test/recipes/70-test_sslrecords.t ............... ok ../../openssl/test/recipes/70-test_sslsessiontick.t ........... ok ../../openssl/test/recipes/70-test_sslsigalgs.t ............... ok ../../openssl/test/recipes/70-test_sslsignature.t ............. ok ../../openssl/test/recipes/70-test_sslskewith0p.t ............. ok ../../openssl/test/recipes/70-test_sslversions.t .............. ok ../../openssl/test/recipes/70-test_sslvertol.t ................ ok ../../openssl/test/recipes/70-test_tls13alerts.t .............. ok ../../openssl/test/recipes/70-test_tls13cookie.t .............. ok ../../openssl/test/recipes/70-test_tls13downgrade.t ........... ok ../../openssl/test/recipes/70-test_tls13hrr.t ................. ok ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ ok ../../openssl/test/recipes/70-test_tls13messages.t ............ ok ../../openssl/test/recipes/70-test_tls13psk.t ................. ok ../../openssl/test/recipes/70-test_tlsextms.t ................. ok ../../openssl/test/recipes/70-test_verify_extra.t ............. ok ../../openssl/test/recipes/70-test_wpacket.t .................. ok ../../openssl/test/recipes/80-test_ca.t ....................... ok ../../openssl/test/recipes/80-test_cipherbytes.t .............. ok ../../openssl/test/recipes/80-test_cipherlist.t ............... ok ../../openssl/test/recipes/80-test_ciphername.t ............... ok ../../openssl/test/recipes/80-test_cms.t ...................... ok ../../openssl/test/recipes/80-test_cmsapi.t ................... ok ../../openssl/test/recipes/80-test_ct.t ....................... ok ../../openssl/test/recipes/80-test_dane.t ..................... ok ../../openssl/test/recipes/80-test_dtls.t ..................... ok ../../openssl/test/recipes/80-test_dtls_mtu.t ................. ok ../../openssl/test/recipes/80-test_dtlsv1listen.t ............. ok ../../openssl/test/recipes/80-test_ocsp.t ..................... ok ../../openssl/test/recipes/80-test_pkcs12.t ................... ok ../../openssl/test/recipes/80-test_ssl_new.t .................. ok ../../openssl/test/recipes/80-test_ssl_old.t .................. ok ../../openssl/test/recipes/80-test_ssl_test_ctx.t ............. ok ../../openssl/test/recipes/80-test_sslcorrupt.t ............... ok ../../openssl/test/recipes/80-test_tsa.t ...................... ok ../../openssl/test/recipes/80-test_x509aux.t .................. ok ../../openssl/test/recipes/90-test_asn1_time.t ................ ok ../../openssl/test/recipes/90-test_async.t .................... ok ../../openssl/test/recipes/90-test_bio_enc.t .................. ok ../../openssl/test/recipes/90-test_constant_time.t ............ ok ../../openssl/test/recipes/90-test_fatalerr.t ................. ok ../../openssl/test/recipes/90-test_gmdiff.t ................... ok ../../openssl/test/recipes/90-test_gost.t ..................... ok ../../openssl/test/recipes/90-test_ige.t ...................... ok ../../openssl/test/recipes/90-test_includes.t ................. ok ../../openssl/test/recipes/90-test_memleak.t .................. ok ../../openssl/test/recipes/90-test_overhead.t ................. skipped: Only supported in no-shared builds ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ ok ../../openssl/test/recipes/90-test_srp.t ...................... ok ../../openssl/test/recipes/90-test_sslapi.t ................... ok ../../openssl/test/recipes/90-test_sslbuffers.t ............... ok ../../openssl/test/recipes/90-test_store.t .................... ok ../../openssl/test/recipes/90-test_sysdefault.t ............... ok ../../openssl/test/recipes/90-test_threads.t .................. ok ../../openssl/test/recipes/90-test_time_offset.t .............. ok ../../openssl/test/recipes/90-test_tls13ccs.t ................. ok ../../openssl/test/recipes/90-test_tls13encryption.t .......... ok ../../openssl/test/recipes/90-test_tls13secrets.t ............. ok ../../openssl/test/recipes/90-test_v3name.t ................... ok ../../openssl/test/recipes/95-test_external_boringssl.t ....... skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_krb5.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/95-test_external_pyca.t ............ skipped: No external tests in this configuration ../../openssl/test/recipes/99-test_ecstress.t ................. ok ../../openssl/test/recipes/99-test_fuzz.t ..................... ok Test Summary Report ------------------- ../../openssl/test/recipes/02-test_errstr.t (Wstat: 19456 Tests: 76 Failed: 76) Failed tests: 1-76 Non-zero exit status: 76 Files=153, Tests=1438, 221 wallclock secs ( 2.89 usr 0.34 sys + 197.28 cusr 11.30 csys = 211.81 CPU) Result: FAIL Makefile:205: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-err' Makefile:203: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Tue Nov 27 02:46:59 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 27 Nov 2018 02:46:59 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543286819.607033.16667.nullmailer@dev.openssl.org> The branch master has been updated via f19d20b60fcdfde802f96afa3796f20d0da25eab (commit) via c739e676ebc6e7f66aabee1ac3d2040b3103a890 (commit) from 900fd8f375ca758d182e894bc1556509b231dbc8 (commit) - Log ----------------------------------------------------------------- commit f19d20b60fcdfde802f96afa3796f20d0da25eab Author: Richard Levitte Date: Sun Nov 25 00:56:54 2018 +0100 VMS build: don't forget the generation marker when removing files Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7703) commit c739e676ebc6e7f66aabee1ac3d2040b3103a890 Author: Richard Levitte Date: Sun Nov 25 00:52:24 2018 +0100 VMS build: in descrip.mms.tmpl's src2obj, do .S -> .asm too We only convert lowercase .s to .asm, that turned out not to be sufficient. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7703) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index d06c699..c6a31c8 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -823,7 +823,7 @@ $target : $args{generator}->[0] $deps \@ DELETE/SYMBOL/LOCAL extradefines \@ $incs_off RENAME \$\@-i \$\@ - DELETE \$\@-S + DELETE \$\@-S; EOF } # Otherwise.... @@ -847,7 +847,7 @@ EOF sub src2obj { my %args = @_; - my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x + my @srcs = map { (my $x = $_) =~ s/\.[sS]$/.asm/; $x } ( @{$args{srcs}} ); (my $obj = $args{obj}) =~ s|\.o$||; my $deps = join(", -\n\t\t", @srcs, @{$args{deps}}); From levitte at openssl.org Tue Nov 27 03:12:38 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 27 Nov 2018 03:12:38 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543288358.779188.20278.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 156c4d6290fddb2379c13870e19a1a8ef0b0f095 (commit) via 316fe11b0a0a6a3c7e3ff72129f09f3ef01bab07 (commit) from 37b07c68ef55058cdb990e8cf81650ae58dbd3ee (commit) - Log ----------------------------------------------------------------- commit 156c4d6290fddb2379c13870e19a1a8ef0b0f095 Author: Richard Levitte Date: Sun Nov 25 00:56:54 2018 +0100 VMS build: don't forget the generation marker when removing files Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7703) (cherry picked from commit f19d20b60fcdfde802f96afa3796f20d0da25eab) commit 316fe11b0a0a6a3c7e3ff72129f09f3ef01bab07 Author: Richard Levitte Date: Sun Nov 25 00:52:24 2018 +0100 VMS build: in descrip.mms.tmpl's src2obj, do .S -> .asm too We only convert lowercase .s to .asm, that turned out not to be sufficient. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7703) (cherry picked from commit c739e676ebc6e7f66aabee1ac3d2040b3103a890) ----------------------------------------------------------------------- Summary of changes: Configurations/descrip.mms.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 40876bd..9eefef8 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -798,7 +798,7 @@ $target : $args{generator}->[0] $deps \$(PERL) -ne "/^#(\\s*line)?\\s*[0-9]+\\s+""/ or print" > \$\@-i \@ $incs_off RENAME \$\@-i \$\@ - DELETE \$\@-S + DELETE \$\@-S; EOF } # Otherwise.... @@ -820,7 +820,7 @@ EOF sub src2obj { my %args = @_; - my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x + my @srcs = map { (my $x = $_) =~ s/\.[sS]$/.asm/; $x } ( @{$args{srcs}} ); (my $obj = $args{obj}) =~ s|\.o$||; my $deps = join(", -\n\t\t", @srcs, @{$args{deps}}); From yang.yang at baishancloud.com Tue Nov 27 03:28:09 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Tue, 27 Nov 2018 03:28:09 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543289289.149146.22519.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 9465e716398ea13391aa7a0c93f10abf003245c0 (commit) from 156c4d6290fddb2379c13870e19a1a8ef0b0f095 (commit) - Log ----------------------------------------------------------------- commit 9465e716398ea13391aa7a0c93f10abf003245c0 Author: Paul Yang Date: Mon Nov 26 16:57:55 2018 +0800 Fix access zero memory if SSL_DEBUG is enabled If compile OpenSSL with SSL_DEBUG macro, some test cases will cause the process crashed in the debug code. Reviewed-by: Tim Hudson Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7707) (cherry picked from commit 5a4481f0e0bbf836c7f41805e84617784cb6b1db) ----------------------------------------------------------------------- Summary of changes: ssl/statem/statem_clnt.c | 3 ++- ssl/statem/statem_lib.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 0a11b88..5a8f116 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -2353,7 +2353,8 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL *s, PACKET *pkt) } #ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md)); + fprintf(stderr, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif if (!PACKET_get_length_prefixed_2(pkt, &signature) diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 4324896..be270e2 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -396,7 +396,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) #ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md)); + fprintf(stderr, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif /* Check for broken implementations of GOST ciphersuites */ @@ -439,7 +440,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) } #ifdef SSL_DEBUG - fprintf(stderr, "Using client verify alg %s\n", EVP_MD_name(md)); + fprintf(stderr, "Using client verify alg %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif if (EVP_DigestVerifyInit(mctx, &pctx, md, NULL, pkey) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY, From yang.yang at baishancloud.com Tue Nov 27 03:28:27 2018 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Tue, 27 Nov 2018 03:28:27 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543289307.227191.23320.nullmailer@dev.openssl.org> The branch master has been updated via 5a4481f0e0bbf836c7f41805e84617784cb6b1db (commit) from f19d20b60fcdfde802f96afa3796f20d0da25eab (commit) - Log ----------------------------------------------------------------- commit 5a4481f0e0bbf836c7f41805e84617784cb6b1db Author: Paul Yang Date: Mon Nov 26 16:57:55 2018 +0800 Fix access zero memory if SSL_DEBUG is enabled If compile OpenSSL with SSL_DEBUG macro, some test cases will cause the process crashed in the debug code. Reviewed-by: Tim Hudson Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/7707) ----------------------------------------------------------------------- Summary of changes: ssl/statem/statem_clnt.c | 3 ++- ssl/statem/statem_lib.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 0a11b88..5a8f116 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -2353,7 +2353,8 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL *s, PACKET *pkt) } #ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md)); + fprintf(stderr, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif if (!PACKET_get_length_prefixed_2(pkt, &signature) diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 4324896..be270e2 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -396,7 +396,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) #ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md)); + fprintf(stderr, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif /* Check for broken implementations of GOST ciphersuites */ @@ -439,7 +440,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) } #ifdef SSL_DEBUG - fprintf(stderr, "Using client verify alg %s\n", EVP_MD_name(md)); + fprintf(stderr, "Using client verify alg %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); #endif if (EVP_DigestVerifyInit(mctx, &pctx, md, NULL, pkey) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY, From levitte at openssl.org Tue Nov 27 09:03:09 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 27 Nov 2018 09:03:09 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543309389.876729.28065.nullmailer@dev.openssl.org> The branch master has been updated via f1d49ed94707f5f0799541aa8e528dce67712948 (commit) from 5a4481f0e0bbf836c7f41805e84617784cb6b1db (commit) - Log ----------------------------------------------------------------- commit f1d49ed94707f5f0799541aa8e528dce67712948 Author: Richard Levitte Date: Tue Nov 27 07:51:44 2018 +0000 Don't test the collected system errors when configured to not have them Config options 'no-err' and 'no-autoerrinit' Reviewed-by: Matt Caswell Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7711) ----------------------------------------------------------------------- Summary of changes: test/recipes/02-test_errstr.t | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t index 745c3c0..ef5e2fa 100644 --- a/test/recipes/02-test_errstr.t +++ b/test/recipes/02-test_errstr.t @@ -31,6 +31,9 @@ setup('test_errstr'); plan skip_all => 'This is unsupported for cross compiled configurations' if config('CROSS_COMPILE'); +plan skip_all => 'OpenSSL is configured "no-autoerrinit" or "no-err"' + if disabled('autoerrinit') || disabled('err'); + # These are POSIX error names, which Errno implements as functions # (this is documented) my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; From levitte at openssl.org Tue Nov 27 09:04:21 2018 From: levitte at openssl.org (Richard Levitte) Date: Tue, 27 Nov 2018 09:04:21 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543309461.612774.29093.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 89cb61de2af5f0fb07c86de086d57f20d523f6ba (commit) from 9465e716398ea13391aa7a0c93f10abf003245c0 (commit) - Log ----------------------------------------------------------------- commit 89cb61de2af5f0fb07c86de086d57f20d523f6ba Author: Richard Levitte Date: Tue Nov 27 07:51:44 2018 +0000 Don't test the collected system errors when configured to not have them Config options 'no-err' and 'no-autoerrinit' Reviewed-by: Matt Caswell Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/7711) (cherry picked from commit f1d49ed94707f5f0799541aa8e528dce67712948) ----------------------------------------------------------------------- Summary of changes: test/recipes/02-test_errstr.t | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t index 745c3c0..ef5e2fa 100644 --- a/test/recipes/02-test_errstr.t +++ b/test/recipes/02-test_errstr.t @@ -31,6 +31,9 @@ setup('test_errstr'); plan skip_all => 'This is unsupported for cross compiled configurations' if config('CROSS_COMPILE'); +plan skip_all => 'OpenSSL is configured "no-autoerrinit" or "no-err"' + if disabled('autoerrinit') || disabled('err'); + # These are POSIX error names, which Errno implements as functions # (this is documented) my @posix_errors = @{$Errno::EXPORT_TAGS{POSIX}}; From openssl at openssl.org Tue Nov 27 23:04:38 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 27 Nov 2018 23:04:38 +0000 Subject: [openssl-commits] SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-autoerrinit Message-ID: <1543359878.150635.10291.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-autoerrinit Commit log since last time: f1d49ed947 Don't test the collected system errors when configured to not have them 5a4481f0e0 Fix access zero memory if SSL_DEBUG is enabled f19d20b60f VMS build: don't forget the generation marker when removing files c739e676eb VMS build: in descrip.mms.tmpl's src2obj, do .S -> .asm too From openssl at openssl.org Wed Nov 28 02:02:35 2018 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 28 Nov 2018 02:02:35 +0000 Subject: [openssl-commits] SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-err Message-ID: <1543370555.163344.28796.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-err Commit log since last time: f1d49ed947 Don't test the collected system errors when configured to not have them 5a4481f0e0 Fix access zero memory if SSL_DEBUG is enabled f19d20b60f VMS build: don't forget the generation marker when removing files c739e676eb VMS build: in descrip.mms.tmpl's src2obj, do .S -> .asm too From no-reply at appveyor.com Wed Nov 28 18:08:25 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 28 Nov 2018 18:08:25 +0000 Subject: [openssl-commits] Build failed: openssl master.21220 Message-ID: <20181128180825.1.2DFF16C266424B80@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 28 19:03:05 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 28 Nov 2018 19:03:05 +0000 Subject: [openssl-commits] Build failed: openssl master.21221 Message-ID: <20181128190305.1.D9519E132F4D36EE@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Nov 28 22:30:53 2018 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 28 Nov 2018 22:30:53 +0000 Subject: [openssl-commits] Build failed: openssl master.21222 Message-ID: <20181128223053.1.31876D10287777BC@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 00:10:54 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 00:10:54 +0000 Subject: [openssl-commits] Build failed: openssl master.21223 Message-ID: <20181129001054.1.467AC2FF1F2A7332@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 11:11:03 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 11:11:03 +0000 Subject: [openssl-commits] Build failed: openssl master.21228 Message-ID: <20181129111103.1.1ECB87288BFDCEE0@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 11:28:31 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 11:28:31 +0000 Subject: [openssl-commits] Build failed: openssl master.21229 Message-ID: <20181129112831.1.B33838417723F673@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 15:06:28 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 15:06:28 +0000 Subject: [openssl-commits] Build failed: openssl master.21230 Message-ID: <20181129150628.1.A9D84156525BD893@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 20:30:34 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 20:30:34 +0000 Subject: [openssl-commits] Build completed: openssl master.21231 Message-ID: <20181129203034.1.B09F37357DD4D3BD@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Nov 29 23:34:28 2018 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 29 Nov 2018 23:34:28 +0000 Subject: [openssl-commits] Build failed: openssl master.21233 Message-ID: <20181129233428.1.CF67ED075B74B8E2@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 30 00:12:23 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 30 Nov 2018 00:12:23 +0000 Subject: [openssl-commits] Build completed: openssl master.21234 Message-ID: <20181130001223.1.6525D7B1C9A465A7@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 30 00:21:50 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 30 Nov 2018 00:21:50 +0000 Subject: [openssl-commits] Build failed: openssl master.21236 Message-ID: <20181130002150.1.40BBBD958AA8779D@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Fri Nov 30 15:01:18 2018 From: matt at openssl.org (Matt Caswell) Date: Fri, 30 Nov 2018 15:01:18 +0000 Subject: [openssl-commits] [openssl] master update Message-ID: <1543590078.615857.24748.nullmailer@dev.openssl.org> The branch master has been updated via 603221407ddc6404f8c417c6beadebf84449074c (commit) via 75f5e944be97f28867e7c489823c889d89d0bd06 (commit) via e875b0cf2f10bf2adf73e0c2ec81428290f4660c (commit) via 89072e0c2a483f2ad678e723e112712567b0ceb1 (commit) via f658a3b64d8750642f4975090740865f770c2a1b (commit) from f1d49ed94707f5f0799541aa8e528dce67712948 (commit) - Log ----------------------------------------------------------------- commit 603221407ddc6404f8c417c6beadebf84449074c Author: Andy Polyakov Date: Fri Sep 14 17:24:13 2018 +0200 rsa/rsa_ssl.c: make RSA_padding_check_SSLv23 constant-time. Copy of RSA_padding_check_PKCS1_type_2 with a twist that rejects padding if nul delimiter is preceded by 8 consecutive 0x03 bytes. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell commit 75f5e944be97f28867e7c489823c889d89d0bd06 Author: Andy Polyakov Date: Thu Sep 6 21:54:23 2018 +0200 rsa/rsa_oaep.c: remove memcpy calls from RSA_padding_check_PKCS1_OAEP. And make RSAErr call unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell commit e875b0cf2f10bf2adf73e0c2ec81428290f4660c Author: Andy Polyakov Date: Sat Sep 1 12:00:33 2018 +0200 rsa/rsa_pk1.c: remove memcpy calls from RSA_padding_check_PKCS1_type_2. And make RSAErr call unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell commit 89072e0c2a483f2ad678e723e112712567b0ceb1 Author: Andy Polyakov Date: Fri Sep 14 12:17:43 2018 +0200 rsa/rsa_ossl.c: make RSAerr call in rsa_ossl_private_decrypt unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell commit f658a3b64d8750642f4975090740865f770c2a1b Author: Andy Polyakov Date: Sat Sep 1 12:19:30 2018 +0200 err/err.c: add err_clear_last_constant_time. Expected usage pattern is to unconditionally set error and then wipe it if there was no actual error. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 21 +++++ crypto/rsa/rsa_oaep.c | 82 +++++++++++------- crypto/rsa/rsa_ossl.c | 5 +- crypto/rsa/rsa_pk1.c | 93 +++++++++++---------- crypto/rsa/rsa_ssl.c | 133 +++++++++++++++++++++--------- doc/man3/RSA_padding_add_PKCS1_type_1.pod | 7 +- include/internal/constant_time_locl.h | 6 ++ 7 files changed, 234 insertions(+), 113 deletions(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index 34061bc..66a60e9 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -20,6 +20,7 @@ #include #include "internal/thread_once.h" #include "internal/ctype.h" +#include "internal/constant_time_locl.h" static int err_load_strings(const ERR_STRING_DATA *str); @@ -878,3 +879,23 @@ int ERR_clear_last_mark(void) es->err_flags[top] &= ~ERR_FLAG_MARK; return 1; } + +void err_clear_last_constant_time(int clear) +{ + ERR_STATE *es; + int top; + + es = ERR_get_state(); + if (es == NULL) + return; + + top = es->top; + + es->err_flags[top] &= ~(0 - clear); + es->err_buffer[top] &= ~(0UL - clear); + es->err_file[top] = (const char *)((uintptr_t)es->err_file[top] & + ~((uintptr_t)0 - clear)); + es->err_line[top] |= 0 - clear; + + es->top = (top + ERR_NUM_ERRORS - clear) % ERR_NUM_ERRORS; +} diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index f13c6fc..689e6dc 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -120,7 +120,7 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const EVP_MD *mgf1md) { int i, dblen = 0, mlen = -1, one_index = 0, msg_index; - unsigned int good, found_one_byte; + unsigned int good = 0, found_one_byte, mask; const unsigned char *maskedseed, *maskeddb; /* * |em| is the encoded message, zero-padded to exactly |num| bytes: em = @@ -147,8 +147,11 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * the ciphertext, see PKCS #1 v2.2, section 7.1.2. * This does not leak any side-channel information. */ - if (num < flen || num < 2 * mdlen + 2) - goto decoding_err; + if (num < flen || num < 2 * mdlen + 2) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + RSA_R_OAEP_DECODING_ERROR); + return -1; + } dblen = num - mdlen - 1; db = OPENSSL_malloc(dblen); @@ -157,25 +160,26 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, goto cleanup; } - if (flen != num) { - em = OPENSSL_zalloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, - ERR_R_MALLOC_FAILURE); - goto cleanup; - } + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + ERR_R_MALLOC_FAILURE); + goto cleanup; + } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memcpy(em + num - flen, from, flen); - from = em; + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } + from = em; /* * The first byte must be zero, however we must not leak if this is @@ -222,32 +226,48 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * so plaintext-awareness ensures timing side-channels are no longer a * concern. */ - if (!good) - goto decoding_err; - msg_index = one_index + 1; mlen = dblen - msg_index; - if (tlen < mlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_DATA_TOO_LARGE); - mlen = -1; - } else { - memcpy(to, db + msg_index, mlen); - goto cleanup; + /* + * For good measure, do this check in constant tine as well. + */ + good &= constant_time_ge(tlen, mlen); + + /* + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |dblen| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. + */ + tlen = constant_time_select_int(constant_time_lt(dblen, tlen), dblen, tlen); + msg_index = constant_time_select_int(good, msg_index, dblen - tlen); + mlen = dblen - msg_index; + for (from = db + msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); + + from -= dblen & equals; /* if (i == dblen) rewind */ + mask &= mask ^ equals; /* if (i == dblen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); } - decoding_err: /* * To avoid chosen ciphertext attacks, the error message should not * reveal which kind of decoding error happened. */ RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_OAEP_DECODING_ERROR); + err_clear_last_constant_time(1 & good); cleanup: OPENSSL_cleanse(seed, sizeof(seed)); OPENSSL_clear_free(db, dblen); OPENSSL_clear_free(em, num); - return mlen; + + return constant_time_select_int(good, mlen, -1); } int PKCS1_MGF1(unsigned char *mask, long len, diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 09762b7..4651342 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -10,6 +10,7 @@ #include "internal/cryptlib.h" #include "internal/bn_int.h" #include "rsa_locl.h" +#include "internal/constant_time_locl.h" static int rsa_ossl_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); @@ -479,8 +480,8 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from, RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_UNKNOWN_PADDING_TYPE); goto err; } - if (r < 0) - RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + err_clear_last_constant_time(r >= 0); err: if (ctx != NULL) diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c index d07c0d6..b3a7a06 100644 --- a/crypto/rsa/rsa_pk1.c +++ b/crypto/rsa/rsa_pk1.c @@ -158,7 +158,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, int i; /* |em| is the encoded message, zero-padded to exactly |num| bytes */ unsigned char *em = NULL; - unsigned int good, found_zero_byte; + unsigned int good, found_zero_byte, mask; int zero_index = 0, msg_index, mlen = -1; if (tlen < 0 || flen < 0) @@ -169,39 +169,41 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * section 7.2.2. */ - if (flen > num) - goto err; - - if (num < 11) - goto err; + if (flen > num || num < 11) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, + RSA_R_PKCS_DECODING_ERROR); + return -1; + } - if (flen != num) { - em = OPENSSL_zalloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); - return -1; - } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memcpy(em + num - flen, from, flen); - from = em; + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); + return -1; + } + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } + from = em; good = constant_time_is_zero(from[0]); good &= constant_time_eq(from[1], 2); + /* scan over padding data */ found_zero_byte = 0; for (i = 2; i < num; i++) { unsigned int equals0 = constant_time_is_zero(from[i]); - zero_index = - constant_time_select_int(~found_zero_byte & equals0, i, - zero_index); + + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); found_zero_byte |= equals0; } @@ -210,7 +212,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * If we never found a 0-byte, then |zero_index| is 0 and the check * also fails. */ - good &= constant_time_ge((unsigned int)(zero_index), 2 + 8); + good &= constant_time_ge(zero_index, 2 + 8); /* * Skip the zero byte. This is incorrect if we never found a zero-byte @@ -220,27 +222,34 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, mlen = num - msg_index; /* - * For good measure, do this check in constant time as well; it could - * leak something if |tlen| was assuming valid padding. + * For good measure, do this check in constant time as well. */ - good &= constant_time_ge((unsigned int)(tlen), (unsigned int)(mlen)); + good &= constant_time_ge(tlen, mlen); /* - * We can't continue in constant-time because we need to copy the result - * and we cannot fake its length. This unavoidably leaks timing - * information at the API boundary. + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |num| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. */ - if (!good) { - mlen = -1; - goto err; - } + tlen = constant_time_select_int(constant_time_lt(num, tlen), num, tlen); + msg_index = constant_time_select_int(good, msg_index, num - tlen); + mlen = num - msg_index; + for (from += msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); - memcpy(to, from + msg_index, mlen); + from -= tlen & equals; /* if (i == mlen) rewind */ + mask &= mask ^ equals; /* if (i == mlen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); + } - err: OPENSSL_clear_free(em, num); - if (mlen == -1) - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, - RSA_R_PKCS_DECODING_ERROR); - return mlen; + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, RSA_R_PKCS_DECODING_ERROR); + err_clear_last_constant_time(1 & good); + + return constant_time_select_int(good, mlen, -1); } diff --git a/crypto/rsa/rsa_ssl.c b/crypto/rsa/rsa_ssl.c index 286d0a4..c565459 100644 --- a/crypto/rsa/rsa_ssl.c +++ b/crypto/rsa/rsa_ssl.c @@ -12,6 +12,7 @@ #include #include #include +#include "internal/constant_time_locl.h" int RSA_padding_add_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen) @@ -52,57 +53,115 @@ int RSA_padding_add_SSLv23(unsigned char *to, int tlen, return 1; } +/* + * Copy of RSA_padding_check_PKCS1_type_2 with a twist that rejects padding + * if nul delimiter is preceded by 8 consecutive 0x03 bytes. It also + * preserves error code reporting for backward compatibility. + */ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen, int num) { - int i, j, k; - const unsigned char *p; + int i; + /* |em| is the encoded message, zero-padded to exactly |num| bytes */ + unsigned char *em = NULL; + unsigned int good, found_zero_byte, mask, threes_in_row; + int zero_index = 0, msg_index, mlen = -1, err; - p = from; if (flen < 10) { RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_SMALL); return -1; } - /* Accept even zero-padded input */ - if (flen == num) { - if (*(p++) != 0) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return -1; - } - flen--; - } - if ((num != (flen + 1)) || (*(p++) != 02)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return -1; - } - /* scan over padding data */ - j = flen - 1; /* one for type */ - for (i = 0; i < j; i++) - if (*(p++) == 0) - break; - - if ((i == j) || (i < 8)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, - RSA_R_NULL_BEFORE_BLOCK_MISSING); + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, ERR_R_MALLOC_FAILURE); return -1; } - for (k = -9; k < -1; k++) { - if (p[k] != 0x03) - break; + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } - if (k == -1) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_SSLV3_ROLLBACK_ATTACK); - return -1; + from = em; + + good = constant_time_is_zero(from[0]); + good &= constant_time_eq(from[1], 2); + err = constant_time_select_int(good, 0, RSA_R_BLOCK_TYPE_IS_NOT_02); + mask = ~good; + + /* scan over padding data */ + found_zero_byte = 0; + threes_in_row = 0; + for (i = 2; i < num; i++) { + unsigned int equals0 = constant_time_is_zero(from[i]); + + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); + found_zero_byte |= equals0; + + threes_in_row += 1 & ~found_zero_byte; + threes_in_row &= found_zero_byte | constant_time_eq(from[i], 3); } - i++; /* Skip over the '\0' */ - j -= i; - if (j > tlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_LARGE); - return -1; + /* + * PS must be at least 8 bytes long, and it starts two bytes into |from|. + * If we never found a 0-byte, then |zero_index| is 0 and the check + * also fails. + */ + good &= constant_time_ge(zero_index, 2 + 8); + err = constant_time_select_int(mask | good, err, + RSA_R_NULL_BEFORE_BLOCK_MISSING); + mask = ~good; + + good &= constant_time_lt(threes_in_row, 8); + err = constant_time_select_int(mask | good, err, + RSA_R_SSLV3_ROLLBACK_ATTACK); + mask = ~good; + + /* + * Skip the zero byte. This is incorrect if we never found a zero-byte + * but in this case we also do not copy the message out. + */ + msg_index = zero_index + 1; + mlen = num - msg_index; + + /* + * For good measure, do this check in constant time as well. + */ + good &= constant_time_ge(tlen, mlen); + err = constant_time_select_int(mask | good, err, RSA_R_DATA_TOO_LARGE); + + /* + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |num| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. + */ + tlen = constant_time_select_int(constant_time_lt(num, tlen), num, tlen); + msg_index = constant_time_select_int(good, msg_index, num - tlen); + mlen = num - msg_index; + for (from += msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); + + from -= tlen & equals; /* if (i == mlen) rewind */ + mask &= mask ^ equals; /* if (i == mlen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); } - memcpy(to, p, (unsigned int)j); - return j; + OPENSSL_clear_free(em, num); + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, err); + err_clear_last_constant_time(1 & good); + + return constant_time_select_int(good, mlen, -1); } diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod index 93911ca..9ea2634 100644 --- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod @@ -110,7 +110,12 @@ L. The RSA_padding_check_PKCS1_type_2() padding check leaks timing information which can potentially be used to mount a Bleichenbacher padding oracle attack. This is an inherent weakness in the PKCS #1 -v1.5 padding design. Prefer PKCS1_OAEP padding. +v1.5 padding design. Prefer PKCS1_OAEP padding. Otherwise it can +be recommended to pass zero-padded B, so that B equals to +B, and if fixed by protocol, B being set to the +expected length. In such case leakage would be minimal, it would +take attacker's ability to observe memory access pattern with byte +granilarity as it occurs, post-factum timing analysis won't do. =head1 SEE ALSO diff --git a/include/internal/constant_time_locl.h b/include/internal/constant_time_locl.h index 82ff746..cde30f4 100644 --- a/include/internal/constant_time_locl.h +++ b/include/internal/constant_time_locl.h @@ -324,4 +324,10 @@ static ossl_inline void constant_time_lookup(void *out, } } +/* + * Expected usage pattern is to unconditionally set error and then + * wipe it if there was no actual error. |clear| is 1 or 0. + */ +void err_clear_last_constant_time(int clear); + #endif /* HEADER_CONSTANT_TIME_LOCL_H */ From matt at openssl.org Fri Nov 30 15:02:18 2018 From: matt at openssl.org (Matt Caswell) Date: Fri, 30 Nov 2018 15:02:18 +0000 Subject: [openssl-commits] [openssl] OpenSSL_1_1_1-stable update Message-ID: <1543590138.291654.26431.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via f1d91b89701627cc39e98987bc344aaae64f64fb (commit) via f5ebe54c00128d5ee0a28ba7f822a8d1b07e71e5 (commit) via db1b63f45c8585c9c7741e0540c01baad22aa190 (commit) via 382448f33757d96a65207c8e9b55fadf45517e57 (commit) via d2cd28b99efa65dbd39cb8db0f2ad992be1aab00 (commit) from 89cb61de2af5f0fb07c86de086d57f20d523f6ba (commit) - Log ----------------------------------------------------------------- commit f1d91b89701627cc39e98987bc344aaae64f64fb Author: Andy Polyakov Date: Fri Sep 14 17:24:13 2018 +0200 rsa/rsa_ssl.c: make RSA_padding_check_SSLv23 constant-time. Copy of RSA_padding_check_PKCS1_type_2 with a twist that rejects padding if nul delimiter is preceded by 8 consecutive 0x03 bytes. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (cherry picked from commit 603221407ddc6404f8c417c6beadebf84449074c) commit f5ebe54c00128d5ee0a28ba7f822a8d1b07e71e5 Author: Andy Polyakov Date: Thu Sep 6 21:54:23 2018 +0200 rsa/rsa_oaep.c: remove memcpy calls from RSA_padding_check_PKCS1_OAEP. And make RSAErr call unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (cherry picked from commit 75f5e944be97f28867e7c489823c889d89d0bd06) commit db1b63f45c8585c9c7741e0540c01baad22aa190 Author: Andy Polyakov Date: Sat Sep 1 12:00:33 2018 +0200 rsa/rsa_pk1.c: remove memcpy calls from RSA_padding_check_PKCS1_type_2. And make RSAErr call unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (cherry picked from commit e875b0cf2f10bf2adf73e0c2ec81428290f4660c) commit 382448f33757d96a65207c8e9b55fadf45517e57 Author: Andy Polyakov Date: Fri Sep 14 12:17:43 2018 +0200 rsa/rsa_ossl.c: make RSAerr call in rsa_ossl_private_decrypt unconditional. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (cherry picked from commit 89072e0c2a483f2ad678e723e112712567b0ceb1) commit d2cd28b99efa65dbd39cb8db0f2ad992be1aab00 Author: Andy Polyakov Date: Sat Sep 1 12:19:30 2018 +0200 err/err.c: add err_clear_last_constant_time. Expected usage pattern is to unconditionally set error and then wipe it if there was no actual error. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (cherry picked from commit f658a3b64d8750642f4975090740865f770c2a1b) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 21 +++++ crypto/rsa/rsa_oaep.c | 82 +++++++++++------- crypto/rsa/rsa_ossl.c | 5 +- crypto/rsa/rsa_pk1.c | 93 +++++++++++---------- crypto/rsa/rsa_ssl.c | 133 +++++++++++++++++++++--------- doc/man3/RSA_padding_add_PKCS1_type_1.pod | 7 +- include/internal/constant_time_locl.h | 6 ++ 7 files changed, 234 insertions(+), 113 deletions(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index 34061bc..66a60e9 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -20,6 +20,7 @@ #include #include "internal/thread_once.h" #include "internal/ctype.h" +#include "internal/constant_time_locl.h" static int err_load_strings(const ERR_STRING_DATA *str); @@ -878,3 +879,23 @@ int ERR_clear_last_mark(void) es->err_flags[top] &= ~ERR_FLAG_MARK; return 1; } + +void err_clear_last_constant_time(int clear) +{ + ERR_STATE *es; + int top; + + es = ERR_get_state(); + if (es == NULL) + return; + + top = es->top; + + es->err_flags[top] &= ~(0 - clear); + es->err_buffer[top] &= ~(0UL - clear); + es->err_file[top] = (const char *)((uintptr_t)es->err_file[top] & + ~((uintptr_t)0 - clear)); + es->err_line[top] |= 0 - clear; + + es->top = (top + ERR_NUM_ERRORS - clear) % ERR_NUM_ERRORS; +} diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index f13c6fc..689e6dc 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -120,7 +120,7 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const EVP_MD *mgf1md) { int i, dblen = 0, mlen = -1, one_index = 0, msg_index; - unsigned int good, found_one_byte; + unsigned int good = 0, found_one_byte, mask; const unsigned char *maskedseed, *maskeddb; /* * |em| is the encoded message, zero-padded to exactly |num| bytes: em = @@ -147,8 +147,11 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * the ciphertext, see PKCS #1 v2.2, section 7.1.2. * This does not leak any side-channel information. */ - if (num < flen || num < 2 * mdlen + 2) - goto decoding_err; + if (num < flen || num < 2 * mdlen + 2) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + RSA_R_OAEP_DECODING_ERROR); + return -1; + } dblen = num - mdlen - 1; db = OPENSSL_malloc(dblen); @@ -157,25 +160,26 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, goto cleanup; } - if (flen != num) { - em = OPENSSL_zalloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, - ERR_R_MALLOC_FAILURE); - goto cleanup; - } + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + ERR_R_MALLOC_FAILURE); + goto cleanup; + } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memcpy(em + num - flen, from, flen); - from = em; + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } + from = em; /* * The first byte must be zero, however we must not leak if this is @@ -222,32 +226,48 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * so plaintext-awareness ensures timing side-channels are no longer a * concern. */ - if (!good) - goto decoding_err; - msg_index = one_index + 1; mlen = dblen - msg_index; - if (tlen < mlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_DATA_TOO_LARGE); - mlen = -1; - } else { - memcpy(to, db + msg_index, mlen); - goto cleanup; + /* + * For good measure, do this check in constant tine as well. + */ + good &= constant_time_ge(tlen, mlen); + + /* + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |dblen| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. + */ + tlen = constant_time_select_int(constant_time_lt(dblen, tlen), dblen, tlen); + msg_index = constant_time_select_int(good, msg_index, dblen - tlen); + mlen = dblen - msg_index; + for (from = db + msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); + + from -= dblen & equals; /* if (i == dblen) rewind */ + mask &= mask ^ equals; /* if (i == dblen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); } - decoding_err: /* * To avoid chosen ciphertext attacks, the error message should not * reveal which kind of decoding error happened. */ RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_OAEP_DECODING_ERROR); + err_clear_last_constant_time(1 & good); cleanup: OPENSSL_cleanse(seed, sizeof(seed)); OPENSSL_clear_free(db, dblen); OPENSSL_clear_free(em, num); - return mlen; + + return constant_time_select_int(good, mlen, -1); } int PKCS1_MGF1(unsigned char *mask, long len, diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 09762b7..4651342 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -10,6 +10,7 @@ #include "internal/cryptlib.h" #include "internal/bn_int.h" #include "rsa_locl.h" +#include "internal/constant_time_locl.h" static int rsa_ossl_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); @@ -479,8 +480,8 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from, RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_UNKNOWN_PADDING_TYPE); goto err; } - if (r < 0) - RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + RSAerr(RSA_F_RSA_OSSL_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + err_clear_last_constant_time(r >= 0); err: if (ctx != NULL) diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c index d07c0d6..b3a7a06 100644 --- a/crypto/rsa/rsa_pk1.c +++ b/crypto/rsa/rsa_pk1.c @@ -158,7 +158,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, int i; /* |em| is the encoded message, zero-padded to exactly |num| bytes */ unsigned char *em = NULL; - unsigned int good, found_zero_byte; + unsigned int good, found_zero_byte, mask; int zero_index = 0, msg_index, mlen = -1; if (tlen < 0 || flen < 0) @@ -169,39 +169,41 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * section 7.2.2. */ - if (flen > num) - goto err; - - if (num < 11) - goto err; + if (flen > num || num < 11) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, + RSA_R_PKCS_DECODING_ERROR); + return -1; + } - if (flen != num) { - em = OPENSSL_zalloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); - return -1; - } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memcpy(em + num - flen, from, flen); - from = em; + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); + return -1; + } + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } + from = em; good = constant_time_is_zero(from[0]); good &= constant_time_eq(from[1], 2); + /* scan over padding data */ found_zero_byte = 0; for (i = 2; i < num; i++) { unsigned int equals0 = constant_time_is_zero(from[i]); - zero_index = - constant_time_select_int(~found_zero_byte & equals0, i, - zero_index); + + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); found_zero_byte |= equals0; } @@ -210,7 +212,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * If we never found a 0-byte, then |zero_index| is 0 and the check * also fails. */ - good &= constant_time_ge((unsigned int)(zero_index), 2 + 8); + good &= constant_time_ge(zero_index, 2 + 8); /* * Skip the zero byte. This is incorrect if we never found a zero-byte @@ -220,27 +222,34 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, mlen = num - msg_index; /* - * For good measure, do this check in constant time as well; it could - * leak something if |tlen| was assuming valid padding. + * For good measure, do this check in constant time as well. */ - good &= constant_time_ge((unsigned int)(tlen), (unsigned int)(mlen)); + good &= constant_time_ge(tlen, mlen); /* - * We can't continue in constant-time because we need to copy the result - * and we cannot fake its length. This unavoidably leaks timing - * information at the API boundary. + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |num| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. */ - if (!good) { - mlen = -1; - goto err; - } + tlen = constant_time_select_int(constant_time_lt(num, tlen), num, tlen); + msg_index = constant_time_select_int(good, msg_index, num - tlen); + mlen = num - msg_index; + for (from += msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); - memcpy(to, from + msg_index, mlen); + from -= tlen & equals; /* if (i == mlen) rewind */ + mask &= mask ^ equals; /* if (i == mlen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); + } - err: OPENSSL_clear_free(em, num); - if (mlen == -1) - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, - RSA_R_PKCS_DECODING_ERROR); - return mlen; + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, RSA_R_PKCS_DECODING_ERROR); + err_clear_last_constant_time(1 & good); + + return constant_time_select_int(good, mlen, -1); } diff --git a/crypto/rsa/rsa_ssl.c b/crypto/rsa/rsa_ssl.c index 286d0a4..c565459 100644 --- a/crypto/rsa/rsa_ssl.c +++ b/crypto/rsa/rsa_ssl.c @@ -12,6 +12,7 @@ #include #include #include +#include "internal/constant_time_locl.h" int RSA_padding_add_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen) @@ -52,57 +53,115 @@ int RSA_padding_add_SSLv23(unsigned char *to, int tlen, return 1; } +/* + * Copy of RSA_padding_check_PKCS1_type_2 with a twist that rejects padding + * if nul delimiter is preceded by 8 consecutive 0x03 bytes. It also + * preserves error code reporting for backward compatibility. + */ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen, int num) { - int i, j, k; - const unsigned char *p; + int i; + /* |em| is the encoded message, zero-padded to exactly |num| bytes */ + unsigned char *em = NULL; + unsigned int good, found_zero_byte, mask, threes_in_row; + int zero_index = 0, msg_index, mlen = -1, err; - p = from; if (flen < 10) { RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_SMALL); return -1; } - /* Accept even zero-padded input */ - if (flen == num) { - if (*(p++) != 0) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return -1; - } - flen--; - } - if ((num != (flen + 1)) || (*(p++) != 02)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return -1; - } - /* scan over padding data */ - j = flen - 1; /* one for type */ - for (i = 0; i < j; i++) - if (*(p++) == 0) - break; - - if ((i == j) || (i < 8)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, - RSA_R_NULL_BEFORE_BLOCK_MISSING); + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, ERR_R_MALLOC_FAILURE); return -1; } - for (k = -9; k < -1; k++) { - if (p[k] != 0x03) - break; + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } - if (k == -1) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_SSLV3_ROLLBACK_ATTACK); - return -1; + from = em; + + good = constant_time_is_zero(from[0]); + good &= constant_time_eq(from[1], 2); + err = constant_time_select_int(good, 0, RSA_R_BLOCK_TYPE_IS_NOT_02); + mask = ~good; + + /* scan over padding data */ + found_zero_byte = 0; + threes_in_row = 0; + for (i = 2; i < num; i++) { + unsigned int equals0 = constant_time_is_zero(from[i]); + + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); + found_zero_byte |= equals0; + + threes_in_row += 1 & ~found_zero_byte; + threes_in_row &= found_zero_byte | constant_time_eq(from[i], 3); } - i++; /* Skip over the '\0' */ - j -= i; - if (j > tlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_LARGE); - return -1; + /* + * PS must be at least 8 bytes long, and it starts two bytes into |from|. + * If we never found a 0-byte, then |zero_index| is 0 and the check + * also fails. + */ + good &= constant_time_ge(zero_index, 2 + 8); + err = constant_time_select_int(mask | good, err, + RSA_R_NULL_BEFORE_BLOCK_MISSING); + mask = ~good; + + good &= constant_time_lt(threes_in_row, 8); + err = constant_time_select_int(mask | good, err, + RSA_R_SSLV3_ROLLBACK_ATTACK); + mask = ~good; + + /* + * Skip the zero byte. This is incorrect if we never found a zero-byte + * but in this case we also do not copy the message out. + */ + msg_index = zero_index + 1; + mlen = num - msg_index; + + /* + * For good measure, do this check in constant time as well. + */ + good &= constant_time_ge(tlen, mlen); + err = constant_time_select_int(mask | good, err, RSA_R_DATA_TOO_LARGE); + + /* + * Even though we can't fake result's length, we can pretend copying + * |tlen| bytes where |mlen| bytes would be real. Last |tlen| of |num| + * bytes are viewed as circular buffer with start at |tlen|-|mlen'|, + * where |mlen'| is "saturated" |mlen| value. Deducing information + * about failure or |mlen| would take attacker's ability to observe + * memory access pattern with byte granularity *as it occurs*. It + * should be noted that failure is indistinguishable from normal + * operation if |tlen| is fixed by protocol. + */ + tlen = constant_time_select_int(constant_time_lt(num, tlen), num, tlen); + msg_index = constant_time_select_int(good, msg_index, num - tlen); + mlen = num - msg_index; + for (from += msg_index, mask = good, i = 0; i < tlen; i++) { + unsigned int equals = constant_time_eq(i, mlen); + + from -= tlen & equals; /* if (i == mlen) rewind */ + mask &= mask ^ equals; /* if (i == mlen) mask = 0 */ + to[i] = constant_time_select_8(mask, from[i], to[i]); } - memcpy(to, p, (unsigned int)j); - return j; + OPENSSL_clear_free(em, num); + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, err); + err_clear_last_constant_time(1 & good); + + return constant_time_select_int(good, mlen, -1); } diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod index 93911ca..9ea2634 100644 --- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod @@ -110,7 +110,12 @@ L. The RSA_padding_check_PKCS1_type_2() padding check leaks timing information which can potentially be used to mount a Bleichenbacher padding oracle attack. This is an inherent weakness in the PKCS #1 -v1.5 padding design. Prefer PKCS1_OAEP padding. +v1.5 padding design. Prefer PKCS1_OAEP padding. Otherwise it can +be recommended to pass zero-padded B, so that B equals to +B, and if fixed by protocol, B being set to the +expected length. In such case leakage would be minimal, it would +take attacker's ability to observe memory access pattern with byte +granilarity as it occurs, post-factum timing analysis won't do. =head1 SEE ALSO diff --git a/include/internal/constant_time_locl.h b/include/internal/constant_time_locl.h index 82ff746..cde30f4 100644 --- a/include/internal/constant_time_locl.h +++ b/include/internal/constant_time_locl.h @@ -324,4 +324,10 @@ static ossl_inline void constant_time_lookup(void *out, } } +/* + * Expected usage pattern is to unconditionally set error and then + * wipe it if there was no actual error. |clear| is 1 or 0. + */ +void err_clear_last_constant_time(int clear); + #endif /* HEADER_CONSTANT_TIME_LOCL_H */ From no-reply at appveyor.com Fri Nov 30 16:00:54 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 30 Nov 2018 16:00:54 +0000 Subject: [openssl-commits] Build completed: openssl master.21237 Message-ID: <20181130160054.1.CBE7D02B9C50B2E3@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 30 17:44:07 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 30 Nov 2018 17:44:07 +0000 Subject: [openssl-commits] Build failed: openssl master.21241 Message-ID: <20181130174407.1.4EB551C85BAEAF04@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Nov 30 19:20:12 2018 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 30 Nov 2018 19:20:12 +0000 Subject: [openssl-commits] Build completed: openssl master.21242 Message-ID: <20181130192012.1.BCADA4477D5FE886@appveyor.com> An HTML attachment was scrubbed... URL: