From no-reply at appveyor.com Sat Jun 1 04:34:15 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 01 Jun 2019 04:34:15 +0000 Subject: Build failed: openssl master.24878 Message-ID: <20190601043415.1.9163D219133AE25E@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 1 04:58:52 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 01 Jun 2019 04:58:52 +0000 Subject: Build failed: openssl master.24880 Message-ID: <20190601045852.1.E5AE24523D4C3E3A@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 1 05:34:20 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 01 Jun 2019 05:34:20 +0000 Subject: Build completed: openssl master.24881 Message-ID: <20190601053420.1.9F20C7D4A3B664D1@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Sat Jun 1 07:55:57 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Sat, 01 Jun 2019 07:55:57 +0000 Subject: [openssl] master update Message-ID: <1559375757.039326.8180.nullmailer@dev.openssl.org> The branch master has been updated via ff62cad6dd36a4c34df4c2c5579d048e107f8e8f (commit) from 8be6a4ed02297f380bbea269f2e1c08a592444bc (commit) - Log ----------------------------------------------------------------- commit ff62cad6dd36a4c34df4c2c5579d048e107f8e8f Author: Pauli Date: Sat Jun 1 17:55:33 2019 +1000 Add sparse array of const pointer type Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/8840) ----------------------------------------------------------------------- Summary of changes: crypto/include/internal/sparse_array.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crypto/include/internal/sparse_array.h b/crypto/include/internal/sparse_array.h index ec3fb2f..037ccfe 100644 --- a/crypto/include/internal/sparse_array.h +++ b/crypto/include/internal/sparse_array.h @@ -19,7 +19,7 @@ extern "C" { # define SPARSE_ARRAY_OF(type) struct sparse_array_st_ ## type -# define DEFINE_SPARSE_ARRAY_OF(type) \ +# define DEFINE_SPARSE_ARRAY_OF_INTERNAL(type, ctype) \ SPARSE_ARRAY_OF(type); \ static ossl_unused ossl_inline SPARSE_ARRAY_OF(type) * \ ossl_sa_##type##_new(void) \ @@ -53,18 +53,23 @@ extern "C" { void *))leaf, \ arg); \ } \ - static ossl_unused ossl_inline type *ossl_sa_##type##_get(const SPARSE_ARRAY_OF(type) *sa, \ + static ossl_unused ossl_inline ctype *ossl_sa_##type##_get(const SPARSE_ARRAY_OF(type) *sa, \ ossl_uintmax_t n) \ { \ return (type *)OPENSSL_SA_get((OPENSSL_SA *)sa, n); \ } \ static ossl_unused ossl_inline int ossl_sa_##type##_set(SPARSE_ARRAY_OF(type) *sa, \ - ossl_uintmax_t n, type *val) \ + ossl_uintmax_t n, ctype *val) \ { \ return OPENSSL_SA_set((OPENSSL_SA *)sa, n, (void *)val); \ } \ SPARSE_ARRAY_OF(type) +# define DEFINE_SPARSE_ARRAY_OF(type) \ + DEFINE_SPARSE_ARRAY_OF_INTERNAL(type, type) +# define DEFINE_SPARSE_ARRAY_OF_CONST(type) \ + DEFINE_SPARSE_ARRAY_OF_INTERNAL(type, const type) + typedef struct sparse_array_st OPENSSL_SA; OPENSSL_SA *OPENSSL_SA_new(void); void OPENSSL_SA_free(OPENSSL_SA *sa); From builds at travis-ci.org Sat Jun 1 08:15:54 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 01 Jun 2019 08:15:54 +0000 Subject: Still Failing: openssl/openssl#25464 (master - ff62cad) In-Reply-To: Message-ID: <5cf234397735a_43fc3ac42fdec13168d@f24f4aec-dc2e-41f9-ad2f-077090916ac3.mail> Build Update for openssl/openssl ------------------------------------- Build: #25464 Status: Still Failing Duration: 19 mins and 18 secs Commit: ff62cad (master) Author: Pauli Message: Add sparse array of const pointer type Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/8840) View the changeset: https://github.com/openssl/openssl/compare/8be6a4ed0229...ff62cad6dd36 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540019480?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 Jun 1 09:33:07 2019 From: levitte at openssl.org (Richard Levitte) Date: Sat, 01 Jun 2019 09:33:07 +0000 Subject: [openssl] master update Message-ID: <1559381587.710659.8865.nullmailer@dev.openssl.org> The branch master has been updated via aad07a2f26b15509598f9941b72270ea4f3f7cdd (commit) from ff62cad6dd36a4c34df4c2c5579d048e107f8e8f (commit) - Log ----------------------------------------------------------------- commit aad07a2f26b15509598f9941b72270ea4f3f7cdd Author: Richard Levitte Date: Sat Jun 1 07:07:48 2019 +0200 Windows: Add missing quotes in build file All invokations of $(PERL) need to be quoted, in case it contains spaces. That was forgotten in one spot. Fixes #9060 Reviewed-by: Shane Lontis Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9062) ----------------------------------------------------------------------- Summary of changes: Configurations/windows-makefile.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index de59794..a07e142 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -539,7 +539,7 @@ reconfigure reconf: $args{generator}->[1] || platform->dsoname($args{product}); return <<"EOF"; $target: $args{generator}->[0] $deps $mkdef - \$(PERL) $mkdef$ord_ver --ordinals $args{generator}->[0] --name $ord_name --OS windows > $target + "\$(PERL)" $mkdef$ord_ver --ordinals $args{generator}->[0] --name $ord_name --OS windows > $target EOF } elsif (!platform->isasm($args{src})) { my $target = $args{src}; From builds at travis-ci.org Sat Jun 1 09:52:12 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 01 Jun 2019 09:52:12 +0000 Subject: Still Failing: openssl/openssl#25466 (master - aad07a2) In-Reply-To: Message-ID: <5cf24acc5bdf_43fcb89bf05b01934ac@332ff0ea-6351-49d3-911e-fbf49e56aae4.mail> Build Update for openssl/openssl ------------------------------------- Build: #25466 Status: Still Failing Duration: 18 mins and 30 secs Commit: aad07a2 (master) Author: Richard Levitte Message: Windows: Add missing quotes in build file All invokations of $(PERL) need to be quoted, in case it contains spaces. That was forgotten in one spot. Fixes #9060 Reviewed-by: Shane Lontis Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9062) View the changeset: https://github.com/openssl/openssl/compare/ff62cad6dd36...aad07a2f26b1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540037619?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 scan-admin at coverity.com Sun Jun 2 07:29:22 2019 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 02 Jun 2019 07:29:22 +0000 (UTC) Subject: Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5cf37ad1a108b_10842ac098f38f5846fd@appnode-2.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-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEvyxzJHSwEoiXkZglM3WeHA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3zLxPDj61fBv13qSCgNeVt-2F2o7Ji50su7SMhiuzvvzRGFTfpC-2B-2Fd6TsXWn762k89A-2F4jEzX0dTgpM5hOoiV9P32lr-2FCH0v-2FGUiR9JaqNI6ARMbfgslAyxAGWqWy8vLNVqJAMyBtsGuryjtGANDdehxj5h6kJ-2Be1p-2FZTczDPMbTvoBBmhuuS65K2Y5xjhrXkdU-3D Build ID: 259546 Analysis Summary: New defects found: 2 Defects eliminated: 6 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-2BukuZt9UUdRZhgmgzAKchwAzH1nH3073xDEXNRgHN6zzUI-2FRfbrE6mNOeeukHUQw-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3zLxPDj61fBv13qSCgNeVt-2F2o7Ji50su7SMhiuzvvzRNjUG9vYPsAMW66ficKFhD8eMUR1iQDgjvhJQPLGNl5LaD5gQOZscPdv6v0K5CT6qrNvvdwYmMBZhMuS0IRE-2Bw71uCxJnDiZqU-2FojhrDFuCqPi2iUc4MNksYtRiSBPsr-2F6q5lTue24tVuWN5ut2JPYw-3D From pauli at openssl.org Mon Jun 3 00:58:00 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 03 Jun 2019 00:58:00 +0000 Subject: [openssl] master update Message-ID: <1559523480.604454.12012.nullmailer@dev.openssl.org> The branch master has been updated via 915bf45ee32826ed9eb612e4f82034a138dfeb41 (commit) from aad07a2f26b15509598f9941b72270ea4f3f7cdd (commit) - Log ----------------------------------------------------------------- commit 915bf45ee32826ed9eb612e4f82034a138dfeb41 Author: Pauli Date: Mon Jun 3 08:06:15 2019 +1000 Fix a typo in the property grammar that creates an ambiguous parse. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9065) ----------------------------------------------------------------------- Summary of changes: crypto/property/properties.ebnf | 2 +- crypto/property/properties.xhtml | 40 ++++++++++++++++++++-------------------- doc/man7/property.pod | 2 +- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/crypto/property/properties.ebnf b/crypto/property/properties.ebnf index 62e4f77..a55198b 100644 --- a/crypto/property/properties.ebnf +++ b/crypto/property/properties.ebnf @@ -3,7 +3,7 @@ Definition ::= PropertyName ( '=' Value )? ( ',' PropertyName ( '=' Value )? )* Query ::= PropertyQuery ( ',' PropertyQuery )* -PropertyQuery ::= '-'? PropertyName +PropertyQuery ::= '-' PropertyName | '?'? ( PropertyName (( '=' | '!=' ) Value)?) Value ::= NumberLiteral | StringLiteral diff --git a/crypto/property/properties.xhtml b/crypto/property/properties.xhtml index 0a613ef..d3a6874 100755 --- a/crypto/property/properties.xhtml +++ b/crypto/property/properties.xhtml @@ -302,7 +302,7 @@ , - no referencesPropertyQuery: + no referencesPropertyQuery: - - - - - - - PropertyName - - ? - - - PropertyName - - = - - - != - - - Value + + + - + + + PropertyName + + ? + + + PropertyName + + = + + + != + + + Value referenced by: diff --git a/doc/man7/property.pod b/doc/man7/property.pod index 1f8ee54..88f5400 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -94,7 +94,7 @@ The lexical syntax in EBNF is given by: Definition ::= PropertyName ( '=' Value )? ( ',' PropertyName ( '=' Value )? )* Query ::= PropertyQuery ( ',' PropertyQuery )* - PropertyQuery ::= '-'? PropertyName + PropertyQuery ::= '-' PropertyName | '?'? ( PropertyName (( '=' | '!=' ) Value)?) Value ::= NumberLiteral | StringLiteral StringLiteral ::= QuotedString | UnquotedString From builds at travis-ci.org Mon Jun 3 01:17:37 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 01:17:37 +0000 Subject: Still Failing: openssl/openssl#25476 (master - 915bf45) In-Reply-To: Message-ID: <5cf4753138eab_43fd91f51c34415989c@b6396048-6dbb-4053-8506-fcf1bb8d5d7c.mail> Build Update for openssl/openssl ------------------------------------- Build: #25476 Status: Still Failing Duration: 18 mins and 48 secs Commit: 915bf45 (master) Author: Pauli Message: Fix a typo in the property grammar that creates an ambiguous parse. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9065) View the changeset: https://github.com/openssl/openssl/compare/aad07a2f26b1...915bf45ee328 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540537052?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 shane.lontis at oracle.com Mon Jun 3 05:23:39 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Mon, 03 Jun 2019 05:23:39 +0000 Subject: [openssl] master update Message-ID: <1559539419.408580.12632.nullmailer@dev.openssl.org> The branch master has been updated via 19e512a8244a6f527d0194339a8f9fc45468537a (commit) from 915bf45ee32826ed9eb612e4f82034a138dfeb41 (commit) - Log ----------------------------------------------------------------- commit 19e512a8244a6f527d0194339a8f9fc45468537a Author: Shane Lontis Date: Mon Jun 3 15:19:48 2019 +1000 Add the content type attribute to additional CMS signerinfo. Fixes #8923 Found using the openssl cms -resign option. This uses an alternate path to do the signing which was not adding the required signed attribute content type. The content type attribute should always exist since it is required is there are any signed attributes. As the signing time attribute is always added in code, the content type attribute is also required. The CMS_si_check_attributes() method adds validity checks for signed and unsigned attributes e.g. The message digest attribute is a signed attribute that must exist if any signed attributes exist, it cannot be an unsigned attribute and there must only be one instance containing a single value. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8944) ----------------------------------------------------------------------- Summary of changes: crypto/cms/cms_att.c | 134 ++++++++++++++++++++- crypto/cms/cms_err.c | 5 +- crypto/cms/cms_lcl.h | 2 + crypto/cms/cms_sd.c | 36 +++++- crypto/err/openssl.txt | 2 + include/openssl/cmserr.h | 2 + test/recipes/80-test_cms.t | 69 ++++++++++- .../recipes/80-test_cms_data/bad_signtime_attr.cms | Bin 0 -> 1524 bytes test/recipes/80-test_cms_data/ct_multiple_attr.cms | Bin 0 -> 1549 bytes test/recipes/80-test_cms_data/no_ct_attr.cms | Bin 0 -> 1496 bytes test/recipes/80-test_cms_data/no_md_attr.cms | Bin 0 -> 1473 bytes 11 files changed, 242 insertions(+), 8 deletions(-) create mode 100644 test/recipes/80-test_cms_data/bad_signtime_attr.cms create mode 100644 test/recipes/80-test_cms_data/ct_multiple_attr.cms create mode 100644 test/recipes/80-test_cms_data/no_ct_attr.cms create mode 100644 test/recipes/80-test_cms_data/no_md_attr.cms diff --git a/crypto/cms/cms_att.c b/crypto/cms/cms_att.c index a68b9bc..e548180 100644 --- a/crypto/cms/cms_att.c +++ b/crypto/cms/cms_att.c @@ -13,6 +13,56 @@ #include #include #include "cms_lcl.h" +#include "internal/nelem.h" + +/*- + * Attribute flags. + * CMS attribute restrictions are discussed in + * - RFC 5652 Section 11. + * ESS attribute restrictions are discussed in + * - RFC 2634 Section 1.3.4 AND + * - RFC 5035 Section 5.4 + */ +/* This is a signed attribute */ +#define CMS_ATTR_F_SIGNED 0x01 +/* This is an unsigned attribute */ +#define CMS_ATTR_F_UNSIGNED 0x02 +/* Must be present if there are any other attributes of the same type */ +#define CMS_ATTR_F_REQUIRED_COND 0x10 +/* There can only be one instance of this attribute */ +#define CMS_ATTR_F_ONLY_ONE 0x20 +/* The Attribute's value must have exactly one entry */ +#define CMS_ATTR_F_ONE_ATTR_VALUE 0x40 + +/* Attributes rules for different attributes */ +static const struct { + int nid; /* The attribute id */ + int flags; +} cms_attribute_properties[] = { + /* See RFC Section 11 */ + { NID_pkcs9_contentType, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE + | CMS_ATTR_F_REQUIRED_COND }, + { NID_pkcs9_messageDigest, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE + | CMS_ATTR_F_REQUIRED_COND }, + { NID_pkcs9_signingTime, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_pkcs9_countersignature, CMS_ATTR_F_UNSIGNED }, + /* ESS */ + { NID_id_smime_aa_signingCertificate, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_id_smime_aa_signingCertificateV2, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_id_smime_aa_receiptRequest, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE } +}; /* CMS SignedData Attribute utilities */ @@ -149,4 +199,86 @@ void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, return X509at_get0_data_by_OBJ(si->unsignedAttrs, oid, lastpos, type); } -/* Specific attribute cases */ +/* + * Retrieve an attribute by nid from a stack of attributes starting at index + * *lastpos + 1. + * Returns the attribute or NULL if there is no attribute. + * If an attribute was found *lastpos returns the index of the found attribute. + */ +static X509_ATTRIBUTE *cms_attrib_get(int nid, + const STACK_OF(X509_ATTRIBUTE) *attrs, + int *lastpos) +{ + X509_ATTRIBUTE *at; + int loc; + + loc = X509at_get_attr_by_NID(attrs, nid, *lastpos); + if (loc < 0) + return NULL; + + at = X509at_get_attr(attrs, loc); + *lastpos = loc; + return at; +} + +static int cms_check_attribute(int nid, int flags, int type, + const STACK_OF(X509_ATTRIBUTE) *attrs, + int have_attrs) +{ + int lastpos = -1; + X509_ATTRIBUTE *at = cms_attrib_get(nid, attrs, &lastpos); + + if (at != NULL) { + int count = X509_ATTRIBUTE_count(at); + + /* Is this attribute allowed? */ + if (((flags & type) == 0) + /* check if multiple attributes of the same type are allowed */ + || (((flags & CMS_ATTR_F_ONLY_ONE) != 0) + && cms_attrib_get(nid, attrs, &lastpos) != NULL) + /* Check if attribute should have exactly one value in its set */ + || (((flags & CMS_ATTR_F_ONE_ATTR_VALUE) != 0) + && count != 1) + /* There should be at least one value */ + || count == 0) + return 0; + } else { + /* fail if a required attribute is missing */ + if (have_attrs + && ((flags & CMS_ATTR_F_REQUIRED_COND) != 0) + && (flags & type) != 0) + return 0; + } + return 1; +} + +/* + * Check that the signerinfo attributes obey the attribute rules which includes + * the following checks + * - If any signed attributes exist then there must be a Content Type + * and Message Digest attribute in the signed attributes. + * - The countersignature attribute is an optional unsigned attribute only. + * - Content Type, Message Digest, and Signing time attributes are signed + * attributes. Only one instance of each is allowed, with each of these + * attributes containing a single attribute value in its set. + */ +int CMS_si_check_attributes(const CMS_SignerInfo *si) +{ + int i; + int have_signed_attrs = (CMS_signed_get_attr_count(si) > 0); + int have_unsigned_attrs = (CMS_unsigned_get_attr_count(si) > 0); + + for (i = 0; i < (int)OSSL_NELEM(cms_attribute_properties); ++i) { + int nid = cms_attribute_properties[i].nid; + int flags = cms_attribute_properties[i].flags; + + if (!cms_check_attribute(nid, flags, CMS_ATTR_F_SIGNED, + si->signedAttrs, have_signed_attrs) + || !cms_check_attribute(nid, flags, CMS_ATTR_F_UNSIGNED, + si->unsignedAttrs, have_unsigned_attrs)) { + CMSerr(CMS_F_CMS_SI_CHECK_ATTRIBUTES, CMS_R_ATTRIBUTE_ERROR); + return 0; + } + } + return 1; +} diff --git a/crypto/cms/cms_err.c b/crypto/cms/cms_err.c index f7d4b7f..c05de0e 100644 --- a/crypto/cms/cms_err.c +++ b/crypto/cms/cms_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -150,6 +150,8 @@ static const ERR_STRING_DATA CMS_str_functs[] = { {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT, 0), "CMS_SignerInfo_verify_content"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SIGN_RECEIPT, 0), "CMS_sign_receipt"}, + {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SI_CHECK_ATTRIBUTES, 0), + "CMS_si_check_attributes"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_STREAM, 0), "CMS_stream"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_UNCOMPRESS, 0), "CMS_uncompress"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_VERIFY, 0), "CMS_verify"}, @@ -159,6 +161,7 @@ static const ERR_STRING_DATA CMS_str_functs[] = { static const ERR_STRING_DATA CMS_str_reasons[] = { {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ADD_SIGNER_ERROR), "add signer error"}, + {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ATTRIBUTE_ERROR), "attribute error"}, {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_ALREADY_PRESENT), "certificate already present"}, {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_HAS_NO_KEYID), diff --git a/crypto/cms/cms_lcl.h b/crypto/cms/cms_lcl.h index 64b673a..dbc329d 100644 --- a/crypto/cms/cms_lcl.h +++ b/crypto/cms/cms_lcl.h @@ -416,6 +416,8 @@ int cms_RecipientInfo_kari_encrypt(const CMS_ContentInfo *cms, /* PWRI routines */ int cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri, int en_de); +/* SignerInfo routines */ +int CMS_si_check_attributes(const CMS_SignerInfo *si); DECLARE_ASN1_ITEM(CMS_CertificateChoices) DECLARE_ASN1_ITEM(CMS_DigestedData) diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index 65261cf..40a3356 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -109,6 +109,27 @@ static void cms_sd_set_version(CMS_SignedData *sd) } +/* + * RFC 5652 Section 11.1 Content Type + * The content-type attribute within signed-data MUST + * 1) be present if there are signed attributes + * 2) match the content type in the signed-data, + * 3) be a signed attribute. + * 4) not have more than one copy of the attribute. + * + * Note that since the CMS_SignerInfo_sign() always adds the "signing time" + * attribute, the content type attribute MUST be added also. + * Assumptions: This assumes that the attribute does not already exist. + */ +static int cms_set_si_contentType_attr(CMS_ContentInfo *cms, CMS_SignerInfo *si) +{ + ASN1_OBJECT *ctype = cms->d.signedData->encapContentInfo->eContentType; + + /* Add the contentType attribute */ + return CMS_signed_add1_attr_by_NID(si, NID_pkcs9_contentType, + V_ASN1_OBJECT, ctype, -1) > 0; +} + /* Copy an existing messageDigest value */ static int cms_copy_messageDigest(CMS_ContentInfo *cms, CMS_SignerInfo *si) @@ -349,6 +370,8 @@ CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, if (flags & CMS_REUSE_DIGEST) { if (!cms_copy_messageDigest(cms, si)) goto err; + if (!cms_set_si_contentType_attr(cms, si)) + goto err; if (!(flags & (CMS_PARTIAL | CMS_KEY_PARAM)) && !CMS_SignerInfo_sign(si)) goto err; @@ -578,8 +601,6 @@ static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, */ if (CMS_signed_get_attr_count(si) >= 0) { - ASN1_OBJECT *ctype = - cms->d.signedData->encapContentInfo->eContentType; unsigned char md[EVP_MAX_MD_SIZE]; unsigned int mdlen; if (!EVP_DigestFinal_ex(mctx, md, &mdlen)) @@ -588,9 +609,9 @@ static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, V_ASN1_OCTET_STRING, md, mdlen)) goto err; /* Copy content type across */ - if (CMS_signed_add1_attr_by_NID(si, NID_pkcs9_contentType, - V_ASN1_OBJECT, ctype, -1) <= 0) + if (!cms_set_si_contentType_attr(cms, si)) goto err; + if (!CMS_SignerInfo_sign(si)) goto err; } else if (si->pctx) { @@ -670,6 +691,9 @@ int CMS_SignerInfo_sign(CMS_SignerInfo *si) goto err; } + if (!CMS_si_check_attributes(si)) + goto err; + if (si->pctx) pctx = si->pctx; else { @@ -716,7 +740,6 @@ int CMS_SignerInfo_sign(CMS_SignerInfo *si) OPENSSL_free(abuf); EVP_MD_CTX_reset(mctx); return 0; - } int CMS_SignerInfo_verify(CMS_SignerInfo *si) @@ -731,6 +754,9 @@ int CMS_SignerInfo_verify(CMS_SignerInfo *si) return -1; } + if (!CMS_si_check_attributes(si)) + return -1; + md = EVP_get_digestbyobj(si->digestAlgorithm->algorithm); if (md == NULL) return -1; diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 46a1f88..72057ac 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -318,6 +318,7 @@ CMS_F_CMS_SIGNERINFO_VERIFY:152:CMS_SignerInfo_verify CMS_F_CMS_SIGNERINFO_VERIFY_CERT:153:cms_signerinfo_verify_cert CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT:154:CMS_SignerInfo_verify_content CMS_F_CMS_SIGN_RECEIPT:163:CMS_sign_receipt +CMS_F_CMS_SI_CHECK_ATTRIBUTES:183:CMS_si_check_attributes CMS_F_CMS_STREAM:155:CMS_stream CMS_F_CMS_UNCOMPRESS:156:CMS_uncompress CMS_F_CMS_VERIFY:157:CMS_verify @@ -2061,6 +2062,7 @@ BN_R_P_IS_NOT_PRIME:112:p is not prime BN_R_TOO_MANY_ITERATIONS:113:too many iterations BN_R_TOO_MANY_TEMPORARY_VARIABLES:109:too many temporary variables CMS_R_ADD_SIGNER_ERROR:99:add signer error +CMS_R_ATTRIBUTE_ERROR:161:attribute error CMS_R_CERTIFICATE_ALREADY_PRESENT:175:certificate already present CMS_R_CERTIFICATE_HAS_NO_KEYID:160:certificate has no keyid CMS_R_CERTIFICATE_VERIFY_ERROR:100:certificate verify error diff --git a/include/openssl/cmserr.h b/include/openssl/cmserr.h index 1919a88..eba163a 100644 --- a/include/openssl/cmserr.h +++ b/include/openssl/cmserr.h @@ -107,6 +107,7 @@ int ERR_load_CMS_strings(void); # define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 # define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 # define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183 # define CMS_F_CMS_STREAM 155 # define CMS_F_CMS_UNCOMPRESS 156 # define CMS_F_CMS_VERIFY 157 @@ -116,6 +117,7 @@ int ERR_load_CMS_strings(void); * CMS reason codes. */ # define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_ATTRIBUTE_ERROR 161 # define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 # define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 # define CMS_R_CERTIFICATE_VERIFY_ERROR 100 diff --git a/test/recipes/80-test_cms.t b/test/recipes/80-test_cms.t index 1e28058..868affc 100644 --- a/test/recipes/80-test_cms.t +++ b/test/recipes/80-test_cms.t @@ -21,12 +21,13 @@ setup("test_cms"); plan skip_all => "CMS is not supported by this OpenSSL build" if disabled("cms"); +my $datadir = srctop_dir("test", "recipes", "80-test_cms_data"); my $smdir = srctop_dir("test", "smime-certs"); my $smcont = srctop_file("test", "smcont.txt"); my ($no_des, $no_dh, $no_dsa, $no_ec, $no_ec2m, $no_rc2, $no_zlib) = disabled qw/des dh dsa ec ec2m rc2 zlib/; -plan tests => 4; +plan tests => 6; my @smime_pkcs7_tests = ( @@ -416,6 +417,26 @@ my @smime_cms_param_tests = ( ] ); +my @contenttype_cms_test = ( + [ "signed content test - check that content type is added to additional signerinfo, RSA keys", + [ "-sign", "-binary", "-nodetach", "-stream", "-in", $smcont, "-outform", "DER", + "-signer", catfile($smdir, "smrsa1.pem"), "-md", "SHA256", + "-out", "test.cms" ], + [ "-resign", "-binary", "-nodetach", "-in", "test.cms", "-inform", "DER", "-outform", "DER", + "-signer", catfile($smdir, "smrsa2.pem"), "-md", "SHA256", + "-out", "test2.cms" ], + [ "-verify", "-in", "test2.cms", "-inform", "DER", + "-CAfile", catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ] + ], +); + +my @incorrect_attribute_cms_test = ( + "bad_signtime_attr.cms", + "no_ct_attr.cms", + "no_md_attr.cms", + "ct_multiple_attr.cms" +); + subtest "CMS => PKCS#7 compatibility tests\n" => sub { plan tests => scalar @smime_pkcs7_tests; @@ -509,6 +530,52 @@ subtest "CMS <=> CMS consistency tests, modified key parameters\n" => sub { } }; +# Returns the number of matches of a Content Type Attribute in a binary file. +sub contentType_matches { + # Read in a binary file + my ($in) = @_; + open (HEX_IN, "$in") or die("open failed for $in : $!"); + binmode(HEX_IN); + local $/; + my $str = ; + + # Find ASN1 data for a Content Type Attribute (with a OID of PKCS7 data) + my @c = $str =~ /\x30\x18\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x03\x31\x0B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x07\x01/gs; + + close(HEX_IN); + return scalar(@c); +} + +subtest "CMS Check the content type attribute is added for additional signers\n" => sub { + plan tests => + (scalar @contenttype_cms_test); + + foreach (@contenttype_cms_test) { + SKIP: { + my $skip_reason = check_availability($$_[0]); + skip $skip_reason, 1 if $skip_reason; + + ok(run(app(["openssl", "cms", @{$$_[1]}])) + && run(app(["openssl", "cms", @{$$_[2]}])) + && contentType_matches("test2.cms") == 2 + && run(app(["openssl", "cms", @{$$_[3]}])), + $$_[0]); + } + } +}; + +subtest "CMS Check that bad attributes fail when verifying signers\n" => sub { + plan tests => + (scalar @incorrect_attribute_cms_test); + + foreach my $name (@incorrect_attribute_cms_test) { + ok(!run(app(["openssl", "cms", "-verify", "-in", + catfile($datadir, $name), "-inform", "DER", "-CAfile", + catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ])), + $name); + } +}; + unlink "test.cms"; unlink "test2.cms"; unlink "smtst.txt"; diff --git a/test/recipes/80-test_cms_data/bad_signtime_attr.cms b/test/recipes/80-test_cms_data/bad_signtime_attr.cms new file mode 100644 index 0000000..048a493 Binary files /dev/null and b/test/recipes/80-test_cms_data/bad_signtime_attr.cms differ diff --git a/test/recipes/80-test_cms_data/ct_multiple_attr.cms b/test/recipes/80-test_cms_data/ct_multiple_attr.cms new file mode 100644 index 0000000..974db6e Binary files /dev/null and b/test/recipes/80-test_cms_data/ct_multiple_attr.cms differ diff --git a/test/recipes/80-test_cms_data/no_ct_attr.cms b/test/recipes/80-test_cms_data/no_ct_attr.cms new file mode 100644 index 0000000..64b688b Binary files /dev/null and b/test/recipes/80-test_cms_data/no_ct_attr.cms differ diff --git a/test/recipes/80-test_cms_data/no_md_attr.cms b/test/recipes/80-test_cms_data/no_md_attr.cms new file mode 100644 index 0000000..d0a3afa Binary files /dev/null and b/test/recipes/80-test_cms_data/no_md_attr.cms differ From shane.lontis at oracle.com Mon Jun 3 05:27:22 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Mon, 03 Jun 2019 05:27:22 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559539642.299526.22448.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via d63d841fb510a920275c66d3e486089c5c718797 (commit) from 9517295b7f3c3ea7bed254b426ee45dcb60e655a (commit) - Log ----------------------------------------------------------------- commit d63d841fb510a920275c66d3e486089c5c718797 Author: Shane Lontis Date: Mon Jun 3 15:19:48 2019 +1000 Add the content type attribute to additional CMS signerinfo. Fixes #8923 Found using the openssl cms -resign option. This uses an alternate path to do the signing which was not adding the required signed attribute content type. The content type attribute should always exist since it is required is there are any signed attributes. As the signing time attribute is always added in code, the content type attribute is also required. The CMS_si_check_attributes() method adds validity checks for signed and unsigned attributes e.g. The message digest attribute is a signed attribute that must exist if any signed attributes exist, it cannot be an unsigned attribute and there must only be one instance containing a single value. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8944) (cherry picked from commit 19e512a8244a6f527d0194339a8f9fc45468537a) ----------------------------------------------------------------------- Summary of changes: crypto/cms/cms_att.c | 134 ++++++++++++++++++++- crypto/cms/cms_err.c | 5 +- crypto/cms/cms_lcl.h | 2 + crypto/cms/cms_sd.c | 36 +++++- crypto/err/openssl.txt | 2 + include/openssl/cmserr.h | 2 + test/recipes/80-test_cms.t | 69 ++++++++++- .../recipes/80-test_cms_data/bad_signtime_attr.cms | Bin 0 -> 1524 bytes test/recipes/80-test_cms_data/ct_multiple_attr.cms | Bin 0 -> 1549 bytes test/recipes/80-test_cms_data/no_ct_attr.cms | Bin 0 -> 1496 bytes test/recipes/80-test_cms_data/no_md_attr.cms | Bin 0 -> 1473 bytes 11 files changed, 242 insertions(+), 8 deletions(-) create mode 100644 test/recipes/80-test_cms_data/bad_signtime_attr.cms create mode 100644 test/recipes/80-test_cms_data/ct_multiple_attr.cms create mode 100644 test/recipes/80-test_cms_data/no_ct_attr.cms create mode 100644 test/recipes/80-test_cms_data/no_md_attr.cms diff --git a/crypto/cms/cms_att.c b/crypto/cms/cms_att.c index 664e649..588db4d 100644 --- a/crypto/cms/cms_att.c +++ b/crypto/cms/cms_att.c @@ -13,6 +13,56 @@ #include #include #include "cms_lcl.h" +#include "internal/nelem.h" + +/*- + * Attribute flags. + * CMS attribute restrictions are discussed in + * - RFC 5652 Section 11. + * ESS attribute restrictions are discussed in + * - RFC 2634 Section 1.3.4 AND + * - RFC 5035 Section 5.4 + */ +/* This is a signed attribute */ +#define CMS_ATTR_F_SIGNED 0x01 +/* This is an unsigned attribute */ +#define CMS_ATTR_F_UNSIGNED 0x02 +/* Must be present if there are any other attributes of the same type */ +#define CMS_ATTR_F_REQUIRED_COND 0x10 +/* There can only be one instance of this attribute */ +#define CMS_ATTR_F_ONLY_ONE 0x20 +/* The Attribute's value must have exactly one entry */ +#define CMS_ATTR_F_ONE_ATTR_VALUE 0x40 + +/* Attributes rules for different attributes */ +static const struct { + int nid; /* The attribute id */ + int flags; +} cms_attribute_properties[] = { + /* See RFC Section 11 */ + { NID_pkcs9_contentType, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE + | CMS_ATTR_F_REQUIRED_COND }, + { NID_pkcs9_messageDigest, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE + | CMS_ATTR_F_REQUIRED_COND }, + { NID_pkcs9_signingTime, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_pkcs9_countersignature, CMS_ATTR_F_UNSIGNED }, + /* ESS */ + { NID_id_smime_aa_signingCertificate, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_id_smime_aa_signingCertificateV2, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE }, + { NID_id_smime_aa_receiptRequest, CMS_ATTR_F_SIGNED + | CMS_ATTR_F_ONLY_ONE + | CMS_ATTR_F_ONE_ATTR_VALUE } +}; /* CMS SignedData Attribute utilities */ @@ -149,4 +199,86 @@ void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, return X509at_get0_data_by_OBJ(si->unsignedAttrs, oid, lastpos, type); } -/* Specific attribute cases */ +/* + * Retrieve an attribute by nid from a stack of attributes starting at index + * *lastpos + 1. + * Returns the attribute or NULL if there is no attribute. + * If an attribute was found *lastpos returns the index of the found attribute. + */ +static X509_ATTRIBUTE *cms_attrib_get(int nid, + const STACK_OF(X509_ATTRIBUTE) *attrs, + int *lastpos) +{ + X509_ATTRIBUTE *at; + int loc; + + loc = X509at_get_attr_by_NID(attrs, nid, *lastpos); + if (loc < 0) + return NULL; + + at = X509at_get_attr(attrs, loc); + *lastpos = loc; + return at; +} + +static int cms_check_attribute(int nid, int flags, int type, + const STACK_OF(X509_ATTRIBUTE) *attrs, + int have_attrs) +{ + int lastpos = -1; + X509_ATTRIBUTE *at = cms_attrib_get(nid, attrs, &lastpos); + + if (at != NULL) { + int count = X509_ATTRIBUTE_count(at); + + /* Is this attribute allowed? */ + if (((flags & type) == 0) + /* check if multiple attributes of the same type are allowed */ + || (((flags & CMS_ATTR_F_ONLY_ONE) != 0) + && cms_attrib_get(nid, attrs, &lastpos) != NULL) + /* Check if attribute should have exactly one value in its set */ + || (((flags & CMS_ATTR_F_ONE_ATTR_VALUE) != 0) + && count != 1) + /* There should be at least one value */ + || count == 0) + return 0; + } else { + /* fail if a required attribute is missing */ + if (have_attrs + && ((flags & CMS_ATTR_F_REQUIRED_COND) != 0) + && (flags & type) != 0) + return 0; + } + return 1; +} + +/* + * Check that the signerinfo attributes obey the attribute rules which includes + * the following checks + * - If any signed attributes exist then there must be a Content Type + * and Message Digest attribute in the signed attributes. + * - The countersignature attribute is an optional unsigned attribute only. + * - Content Type, Message Digest, and Signing time attributes are signed + * attributes. Only one instance of each is allowed, with each of these + * attributes containing a single attribute value in its set. + */ +int CMS_si_check_attributes(const CMS_SignerInfo *si) +{ + int i; + int have_signed_attrs = (CMS_signed_get_attr_count(si) > 0); + int have_unsigned_attrs = (CMS_unsigned_get_attr_count(si) > 0); + + for (i = 0; i < (int)OSSL_NELEM(cms_attribute_properties); ++i) { + int nid = cms_attribute_properties[i].nid; + int flags = cms_attribute_properties[i].flags; + + if (!cms_check_attribute(nid, flags, CMS_ATTR_F_SIGNED, + si->signedAttrs, have_signed_attrs) + || !cms_check_attribute(nid, flags, CMS_ATTR_F_UNSIGNED, + si->unsignedAttrs, have_unsigned_attrs)) { + CMSerr(CMS_F_CMS_SI_CHECK_ATTRIBUTES, CMS_R_ATTRIBUTE_ERROR); + return 0; + } + } + return 1; +} diff --git a/crypto/cms/cms_err.c b/crypto/cms/cms_err.c index 4432b47..a211f49 100644 --- a/crypto/cms/cms_err.c +++ b/crypto/cms/cms_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 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 @@ -146,6 +146,8 @@ static const ERR_STRING_DATA CMS_str_functs[] = { {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT, 0), "CMS_SignerInfo_verify_content"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SIGN_RECEIPT, 0), "CMS_sign_receipt"}, + {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_SI_CHECK_ATTRIBUTES, 0), + "CMS_si_check_attributes"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_STREAM, 0), "CMS_stream"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_UNCOMPRESS, 0), "CMS_uncompress"}, {ERR_PACK(ERR_LIB_CMS, CMS_F_CMS_VERIFY, 0), "CMS_verify"}, @@ -155,6 +157,7 @@ static const ERR_STRING_DATA CMS_str_functs[] = { static const ERR_STRING_DATA CMS_str_reasons[] = { {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ADD_SIGNER_ERROR), "add signer error"}, + {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ATTRIBUTE_ERROR), "attribute error"}, {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_ALREADY_PRESENT), "certificate already present"}, {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_HAS_NO_KEYID), diff --git a/crypto/cms/cms_lcl.h b/crypto/cms/cms_lcl.h index 916fcbf..efc958d 100644 --- a/crypto/cms/cms_lcl.h +++ b/crypto/cms/cms_lcl.h @@ -416,6 +416,8 @@ int cms_RecipientInfo_kari_encrypt(CMS_ContentInfo *cms, /* PWRI routines */ int cms_RecipientInfo_pwri_crypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri, int en_de); +/* SignerInfo routines */ +int CMS_si_check_attributes(const CMS_SignerInfo *si); DECLARE_ASN1_ITEM(CMS_CertificateChoices) DECLARE_ASN1_ITEM(CMS_DigestedData) diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index ff2d540..1cb6757 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -109,6 +109,27 @@ static void cms_sd_set_version(CMS_SignedData *sd) } +/* + * RFC 5652 Section 11.1 Content Type + * The content-type attribute within signed-data MUST + * 1) be present if there are signed attributes + * 2) match the content type in the signed-data, + * 3) be a signed attribute. + * 4) not have more than one copy of the attribute. + * + * Note that since the CMS_SignerInfo_sign() always adds the "signing time" + * attribute, the content type attribute MUST be added also. + * Assumptions: This assumes that the attribute does not already exist. + */ +static int cms_set_si_contentType_attr(CMS_ContentInfo *cms, CMS_SignerInfo *si) +{ + ASN1_OBJECT *ctype = cms->d.signedData->encapContentInfo->eContentType; + + /* Add the contentType attribute */ + return CMS_signed_add1_attr_by_NID(si, NID_pkcs9_contentType, + V_ASN1_OBJECT, ctype, -1) > 0; +} + /* Copy an existing messageDigest value */ static int cms_copy_messageDigest(CMS_ContentInfo *cms, CMS_SignerInfo *si) @@ -328,6 +349,8 @@ CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, if (flags & CMS_REUSE_DIGEST) { if (!cms_copy_messageDigest(cms, si)) goto err; + if (!cms_set_si_contentType_attr(cms, si)) + goto err; if (!(flags & (CMS_PARTIAL | CMS_KEY_PARAM)) && !CMS_SignerInfo_sign(si)) goto err; @@ -558,8 +581,6 @@ static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, */ if (CMS_signed_get_attr_count(si) >= 0) { - ASN1_OBJECT *ctype = - cms->d.signedData->encapContentInfo->eContentType; unsigned char md[EVP_MAX_MD_SIZE]; unsigned int mdlen; if (!EVP_DigestFinal_ex(mctx, md, &mdlen)) @@ -568,9 +589,9 @@ static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms, V_ASN1_OCTET_STRING, md, mdlen)) goto err; /* Copy content type across */ - if (CMS_signed_add1_attr_by_NID(si, NID_pkcs9_contentType, - V_ASN1_OBJECT, ctype, -1) <= 0) + if (!cms_set_si_contentType_attr(cms, si)) goto err; + if (!CMS_SignerInfo_sign(si)) goto err; } else if (si->pctx) { @@ -650,6 +671,9 @@ int CMS_SignerInfo_sign(CMS_SignerInfo *si) goto err; } + if (!CMS_si_check_attributes(si)) + goto err; + if (si->pctx) pctx = si->pctx; else { @@ -696,7 +720,6 @@ int CMS_SignerInfo_sign(CMS_SignerInfo *si) OPENSSL_free(abuf); EVP_MD_CTX_reset(mctx); return 0; - } int CMS_SignerInfo_verify(CMS_SignerInfo *si) @@ -711,6 +734,9 @@ int CMS_SignerInfo_verify(CMS_SignerInfo *si) return -1; } + if (!CMS_si_check_attributes(si)) + return -1; + md = EVP_get_digestbyobj(si->digestAlgorithm->algorithm); if (md == NULL) return -1; diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index feff1dc..bf440f3 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -314,6 +314,7 @@ CMS_F_CMS_SIGNERINFO_VERIFY:152:CMS_SignerInfo_verify CMS_F_CMS_SIGNERINFO_VERIFY_CERT:153:cms_signerinfo_verify_cert CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT:154:CMS_SignerInfo_verify_content CMS_F_CMS_SIGN_RECEIPT:163:CMS_sign_receipt +CMS_F_CMS_SI_CHECK_ATTRIBUTES:183:CMS_si_check_attributes CMS_F_CMS_STREAM:155:CMS_stream CMS_F_CMS_UNCOMPRESS:156:CMS_uncompress CMS_F_CMS_VERIFY:157:CMS_verify @@ -1930,6 +1931,7 @@ BN_R_P_IS_NOT_PRIME:112:p is not prime BN_R_TOO_MANY_ITERATIONS:113:too many iterations BN_R_TOO_MANY_TEMPORARY_VARIABLES:109:too many temporary variables CMS_R_ADD_SIGNER_ERROR:99:add signer error +CMS_R_ATTRIBUTE_ERROR:161:attribute error CMS_R_CERTIFICATE_ALREADY_PRESENT:175:certificate already present CMS_R_CERTIFICATE_HAS_NO_KEYID:160:certificate has no keyid CMS_R_CERTIFICATE_VERIFY_ERROR:100:certificate verify error diff --git a/include/openssl/cmserr.h b/include/openssl/cmserr.h index 3f8ae26..f011965 100644 --- a/include/openssl/cmserr.h +++ b/include/openssl/cmserr.h @@ -101,6 +101,7 @@ int ERR_load_CMS_strings(void); # define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 # define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 # define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183 # define CMS_F_CMS_STREAM 155 # define CMS_F_CMS_UNCOMPRESS 156 # define CMS_F_CMS_VERIFY 157 @@ -110,6 +111,7 @@ int ERR_load_CMS_strings(void); * CMS reason codes. */ # define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_ATTRIBUTE_ERROR 161 # define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 # define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 # define CMS_R_CERTIFICATE_VERIFY_ERROR 100 diff --git a/test/recipes/80-test_cms.t b/test/recipes/80-test_cms.t index b57ca66..5dc6a3a 100644 --- a/test/recipes/80-test_cms.t +++ b/test/recipes/80-test_cms.t @@ -21,12 +21,13 @@ setup("test_cms"); plan skip_all => "CMS is not supported by this OpenSSL build" if disabled("cms"); +my $datadir = srctop_dir("test", "recipes", "80-test_cms_data"); my $smdir = srctop_dir("test", "smime-certs"); my $smcont = srctop_file("test", "smcont.txt"); my ($no_des, $no_dh, $no_dsa, $no_ec, $no_ec2m, $no_rc2, $no_zlib) = disabled qw/des dh dsa ec ec2m rc2 zlib/; -plan tests => 4; +plan tests => 6; my @smime_pkcs7_tests = ( @@ -400,6 +401,26 @@ my @smime_cms_param_tests = ( ] ); +my @contenttype_cms_test = ( + [ "signed content test - check that content type is added to additional signerinfo, RSA keys", + [ "-sign", "-binary", "-nodetach", "-stream", "-in", $smcont, "-outform", "DER", + "-signer", catfile($smdir, "smrsa1.pem"), "-md", "SHA256", + "-out", "test.cms" ], + [ "-resign", "-binary", "-nodetach", "-in", "test.cms", "-inform", "DER", "-outform", "DER", + "-signer", catfile($smdir, "smrsa2.pem"), "-md", "SHA256", + "-out", "test2.cms" ], + [ "-verify", "-in", "test2.cms", "-inform", "DER", + "-CAfile", catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ] + ], +); + +my @incorrect_attribute_cms_test = ( + "bad_signtime_attr.cms", + "no_ct_attr.cms", + "no_md_attr.cms", + "ct_multiple_attr.cms" +); + subtest "CMS => PKCS#7 compatibility tests\n" => sub { plan tests => scalar @smime_pkcs7_tests; @@ -493,6 +514,52 @@ subtest "CMS <=> CMS consistency tests, modified key parameters\n" => sub { } }; +# Returns the number of matches of a Content Type Attribute in a binary file. +sub contentType_matches { + # Read in a binary file + my ($in) = @_; + open (HEX_IN, "$in") or die("open failed for $in : $!"); + binmode(HEX_IN); + local $/; + my $str = ; + + # Find ASN1 data for a Content Type Attribute (with a OID of PKCS7 data) + my @c = $str =~ /\x30\x18\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x03\x31\x0B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x07\x01/gs; + + close(HEX_IN); + return scalar(@c); +} + +subtest "CMS Check the content type attribute is added for additional signers\n" => sub { + plan tests => + (scalar @contenttype_cms_test); + + foreach (@contenttype_cms_test) { + SKIP: { + my $skip_reason = check_availability($$_[0]); + skip $skip_reason, 1 if $skip_reason; + + ok(run(app(["openssl", "cms", @{$$_[1]}])) + && run(app(["openssl", "cms", @{$$_[2]}])) + && contentType_matches("test2.cms") == 2 + && run(app(["openssl", "cms", @{$$_[3]}])), + $$_[0]); + } + } +}; + +subtest "CMS Check that bad attributes fail when verifying signers\n" => sub { + plan tests => + (scalar @incorrect_attribute_cms_test); + + foreach my $name (@incorrect_attribute_cms_test) { + ok(!run(app(["openssl", "cms", "-verify", "-in", + catfile($datadir, $name), "-inform", "DER", "-CAfile", + catfile($smdir, "smroot.pem"), "-out", "smtst.txt" ])), + $name); + } +}; + unlink "test.cms"; unlink "test2.cms"; unlink "smtst.txt"; diff --git a/test/recipes/80-test_cms_data/bad_signtime_attr.cms b/test/recipes/80-test_cms_data/bad_signtime_attr.cms new file mode 100644 index 0000000..048a493 Binary files /dev/null and b/test/recipes/80-test_cms_data/bad_signtime_attr.cms differ diff --git a/test/recipes/80-test_cms_data/ct_multiple_attr.cms b/test/recipes/80-test_cms_data/ct_multiple_attr.cms new file mode 100644 index 0000000..974db6e Binary files /dev/null and b/test/recipes/80-test_cms_data/ct_multiple_attr.cms differ diff --git a/test/recipes/80-test_cms_data/no_ct_attr.cms b/test/recipes/80-test_cms_data/no_ct_attr.cms new file mode 100644 index 0000000..64b688b Binary files /dev/null and b/test/recipes/80-test_cms_data/no_ct_attr.cms differ diff --git a/test/recipes/80-test_cms_data/no_md_attr.cms b/test/recipes/80-test_cms_data/no_md_attr.cms new file mode 100644 index 0000000..d0a3afa Binary files /dev/null and b/test/recipes/80-test_cms_data/no_md_attr.cms differ From openssl at openssl.org Mon Jun 3 05:56:15 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 03 Jun 2019 05:56:15 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1559541375.217253.20933.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=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: aad07a2f26 Windows: Add missing quotes in build file ff62cad6dd Add sparse array of const pointer type 8be6a4ed02 Fix various mistakes in ec_GFp_nistp_recode_scalar_bits comment. fdbb3a8655 Fix CHECK_BSD_STYLE_MACROS for OpenBSD and cryptodev-linux 3527cfcf28 Update X509_STORE_new.pod 24626a47fb Constify OSSL_PROVIDER getter input parameters 3c9a8d4a51 Update EVP_VerifyInit.pod Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:357: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_pop_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:359: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:359: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:361: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:366: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:366: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:367: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:365: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:371: more undefined references to `__afl_prev_loc' follow crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_num': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:379: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:381: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:381: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_value': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:384: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:384: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:386: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:388: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:389: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_set': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:391: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:391: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:393: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:395: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:398: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_sort': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:400: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:400: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:402: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:402: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:403: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:404: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:405: undefined reference to `__afl_prev_loc' crypto/stack/fips-dso-stack.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:407: more undefined references to `__afl_prev_loc' follow crypto/stack/fips-dso-stack.o: In function `OPENSSL_sk_is_sorted': /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:409: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:411: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/crypto/stack/stack.c:411: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha2.o: In function `sha256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:43: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:43: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:31: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:31: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:35: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:36: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:41: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha2.o: In function `sha256_freectx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:50: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:50: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_dupctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:57: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:57: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:69: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:69: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:74: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:74: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:135: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:151: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:154: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:191: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:200: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:200: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:212: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:212: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:219: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:219: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:72: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:72: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:77: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:77: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:83: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:85: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:88: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:102: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:6986: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From builds at travis-ci.org Mon Jun 3 05:45:17 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 05:45:17 +0000 Subject: Still Failing: openssl/openssl#25481 (master - 19e512a) In-Reply-To: Message-ID: <5cf4b3ec2b2eb_43f92eb03936012571d@cfd4fdd9-71fd-4ec5-ac0b-ac9d5e5bf3c5.mail> Build Update for openssl/openssl ------------------------------------- Build: #25481 Status: Still Failing Duration: 21 mins and 1 sec Commit: 19e512a (master) Author: Shane Lontis Message: Add the content type attribute to additional CMS signerinfo. Fixes #8923 Found using the openssl cms -resign option. This uses an alternate path to do the signing which was not adding the required signed attribute content type. The content type attribute should always exist since it is required is there are any signed attributes. As the signing time attribute is always added in code, the content type attribute is also required. The CMS_si_check_attributes() method adds validity checks for signed and unsigned attributes e.g. The message digest attribute is a signed attribute that must exist if any signed attributes exist, it cannot be an unsigned attribute and there must only be one instance containing a single value. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8944) View the changeset: https://github.com/openssl/openssl/compare/915bf45ee328...19e512a8244a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540586608?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 Jun 3 06:43:22 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 03 Jun 2019 06:43:22 +0000 Subject: [openssl] master update Message-ID: <1559544202.259555.30092.nullmailer@dev.openssl.org> The branch master has been updated via b6db5b3d50a827ae3e6824370c541c33ae87e250 (commit) from 19e512a8244a6f527d0194339a8f9fc45468537a (commit) - Log ----------------------------------------------------------------- commit b6db5b3d50a827ae3e6824370c541c33ae87e250 Author: Pauli Date: Mon Jun 3 08:38:01 2019 +1000 Remove file reference from property documentation. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9066) ----------------------------------------------------------------------- Summary of changes: crypto/property/properties.xhtml | 685 --------------------------------------- doc/man7/property.pod | 3 - 2 files changed, 688 deletions(-) delete mode 100755 crypto/property/properties.xhtml diff --git a/crypto/property/properties.xhtml b/crypto/property/properties.xhtml deleted file mode 100755 index d3a6874..0000000 --- a/crypto/property/properties.xhtml +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - Definition: - - - - - - - - PropertyName - - = - - - Value - - , - - - no referencesQuery: - - - - - - - - PropertyQuery - - , - - - no referencesPropertyQuery: - - - - - - - - - - - - PropertyName - - ? - - - PropertyName - - = - - - != - - - Value - - referenced by: - - Query - - Value: - - - - - - - - NumberLiteral - - - StringLiteral - - referenced by: - - Definition - PropertyQuery - - StringLiteral: - - - - - - - - QuotedString - - - UnquotedString - - referenced by: - - Value - - QuotedString: - - - - - - - - " - - - [^"] - - - " - - - ' - - - [^'] - - - ' - - - referenced by: - - StringLiteral - - UnquotedString: - - - - - - - - [^{space},] - - - referenced by: - - StringLiteral - - NumberLiteral: - - - - - - - - 0 - - - [0-7] - - - x - - - [0-9] - - - [A-F] - - - [a-f] - - - - - - - [1-9] - - - [0-9] - - - referenced by: - - Value - - PropertyName: - - - - - - - - [A-Z] - - - [A-Z] - - - [0-9] - - - _ - - - . - - - referenced by: - - Definition - PropertyQuery - - - - - - ? - - ... generated by Railroad Diagram Generator - - - - - - - - R - R - - - - - - \ No newline at end of file diff --git a/doc/man7/property.pod b/doc/man7/property.pod index 88f5400..e05f112 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -103,9 +103,6 @@ The lexical syntax in EBNF is given by: NumberLiteral ::= '0' ( [0-7]* | 'x' [0-9A-Fa-f]+ ) | '-'? [1-9] [0-9]+ PropertyName ::= [A-Z] [A-Z0-9_]* ( '.' [A-Z] [A-Z0-9_]* )* -Railroad diagrams for this grammar can be found in the -F file. - =head1 HISTORY Properties were added in OpenSSL 3.0 From builds at travis-ci.org Mon Jun 3 07:02:27 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 07:02:27 +0000 Subject: Still Failing: openssl/openssl#25485 (master - b6db5b3) In-Reply-To: Message-ID: <5cf4c60324779_43fd3d2c593c0638ab@47937e54-647d-4b64-a1ac-7f64297bcd34.mail> Build Update for openssl/openssl ------------------------------------- Build: #25485 Status: Still Failing Duration: 18 mins and 30 secs Commit: b6db5b3 (master) Author: Pauli Message: Remove file reference from property documentation. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9066) View the changeset: https://github.com/openssl/openssl/compare/19e512a8244a...b6db5b3d50a8 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540603171?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 Mon Jun 3 11:01:40 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 03 Jun 2019 11:01:40 +0000 Subject: [openssl] master update Message-ID: <1559559700.774241.5520.nullmailer@dev.openssl.org> The branch master has been updated via a77b4dba237d001073d2d1c5d55c674a196c949f (commit) via feb9e31c40c49de6384dd0413685e9b5a15adc99 (commit) from b6db5b3d50a827ae3e6824370c541c33ae87e250 (commit) - Log ----------------------------------------------------------------- commit a77b4dba237d001073d2d1c5d55c674a196c949f Author: Matt Caswell Date: Wed Apr 17 10:30:53 2019 +0100 Write a test for receiving a KeyUpdate (update requested) while writing Reviewed-by: Ben Kaduk (Merged from https://github.com/openssl/openssl/pull/8773) commit feb9e31c40c49de6384dd0413685e9b5a15adc99 Author: Matt Caswell Date: Wed Apr 17 11:09:05 2019 +0100 Defer sending a KeyUpdate until after pending writes are complete If we receive a KeyUpdate message (update requested) from the peer while we are in the middle of a write, we should defer sending the responding KeyUpdate message until after the current write is complete. We do this by waiting to send the KeyUpdate until the next time we write and there is no pending write data. This does imply a subtle change in behaviour. Firstly the responding KeyUpdate message won't be sent straight away as it is now. Secondly if the peer sends multiple KeyUpdates without us doing any writing then we will only send one response, as opposed to previously where we sent a response for each KeyUpdate received. Fixes #8677 Reviewed-by: Ben Kaduk (Merged from https://github.com/openssl/openssl/pull/8773) ----------------------------------------------------------------------- Summary of changes: ssl/record/rec_layer_s3.c | 7 ++++ ssl/statem/statem_clnt.c | 6 --- ssl/statem/statem_lib.c | 7 +--- ssl/statem/statem_srvr.c | 6 --- test/sslapitest.c | 92 +++++++++++++++++++++++++++++++++++++++++++++ test/ssltestlib.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++ test/ssltestlib.h | 3 ++ 7 files changed, 200 insertions(+), 17 deletions(-) diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c index 64e132a..a991132 100644 --- a/ssl/record/rec_layer_s3.c +++ b/ssl/record/rec_layer_s3.c @@ -378,6 +378,13 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, size_t len, s->rlayer.wnum = 0; /* + * If we are supposed to be sending a KeyUpdate then go into init unless we + * have writes pending - in which case we should finish doing that first. + */ + if (wb->left == 0 && s->key_update != SSL_KEY_UPDATE_NONE) + ossl_statem_set_in_init(s, 1); + + /* * When writing early data on the server side we could be "in_init" in * between receiving the EoED and the CF - but we don't want to handle those * messages yet. diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 1be7c57..d096143 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -474,12 +474,6 @@ static WRITE_TRAN ossl_statem_client13_write_transition(SSL *s) return WRITE_TRAN_CONTINUE; case TLS_ST_CR_KEY_UPDATE: - if (s->key_update != SSL_KEY_UPDATE_NONE) { - st->hand_state = TLS_ST_CW_KEY_UPDATE; - return WRITE_TRAN_CONTINUE; - } - /* Fall through */ - case TLS_ST_CW_KEY_UPDATE: case TLS_ST_CR_SESSION_TICKET: case TLS_ST_CW_FINISHED: diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 033ea61..8c7d5e2 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -643,12 +643,9 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL *s, PACKET *pkt) /* * If we get a request for us to update our sending keys too then, we need * to additionally send a KeyUpdate message. However that message should - * not also request an update (otherwise we get into an infinite loop). We - * ignore a request for us to update our sending keys too if we already - * sent close_notify. + * not also request an update (otherwise we get into an infinite loop). */ - if (updatetype == SSL_KEY_UPDATE_REQUESTED - && (s->shutdown & SSL_SENT_SHUTDOWN) == 0) + if (updatetype == SSL_KEY_UPDATE_REQUESTED) s->key_update = SSL_KEY_UPDATE_NOT_REQUESTED; if (!tls13_update_key(s, 0)) { diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index fe495a3..6504f4f 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -503,12 +503,6 @@ static WRITE_TRAN ossl_statem_server13_write_transition(SSL *s) return WRITE_TRAN_CONTINUE; case TLS_ST_SR_KEY_UPDATE: - if (s->key_update != SSL_KEY_UPDATE_NONE) { - st->hand_state = TLS_ST_SW_KEY_UPDATE; - return WRITE_TRAN_CONTINUE; - } - /* Fall through */ - case TLS_ST_SW_KEY_UPDATE: st->hand_state = TLS_ST_OK; return WRITE_TRAN_CONTINUE; diff --git a/test/sslapitest.c b/test/sslapitest.c index 3504eea..47c5be9 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -4737,6 +4737,11 @@ static int test_key_update(void) || !TEST_int_eq(SSL_read(serverssl, buf, sizeof(buf)), strlen(mess))) goto end; + + if (!TEST_int_eq(SSL_write(serverssl, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(clientssl, buf, sizeof(buf)), + strlen(mess))) + goto end; } testresult = 1; @@ -4749,6 +4754,91 @@ static int test_key_update(void) return testresult; } + +/* + * Test we can handle a KeyUpdate (update requested) message while write data + * is pending. + * Test 0: Client sends KeyUpdate while Server is writing + * Test 1: Server sends KeyUpdate while Client is writing + */ +static int test_key_update_in_write(int tst) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + char buf[20]; + static char *mess = "A test message"; + BIO *bretry = BIO_new(bio_s_always_retry()); + BIO *tmp = NULL; + SSL *peerupdate = NULL, *peerwrite = NULL; + + if (!TEST_ptr(bretry) + || !TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_3_VERSION, + 0, + &sctx, &cctx, cert, privkey)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + peerupdate = tst == 0 ? clientssl : serverssl; + peerwrite = tst == 0 ? serverssl : clientssl; + + if (!TEST_true(SSL_key_update(peerupdate, SSL_KEY_UPDATE_REQUESTED)) + || !TEST_true(SSL_do_handshake(peerupdate))) + goto end; + + /* Swap the writing endpoint's write BIO to force a retry */ + tmp = SSL_get_wbio(peerwrite); + if (!TEST_ptr(tmp) || !TEST_true(BIO_up_ref(tmp))) { + tmp = NULL; + goto end; + } + SSL_set0_wbio(peerwrite, bretry); + bretry = NULL; + + /* Write data that we know will fail with SSL_ERROR_WANT_WRITE */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), -1) + || !TEST_int_eq(SSL_get_error(peerwrite, 0), SSL_ERROR_WANT_WRITE)) + goto end; + + /* Reinstate the original writing endpoint's write BIO */ + SSL_set0_wbio(peerwrite, tmp); + tmp = NULL; + + /* Now read some data - we will read the key update */ + if (!TEST_int_eq(SSL_read(peerwrite, buf, sizeof(buf)), -1) + || !TEST_int_eq(SSL_get_error(peerwrite, 0), SSL_ERROR_WANT_READ)) + goto end; + + /* + * Complete the write we started previously and read it from the other + * endpoint + */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(peerupdate, buf, sizeof(buf)), strlen(mess))) + goto end; + + /* Write more data to ensure we send the KeyUpdate message back */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(peerupdate, buf, sizeof(buf)), strlen(mess))) + goto end; + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + BIO_free(bretry); + BIO_free(tmp); + + return testresult; +} #endif /* OPENSSL_NO_TLS1_3 */ static int test_ssl_clear(int idx) @@ -6457,6 +6547,7 @@ int setup_tests(void) #ifndef OPENSSL_NO_TLS1_3 ADD_ALL_TESTS(test_export_key_mat_early, 3); ADD_TEST(test_key_update); + ADD_ALL_TESTS(test_key_update_in_write, 2); #endif ADD_ALL_TESTS(test_ssl_clear, 2); ADD_ALL_TESTS(test_max_fragment_len_ext, OSSL_NELEM(max_fragment_len_test)); @@ -6477,4 +6568,5 @@ int setup_tests(void) void cleanup_tests(void) { bio_s_mempacket_test_free(); + bio_s_always_retry_free(); } diff --git a/test/ssltestlib.c b/test/ssltestlib.c index 8d7ab61..4cabc1f 100644 --- a/test/ssltestlib.c +++ b/test/ssltestlib.c @@ -70,9 +70,11 @@ static int tls_dump_puts(BIO *bp, const char *str); /* Choose a sufficiently large type likely to be unused for this custom BIO */ #define BIO_TYPE_TLS_DUMP_FILTER (0x80 | BIO_TYPE_FILTER) #define BIO_TYPE_MEMPACKET_TEST 0x81 +#define BIO_TYPE_ALWAYS_RETRY 0x82 static BIO_METHOD *method_tls_dump = NULL; static BIO_METHOD *meth_mem = NULL; +static BIO_METHOD *meth_always_retry = NULL; /* Note: Not thread safe! */ const BIO_METHOD *bio_f_tls_dump_filter(void) @@ -620,6 +622,100 @@ static int mempacket_test_puts(BIO *bio, const char *str) return mempacket_test_write(bio, str, strlen(str)); } +static int always_retry_new(BIO *bi); +static int always_retry_free(BIO *a); +static int always_retry_read(BIO *b, char *out, int outl); +static int always_retry_write(BIO *b, const char *in, int inl); +static long always_retry_ctrl(BIO *b, int cmd, long num, void *ptr); +static int always_retry_gets(BIO *bp, char *buf, int size); +static int always_retry_puts(BIO *bp, const char *str); + +const BIO_METHOD *bio_s_always_retry(void) +{ + if (meth_always_retry == NULL) { + if (!TEST_ptr(meth_always_retry = BIO_meth_new(BIO_TYPE_ALWAYS_RETRY, + "Always Retry")) + || !TEST_true(BIO_meth_set_write(meth_always_retry, + always_retry_write)) + || !TEST_true(BIO_meth_set_read(meth_always_retry, + always_retry_read)) + || !TEST_true(BIO_meth_set_puts(meth_always_retry, + always_retry_puts)) + || !TEST_true(BIO_meth_set_gets(meth_always_retry, + always_retry_gets)) + || !TEST_true(BIO_meth_set_ctrl(meth_always_retry, + always_retry_ctrl)) + || !TEST_true(BIO_meth_set_create(meth_always_retry, + always_retry_new)) + || !TEST_true(BIO_meth_set_destroy(meth_always_retry, + always_retry_free))) + return NULL; + } + return meth_always_retry; +} + +void bio_s_always_retry_free(void) +{ + BIO_meth_free(meth_always_retry); +} + +static int always_retry_new(BIO *bio) +{ + BIO_set_init(bio, 1); + return 1; +} + +static int always_retry_free(BIO *bio) +{ + BIO_set_data(bio, NULL); + BIO_set_init(bio, 0); + return 1; +} + +static int always_retry_read(BIO *bio, char *out, int outl) +{ + BIO_set_retry_read(bio); + return -1; +} + +static int always_retry_write(BIO *bio, const char *in, int inl) +{ + BIO_set_retry_write(bio); + return -1; +} + +static long always_retry_ctrl(BIO *bio, int cmd, long num, void *ptr) +{ + long ret = 1; + + switch (cmd) { + case BIO_CTRL_FLUSH: + BIO_set_retry_write(bio); + /* fall through */ + case BIO_CTRL_EOF: + case BIO_CTRL_RESET: + case BIO_CTRL_DUP: + case BIO_CTRL_PUSH: + case BIO_CTRL_POP: + default: + ret = 0; + break; + } + return ret; +} + +static int always_retry_gets(BIO *bio, char *buf, int size) +{ + BIO_set_retry_read(bio); + return -1; +} + +static int always_retry_puts(BIO *bio, const char *str) +{ + BIO_set_retry_write(bio); + return -1; +} + int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, int min_proto_version, int max_proto_version, SSL_CTX **sctx, SSL_CTX **cctx, char *certfile, diff --git a/test/ssltestlib.h b/test/ssltestlib.h index 6573e38..32d3bfb 100644 --- a/test/ssltestlib.h +++ b/test/ssltestlib.h @@ -33,6 +33,9 @@ void bio_f_tls_dump_filter_free(void); const BIO_METHOD *bio_s_mempacket_test(void); void bio_s_mempacket_test_free(void); +const BIO_METHOD *bio_s_always_retry(void); +void bio_s_always_retry_free(void); + /* Packet types - value 0 is reserved */ #define INJECT_PACKET 1 #define INJECT_PACKET_IGNORE_REC_SEQ 2 From matt at openssl.org Mon Jun 3 11:01:52 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 03 Jun 2019 11:01:52 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559559712.655997.6639.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c8feb1039ccc4cd11e6db084df1446bf863bee1e (commit) via 6c2f347c78a530407b5310497080810094427920 (commit) from d63d841fb510a920275c66d3e486089c5c718797 (commit) - Log ----------------------------------------------------------------- commit c8feb1039ccc4cd11e6db084df1446bf863bee1e Author: Matt Caswell Date: Wed Apr 17 10:30:53 2019 +0100 Write a test for receiving a KeyUpdate (update requested) while writing Reviewed-by: Ben Kaduk (Merged from https://github.com/openssl/openssl/pull/8773) (cherry picked from commit a77b4dba237d001073d2d1c5d55c674a196c949f) commit 6c2f347c78a530407b5310497080810094427920 Author: Matt Caswell Date: Wed Apr 17 11:09:05 2019 +0100 Defer sending a KeyUpdate until after pending writes are complete If we receive a KeyUpdate message (update requested) from the peer while we are in the middle of a write, we should defer sending the responding KeyUpdate message until after the current write is complete. We do this by waiting to send the KeyUpdate until the next time we write and there is no pending write data. This does imply a subtle change in behaviour. Firstly the responding KeyUpdate message won't be sent straight away as it is now. Secondly if the peer sends multiple KeyUpdates without us doing any writing then we will only send one response, as opposed to previously where we sent a response for each KeyUpdate received. Fixes #8677 Reviewed-by: Ben Kaduk (Merged from https://github.com/openssl/openssl/pull/8773) (cherry picked from commit feb9e31c40c49de6384dd0413685e9b5a15adc99) ----------------------------------------------------------------------- Summary of changes: ssl/record/rec_layer_s3.c | 7 ++++ ssl/statem/statem_clnt.c | 6 --- ssl/statem/statem_lib.c | 7 +--- ssl/statem/statem_srvr.c | 6 --- test/sslapitest.c | 92 +++++++++++++++++++++++++++++++++++++++++++++ test/ssltestlib.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++ test/ssltestlib.h | 3 ++ 7 files changed, 200 insertions(+), 17 deletions(-) diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c index b2f97ef..b65137c 100644 --- a/ssl/record/rec_layer_s3.c +++ b/ssl/record/rec_layer_s3.c @@ -374,6 +374,13 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, size_t len, s->rlayer.wnum = 0; /* + * If we are supposed to be sending a KeyUpdate then go into init unless we + * have writes pending - in which case we should finish doing that first. + */ + if (wb->left == 0 && s->key_update != SSL_KEY_UPDATE_NONE) + ossl_statem_set_in_init(s, 1); + + /* * When writing early data on the server side we could be "in_init" in * between receiving the EoED and the CF - but we don't want to handle those * messages yet. diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 87800cd..6410414 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -473,12 +473,6 @@ static WRITE_TRAN ossl_statem_client13_write_transition(SSL *s) return WRITE_TRAN_CONTINUE; case TLS_ST_CR_KEY_UPDATE: - if (s->key_update != SSL_KEY_UPDATE_NONE) { - st->hand_state = TLS_ST_CW_KEY_UPDATE; - return WRITE_TRAN_CONTINUE; - } - /* Fall through */ - case TLS_ST_CW_KEY_UPDATE: case TLS_ST_CR_SESSION_TICKET: case TLS_ST_CW_FINISHED: diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index c0482b0..2960daf 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -645,12 +645,9 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL *s, PACKET *pkt) /* * If we get a request for us to update our sending keys too then, we need * to additionally send a KeyUpdate message. However that message should - * not also request an update (otherwise we get into an infinite loop). We - * ignore a request for us to update our sending keys too if we already - * sent close_notify. + * not also request an update (otherwise we get into an infinite loop). */ - if (updatetype == SSL_KEY_UPDATE_REQUESTED - && (s->shutdown & SSL_SENT_SHUTDOWN) == 0) + if (updatetype == SSL_KEY_UPDATE_REQUESTED) s->key_update = SSL_KEY_UPDATE_NOT_REQUESTED; if (!tls13_update_key(s, 0)) { diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index d454326..04a2332 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -502,12 +502,6 @@ static WRITE_TRAN ossl_statem_server13_write_transition(SSL *s) return WRITE_TRAN_CONTINUE; case TLS_ST_SR_KEY_UPDATE: - if (s->key_update != SSL_KEY_UPDATE_NONE) { - st->hand_state = TLS_ST_SW_KEY_UPDATE; - return WRITE_TRAN_CONTINUE; - } - /* Fall through */ - case TLS_ST_SW_KEY_UPDATE: st->hand_state = TLS_ST_OK; return WRITE_TRAN_CONTINUE; diff --git a/test/sslapitest.c b/test/sslapitest.c index 2261fe4..5773426 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -4290,6 +4290,11 @@ static int test_key_update(void) || !TEST_int_eq(SSL_read(serverssl, buf, sizeof(buf)), strlen(mess))) goto end; + + if (!TEST_int_eq(SSL_write(serverssl, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(clientssl, buf, sizeof(buf)), + strlen(mess))) + goto end; } testresult = 1; @@ -4302,6 +4307,91 @@ static int test_key_update(void) return testresult; } + +/* + * Test we can handle a KeyUpdate (update requested) message while write data + * is pending. + * Test 0: Client sends KeyUpdate while Server is writing + * Test 1: Server sends KeyUpdate while Client is writing + */ +static int test_key_update_in_write(int tst) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + char buf[20]; + static char *mess = "A test message"; + BIO *bretry = BIO_new(bio_s_always_retry()); + BIO *tmp = NULL; + SSL *peerupdate = NULL, *peerwrite = NULL; + + if (!TEST_ptr(bretry) + || !TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_3_VERSION, + 0, + &sctx, &cctx, cert, privkey)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + peerupdate = tst == 0 ? clientssl : serverssl; + peerwrite = tst == 0 ? serverssl : clientssl; + + if (!TEST_true(SSL_key_update(peerupdate, SSL_KEY_UPDATE_REQUESTED)) + || !TEST_true(SSL_do_handshake(peerupdate))) + goto end; + + /* Swap the writing endpoint's write BIO to force a retry */ + tmp = SSL_get_wbio(peerwrite); + if (!TEST_ptr(tmp) || !TEST_true(BIO_up_ref(tmp))) { + tmp = NULL; + goto end; + } + SSL_set0_wbio(peerwrite, bretry); + bretry = NULL; + + /* Write data that we know will fail with SSL_ERROR_WANT_WRITE */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), -1) + || !TEST_int_eq(SSL_get_error(peerwrite, 0), SSL_ERROR_WANT_WRITE)) + goto end; + + /* Reinstate the original writing endpoint's write BIO */ + SSL_set0_wbio(peerwrite, tmp); + tmp = NULL; + + /* Now read some data - we will read the key update */ + if (!TEST_int_eq(SSL_read(peerwrite, buf, sizeof(buf)), -1) + || !TEST_int_eq(SSL_get_error(peerwrite, 0), SSL_ERROR_WANT_READ)) + goto end; + + /* + * Complete the write we started previously and read it from the other + * endpoint + */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(peerupdate, buf, sizeof(buf)), strlen(mess))) + goto end; + + /* Write more data to ensure we send the KeyUpdate message back */ + if (!TEST_int_eq(SSL_write(peerwrite, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(peerupdate, buf, sizeof(buf)), strlen(mess))) + goto end; + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + BIO_free(bretry); + BIO_free(tmp); + + return testresult; +} #endif /* OPENSSL_NO_TLS1_3 */ static int test_ssl_clear(int idx) @@ -5982,6 +6072,7 @@ int setup_tests(void) #ifndef OPENSSL_NO_TLS1_3 ADD_ALL_TESTS(test_export_key_mat_early, 3); ADD_TEST(test_key_update); + ADD_ALL_TESTS(test_key_update_in_write, 2); #endif ADD_ALL_TESTS(test_ssl_clear, 2); ADD_ALL_TESTS(test_max_fragment_len_ext, OSSL_NELEM(max_fragment_len_test)); @@ -6002,4 +6093,5 @@ int setup_tests(void) void cleanup_tests(void) { bio_s_mempacket_test_free(); + bio_s_always_retry_free(); } diff --git a/test/ssltestlib.c b/test/ssltestlib.c index 05139be..e103862 100644 --- a/test/ssltestlib.c +++ b/test/ssltestlib.c @@ -62,9 +62,11 @@ static int tls_dump_puts(BIO *bp, const char *str); /* Choose a sufficiently large type likely to be unused for this custom BIO */ #define BIO_TYPE_TLS_DUMP_FILTER (0x80 | BIO_TYPE_FILTER) #define BIO_TYPE_MEMPACKET_TEST 0x81 +#define BIO_TYPE_ALWAYS_RETRY 0x82 static BIO_METHOD *method_tls_dump = NULL; static BIO_METHOD *meth_mem = NULL; +static BIO_METHOD *meth_always_retry = NULL; /* Note: Not thread safe! */ const BIO_METHOD *bio_f_tls_dump_filter(void) @@ -612,6 +614,100 @@ static int mempacket_test_puts(BIO *bio, const char *str) return mempacket_test_write(bio, str, strlen(str)); } +static int always_retry_new(BIO *bi); +static int always_retry_free(BIO *a); +static int always_retry_read(BIO *b, char *out, int outl); +static int always_retry_write(BIO *b, const char *in, int inl); +static long always_retry_ctrl(BIO *b, int cmd, long num, void *ptr); +static int always_retry_gets(BIO *bp, char *buf, int size); +static int always_retry_puts(BIO *bp, const char *str); + +const BIO_METHOD *bio_s_always_retry(void) +{ + if (meth_always_retry == NULL) { + if (!TEST_ptr(meth_always_retry = BIO_meth_new(BIO_TYPE_ALWAYS_RETRY, + "Always Retry")) + || !TEST_true(BIO_meth_set_write(meth_always_retry, + always_retry_write)) + || !TEST_true(BIO_meth_set_read(meth_always_retry, + always_retry_read)) + || !TEST_true(BIO_meth_set_puts(meth_always_retry, + always_retry_puts)) + || !TEST_true(BIO_meth_set_gets(meth_always_retry, + always_retry_gets)) + || !TEST_true(BIO_meth_set_ctrl(meth_always_retry, + always_retry_ctrl)) + || !TEST_true(BIO_meth_set_create(meth_always_retry, + always_retry_new)) + || !TEST_true(BIO_meth_set_destroy(meth_always_retry, + always_retry_free))) + return NULL; + } + return meth_always_retry; +} + +void bio_s_always_retry_free(void) +{ + BIO_meth_free(meth_always_retry); +} + +static int always_retry_new(BIO *bio) +{ + BIO_set_init(bio, 1); + return 1; +} + +static int always_retry_free(BIO *bio) +{ + BIO_set_data(bio, NULL); + BIO_set_init(bio, 0); + return 1; +} + +static int always_retry_read(BIO *bio, char *out, int outl) +{ + BIO_set_retry_read(bio); + return -1; +} + +static int always_retry_write(BIO *bio, const char *in, int inl) +{ + BIO_set_retry_write(bio); + return -1; +} + +static long always_retry_ctrl(BIO *bio, int cmd, long num, void *ptr) +{ + long ret = 1; + + switch (cmd) { + case BIO_CTRL_FLUSH: + BIO_set_retry_write(bio); + /* fall through */ + case BIO_CTRL_EOF: + case BIO_CTRL_RESET: + case BIO_CTRL_DUP: + case BIO_CTRL_PUSH: + case BIO_CTRL_POP: + default: + ret = 0; + break; + } + return ret; +} + +static int always_retry_gets(BIO *bio, char *buf, int size) +{ + BIO_set_retry_read(bio); + return -1; +} + +static int always_retry_puts(BIO *bio, const char *str) +{ + BIO_set_retry_write(bio); + return -1; +} + int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, int min_proto_version, int max_proto_version, SSL_CTX **sctx, SSL_CTX **cctx, char *certfile, diff --git a/test/ssltestlib.h b/test/ssltestlib.h index fa19e7d..56e323f 100644 --- a/test/ssltestlib.h +++ b/test/ssltestlib.h @@ -30,6 +30,9 @@ void bio_f_tls_dump_filter_free(void); const BIO_METHOD *bio_s_mempacket_test(void); void bio_s_mempacket_test_free(void); +const BIO_METHOD *bio_s_always_retry(void); +void bio_s_always_retry_free(void); + /* Packet types - value 0 is reserved */ #define INJECT_PACKET 1 #define INJECT_PACKET_IGNORE_REC_SEQ 2 From builds at travis-ci.org Mon Jun 3 11:33:12 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 11:33:12 +0000 Subject: Still Failing: openssl/openssl#25489 (master - a77b4db) In-Reply-To: Message-ID: <5cf505785993a_43f8c82f76b5831778a@ec0d7969-eb43-4d71-acb2-8f42d3646554.mail> Build Update for openssl/openssl ------------------------------------- Build: #25489 Status: Still Failing Duration: 30 mins and 44 secs Commit: a77b4db (master) Author: Matt Caswell Message: Write a test for receiving a KeyUpdate (update requested) while writing Reviewed-by: Ben Kaduk (Merged from https://github.com/openssl/openssl/pull/8773) View the changeset: https://github.com/openssl/openssl/compare/b6db5b3d50a8...a77b4dba237d View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540691193?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 Mon Jun 3 12:03:56 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 03 Jun 2019 12:03:56 +0000 Subject: [openssl] master update Message-ID: <1559563436.299721.15474.nullmailer@dev.openssl.org> The branch master has been updated via 41525ed62802afd9f125bcf33e986d82bbacd635 (commit) via 66ad63e80198800ad94e4e4168a6b9b6a7c0fcd4 (commit) from a77b4dba237d001073d2d1c5d55c674a196c949f (commit) - Log ----------------------------------------------------------------- commit 41525ed62802afd9f125bcf33e986d82bbacd635 Author: Matt Caswell Date: Thu May 30 14:40:57 2019 +0100 Ensure we get all the right defines for AES assembler in FIPS module There are various C macro definitions that are passed via the compiler to enable AES assembler optimisation. We need to make sure that these defines are also passed during compilation of the FIPS module. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9038) commit 66ad63e80198800ad94e4e4168a6b9b6a7c0fcd4 Author: Matt Caswell Date: Tue May 28 11:25:08 2019 +0100 Make basic AES ciphers available from within the FIPS providers These ciphers were already provider aware, and were available from the default provider. We move them into the FIPS provider too. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9038) ----------------------------------------------------------------------- Summary of changes: Configurations/windows-makefile.tmpl | 12 +++++++++++- Configure | 30 ++++++++++++++++++++++++------ crypto/aes/build.info | 4 ++++ crypto/build.info | 4 ++-- crypto/modes/build.info | 4 ++++ crypto/ppccap.c | 22 ++++++++++++++-------- crypto/sparcv9cap.c | 6 ++++++ providers/common/ciphers/build.info | 4 ++++ providers/fips/fipsprov.c | 18 ++++++++++++++++-- 9 files changed, 85 insertions(+), 19 deletions(-) diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index a07e142..3c8d51b 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -287,7 +287,17 @@ DSO_ASFLAGS={- join(' ', $target{dso_asflags} || (), @{$config{module_asflags}}, '$(CNF_ASFLAGS)', '$(ASFLAGS)') -} DSO_CPPFLAGS={- join(' ', $target{dso_cppflags} || (), - $target{module_cppflags} || (), + $target{module_cppflag} || (), + (map { '-D'.quotify1($_) } + @{$target{dso_defines}}, + @{$target{module_defines}}, + @{$config{dso_defines}}, + @{$config{module_defines}}), + (map { '-I'.quotify1($_) } + @{$target{dso_includes}}, + @{$target{module_includes}}, + @{$config{dso_includes}}, + @{$config{module_includes}}), @{$config{dso_cppflags}}, @{$config{module_cppflags}}, '$(CNF_CPPFLAGS)', '$(CPPFLAGS)') -} diff --git a/Configure b/Configure index 2247a36..991f241 100755 --- a/Configure +++ b/Configure @@ -1400,7 +1400,10 @@ if ($target{sys_id} ne "") unless ($disabled{asm}) { $target{cpuid_asm_src}=$table{DEFAULTS}->{cpuid_asm_src} if ($config{processor} eq "386"); - push @{$config{lib_defines}}, "OPENSSL_CPUID_OBJ" if ($target{cpuid_asm_src} ne "mem_clr.c"); + if ($target{cpuid_asm_src} ne "mem_clr.c") { + push @{$config{lib_defines}}, "OPENSSL_CPUID_OBJ"; + push @{$config{module_defines}}, "OPENSSL_CPUID_OBJ"; + } $target{bn_asm_src} =~ s/\w+-gf2m.c// if (defined($disabled{ec2m})); @@ -1432,15 +1435,30 @@ unless ($disabled{asm}) { push @{$config{lib_defines}}, "RMD160_ASM"; } if ($target{aes_asm_src}) { - push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);; + if ($target{aes_asm_src} =~ m/\baes-/) { + push @{$config{lib_defines}}, "AES_ASM"; + push @{$config{module_defines}}, "AES_ASM"; + } # aes-ctr.fake is not a real file, only indication that assembler # module implements AES_ctr32_encrypt... - push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//); + if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//) { + push @{$config{lib_defines}}, "AES_CTR_ASM"; + push @{$config{module_defines}}, "AES_CTR_ASM"; + } # aes-xts.fake indicates presence of AES_xts_[en|de]crypt... - push @{$config{lib_defines}}, "AES_XTS_ASM" if ($target{aes_asm_src} =~ s/\s*aes-xts\.fake//); + if ($target{aes_asm_src} =~ s/\s*aes-xts\.fake//) { + push @{$config{lib_defines}}, "AES_XTS_ASM"; + push @{$config{module_defines}}, "AES_XTS_ASM"; + } $target{aes_asm_src} =~ s/\s*(vpaes|aesni)-x86\.s//g if ($disabled{sse2}); - push @{$config{lib_defines}}, "VPAES_ASM" if ($target{aes_asm_src} =~ m/vpaes/); - push @{$config{lib_defines}}, "BSAES_ASM" if ($target{aes_asm_src} =~ m/bsaes/); + if ($target{aes_asm_src} =~ m/vpaes/) { + push @{$config{lib_defines}}, "VPAES_ASM"; + push @{$config{module_defines}}, "VPAES_ASM"; + } + if ($target{aes_asm_src} =~ m/bsaes/) { + push @{$config{lib_defines}}, "BSAES_ASM"; + push @{$config{module_defines}}, "BSAES_ASM"; + } } if ($target{wp_asm_src} =~ /mmx/) { if ($config{processor} eq "386") { diff --git a/crypto/aes/build.info b/crypto/aes/build.info index 1aa7a18..d0801de 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -3,6 +3,10 @@ SOURCE[../../libcrypto]=\ aes_misc.c aes_ecb.c aes_cfb.c aes_ofb.c \ aes_ige.c aes_wrap.c {- $target{aes_asm_src} -} +SOURCE[../../providers/fips]=\ + aes_misc.c aes_ecb.c \ + {- $target{aes_asm_src} -} + GENERATE[aes-ia64.s]=asm/aes-ia64.S GENERATE[aes-586.s]=asm/aes-586.pl \ diff --git a/crypto/build.info b/crypto/build.info index 7798bcb..fb8f14e 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -26,9 +26,9 @@ SOURCE[../libcrypto]=\ # FIPS module SOURCE[../providers/fips]=\ - cryptlib.c mem.c mem_clr.c params.c bsearch.c ex_data.c o_str.c \ + cryptlib.c mem.c params.c bsearch.c ex_data.c o_str.c \ ctype.c threads_pthread.c threads_win.c threads_none.c context.c \ - sparse_array.c + sparse_array.c {- $target{cpuid_asm_src} -} DEPEND[cversion.o]=buildinf.h diff --git a/crypto/modes/build.info b/crypto/modes/build.info index f015a4c..d0a8e69 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -4,6 +4,10 @@ SOURCE[../../libcrypto]=\ ccm128.c xts128.c wrap128.c ocb128.c siv128.c \ {- $target{modes_asm_src} -} +SOURCE[../../providers/fips]=\ + cbc128.c ctr128.c cfb128.c ofb128.c \ + {- $target{modes_asm_src} -} + INCLUDE[gcm128.o]=.. GENERATE[ghash-ia64.s]=asm/ghash-ia64.pl $(LIB_CFLAGS) $(LIB_CPPFLAGS) diff --git a/crypto/ppccap.c b/crypto/ppccap.c index 0d5ab79..3465864 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -38,7 +38,12 @@ unsigned int OPENSSL_ppccap_P = 0; static sigset_t all_masked; -#ifdef OPENSSL_BN_ASM_MONT +/* + * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into + * the FIPS module yet. + */ +#ifndef FIPS_MODE +# ifdef OPENSSL_BN_ASM_MONT int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { @@ -63,7 +68,7 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, return bn_mul_mont_int(rp, ap, bp, np, n0, num); } -#endif +# endif void sha256_block_p8(void *ctx, const void *inp, size_t len); void sha256_block_ppc(void *ctx, const void *inp, size_t len); @@ -83,7 +88,7 @@ void sha512_block_data_order(void *ctx, const void *inp, size_t len) sha512_block_ppc(ctx, inp, len); } -#ifndef OPENSSL_NO_CHACHA +# ifndef OPENSSL_NO_CHACHA void ChaCha20_ctr32_int(unsigned char *out, const unsigned char *inp, size_t len, const unsigned int key[8], const unsigned int counter[4]); @@ -103,9 +108,9 @@ void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp, ? ChaCha20_ctr32_vmx(out, inp, len, key, counter) : ChaCha20_ctr32_int(out, inp, len, key, counter); } -#endif +# endif -#ifndef OPENSSL_NO_POLY1305 +# ifndef OPENSSL_NO_POLY1305 void poly1305_init_int(void *ctx, const unsigned char key[16]); void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, unsigned int padbit); @@ -139,9 +144,9 @@ int poly1305_init(void *ctx, const unsigned char key[16], void *func[2]) } return 1; } -#endif +# endif -#ifdef ECP_NISTZ256_ASM +# ifdef ECP_NISTZ256_ASM void ecp_nistz256_mul_mont(unsigned long res[4], const unsigned long a[4], const unsigned long b[4]); @@ -163,7 +168,8 @@ void ecp_nistz256_from_mont(unsigned long res[4], const unsigned long in[4]) ecp_nistz256_mul_mont(res, in, one); } -#endif +# endif +#endif /* FIPS_MODE */ static sigjmp_buf ill_jmp; static void ill_handler(int sig) diff --git a/crypto/sparcv9cap.c b/crypto/sparcv9cap.c index ec82566..e48ebf7 100644 --- a/crypto/sparcv9cap.c +++ b/crypto/sparcv9cap.c @@ -24,6 +24,11 @@ __attribute__ ((visibility("hidden"))) #endif unsigned int OPENSSL_sparcv9cap_P[2] = { SPARCV9_TICK_PRIVILEGED, 0 }; +/* + * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into + * the FIPS module yet. + */ +#ifndef FIPS_MODE int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { @@ -86,6 +91,7 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, } return bn_mul_mont_int(rp, ap, bp, np, n0, num); } +#endif /* FIPS_MODE */ unsigned long _sparcv9_rdtick(void); void _sparcv9_vis1_probe(void); diff --git a/providers/common/ciphers/build.info b/providers/common/ciphers/build.info index f4ff2ce..fd49ccb 100644 --- a/providers/common/ciphers/build.info +++ b/providers/common/ciphers/build.info @@ -2,3 +2,7 @@ LIBS=../../../libcrypto SOURCE[../../../libcrypto]=\ block.c aes.c aes_basic.c INCLUDE[../../../libcrypto]=. ../../../crypto + +SOURCE[../../fips]=\ + block.c aes.c aes_basic.c +INCLUDE[../../fips]=. ../../../crypto diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 7842f90..37d7c5b 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -20,6 +20,7 @@ #include "internal/cryptlib.h" #include "internal/property.h" #include "internal/evp_int.h" +#include "internal/provider_algs.h" /* Functions provided by the core */ static OSSL_core_get_param_types_fn *c_get_param_types = NULL; @@ -92,13 +93,24 @@ static int fips_get_params(const OSSL_PROVIDER *prov, return 1; } -extern const OSSL_DISPATCH sha256_functions[]; - static const OSSL_ALGORITHM fips_digests[] = { { "SHA256", "fips=yes", sha256_functions }, { NULL, NULL, NULL } }; +static const OSSL_ALGORITHM fips_ciphers[] = { + { "AES-256-ECB", "fips=yes", aes256ecb_functions }, + { "AES-192-ECB", "fips=yes", aes192ecb_functions }, + { "AES-128-ECB", "fips=yes", aes128ecb_functions }, + { "AES-256-CBC", "fips=yes", aes256cbc_functions }, + { "AES-192-CBC", "fips=yes", aes192cbc_functions }, + { "AES-128-CBC", "fips=yes", aes128cbc_functions }, + { "AES-256-CTR", "fips=yes", aes256ctr_functions }, + { "AES-192-CTR", "fips=yes", aes192ctr_functions }, + { "AES-128-CTR", "fips=yes", aes128ctr_functions }, + { NULL, NULL, NULL } +}; + static const OSSL_ALGORITHM *fips_query(OSSL_PROVIDER *prov, int operation_id, int *no_cache) @@ -107,6 +119,8 @@ static const OSSL_ALGORITHM *fips_query(OSSL_PROVIDER *prov, switch (operation_id) { case OSSL_OP_DIGEST: return fips_digests; + case OSSL_OP_CIPHER: + return fips_ciphers; } return NULL; } From builds at travis-ci.org Mon Jun 3 12:23:04 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 12:23:04 +0000 Subject: Still Failing: openssl/openssl#25490 (master - 41525ed) In-Reply-To: Message-ID: <5cf5112786eb6_43fd423da23201994a@410b3766-db55-42c7-9d77-27b6bbd017fe.mail> Build Update for openssl/openssl ------------------------------------- Build: #25490 Status: Still Failing Duration: 18 mins and 30 secs Commit: 41525ed (master) Author: Matt Caswell Message: Ensure we get all the right defines for AES assembler in FIPS module There are various C macro definitions that are passed via the compiler to enable AES assembler optimisation. We need to make sure that these defines are also passed during compilation of the FIPS module. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9038) View the changeset: https://github.com/openssl/openssl/compare/a77b4dba237d...41525ed62802 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540712475?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 Mon Jun 3 12:32:22 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 03 Jun 2019 12:32:22 +0000 Subject: [openssl] master update Message-ID: <1559565142.559411.16440.nullmailer@dev.openssl.org> The branch master has been updated via cb30e46b45589166a83703f923aa89881dab1e0c (commit) from 41525ed62802afd9f125bcf33e986d82bbacd635 (commit) - Log ----------------------------------------------------------------- commit cb30e46b45589166a83703f923aa89881dab1e0c Author: Matt Caswell Date: Fri May 31 14:34:13 2019 +0100 Really fail if we have a test failure Commit c5f7a99645a broke the test framework such that some tests might fail, but the test framework still gives a PASS result overall. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9056) ----------------------------------------------------------------------- Summary of changes: test/testutil/driver.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/testutil/driver.c b/test/testutil/driver.c index 2da83ed..7a1a589 100644 --- a/test/testutil/driver.c +++ b/test/testutil/driver.c @@ -353,6 +353,8 @@ int run_tests(const char *test_prog_name) verdict = all_tests[i].test_fn(); test_verdict(verdict, "%d - %s", ii + 1, test_title); finalize(verdict != 0); + if (verdict == 0) + num_failed++; } else { int num_failed_inner = 0; From matt at openssl.org Mon Jun 3 12:38:40 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 03 Jun 2019 12:38:40 +0000 Subject: [openssl] master update Message-ID: <1559565520.523812.516.nullmailer@dev.openssl.org> The branch master has been updated via bf5b04ea25d6ac7d31e388b4e87d3eb5cd1e1e2b (commit) from cb30e46b45589166a83703f923aa89881dab1e0c (commit) - Log ----------------------------------------------------------------- commit bf5b04ea25d6ac7d31e388b4e87d3eb5cd1e1e2b Author: Mathias Berchtold Date: Thu May 30 07:25:31 2019 +0200 Add missing parentheses in macro Add missing parentheses in macro Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9044) ----------------------------------------------------------------------- Summary of changes: include/openssl/opensslv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/openssl/opensslv.h b/include/openssl/opensslv.h index 73e64a7..0219d5f 100644 --- a/include/openssl/opensslv.h +++ b/include/openssl/opensslv.h @@ -78,7 +78,7 @@ extern "C" { /* For checking general API compatibility when preprocessing */ # define OPENSSL_VERSION_PREREQ(maj,min) \ - ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= (maj << 16) + min) + ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= ((maj) << 16) + (min)) /* Helper macros for CPP string composition */ # define OPENSSL_MSTR_HELPER(x) #x From builds at travis-ci.org Mon Jun 3 12:51:19 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 12:51:19 +0000 Subject: Still Failing: openssl/openssl#25492 (master - cb30e46) In-Reply-To: Message-ID: <5cf517c66af2f_43fd3cbbc25801350c7@47937e54-647d-4b64-a1ac-7f64297bcd34.mail> Build Update for openssl/openssl ------------------------------------- Build: #25492 Status: Still Failing Duration: 18 mins and 25 secs Commit: cb30e46 (master) Author: Matt Caswell Message: Really fail if we have a test failure Commit c5f7a99645a broke the test framework such that some tests might fail, but the test framework still gives a PASS result overall. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9056) View the changeset: https://github.com/openssl/openssl/compare/41525ed62802...cb30e46b4558 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540723339?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 Jun 3 13:15:34 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 03 Jun 2019 13:15:34 +0000 Subject: Still Failing: openssl/openssl#25494 (master - bf5b04e) In-Reply-To: Message-ID: <5cf51d7627825_43f976b2533b0198556@e19d1da6-37c3-4a2e-83bc-5f6a2ecc75f5.mail> Build Update for openssl/openssl ------------------------------------- Build: #25494 Status: Still Failing Duration: 23 mins and 24 secs Commit: bf5b04e (master) Author: Mathias Berchtold Message: Add missing parentheses in macro Add missing parentheses in macro Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9044) View the changeset: https://github.com/openssl/openssl/compare/cb30e46b4558...bf5b04ea25d6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/540725716?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 shane.lontis at oracle.com Tue Jun 4 02:24:52 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 04 Jun 2019 02:24:52 +0000 Subject: [openssl] master update Message-ID: <1559615092.599646.962.nullmailer@dev.openssl.org> The branch master has been updated via d5e5e2ffafc7dbc861f7d285508cf129c5e8f5ac (commit) from bf5b04ea25d6ac7d31e388b4e87d3eb5cd1e1e2b (commit) - Log ----------------------------------------------------------------- commit d5e5e2ffafc7dbc861f7d285508cf129c5e8f5ac Author: Shane Lontis Date: Thu Apr 11 20:27:59 2019 +1000 Move digests to providers Move digest code into the relevant providers (fips, default, legacy). The headers are temporarily moved to be internal, and will be moved into providers after all external references are resolved. The deprecated digest code can not be removed until EVP_PKEY (signing) is supported by providers. EVP_MD data can also not yet be cleaned up for the same reasons. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8763) ----------------------------------------------------------------------- Summary of changes: crypto/blake2/blake2b_mac.c | 10 +- crypto/blake2/blake2s_mac.c | 8 +- crypto/blake2/build.info | 2 +- crypto/blake2/m_blake2b.c | 27 +- crypto/blake2/m_blake2s.c | 27 +- crypto/core_fetch.c | 3 + crypto/evp/digest.c | 161 ++++++++---- crypto/evp/evp_fetch.c | 1 + crypto/evp/m_md5_sha1.c | 112 ++------- crypto/evp/m_sha1.c | 58 +---- crypto/evp/m_sha3.c | 137 ++-------- crypto/include/internal/evp_int.h | 2 + crypto/include/internal/sha.h | 1 + crypto/md5/build.info | 2 +- crypto/{evp/m_md5_sha1.c => md5/md5_sha1.c} | 65 +---- crypto/sha/build.info | 7 +- crypto/sha/keccak1600.c | 2 +- crypto/sha/sha1dgst.c | 61 ++++- crypto/sha/sha3.c | 106 ++++++++ crypto/sm3/m_sm3.c | 2 +- crypto/sm3/sm3_locl.h | 1 + doc/man3/EVP_DigestInit.pod | 65 ++++- .../blake2_locl.h => include/internal/blake2.h | 57 +++-- include/internal/md5_sha1.h | 37 +++ include/internal/sha3.h | 52 ++++ {crypto/include => include}/internal/sm3.h | 7 +- include/openssl/core_names.h | 7 + include/openssl/core_numbers.h | 10 +- include/openssl/evp.h | 5 +- providers/build.info | 2 +- providers/common/digests/build.info | 4 +- providers/common/digests/sha2.c | 105 ++++---- providers/common/digests/sha3.c | 277 +++++++++++++++++++++ providers/common/include/internal/core_mkdigest.h | 95 +++++++ providers/common/include/internal/provider_algs.h | 25 ++ providers/default/build.info | 1 + providers/default/defltprov.c | 35 +++ providers/default/digests/blake2.c | 40 +++ .../default/digests}/blake2_impl.h | 0 .../blake2 => providers/default/digests}/blake2b.c | 16 +- .../blake2 => providers/default/digests}/blake2s.c | 15 +- providers/default/digests/build.info | 17 ++ providers/default/digests/md5.c | 17 ++ providers/default/digests/md5_sha1.c | 46 ++++ providers/default/digests/null.c | 75 ++++++ providers/default/digests/sm3.c | 17 ++ providers/fips/fipsprov.c | 13 + providers/legacy/digests/build.info | 20 ++ providers/legacy/digests/md2.c | 57 +---- providers/legacy/digests/md4.c | 18 ++ providers/legacy/digests/mdc2.c | 37 +++ providers/legacy/digests/ripemd.c | 18 ++ providers/legacy/digests/wp.c | 18 ++ providers/legacy/legacyprov.c | 20 +- ssl/s3_enc.c | 35 ++- ssl/ssl_locl.h | 2 + ssl/statem/statem_lib.c | 14 +- test/build.info | 3 + test/evp_test.c | 28 ++- test/mdc2test.c | 22 +- test/recipes/05-test_mdc2.t | 18 +- test/recipes/30-test_evp.t | 4 +- test/recipes/30-test_evp_data/evpdigest.txt | 25 +- util/libcrypto.num | 4 +- 64 files changed, 1555 insertions(+), 623 deletions(-) copy crypto/{evp/m_md5_sha1.c => md5/md5_sha1.c} (61%) create mode 100644 crypto/sha/sha3.c rename crypto/blake2/blake2_locl.h => include/internal/blake2.h (68%) create mode 100644 include/internal/md5_sha1.h create mode 100644 include/internal/sha3.h rename {crypto/include => include}/internal/sm3.h (83%) create mode 100644 providers/common/digests/sha3.c create mode 100644 providers/common/include/internal/core_mkdigest.h create mode 100644 providers/default/digests/blake2.c rename {crypto/blake2 => providers/default/digests}/blake2_impl.h (100%) rename {crypto/blake2 => providers/default/digests}/blake2b.c (96%) rename {crypto/blake2 => providers/default/digests}/blake2s.c (95%) create mode 100644 providers/default/digests/build.info create mode 100644 providers/default/digests/md5.c create mode 100644 providers/default/digests/md5_sha1.c create mode 100644 providers/default/digests/null.c create mode 100644 providers/default/digests/sm3.c create mode 100644 providers/legacy/digests/md4.c create mode 100644 providers/legacy/digests/mdc2.c create mode 100644 providers/legacy/digests/ripemd.c create mode 100644 providers/legacy/digests/wp.c diff --git a/crypto/blake2/blake2b_mac.c b/crypto/blake2/blake2b_mac.c index 71b8517..b38e9b8 100644 --- a/crypto/blake2/blake2b_mac.c +++ b/crypto/blake2/blake2b_mac.c @@ -10,7 +10,7 @@ #ifndef OPENSSL_NO_BLAKE2 # include -# include "blake2_locl.h" +# include "internal/blake2.h" # include "internal/cryptlib.h" # include "internal/evp_int.h" @@ -26,7 +26,7 @@ static EVP_MAC_IMPL *blake2b_mac_new(void) EVP_MAC_IMPL *macctx = OPENSSL_zalloc(sizeof(*macctx)); if (macctx != NULL) { blake2b_param_init(&macctx->params); - /* ctx initialization is deferred to BLAKE2b_Init() */ + /* ctx initialization is deferred to blake2b_init() */ } return macctx; } @@ -53,18 +53,18 @@ static int blake2b_mac_init(EVP_MAC_IMPL *macctx) return 0; } - return BLAKE2b_Init_key(&macctx->ctx, &macctx->params, macctx->key); + return blake2b_init_key(&macctx->ctx, &macctx->params, macctx->key); } static int blake2b_mac_update(EVP_MAC_IMPL *macctx, const unsigned char *data, size_t datalen) { - return BLAKE2b_Update(&macctx->ctx, data, datalen); + return blake2b_update(&macctx->ctx, data, datalen); } static int blake2b_mac_final(EVP_MAC_IMPL *macctx, unsigned char *out) { - return BLAKE2b_Final(out, &macctx->ctx); + return blake2b_final(out, &macctx->ctx); } /* diff --git a/crypto/blake2/blake2s_mac.c b/crypto/blake2/blake2s_mac.c index d40778c..04dbf4e 100644 --- a/crypto/blake2/blake2s_mac.c +++ b/crypto/blake2/blake2s_mac.c @@ -10,7 +10,7 @@ #ifndef OPENSSL_NO_BLAKE2 # include -# include "blake2_locl.h" +# include "internal/blake2.h" # include "internal/cryptlib.h" # include "internal/evp_int.h" @@ -53,18 +53,18 @@ static int blake2s_mac_init(EVP_MAC_IMPL *macctx) return 0; } - return BLAKE2s_Init_key(&macctx->ctx, &macctx->params, macctx->key); + return blake2s_init_key(&macctx->ctx, &macctx->params, macctx->key); } static int blake2s_mac_update(EVP_MAC_IMPL *macctx, const unsigned char *data, size_t datalen) { - return BLAKE2s_Update(&macctx->ctx, data, datalen); + return blake2s_update(&macctx->ctx, data, datalen); } static int blake2s_mac_final(EVP_MAC_IMPL *macctx, unsigned char *out) { - return BLAKE2s_Final(out, &macctx->ctx); + return blake2s_final(out, &macctx->ctx); } /* diff --git a/crypto/blake2/build.info b/crypto/blake2/build.info index ab72ef2..f02bf9a 100644 --- a/crypto/blake2/build.info +++ b/crypto/blake2/build.info @@ -1,3 +1,3 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - blake2b.c blake2s.c blake2b_mac.c blake2s_mac.c m_blake2b.c m_blake2s.c + blake2b_mac.c blake2s_mac.c m_blake2b.c m_blake2s.c diff --git a/crypto/blake2/m_blake2b.c b/crypto/blake2/m_blake2b.c index 2fb80f8..b429d2d 100644 --- a/crypto/blake2/m_blake2b.c +++ b/crypto/blake2/m_blake2b.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,37 +7,26 @@ * https://www.openssl.org/source/license.html */ -/* - * Derived from the BLAKE2 reference implementation written by Samuel Neves. - * Copyright 2012, Samuel Neves - * More information about the BLAKE2 hash function and its implementations - * can be found at https://blake2.net. - */ - -#include "internal/cryptlib.h" - #ifndef OPENSSL_NO_BLAKE2 -# include -# include -# include "blake2_locl.h" +# include +# include # include "internal/evp_int.h" +# include "internal/blake2.h" static int init(EVP_MD_CTX *ctx) { - BLAKE2B_PARAM P; - blake2b_param_init(&P); - return BLAKE2b_Init(EVP_MD_CTX_md_data(ctx), &P); + return blake2b512_init(EVP_MD_CTX_md_data(ctx)); } static int update(EVP_MD_CTX *ctx, const void *data, size_t count) { - return BLAKE2b_Update(EVP_MD_CTX_md_data(ctx), data, count); + return blake2b_update(EVP_MD_CTX_md_data(ctx), data, count); } static int final(EVP_MD_CTX *ctx, unsigned char *md) { - return BLAKE2b_Final(md, EVP_MD_CTX_md_data(ctx)); + return blake2b_final(md, EVP_MD_CTX_md_data(ctx)); } static const EVP_MD blake2b_md = { @@ -58,4 +47,4 @@ const EVP_MD *EVP_blake2b512(void) { return &blake2b_md; } -#endif +#endif /* OPENSSL_NO_BLAKE2 */ diff --git a/crypto/blake2/m_blake2s.c b/crypto/blake2/m_blake2s.c index 8ff1727..dd4b68f 100644 --- a/crypto/blake2/m_blake2s.c +++ b/crypto/blake2/m_blake2s.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,37 +7,26 @@ * https://www.openssl.org/source/license.html */ -/* - * Derived from the BLAKE2 reference implementation written by Samuel Neves. - * Copyright 2012, Samuel Neves - * More information about the BLAKE2 hash function and its implementations - * can be found at https://blake2.net. - */ - -#include "internal/cryptlib.h" - #ifndef OPENSSL_NO_BLAKE2 -# include -# include -# include "blake2_locl.h" +# include +# include # include "internal/evp_int.h" +# include "internal/blake2.h" static int init(EVP_MD_CTX *ctx) { - BLAKE2S_PARAM P; - blake2s_param_init(&P); - return BLAKE2s_Init(EVP_MD_CTX_md_data(ctx), &P); + return blake2s256_init(EVP_MD_CTX_md_data(ctx)); } static int update(EVP_MD_CTX *ctx, const void *data, size_t count) { - return BLAKE2s_Update(EVP_MD_CTX_md_data(ctx), data, count); + return blake2s_update(EVP_MD_CTX_md_data(ctx), data, count); } static int final(EVP_MD_CTX *ctx, unsigned char *md) { - return BLAKE2s_Final(md, EVP_MD_CTX_md_data(ctx)); + return blake2s_final(md, EVP_MD_CTX_md_data(ctx)); } static const EVP_MD blake2s_md = { @@ -58,4 +47,4 @@ const EVP_MD *EVP_blake2s256(void) { return &blake2s_md; } -#endif +#endif /* OPENSSL_NO_BLAKE2 */ diff --git a/crypto/core_fetch.c b/crypto/core_fetch.c index 227f920..a99f092 100644 --- a/crypto/core_fetch.c +++ b/crypto/core_fetch.c @@ -31,6 +31,9 @@ static int ossl_method_construct_this(OSSL_PROVIDER *provider, void *cbdata) const OSSL_ALGORITHM *map = ossl_provider_query_operation(provider, data->operation_id, &no_store); + if (map == NULL) + return 0; + while (map->algorithm_name != NULL) { const OSSL_ALGORITHM *thismap = map++; void *method = NULL; diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index a1f0154..89cd5c1 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,10 +8,12 @@ */ #include -#include "internal/cryptlib.h" #include #include #include +#include +#include +#include "internal/cryptlib.h" #include "internal/evp_int.h" #include "internal/provider.h" #include "evp_locl.h" @@ -149,16 +151,6 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) goto legacy; } - if (type->prov == NULL) { - switch(type->type) { - case NID_sha256: - case NID_md2: - break; - default: - goto legacy; - } - } - if (ctx->digest != NULL && ctx->digest->ctx_size > 0) { OPENSSL_clear_free(ctx->md_data, ctx->digest->ctx_size); ctx->md_data = NULL; @@ -184,6 +176,11 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) #endif } + if (ctx->provctx != NULL && ctx->digest != NULL && ctx->digest != type) { + if (ctx->digest->freectx != NULL) + ctx->digest->freectx(ctx->provctx); + ctx->provctx = NULL; + } ctx->digest = type; if (ctx->provctx == NULL) { ctx->provctx = ctx->digest->newctx(ossl_provider_ctx(type->prov)); @@ -334,7 +331,6 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *isize) } EVP_MD_CTX_reset(ctx); - return ret; /* TODO(3.0): Remove legacy code below */ @@ -354,12 +350,31 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *isize) int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, size_t size) { int ret = 0; + OSSL_PARAM params[2]; + size_t i = 0; + + if (ctx->digest == NULL || ctx->digest->prov == NULL) + goto legacy; + if (ctx->digest->dfinal == NULL) { + EVPerr(EVP_F_EVP_DIGESTFINALXOF, EVP_R_FINAL_ERROR); + return 0; + } + + params[i++] = OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, + &size, NULL); + params[i++] = OSSL_PARAM_construct_end(); + + if (EVP_MD_CTX_set_params(ctx, params) > 0) + ret = ctx->digest->dfinal(ctx->provctx, md, &size, size); + EVP_MD_CTX_reset(ctx); + return ret; + +legacy: if (ctx->digest->flags & EVP_MD_FLAG_XOF && size <= INT_MAX && ctx->digest->md_ctrl(ctx, EVP_MD_CTRL_XOF_LEN, (int)size, NULL)) { ret = ctx->digest->final(ctx, md); - if (ctx->digest->cleanup != NULL) { ctx->digest->cleanup(ctx); EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_CLEANED); @@ -506,16 +521,56 @@ int EVP_Digest(const void *data, size_t count, return ret; } +int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) +{ + if (ctx->digest != NULL && ctx->digest->set_params != NULL) + return ctx->digest->set_params(ctx->provctx, params); + return 0; +} + +int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) +{ + if (ctx->digest != NULL && ctx->digest->get_params != NULL) + return ctx->digest->get_params(ctx->provctx, params); + return 0; +} + +#if !OPENSSL_API_3 int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) { - if (ctx->digest && ctx->digest->md_ctrl) { - int ret = ctx->digest->md_ctrl(ctx, cmd, p1, p2); - if (ret <= 0) - return 0; - return 1; + if (ctx->digest != NULL) { + OSSL_PARAM params[2]; + size_t i, sz, n = 0; + + switch (cmd) { + case EVP_MD_CTRL_XOF_LEN: + if (ctx->digest->set_params == NULL) + break; + i = (size_t)p1; + params[n++] = OSSL_PARAM_construct_size_t( + OSSL_DIGEST_PARAM_XOFLEN, &i, &sz); + params[n++] = OSSL_PARAM_construct_end(); + return ctx->digest->set_params(ctx->provctx, params) > 0; + case EVP_MD_CTRL_MICALG: + if (ctx->digest->get_params == NULL) + break; + params[n++] = OSSL_PARAM_construct_utf8_string( + OSSL_DIGEST_PARAM_MICALG, p2, p1 ? p1 : 9999, + &sz); + params[n++] = OSSL_PARAM_construct_end(); + return ctx->digest->get_params(ctx->provctx, params); + } + /* legacy code */ + if (ctx->digest->md_ctrl != NULL) { + int ret = ctx->digest->md_ctrl(ctx, cmd, p1, p2); + if (ret <= 0) + return 0; + return 1; + } } return 0; } +#endif static void *evp_md_from_dispatch(const OSSL_DISPATCH *fns, OSSL_PROVIDER *prov) @@ -530,55 +585,59 @@ static void *evp_md_from_dispatch(const OSSL_DISPATCH *fns, for (; fns->function_id != 0; fns++) { switch (fns->function_id) { case OSSL_FUNC_DIGEST_NEWCTX: - if (md->newctx != NULL) - break; - md->newctx = OSSL_get_OP_digest_newctx(fns); - fncnt++; + if (md->newctx == NULL) { + md->newctx = OSSL_get_OP_digest_newctx(fns); + fncnt++; + } break; case OSSL_FUNC_DIGEST_INIT: - if (md->dinit != NULL) - break; - md->dinit = OSSL_get_OP_digest_init(fns); - fncnt++; + if (md->dinit == NULL) { + md->dinit = OSSL_get_OP_digest_init(fns); + fncnt++; + } break; case OSSL_FUNC_DIGEST_UPDATE: - if (md->dupdate != NULL) - break; - md->dupdate = OSSL_get_OP_digest_update(fns); - fncnt++; + if (md->dupdate == NULL) { + md->dupdate = OSSL_get_OP_digest_update(fns); + fncnt++; + } break; case OSSL_FUNC_DIGEST_FINAL: - if (md->dfinal != NULL) - break; - md->dfinal = OSSL_get_OP_digest_final(fns); - fncnt++; + if (md->dfinal == NULL) { + md->dfinal = OSSL_get_OP_digest_final(fns); + fncnt++; + } break; case OSSL_FUNC_DIGEST_DIGEST: - if (md->digest != NULL) - break; - md->digest = OSSL_get_OP_digest_digest(fns); + if (md->digest == NULL) + md->digest = OSSL_get_OP_digest_digest(fns); /* We don't increment fnct for this as it is stand alone */ break; case OSSL_FUNC_DIGEST_FREECTX: - if (md->freectx != NULL) - break; - md->freectx = OSSL_get_OP_digest_freectx(fns); - fncnt++; + if (md->freectx == NULL) { + md->freectx = OSSL_get_OP_digest_freectx(fns); + fncnt++; + } break; case OSSL_FUNC_DIGEST_DUPCTX: - if (md->dupctx != NULL) - break; - md->dupctx = OSSL_get_OP_digest_dupctx(fns); + if (md->dupctx == NULL) + md->dupctx = OSSL_get_OP_digest_dupctx(fns); break; case OSSL_FUNC_DIGEST_SIZE: - if (md->size != NULL) - break; - md->size = OSSL_get_OP_digest_size(fns); + if (md->size == NULL) + md->size = OSSL_get_OP_digest_size(fns); break; case OSSL_FUNC_DIGEST_BLOCK_SIZE: - if (md->dblock_size != NULL) - break; - md->dblock_size = OSSL_get_OP_digest_block_size(fns); + if (md->dblock_size == NULL) + md->dblock_size = OSSL_get_OP_digest_block_size(fns); + break; + case OSSL_FUNC_DIGEST_SET_PARAMS: + if (md->set_params == NULL) + md->set_params = OSSL_get_OP_digest_set_params(fns); + break; + case OSSL_FUNC_DIGEST_GET_PARAMS: + if (md->get_params == NULL) + md->get_params = OSSL_get_OP_digest_get_params(fns); break; } } diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index fdd6209..d3b5bca 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -159,6 +159,7 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, mcmdata.mcm = &mcm; mcmdata.libctx = libctx; + mcmdata.name = name; mcmdata.method_from_dispatch = new_method; mcmdata.destruct_method = free_method; mcmdata.refcnt_up_method = upref_method; diff --git a/crypto/evp/m_md5_sha1.c b/crypto/evp/m_md5_sha1.c index 425ed47..af8ae31 100644 --- a/crypto/evp/m_md5_sha1.c +++ b/crypto/evp/m_md5_sha1.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,131 +7,46 @@ * https://www.openssl.org/source/license.html */ -#if !defined(OPENSSL_NO_MD5) +#ifndef OPENSSL_NO_MD5 +# include # include -# include -# include -# include -# include -# include "internal/cryptlib.h" +# include # include "internal/evp_int.h" -# include - -struct md5_sha1_ctx { - MD5_CTX md5; - SHA_CTX sha1; -}; +# include "internal/md5_sha1.h" static int init(EVP_MD_CTX *ctx) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); - if (!MD5_Init(&mctx->md5)) - return 0; - return SHA1_Init(&mctx->sha1); + return md5_sha1_init(EVP_MD_CTX_md_data(ctx)); } static int update(EVP_MD_CTX *ctx, const void *data, size_t count) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); - if (!MD5_Update(&mctx->md5, data, count)) - return 0; - return SHA1_Update(&mctx->sha1, data, count); + return md5_sha1_update(EVP_MD_CTX_md_data(ctx), data, count); } static int final(EVP_MD_CTX *ctx, unsigned char *md) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); - if (!MD5_Final(md, &mctx->md5)) - return 0; - return SHA1_Final(md + MD5_DIGEST_LENGTH, &mctx->sha1); + return md5_sha1_final(md, EVP_MD_CTX_md_data(ctx)); } static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) { - unsigned char padtmp[48]; - unsigned char md5tmp[MD5_DIGEST_LENGTH]; - unsigned char sha1tmp[SHA_DIGEST_LENGTH]; - struct md5_sha1_ctx *mctx; - - if (cmd != EVP_CTRL_SSL3_MASTER_SECRET) - return -2; - - if (ctx == NULL) - return 0; - - mctx = EVP_MD_CTX_md_data(ctx); - - /* SSLv3 client auth handling: see RFC-6101 5.6.8 */ - if (mslen != 48) - return 0; - - /* At this point hash contains all handshake messages, update - * with master secret and pad_1. - */ - - if (update(ctx, ms, mslen) <= 0) - return 0; - - /* Set padtmp to pad_1 value */ - memset(padtmp, 0x36, sizeof(padtmp)); - - if (!MD5_Update(&mctx->md5, padtmp, sizeof(padtmp))) - return 0; - - if (!MD5_Final(md5tmp, &mctx->md5)) - return 0; - - if (!SHA1_Update(&mctx->sha1, padtmp, 40)) - return 0; - - if (!SHA1_Final(sha1tmp, &mctx->sha1)) - return 0; - - /* Reinitialise context */ - - if (!init(ctx)) - return 0; - - if (update(ctx, ms, mslen) <= 0) - return 0; - - /* Set padtmp to pad_2 value */ - memset(padtmp, 0x5c, sizeof(padtmp)); - - if (!MD5_Update(&mctx->md5, padtmp, sizeof(padtmp))) - return 0; - - if (!MD5_Update(&mctx->md5, md5tmp, sizeof(md5tmp))) - return 0; - - if (!SHA1_Update(&mctx->sha1, padtmp, 40)) - return 0; - - if (!SHA1_Update(&mctx->sha1, sha1tmp, sizeof(sha1tmp))) - return 0; - - /* Now when ctx is finalised it will return the SSL v3 hash value */ - - OPENSSL_cleanse(md5tmp, sizeof(md5tmp)); - OPENSSL_cleanse(sha1tmp, sizeof(sha1tmp)); - - return 1; - + return md5_sha1_ctrl(EVP_MD_CTX_md_data(ctx), cmd, mslen, ms); } static const EVP_MD md5_sha1_md = { NID_md5_sha1, NID_md5_sha1, - MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH, + MD5_SHA1_DIGEST_LENGTH, 0, init, update, final, NULL, NULL, - MD5_CBLOCK, - sizeof(EVP_MD *) + sizeof(struct md5_sha1_ctx), + MD5_SHA1_CBLOCK, + sizeof(EVP_MD *) + sizeof(MD5_SHA1_CTX), ctrl }; @@ -139,4 +54,5 @@ const EVP_MD *EVP_md5_sha1(void) { return &md5_sha1_md; } -#endif + +#endif /* OPENSSL_NO_MD5 */ diff --git a/crypto/evp/m_sha1.c b/crypto/evp/m_sha1.c index 59333b2..1258ea0 100644 --- a/crypto/evp/m_sha1.c +++ b/crypto/evp/m_sha1.c @@ -32,63 +32,9 @@ static int final(EVP_MD_CTX *ctx, unsigned char *md) return SHA1_Final(md, EVP_MD_CTX_md_data(ctx)); } -static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) +static int ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) { - unsigned char padtmp[40]; - unsigned char sha1tmp[SHA_DIGEST_LENGTH]; - - SHA_CTX *sha1; - - if (cmd != EVP_CTRL_SSL3_MASTER_SECRET) - return -2; - - if (ctx == NULL) - return 0; - - sha1 = EVP_MD_CTX_md_data(ctx); - - /* SSLv3 client auth handling: see RFC-6101 5.6.8 */ - if (mslen != 48) - return 0; - - /* At this point hash contains all handshake messages, update - * with master secret and pad_1. - */ - - if (SHA1_Update(sha1, ms, mslen) <= 0) - return 0; - - /* Set padtmp to pad_1 value */ - memset(padtmp, 0x36, sizeof(padtmp)); - - if (!SHA1_Update(sha1, padtmp, sizeof(padtmp))) - return 0; - - if (!SHA1_Final(sha1tmp, sha1)) - return 0; - - /* Reinitialise context */ - - if (!SHA1_Init(sha1)) - return 0; - - if (SHA1_Update(sha1, ms, mslen) <= 0) - return 0; - - /* Set padtmp to pad_2 value */ - memset(padtmp, 0x5c, sizeof(padtmp)); - - if (!SHA1_Update(sha1, padtmp, sizeof(padtmp))) - return 0; - - if (!SHA1_Update(sha1, sha1tmp, sizeof(sha1tmp))) - return 0; - - /* Now when ctx is finalised it will return the SSL v3 hash value */ - OPENSSL_cleanse(sha1tmp, sizeof(sha1tmp)); - - return 1; - + return sha1_ctrl(ctx != NULL ? EVP_MD_CTX_md_data(ctx) : NULL, cmd, p1, p2); } static const EVP_MD sha1_md = { diff --git a/crypto/evp/m_sha3.c b/crypto/evp/m_sha3.c index a9263b8..d80154c 100644 --- a/crypto/evp/m_sha3.c +++ b/crypto/evp/m_sha3.c @@ -13,120 +13,33 @@ #include #include #include "internal/evp_int.h" +#include "internal/sha3.h" #include "evp_locl.h" -size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t len, - size_t r); -void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len, size_t r); - -#define KECCAK1600_WIDTH 1600 - -typedef struct { - uint64_t A[5][5]; - size_t block_size; /* cached ctx->digest->block_size */ - size_t md_size; /* output length, variable in XOF */ - size_t num; /* used bytes in below buffer */ - unsigned char buf[KECCAK1600_WIDTH / 8 - 32]; - unsigned char pad; -} KECCAK1600_CTX; - -static int init(EVP_MD_CTX *evp_ctx, unsigned char pad) +static int init(EVP_MD_CTX *ctx) { - KECCAK1600_CTX *ctx = evp_ctx->md_data; - size_t bsz = evp_ctx->digest->block_size; - - if (bsz <= sizeof(ctx->buf)) { - memset(ctx->A, 0, sizeof(ctx->A)); - - ctx->num = 0; - ctx->block_size = bsz; - ctx->md_size = evp_ctx->digest->md_size; - ctx->pad = pad; - - return 1; - } - - return 0; + return sha3_init(EVP_MD_CTX_md_data(ctx), '\x06', ctx->digest->md_size * 8); } -static int sha3_init(EVP_MD_CTX *evp_ctx) +static int update(EVP_MD_CTX *ctx, const void *_inp, size_t len) { - return init(evp_ctx, '\x06'); + return sha3_update(EVP_MD_CTX_md_data(ctx), _inp, len); } -static int shake_init(EVP_MD_CTX *evp_ctx) +static int final(EVP_MD_CTX *ctx, unsigned char *md) { - return init(evp_ctx, '\x1f'); + return sha3_final(md, EVP_MD_CTX_md_data(ctx)); } -static int kmac_init(EVP_MD_CTX *evp_ctx) +static int shake_init(EVP_MD_CTX *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; - const unsigned char *inp = _inp; - size_t bsz = ctx->block_size; - size_t num, rem; - - if (len == 0) - return 1; - - if ((num = ctx->num) != 0) { /* process intermediate buffer? */ - rem = bsz - num; - - if (len < rem) { - memcpy(ctx->buf + num, inp, len); - ctx->num += len; - return 1; - } - /* - * We have enough data to fill or overflow the intermediate - * buffer. So we append |rem| bytes and process the block, - * leaving the rest for later processing... - */ - memcpy(ctx->buf + num, inp, rem); - inp += rem, len -= rem; - (void)SHA3_absorb(ctx->A, ctx->buf, bsz, bsz); - ctx->num = 0; - /* ctx->buf is processed, ctx->num is guaranteed to be zero */ - } - - if (len >= bsz) - rem = SHA3_absorb(ctx->A, inp, len, bsz); - else - rem = len; - - if (rem) { - memcpy(ctx->buf, inp + len - rem, rem); - ctx->num = rem; - } - - return 1; + return sha3_init(EVP_MD_CTX_md_data(ctx), '\x1f', ctx->digest->md_size * 8); } -static int sha3_final(EVP_MD_CTX *evp_ctx, unsigned char *md) +static int kmac_init(EVP_MD_CTX *ctx) { - KECCAK1600_CTX *ctx = evp_ctx->md_data; - size_t bsz = ctx->block_size; - size_t num = ctx->num; - - /* - * Pad the data with 10*1. Note that |num| can be |bsz - 1| - * in which case both byte operations below are performed on - * same byte... - */ - memset(ctx->buf + num, 0, bsz - num); - ctx->buf[num] = ctx->pad; - ctx->buf[bsz - 1] |= 0x80; - - (void)SHA3_absorb(ctx->A, ctx->buf, bsz, bsz); - - SHA3_squeeze(ctx->A, md, ctx->md_size, bsz); - - return 1; + return keccak_kmac_init(EVP_MD_CTX_md_data(ctx), '\x04', + ctx->digest->md_size * 8 / 2); } static int shake_ctrl(EVP_MD_CTX *evp_ctx, int cmd, int p1, void *p2) @@ -311,9 +224,9 @@ const EVP_MD *EVP_sha3_##bitlen(void) \ NID_RSA_SHA3_##bitlen, \ bitlen / 8, \ EVP_MD_FLAG_DIGALGID_ABSENT, \ - sha3_init, \ - sha3_update, \ - sha3_final, \ + init, \ + update, \ + final, \ NULL, \ NULL, \ (KECCAK1600_WIDTH - bitlen * 2) / 8, \ @@ -347,8 +260,8 @@ const EVP_MD *EVP_shake##bitlen(void) \ bitlen / 8, \ EVP_MD_FLAG_XOF, \ shake_init, \ - sha3_update, \ - sha3_final, \ + update, \ + final, \ NULL, \ NULL, \ (KECCAK1600_WIDTH - bitlen * 2) / 8, \ @@ -370,9 +283,9 @@ const EVP_MD *EVP_sha3_##bitlen(void) \ NID_RSA_SHA3_##bitlen, \ bitlen / 8, \ EVP_MD_FLAG_DIGALGID_ABSENT, \ - sha3_init, \ - sha3_update, \ - sha3_final, \ + init, \ + update, \ + final, \ NULL, \ NULL, \ (KECCAK1600_WIDTH - bitlen * 2) / 8, \ @@ -390,8 +303,8 @@ const EVP_MD *EVP_shake##bitlen(void) \ bitlen / 8, \ EVP_MD_FLAG_XOF, \ shake_init, \ - sha3_update, \ - sha3_final, \ + update, \ + final, \ NULL, \ NULL, \ (KECCAK1600_WIDTH - bitlen * 2) / 8, \ @@ -416,13 +329,13 @@ EVP_MD_SHAKE(256) const EVP_MD *evp_keccak_kmac##bitlen(void) \ { \ static const EVP_MD kmac_##bitlen##_md = { \ - -1, \ + NID_kmac##bitlen, \ 0, \ 2 * bitlen / 8, \ EVP_MD_FLAG_XOF, \ kmac_init, \ - sha3_update, \ - sha3_final, \ + update, \ + final, \ NULL, \ NULL, \ (KECCAK1600_WIDTH - bitlen * 2) / 8, \ diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index 43932a4..77684b2 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -207,6 +207,8 @@ struct evp_md_st { OSSL_OP_digest_dupctx_fn *dupctx; OSSL_OP_digest_size_fn *size; OSSL_OP_digest_block_size_fn *dblock_size; + OSSL_OP_digest_set_params_fn *set_params; + OSSL_OP_digest_get_params_fn *get_params; } /* EVP_MD */ ; diff --git a/crypto/include/internal/sha.h b/crypto/include/internal/sha.h index 3b5ac03..3863261 100644 --- a/crypto/include/internal/sha.h +++ b/crypto/include/internal/sha.h @@ -15,5 +15,6 @@ int sha512_224_init(SHA512_CTX *); int sha512_256_init(SHA512_CTX *); +int sha1_ctrl(SHA_CTX *ctx, int cmd, int mslen, void *ms); #endif diff --git a/crypto/md5/build.info b/crypto/md5/build.info index e641fec..2b1444d 100644 --- a/crypto/md5/build.info +++ b/crypto/md5/build.info @@ -1,6 +1,6 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - md5_dgst.c md5_one.c {- $target{md5_asm_src} -} + md5_dgst.c md5_one.c md5_sha1.c {- $target{md5_asm_src} -} GENERATE[md5-586.s]=asm/md5-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) diff --git a/crypto/evp/m_md5_sha1.c b/crypto/md5/md5_sha1.c similarity index 61% copy from crypto/evp/m_md5_sha1.c copy to crypto/md5/md5_sha1.c index 425ed47..5d5fac9 100644 --- a/crypto/evp/m_md5_sha1.c +++ b/crypto/md5/md5_sha1.c @@ -1,67 +1,48 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (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/md5_sha1.h" +#include -#if !defined(OPENSSL_NO_MD5) - -# include -# include -# include -# include -# include -# include "internal/cryptlib.h" -# include "internal/evp_int.h" -# include - -struct md5_sha1_ctx { - MD5_CTX md5; - SHA_CTX sha1; -}; - -static int init(EVP_MD_CTX *ctx) +int md5_sha1_init(MD5_SHA1_CTX *mctx) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); if (!MD5_Init(&mctx->md5)) return 0; return SHA1_Init(&mctx->sha1); } -static int update(EVP_MD_CTX *ctx, const void *data, size_t count) +int md5_sha1_update(MD5_SHA1_CTX *mctx, const void *data, size_t count) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); if (!MD5_Update(&mctx->md5, data, count)) return 0; return SHA1_Update(&mctx->sha1, data, count); } -static int final(EVP_MD_CTX *ctx, unsigned char *md) +int md5_sha1_final(unsigned char *md, MD5_SHA1_CTX *mctx) { - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); if (!MD5_Final(md, &mctx->md5)) return 0; return SHA1_Final(md + MD5_DIGEST_LENGTH, &mctx->sha1); } -static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) +int md5_sha1_ctrl(MD5_SHA1_CTX *mctx, int cmd, int mslen, void *ms) { unsigned char padtmp[48]; unsigned char md5tmp[MD5_DIGEST_LENGTH]; unsigned char sha1tmp[SHA_DIGEST_LENGTH]; - struct md5_sha1_ctx *mctx; if (cmd != EVP_CTRL_SSL3_MASTER_SECRET) return -2; - if (ctx == NULL) + if (mctx == NULL) return 0; - mctx = EVP_MD_CTX_md_data(ctx); - /* SSLv3 client auth handling: see RFC-6101 5.6.8 */ if (mslen != 48) return 0; @@ -70,7 +51,7 @@ static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) * with master secret and pad_1. */ - if (update(ctx, ms, mslen) <= 0) + if (md5_sha1_update(mctx, ms, mslen) <= 0) return 0; /* Set padtmp to pad_1 value */ @@ -90,10 +71,10 @@ static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) /* Reinitialise context */ - if (!init(ctx)) + if (!md5_sha1_init(mctx)) return 0; - if (update(ctx, ms, mslen) <= 0) + if (md5_sha1_update(mctx, ms, mslen) <= 0) return 0; /* Set padtmp to pad_2 value */ @@ -117,26 +98,4 @@ static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) OPENSSL_cleanse(sha1tmp, sizeof(sha1tmp)); return 1; - -} - -static const EVP_MD md5_sha1_md = { - NID_md5_sha1, - NID_md5_sha1, - MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH, - 0, - init, - update, - final, - NULL, - NULL, - MD5_CBLOCK, - sizeof(EVP_MD *) + sizeof(struct md5_sha1_ctx), - ctrl -}; - -const EVP_MD *EVP_md5_sha1(void) -{ - return &md5_sha1_md; } -#endif diff --git a/crypto/sha/build.info b/crypto/sha/build.info index 242a08e..70b4233 100644 --- a/crypto/sha/build.info +++ b/crypto/sha/build.info @@ -1,9 +1,10 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - sha1dgst.c sha1_one.c sha256.c sha512.c {- $target{sha1_asm_src} -} \ - {- $target{keccak1600_asm_src} -} + sha1dgst.c sha1_one.c sha256.c sha512.c sha3.c \ + {- $target{sha1_asm_src} -} {- $target{keccak1600_asm_src} -} -SOURCE[../../providers/fips]= sha256.c +SOURCE[../../providers/fips]= sha1dgst.c sha256.c sha512.c sha3.c \ + {- $target{keccak1600_asm_src} -} {- $target{sha1_asm_src} -} GENERATE[sha1-586.s]=asm/sha1-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/sha/keccak1600.c b/crypto/sha/keccak1600.c index ff53a26..ccbf12b 100644 --- a/crypto/sha/keccak1600.c +++ b/crypto/sha/keccak1600.c @@ -1090,7 +1090,7 @@ size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t len, } /* - * SHA3_squeeze is called once at the end to generate |out| hash value + * sha3_squeeze is called once at the end to generate |out| hash value * of |len| bytes. */ void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len, size_t r) diff --git a/crypto/sha/sha1dgst.c b/crypto/sha/sha1dgst.c index d31a5d4..4881bcb 100644 --- a/crypto/sha/sha1dgst.c +++ b/crypto/sha/sha1dgst.c @@ -10,8 +10,65 @@ #include #include -# include +#include +#include +#include /* The implementation is in ../md32_common.h */ -# include "sha_locl.h" +#include "sha_locl.h" +#include "internal/sha.h" + +int sha1_ctrl(SHA_CTX *sha1, int cmd, int mslen, void *ms) +{ + unsigned char padtmp[40]; + unsigned char sha1tmp[SHA_DIGEST_LENGTH]; + + if (cmd != EVP_CTRL_SSL3_MASTER_SECRET) + return -2; + + if (sha1 == NULL) + return 0; + + /* SSLv3 client auth handling: see RFC-6101 5.6.8 */ + if (mslen != 48) + return 0; + + /* At this point hash contains all handshake messages, update + * with master secret and pad_1. + */ + + if (SHA1_Update(sha1, ms, mslen) <= 0) + return 0; + + /* Set padtmp to pad_1 value */ + memset(padtmp, 0x36, sizeof(padtmp)); + + if (!SHA1_Update(sha1, padtmp, sizeof(padtmp))) + return 0; + + if (!SHA1_Final(sha1tmp, sha1)) + return 0; + + /* Reinitialise context */ + + if (!SHA1_Init(sha1)) + return 0; + + if (SHA1_Update(sha1, ms, mslen) <= 0) + return 0; + + /* Set padtmp to pad_2 value */ + memset(padtmp, 0x5c, sizeof(padtmp)); + + if (!SHA1_Update(sha1, padtmp, sizeof(padtmp))) + return 0; + + if (!SHA1_Update(sha1, sha1tmp, sizeof(sha1tmp))) + return 0; + + /* Now when ctx is finalised it will return the SSL v3 hash value */ + OPENSSL_cleanse(sha1tmp, sizeof(sha1tmp)); + + return 1; +} diff --git a/crypto/sha/sha3.c b/crypto/sha/sha3.c new file mode 100644 index 0000000..19ef426 --- /dev/null +++ b/crypto/sha/sha3.c @@ -0,0 +1,106 @@ +/* + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/sha3.h" + +void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len, size_t r); + +void sha3_reset(KECCAK1600_CTX *ctx) +{ + memset(ctx->A, 0, sizeof(ctx->A)); + ctx->bufsz = 0; +} + +int sha3_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t bitlen) +{ + size_t bsz = SHA3_BLOCKSIZE(bitlen); + + if (bsz <= sizeof(ctx->buf)) { + sha3_reset(ctx); + ctx->block_size = bsz; + ctx->md_size = bitlen / 8; + ctx->pad = pad; + return 1; + } + + return 0; +} + +int keccak_kmac_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t bitlen) +{ + int ret = sha3_init(ctx, pad, bitlen); + + if (ret) + ctx->md_size *= 2; + return ret; +} + +int sha3_update(KECCAK1600_CTX *ctx, const void *_inp, size_t len) +{ + const unsigned char *inp = _inp; + size_t bsz = ctx->block_size; + size_t num, rem; + + if (len == 0) + return 1; + + if ((num = ctx->bufsz) != 0) { /* process intermediate buffer? */ + rem = bsz - num; + + if (len < rem) { + memcpy(ctx->buf + num, inp, len); + ctx->bufsz += len; + return 1; + } + /* + * We have enough data to fill or overflow the intermediate + * buffer. So we append |rem| bytes and process the block, + * leaving the rest for later processing... + */ + memcpy(ctx->buf + num, inp, rem); + inp += rem, len -= rem; + (void)SHA3_absorb(ctx->A, ctx->buf, bsz, bsz); + ctx->bufsz = 0; + /* ctx->buf is processed, ctx->num is guaranteed to be zero */ + } + + if (len >= bsz) + rem = SHA3_absorb(ctx->A, inp, len, bsz); + else + rem = len; + + if (rem) { + memcpy(ctx->buf, inp + len - rem, rem); + ctx->bufsz = rem; + } + + return 1; +} + +int sha3_final(unsigned char *md, KECCAK1600_CTX *ctx) +{ + size_t bsz = ctx->block_size; + size_t num = ctx->bufsz; + + /* + * Pad the data with 10*1. Note that |num| can be |bsz - 1| + * in which case both byte operations below are performed on + * same byte... + */ + memset(ctx->buf + num, 0, bsz - num); + ctx->buf[num] = ctx->pad; + ctx->buf[bsz - 1] |= 0x80; + + (void)SHA3_absorb(ctx->A, ctx->buf, bsz, bsz); + + SHA3_squeeze(ctx->A, md, ctx->md_size, bsz); + + return 1; +} diff --git a/crypto/sm3/m_sm3.c b/crypto/sm3/m_sm3.c index 877dedb..38ddbfe 100644 --- a/crypto/sm3/m_sm3.c +++ b/crypto/sm3/m_sm3.c @@ -12,8 +12,8 @@ #ifndef OPENSSL_NO_SM3 # include -# include "internal/evp_int.h" # include "internal/sm3.h" +# include "internal/evp_int.h" static int init(EVP_MD_CTX *ctx) { diff --git a/crypto/sm3/sm3_locl.h b/crypto/sm3/sm3_locl.h index e1fcede..a5b7962 100644 --- a/crypto/sm3/sm3_locl.h +++ b/crypto/sm3/sm3_locl.h @@ -34,6 +34,7 @@ } while (0) #define HASH_BLOCK_DATA_ORDER sm3_block_data_order +void sm3_block_data_order(SM3_CTX *c, const void *p, size_t num); void sm3_transform(SM3_CTX *c, const unsigned char *data); #include "internal/md32_common.h" diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod index 4f5e38c..95ede34 100644 --- a/doc/man3/EVP_DigestInit.pod +++ b/doc/man3/EVP_DigestInit.pod @@ -3,8 +3,8 @@ =head1 NAME EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, -EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, EVP_MD_CTX_set_flags, -EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, +EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, EVP_MD_CTX_set_params, EVP_MD_CTX_get_params, +EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, EVP_Digest, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, EVP_MD_block_size, EVP_MD_flags, @@ -22,6 +22,8 @@ EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); void EVP_MD_CTX_free(EVP_MD_CTX *ctx); void EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void* p2); + int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); + int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); @@ -88,12 +90,25 @@ Cleans up digest context B and frees up the space allocated to it. =item EVP_MD_CTX_ctrl() +This is a deprecated function. EVP_MD_CTX_set_params() and EVP_MD_CTX_get_params() +is the mechanism that should be used to set and get parameters that are used by +providers. Performs digest-specific control actions on context B. The control command is indicated in B and any additional arguments in B and B. EVP_MD_CTX_ctrl() must be called after EVP_DigestInit_ex(). Other restrictions may apply depending on the control type and digest implementation. See L below for more information. +=item EVP_MD_CTX_get_params + +Retrieves the requested list of B from a MD context B. +See L below for more information. + +=item EVP_MD_CTX_set_params + +Sets the list of into a MD context B. +See L below for more information. + =item EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags(), EVP_MD_CTX_test_flags() Sets, clears and tests B flags. See L below for more information. @@ -239,6 +254,38 @@ depends on how the B is created. =back +=head1 PARAMS + +See L for information about passing parameters. + +EVP_MD_CTX_set_params() can be used with the following OSSL_PARAM keys: + +=over 4 + +=item OSSL_PARAM_DIGEST_KEY_XOFLEN + +Sets the digest length for extendable output functions. +It is used by the SHAKE algorithm. + +=item OSSL_PARAM_DIGEST_KEY_PAD_TYPE + +Sets the pad type. +It is used by the MDC2 algorithm. + +=back + +EVP_MD_CTX_get_params() can be used with the following OSSL_PARAM keys: + +=over 4 + +=item OSSL_PARAM_DIGEST_KEY_MICALG . + +Gets the digest Message Integrity Check algorithm string. This is used when +creating S/MIME multipart/signed messages, as specified in RFC 3851. +It may be used by external engines or providers. + +=back + =head1 CONTROLS EVP_MD_CTX_ctrl() can be used to send the following standard controls: @@ -307,6 +354,11 @@ success and 0 for failure. Returns 1 if successful or 0 for failure. +=item EVP_MD_CTX_set_params(), +EVP_MD_CTX_get_params() + +Returns 1 if successful or 0 for failure. + =item EVP_MD_CTX_copy_ex() Returns 1 if successful or 0 for failure. @@ -418,7 +470,9 @@ digest name passed on the command line. L, L, -L +L, +L, +L The full list of digest algorithms are provided below. @@ -446,9 +500,12 @@ The EVP_dss1() function was removed in OpenSSL 1.1.0. The EVP_MD_CTX_set_pkey_ctx() function was added in 1.1.1. +The EVP_MD_CTX_set_params() and EVP_MD_CTX_get_params() functions were +added in 3.0. + =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/crypto/blake2/blake2_locl.h b/include/internal/blake2.h similarity index 68% rename from crypto/blake2/blake2_locl.h rename to include/internal/blake2.h index e8c86db..1c2808b 100644 --- a/crypto/blake2/blake2_locl.h +++ b/include/internal/blake2.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,26 +7,26 @@ * https://www.openssl.org/source/license.html */ -/* - * Derived from the BLAKE2 reference implementation written by Samuel Neves. - * Copyright 2012, Samuel Neves - * More information about the BLAKE2 hash function and its implementations - * can be found at https://blake2.net. - */ +/* TODO(3.0) Move this header into provider when dependencies are removed */ +#ifndef HEADER_BLAKE2_H +# define HEADER_BLAKE2_H + +# include -#include +# include +# include -#define BLAKE2S_BLOCKBYTES 64 -#define BLAKE2S_OUTBYTES 32 -#define BLAKE2S_KEYBYTES 32 -#define BLAKE2S_SALTBYTES 8 -#define BLAKE2S_PERSONALBYTES 8 +# define BLAKE2S_BLOCKBYTES 64 +# define BLAKE2S_OUTBYTES 32 +# define BLAKE2S_KEYBYTES 32 +# define BLAKE2S_SALTBYTES 8 +# define BLAKE2S_PERSONALBYTES 8 -#define BLAKE2B_BLOCKBYTES 128 -#define BLAKE2B_OUTBYTES 64 -#define BLAKE2B_KEYBYTES 64 -#define BLAKE2B_SALTBYTES 16 -#define BLAKE2B_PERSONALBYTES 16 +# define BLAKE2B_BLOCKBYTES 128 +# define BLAKE2B_OUTBYTES 64 +# define BLAKE2B_KEYBYTES 64 +# define BLAKE2B_SALTBYTES 16 +# define BLAKE2B_PERSONALBYTES 16 struct blake2s_param_st { uint8_t digest_length; /* 1 */ @@ -83,10 +83,13 @@ struct blake2b_ctx_st { typedef struct blake2s_ctx_st BLAKE2S_CTX; typedef struct blake2b_ctx_st BLAKE2B_CTX; -int BLAKE2b_Init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P); -int BLAKE2b_Init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P, const void *key); -int BLAKE2b_Update(BLAKE2B_CTX *c, const void *data, size_t datalen); -int BLAKE2b_Final(unsigned char *md, BLAKE2B_CTX *c); +int blake2s256_init(void *ctx); +int blake2b512_init(void *ctx); + +int blake2b_init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P); +int blake2b_init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P, const void *key); +int blake2b_update(BLAKE2B_CTX *c, const void *data, size_t datalen); +int blake2b_final(unsigned char *md, BLAKE2B_CTX *c); /* * These setters are internal and do not check the validity of their parameters. @@ -99,13 +102,15 @@ void blake2b_param_set_key_length(BLAKE2B_PARAM *P, uint8_t keylen); void blake2b_param_set_personal(BLAKE2B_PARAM *P, const uint8_t *personal, size_t length); void blake2b_param_set_salt(BLAKE2B_PARAM *P, const uint8_t *salt, size_t length); -int BLAKE2s_Init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P); -int BLAKE2s_Init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P, const void *key); -int BLAKE2s_Update(BLAKE2S_CTX *c, const void *data, size_t datalen); -int BLAKE2s_Final(unsigned char *md, BLAKE2S_CTX *c); +int blake2s_init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P); +int blake2s_init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P, const void *key); +int blake2s_update(BLAKE2S_CTX *c, const void *data, size_t datalen); +int blake2s_final(unsigned char *md, BLAKE2S_CTX *c); void blake2s_param_init(BLAKE2S_PARAM *P); void blake2s_param_set_digest_length(BLAKE2S_PARAM *P, uint8_t outlen); void blake2s_param_set_key_length(BLAKE2S_PARAM *P, uint8_t keylen); void blake2s_param_set_personal(BLAKE2S_PARAM *P, const uint8_t *personal, size_t length); void blake2s_param_set_salt(BLAKE2S_PARAM *P, const uint8_t *salt, size_t length); + +#endif /* HEADER_BLAKE2_H */ diff --git a/include/internal/md5_sha1.h b/include/internal/md5_sha1.h new file mode 100644 index 0000000..0f1f735 --- /dev/null +++ b/include/internal/md5_sha1.h @@ -0,0 +1,37 @@ +/* + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +/* TODO(3.0) Move this header into provider when dependencies are removed */ +#ifndef HEADER_MD5_SHA1_H +# define HEADER_MD5_SHA1_H + +# include + +# ifndef OPENSSL_NO_MD5 +# include +# include +# include +# include + +# define MD5_SHA1_DIGEST_LENGTH (MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH) +# define MD5_SHA1_CBLOCK MD5_CBLOCK + +typedef struct md5_sha1_st { + MD5_CTX md5; + SHA_CTX sha1; +} MD5_SHA1_CTX; + +int md5_sha1_init(MD5_SHA1_CTX *mctx); +int md5_sha1_update(MD5_SHA1_CTX *mctx, const void *data, size_t count); +int md5_sha1_final(unsigned char *md, MD5_SHA1_CTX *mctx); +int md5_sha1_ctrl(MD5_SHA1_CTX *mctx, int cmd, int mslen, void *ms); + +# endif /* OPENSSL_NO_MD5 */ + +#endif /* HEADER_MD5_SHA1_H */ diff --git a/include/internal/sha3.h b/include/internal/sha3.h new file mode 100644 index 0000000..b07d50c --- /dev/null +++ b/include/internal/sha3.h @@ -0,0 +1,52 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +/* TODO(3.0) Move this header into provider when dependencies are removed */ +#ifndef HEADER_INTERNAL_SHA3_H +# define HEADER_INTERNAL_SHA3_H + +# include +# include + +# define KECCAK1600_WIDTH 1600 +# define SHA3_MDSIZE(bitlen) (bitlen / 8) +# define KMAC_MDSIZE(bitlen) 2 * (bitlen / 8) +# define SHA3_BLOCKSIZE(bitlen) (KECCAK1600_WIDTH - bitlen * 2) / 8 + +typedef struct keccak_st KECCAK1600_CTX; + +typedef size_t (sha3_absorb_fn)(void *vctx, const void *inp, size_t len); +typedef int (sha3_final_fn)(unsigned char *md, void *vctx); + +typedef struct prov_sha3_meth_st +{ + sha3_absorb_fn *absorb; + sha3_final_fn *final; +} PROV_SHA3_METHOD; + +struct keccak_st { + uint64_t A[5][5]; + size_t block_size; /* cached ctx->digest->block_size */ + size_t md_size; /* output length, variable in XOF */ + size_t bufsz; /* used bytes in below buffer */ + unsigned char buf[KECCAK1600_WIDTH / 8 - 32]; + unsigned char pad; + PROV_SHA3_METHOD meth; +}; + +void sha3_reset(KECCAK1600_CTX *ctx); +int sha3_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t bitlen); +int keccak_kmac_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t bitlen); +int sha3_update(KECCAK1600_CTX *ctx, const void *_inp, size_t len); +int sha3_final(unsigned char *md, KECCAK1600_CTX *ctx); + +size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t len, + size_t r); + +#endif /* HEADER_INTERNAL_SHA3_H */ diff --git a/crypto/include/internal/sm3.h b/include/internal/sm3.h similarity index 83% rename from crypto/include/internal/sm3.h rename to include/internal/sm3.h index cb0f28d..2aef712 100644 --- a/crypto/include/internal/sm3.h +++ b/include/internal/sm3.h @@ -1,5 +1,5 @@ /* - * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 Ribose Inc. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -8,6 +8,7 @@ * https://www.openssl.org/source/license.html */ +/* TODO(3.0) Move this header into provider when dependencies are removed */ #ifndef HEADER_SM3_H # define HEADER_SM3_H @@ -34,6 +35,4 @@ int sm3_init(SM3_CTX *c); int sm3_update(SM3_CTX *c, const void *data, size_t len); int sm3_final(unsigned char *md, SM3_CTX *c); -void sm3_block_data_order(SM3_CTX *c, const void *p, size_t num); - -#endif +#endif /* HEADER_SM3_H */ diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h index 35a23d7..52a3f8b 100644 --- a/include/openssl/core_names.h +++ b/include/openssl/core_names.h @@ -40,6 +40,13 @@ extern "C" { #define OSSL_CIPHER_PARAM_PADDING "padding" #define OSSL_CIPHER_PARAM_MODE "mode" +/* digest parameters */ +#define OSSL_DIGEST_PARAM_XOFLEN "xoflen" +#define OSSL_DIGEST_PARAM_CMD "cmd" +#define OSSL_DIGEST_PARAM_MSG "msg" +#define OSSL_DIGEST_PARAM_PAD_TYPE "pad_type" +#define OSSL_DIGEST_PARAM_MICALG "micalg" + # ifdef __cplusplus } # endif diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index 8d026f4..03a918d 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -91,7 +91,8 @@ OSSL_CORE_MAKE_FUNC(const OSSL_ALGORITHM *,provider_query_operation, # define OSSL_FUNC_DIGEST_DUPCTX 7 # define OSSL_FUNC_DIGEST_SIZE 8 # define OSSL_FUNC_DIGEST_BLOCK_SIZE 9 - +# define OSSL_FUNC_DIGEST_SET_PARAMS 10 +# define OSSL_FUNC_DIGEST_GET_PARAMS 11 OSSL_CORE_MAKE_FUNC(void *, OP_digest_newctx, (void *provctx)) OSSL_CORE_MAKE_FUNC(int, OP_digest_init, (void *dctx)) @@ -107,9 +108,13 @@ OSSL_CORE_MAKE_FUNC(int, OP_digest_digest, OSSL_CORE_MAKE_FUNC(void, OP_digest_cleanctx, (void *dctx)) OSSL_CORE_MAKE_FUNC(void, OP_digest_freectx, (void *dctx)) OSSL_CORE_MAKE_FUNC(void *, OP_digest_dupctx, (void *dctx)) + OSSL_CORE_MAKE_FUNC(size_t, OP_digest_size, (void)) OSSL_CORE_MAKE_FUNC(size_t, OP_digest_block_size, (void)) - +OSSL_CORE_MAKE_FUNC(int, OP_digest_set_params, + (void *vctx, const OSSL_PARAM params[])) +OSSL_CORE_MAKE_FUNC(int, OP_digest_get_params, + (void *vctx, const OSSL_PARAM params[])) /* Symmetric Ciphers */ @@ -163,7 +168,6 @@ OSSL_CORE_MAKE_FUNC(int, OP_cipher_ctx_get_params, (void *cctx, OSSL_CORE_MAKE_FUNC(int, OP_cipher_ctx_set_params, (void *cctx, const OSSL_PARAM params[])) - # ifdef __cplusplus } # endif diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 593753c..a2af3fc 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -17,6 +17,7 @@ # include # include # include +# include # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ # define EVP_MAX_KEY_LENGTH 64 @@ -539,7 +540,9 @@ void BIO_set_md(BIO *, const EVP_MD *md); # define EVP_delete_digest_alias(alias) \ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); -int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); +int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); +int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); +DEPRECATEDIN_3(int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)) EVP_MD_CTX *EVP_MD_CTX_new(void); int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); void EVP_MD_CTX_free(EVP_MD_CTX *ctx); diff --git a/providers/build.info b/providers/build.info index f379f74..192a5de 100644 --- a/providers/build.info +++ b/providers/build.info @@ -20,6 +20,6 @@ IF[{- !$disabled{legacy} -}] SOURCE[legacy]=legacy.ld GENERATE[legacy.ld]=../util/providers.num ENDIF - INCLUDE[legacy]=.. ../include ../crypto/include + INCLUDE[legacy]=.. ../include ../crypto/include common/include DEPEND[legacy]=../libcrypto ENDIF diff --git a/providers/common/digests/build.info b/providers/common/digests/build.info index b98df29..8ce0b44 100644 --- a/providers/common/digests/build.info +++ b/providers/common/digests/build.info @@ -1,5 +1,5 @@ SOURCE[../../../libcrypto]=\ - sha2.c + sha2.c sha3.c SOURCE[../../fips]=\ - sha2.c + sha2.c sha3.c diff --git a/providers/common/digests/sha2.c b/providers/common/digests/sha2.c index 5b219ab..4b5979e 100644 --- a/providers/common/digests/sha2.c +++ b/providers/common/digests/sha2.c @@ -7,81 +7,64 @@ * https://www.openssl.org/source/license.html */ -#include #include #include +#include +#include +#include +#include "internal/core_mkdigest.h" #include "internal/provider_algs.h" +#include "internal/sha.h" -/* - * Forward declaration of everything implemented here. This is not strictly - * necessary for the compiler, but provides an assurance that the signatures - * of the functions in the dispatch table are correct. - */ -static OSSL_OP_digest_newctx_fn sha256_newctx; -#if 0 /* Not defined here */ -static OSSL_OP_digest_init_fn sha256_init; -static OSSL_OP_digest_update_fn sha256_update; -#endif -static OSSL_OP_digest_final_fn sha256_final; -static OSSL_OP_digest_freectx_fn sha256_freectx; -static OSSL_OP_digest_dupctx_fn sha256_dupctx; -static OSSL_OP_digest_size_fn sha256_size; -static OSSL_OP_digest_block_size_fn sha256_size; +static OSSL_OP_digest_set_params_fn sha1_set_params; -static int sha256_final(void *ctx, - unsigned char *md, size_t *mdl, size_t mdsz) +/* Special set_params method for SSL3 */ +static int sha1_set_params(void *vctx, const OSSL_PARAM params[]) { - if (mdsz >= SHA256_DIGEST_LENGTH - && SHA256_Final(md, ctx)) { - *mdl = SHA256_DIGEST_LENGTH; - return 1; - } + int cmd = 0; + size_t msg_len = 0; + const void *msg = NULL; + const OSSL_PARAM *p; + SHA_CTX *ctx = (SHA_CTX *)vctx; + if (ctx != NULL && params != NULL) { + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_CMD); + if (p != NULL && !OSSL_PARAM_get_int(p, &cmd)) + return 0; + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_MSG); + if (p != NULL && !OSSL_PARAM_get_octet_ptr(p, &msg, &msg_len)) + return 0; + return sha1_ctrl(ctx, cmd, msg_len, (void *)msg); + } return 0; } -static void *sha256_newctx(void *provctx) -{ - SHA256_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); - - return ctx; -} - -static void sha256_freectx(void *vctx) -{ - SHA256_CTX *ctx = (SHA256_CTX *)vctx; +OSSL_FUNC_DIGEST_CONSTRUCT_PARAMS(sha1, SHA_CTX, + SHA_CBLOCK, SHA_DIGEST_LENGTH, + SHA1_Init, SHA1_Update, SHA1_Final, + sha1_set_params) - OPENSSL_clear_free(ctx, sizeof(*ctx)); -} +OSSL_FUNC_DIGEST_CONSTRUCT(sha224, SHA256_CTX, + SHA256_CBLOCK, SHA224_DIGEST_LENGTH, + SHA224_Init, SHA224_Update, SHA224_Final) -static void *sha256_dupctx(void *ctx) -{ - SHA256_CTX *in = (SHA256_CTX *)ctx; - SHA256_CTX *ret = OPENSSL_malloc(sizeof(*ret)); +OSSL_FUNC_DIGEST_CONSTRUCT(sha256, SHA256_CTX, + SHA256_CBLOCK, SHA256_DIGEST_LENGTH, + SHA256_Init, SHA256_Update, SHA256_Final) - *ret = *in; +OSSL_FUNC_DIGEST_CONSTRUCT(sha384, SHA512_CTX, + SHA512_CBLOCK, SHA384_DIGEST_LENGTH, + SHA384_Init, SHA384_Update, SHA384_Final) - return ret; -} +OSSL_FUNC_DIGEST_CONSTRUCT(sha512, SHA512_CTX, + SHA512_CBLOCK, SHA512_DIGEST_LENGTH, + SHA512_Init, SHA512_Update, SHA512_Final) -static size_t sha256_size(void) -{ - return SHA256_DIGEST_LENGTH; -} +OSSL_FUNC_DIGEST_CONSTRUCT(sha512_224, SHA512_CTX, + SHA512_CBLOCK, SHA224_DIGEST_LENGTH, + sha512_224_init, SHA512_Update, SHA512_Final) -static size_t sha256_block_size(void) -{ - return SHA256_CBLOCK; -} +OSSL_FUNC_DIGEST_CONSTRUCT(sha512_256, SHA512_CTX, + SHA512_CBLOCK, SHA256_DIGEST_LENGTH, + sha512_256_init, SHA512_Update, SHA512_Final) -const OSSL_DISPATCH sha256_functions[] = { - { OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))sha256_newctx }, - { OSSL_FUNC_DIGEST_INIT, (void (*)(void))SHA256_Init }, - { OSSL_FUNC_DIGEST_UPDATE, (void (*)(void))SHA256_Update }, - { OSSL_FUNC_DIGEST_FINAL, (void (*)(void))sha256_final }, - { OSSL_FUNC_DIGEST_FREECTX, (void (*)(void))sha256_freectx }, - { OSSL_FUNC_DIGEST_DUPCTX, (void (*)(void))sha256_dupctx }, - { OSSL_FUNC_DIGEST_SIZE, (void (*)(void))sha256_size }, - { OSSL_FUNC_DIGEST_BLOCK_SIZE, (void (*)(void))sha256_block_size }, - { 0, NULL } -}; diff --git a/providers/common/digests/sha3.c b/providers/common/digests/sha3.c new file mode 100644 index 0000000..7b898b6 --- /dev/null +++ b/providers/common/digests/sha3.c @@ -0,0 +1,277 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include +#include +#include "internal/sha3.h" +#include "internal/core_mkdigest.h" +#include "internal/provider_algs.h" + +/* + * Forward declaration of any unique methods implemented here. This is not strictly + * necessary for the compiler, but provides an assurance that the signatures + * of the functions in the dispatch table are correct. + */ +static OSSL_OP_digest_init_fn keccak_init; +static OSSL_OP_digest_update_fn keccak_update; +static OSSL_OP_digest_final_fn keccak_final; +static OSSL_OP_digest_freectx_fn keccak_freectx; +static OSSL_OP_digest_dupctx_fn keccak_dupctx; +static OSSL_OP_digest_set_params_fn shake_set_params; +static sha3_absorb_fn generic_sha3_absorb; +static sha3_final_fn generic_sha3_final; + +#if defined(OPENSSL_CPUID_OBJ) && defined(__s390__) && defined(KECCAK1600_ASM) +/* + * IBM S390X support + */ +# include "s390x_arch.h" +# define S390_SHA3 1 +# define S390_SHA3_CAPABLE(name) \ + ((OPENSSL_s390xcap_P.kimd[0] & S390X_CAPBIT(S390X_##name)) && \ + (OPENSSL_s390xcap_P.klmd[0] & S390X_CAPBIT(S390X_##name))) + +#endif + +static int keccak_init(void *vctx) +{ + /* The newctx() handles most of the ctx fixed setup. */ + sha3_reset((KECCAK1600_CTX *)vctx); + return 1; +} + +static int keccak_update(void *vctx, const unsigned char *inp, size_t len) +{ + KECCAK1600_CTX *ctx = vctx; + const size_t bsz = ctx->block_size; + size_t num, rem; + + if (len == 0) + return 1; + + /* Is there anything in the buffer already ? */ + if ((num = ctx->bufsz) != 0) { + /* Calculate how much space is left in the buffer */ + rem = bsz - num; + /* If the new input does not fill the buffer then just add it */ + if (len < rem) { + memcpy(ctx->buf + num, inp, len); + ctx->bufsz += len; + return 1; + } + /* otherwise fill up the buffer and absorb the buffer */ + memcpy(ctx->buf + num, inp, rem); + /* Update the input pointer */ + inp += rem; + len -= rem; + ctx->meth.absorb(ctx, ctx->buf, bsz); + ctx->bufsz = 0; + } + /* Absorb the input - rem = leftover part of the input < blocksize) */ + rem = ctx->meth.absorb(ctx, inp, len); + /* Copy the leftover bit of the input into the buffer */ + if (rem) { + memcpy(ctx->buf, inp + len - rem, rem); + ctx->bufsz = rem; + } + return 1; +} + +static int keccak_final(void *vctx, unsigned char *out, size_t *outl, + size_t outsz) +{ + int ret; + KECCAK1600_CTX *ctx = vctx; + + ret = ctx->meth.final(out, ctx); + *outl = ctx->md_size; + return ret; +} + +/*- + * Generic software version of the absorb() and final(). + */ +static size_t generic_sha3_absorb(void *vctx, const void *inp, size_t len) +{ + KECCAK1600_CTX *ctx = vctx; + + return SHA3_absorb(ctx->A, inp, len, ctx->block_size); +} + +static int generic_sha3_final(unsigned char *md, void *vctx) +{ + return sha3_final(md, (KECCAK1600_CTX *)vctx); +} + +static PROV_SHA3_METHOD sha3_generic_md = +{ + generic_sha3_absorb, + generic_sha3_final +}; + +#if defined(S390_SHA3) + +static sha3_absorb_fn s390x_sha3_absorb; +static sha3_final_fn s390x_sha3_final; +static sha3_final_fn s390x_shake_final; + +/*- + * The platform specific parts of the absorb() and final() for S390X. + */ +static size_t s390x_sha3_absorb(void *vctx, const void *inp, size_t len) +{ + KECCAK1600_CTX *ctx = vctx; + size_t rem = len % ctx->block_size; + + s390x_kimd(inp, len - rem, ctx->pad, ctx->A); + return rem; +} + +static int s390x_sha3_final(unsigned char *md, void *vctx) +{ + KECCAK1600_CTX *ctx = vctx; + + s390x_klmd(ctx->buf, ctx->bufsz, NULL, 0, ctx->pad, ctx->A); + memcpy(md, ctx->A, ctx->md_size); +} + +static int s390x_shake_final(unsigned char *md, void *vctx) +{ + KECCAK1600_CTX *ctx = vctx; + + s390x_klmd(ctx->buf, ctx->bufsz, md, ctx->md_size, ctx->pad, ctx->A); + return 1; +} + +static PROV_SHA3_METHOD sha3_s390x_md = +{ + s390x_sha3_absorb, + s390x_sha3_final +}; + +static PROV_SHA3_METHOD shake_s390x_md = +{ + s390x_sha3_absorb, + s390x_shake_final +}; + +# define SHA3_SET_MD(uname, typ) \ + if (S390_SHA3_CAPABLE(uname)) { \ + ctx->pad = S390X_##uname; \ + ctx->meth = typ##_s390x_md; \ + } else { \ + ctx->meth = sha3_generic_md; \ + } +#else +# define SHA3_SET_MD(uname, typ) ctx->meth = sha3_generic_md; +#endif /* S390_SHA3 */ + +#define SHA3_newctx(typ, uname, name, bitlen, pad) \ +static OSSL_OP_digest_newctx_fn name##_newctx; \ +static void *name##_newctx(void *provctx) \ +{ \ + KECCAK1600_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); \ + \ + if (ctx == NULL) \ + return NULL; \ + sha3_init(ctx, pad, bitlen); \ + SHA3_SET_MD(name, typ) \ + return ctx; \ +} + +#define KMAC_newctx(uname, bitlen, pad) \ +static OSSL_OP_digest_newctx_fn uname##_newctx; \ +static void *uname##_newctx(void *provctx) \ +{ \ + KECCAK1600_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); \ + \ + if (ctx == NULL) \ + return NULL; \ + keccak_kmac_init(ctx, pad, bitlen); \ + ctx->meth = sha3_generic_md; \ + return ctx; \ +} + +#define OSSL_FUNC_SHA3_DIGEST(name, bitlen, dgstsize, stparams) \ +static OSSL_OP_digest_size_fn name##_size; \ +static OSSL_OP_digest_block_size_fn name##_block_size; \ +static size_t name##_block_size(void) \ +{ \ + return SHA3_BLOCKSIZE(bitlen); \ +} \ +static size_t name##_size(void) \ +{ \ + return dgstsize; \ +} \ +const OSSL_DISPATCH name##_functions[] = { \ + { OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))name##_newctx }, \ + { OSSL_FUNC_DIGEST_INIT, (void (*)(void))keccak_init }, \ + { OSSL_FUNC_DIGEST_UPDATE, (void (*)(void))keccak_update }, \ + { OSSL_FUNC_DIGEST_FINAL, (void (*)(void))keccak_final }, \ + { OSSL_FUNC_DIGEST_FREECTX, (void (*)(void))keccak_freectx }, \ + { OSSL_FUNC_DIGEST_DUPCTX, (void (*)(void))keccak_dupctx }, \ + { OSSL_FUNC_DIGEST_SIZE, (void (*)(void))name##_size }, \ + { OSSL_FUNC_DIGEST_BLOCK_SIZE, (void (*)(void))name##_block_size }, \ + { OSSL_FUNC_DIGEST_SET_PARAMS, (void (*)(void))stparams },\ +OSSL_FUNC_DIGEST_CONSTRUCT_END + +static void keccak_freectx(void *vctx) +{ + KECCAK1600_CTX *ctx = (KECCAK1600_CTX *)vctx; + + OPENSSL_clear_free(ctx, sizeof(*ctx)); +} + +static void *keccak_dupctx(void *ctx) +{ + KECCAK1600_CTX *in = (KECCAK1600_CTX *)ctx; + KECCAK1600_CTX *ret = OPENSSL_malloc(sizeof(*ret)); + + *ret = *in; + return ret; +} + +static int shake_set_params(void *vctx, const OSSL_PARAM params[]) +{ + const OSSL_PARAM *p; + KECCAK1600_CTX *ctx = (KECCAK1600_CTX *)vctx; + + if (ctx != NULL && params != NULL) { + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_XOFLEN); + if (p != NULL && !OSSL_PARAM_get_size_t(p, &ctx->md_size)) + return 0; + return 1; + } + return 0; /* Null Parameter */ +} + +#define SHA3(bitlen) \ + SHA3_newctx(sha3, SHA3_##bitlen, sha3_##bitlen, bitlen, '\x06') \ + OSSL_FUNC_SHA3_DIGEST(sha3_##bitlen, bitlen, SHA3_MDSIZE(bitlen), NULL) + +#define SHAKE(bitlen) \ + SHA3_newctx(shake, SHAKE_##bitlen, shake_##bitlen, bitlen, '\x1f') \ + OSSL_FUNC_SHA3_DIGEST(shake_##bitlen, bitlen, SHA3_MDSIZE(bitlen), \ + shake_set_params) +#define KMAC(bitlen) \ + KMAC_newctx(keccak_kmac_##bitlen, bitlen, '\x04') \ + OSSL_FUNC_SHA3_DIGEST(keccak_kmac_##bitlen, bitlen, KMAC_MDSIZE(bitlen), \ + shake_set_params) + +SHA3(224) +SHA3(256) +SHA3(384) +SHA3(512) +SHAKE(128) +SHAKE(256) +KMAC(128) +KMAC(256) diff --git a/providers/common/include/internal/core_mkdigest.h b/providers/common/include/internal/core_mkdigest.h new file mode 100644 index 0000000..7225196 --- /dev/null +++ b/providers/common/include/internal/core_mkdigest.h @@ -0,0 +1,95 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef OSSL_CORE_MKDIGEST_H +# define OSSL_CORE_MKDIGEST_H + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# define OSSL_FUNC_DIGEST_ALLOC_METHODS(name, CTX_NAME) \ +static OSSL_OP_digest_newctx_fn name##_newctx; \ +static OSSL_OP_digest_freectx_fn name##_freectx; \ +static OSSL_OP_digest_dupctx_fn name##_dupctx; \ +static void *name##_newctx(void *prov_ctx) \ +{ \ + CTX_NAME *ctx = OPENSSL_zalloc(sizeof(*ctx)); \ + return ctx; \ +} \ +static void name##_freectx(void *vctx) \ +{ \ + CTX_NAME *ctx = (CTX_NAME *)vctx; \ + OPENSSL_clear_free(ctx, sizeof(*ctx)); \ +} \ +static void *name##_dupctx(void *ctx) \ +{ \ + CTX_NAME *in = (CTX_NAME *)ctx; \ + CTX_NAME *ret = OPENSSL_malloc(sizeof(*ret)); \ + *ret = *in; \ + return ret; \ +} + +# define OSSL_FUNC_DIGEST_SET_FINAL(name, dgstsize, fin) \ +static OSSL_OP_digest_final_fn name##_wrapfinal; \ +static int name##_wrapfinal(void *ctx, unsigned char *out, size_t *outl, size_t outsz) \ +{ \ + if (outsz >= dgstsize && fin(out, ctx)) { \ + *outl = dgstsize; \ + return 1; \ + } \ + return 0; \ +} + +# define OSSL_FUNC_DIGEST_COMMON(name, blksize, dgstsize, init, upd) \ +static OSSL_OP_digest_block_size_fn name##_block_size; \ +static OSSL_OP_digest_size_fn name##_size; \ +static size_t name##_block_size(void) \ +{ \ + return blksize; \ +} \ +static size_t name##_size(void) \ +{ \ + return dgstsize; \ +} \ +const OSSL_DISPATCH name##_functions[] = { \ + { OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))name##_newctx }, \ + { OSSL_FUNC_DIGEST_INIT, (void (*)(void))init }, \ + { OSSL_FUNC_DIGEST_UPDATE, (void (*)(void))upd }, \ + { OSSL_FUNC_DIGEST_FINAL, (void (*)(void))name##_wrapfinal }, \ + { OSSL_FUNC_DIGEST_FREECTX, (void (*)(void))name##_freectx }, \ + { OSSL_FUNC_DIGEST_DUPCTX, (void (*)(void))name##_dupctx }, \ + { OSSL_FUNC_DIGEST_SIZE, (void (*)(void))name##_size }, \ + { OSSL_FUNC_DIGEST_BLOCK_SIZE, (void (*)(void))name##_block_size }, + +# define OSSL_FUNC_DIGEST_CONSTRUCT_START(name, CTX, blksize, dgstsize, init, upd, fin) \ +OSSL_FUNC_DIGEST_ALLOC_METHODS(name, CTX) \ +OSSL_FUNC_DIGEST_SET_FINAL(name, dgstsize, fin) \ +OSSL_FUNC_DIGEST_COMMON(name, blksize, dgstsize, init, upd) + +# define OSSL_FUNC_DIGEST_CONSTRUCT_END \ + { 0, NULL } \ +}; + +# define OSSL_FUNC_DIGEST_CONSTRUCT(name, CTX, blksize, dgstsize, init, upd, fin) \ +OSSL_FUNC_DIGEST_CONSTRUCT_START(name, CTX, blksize, dgstsize, init, upd, fin) \ +OSSL_FUNC_DIGEST_CONSTRUCT_END + +# define OSSL_FUNC_DIGEST_CONSTRUCT_PARAMS(name, CTX, blksize, dgstsize, init, upd, fin, setparams) \ +OSSL_FUNC_DIGEST_CONSTRUCT_START(name, CTX, blksize, dgstsize, init, upd, fin) \ + { OSSL_FUNC_DIGEST_SET_PARAMS, (void (*)(void))setparams }, \ +OSSL_FUNC_DIGEST_CONSTRUCT_END + +# ifdef __cplusplus +} +# endif + +#endif /* OSSL_CORE_MKDIGEST_H */ diff --git a/providers/common/include/internal/provider_algs.h b/providers/common/include/internal/provider_algs.h index dd9211b..0e26da0 100644 --- a/providers/common/include/internal/provider_algs.h +++ b/providers/common/include/internal/provider_algs.h @@ -8,7 +8,32 @@ */ /* Digests */ +extern const OSSL_DISPATCH sha1_functions[]; +extern const OSSL_DISPATCH sha224_functions[]; extern const OSSL_DISPATCH sha256_functions[]; +extern const OSSL_DISPATCH sha384_functions[]; +extern const OSSL_DISPATCH sha512_functions[]; +extern const OSSL_DISPATCH sha512_224_functions[]; +extern const OSSL_DISPATCH sha512_256_functions[]; +extern const OSSL_DISPATCH sha3_224_functions[]; +extern const OSSL_DISPATCH sha3_256_functions[]; +extern const OSSL_DISPATCH sha3_384_functions[]; +extern const OSSL_DISPATCH sha3_512_functions[]; +extern const OSSL_DISPATCH keccak_kmac_128_functions[]; +extern const OSSL_DISPATCH keccak_kmac_256_functions[]; +extern const OSSL_DISPATCH shake_128_functions[]; +extern const OSSL_DISPATCH shake_256_functions[]; +extern const OSSL_DISPATCH blake2s256_functions[]; +extern const OSSL_DISPATCH blake2b512_functions[]; +extern const OSSL_DISPATCH md5_functions[]; +extern const OSSL_DISPATCH md5_sha1_functions[]; +extern const OSSL_DISPATCH sm3_functions[]; +extern const OSSL_DISPATCH nullmd_functions[]; +extern const OSSL_DISPATCH md2_functions[]; +extern const OSSL_DISPATCH md4_functions[]; +extern const OSSL_DISPATCH mdc2_functions[]; +extern const OSSL_DISPATCH wp_functions[]; +extern const OSSL_DISPATCH ripemd160_functions[]; /* Ciphers */ extern const OSSL_DISPATCH aes256ecb_functions[]; diff --git a/providers/default/build.info b/providers/default/build.info index eab90a3..985d681 100644 --- a/providers/default/build.info +++ b/providers/default/build.info @@ -1,3 +1,4 @@ +SUBDIRS=digests LIBS=../../libcrypto SOURCE[../../libcrypto]=\ defltprov.c diff --git a/providers/default/defltprov.c b/providers/default/defltprov.c index 95b2abf..9899940 100644 --- a/providers/default/defltprov.c +++ b/providers/default/defltprov.c @@ -51,7 +51,42 @@ static int deflt_get_params(const OSSL_PROVIDER *prov, } static const OSSL_ALGORITHM deflt_digests[] = { + { "SHA1", "default=yes", sha1_functions }, + + { "SHA224", "default=yes", sha224_functions }, { "SHA256", "default=yes", sha256_functions }, + { "SHA384", "default=yes", sha384_functions }, + { "SHA512", "default=yes", sha512_functions }, + { "SHA512-224", "default=yes", sha512_224_functions }, + { "SHA512-256", "default=yes", sha512_256_functions }, + + { "SHA3-224", "default=yes", sha3_224_functions }, + { "SHA3-256", "default=yes", sha3_256_functions }, + { "SHA3-384", "default=yes", sha3_384_functions }, + { "SHA3-512", "default=yes", sha3_512_functions }, + + { "KMAC128", "default=yes", keccak_kmac_128_functions }, + { "KMAC256", "default=yes", keccak_kmac_256_functions }, + + { "SHAKE128", "default=yes", shake_128_functions }, + { "SHAKE256", "default=yes", shake_256_functions }, + +#ifndef OPENSSL_NO_BLAKE2 + { "BLAKE2s256", "default=yes", blake2s256_functions }, + { "BLAKE2b512", "default=yes", blake2b512_functions }, +#endif /* OPENSSL_NO_BLAKE2 */ + +#ifndef OPENSSL_NO_SM3 + { "SM3", "default=yes", sm3_functions }, +#endif /* OPENSSL_NO_SM3 */ + +#ifndef OPENSSL_NO_MD5 + { "MD5", "default=yes", md5_functions }, + { "MD5-SHA1", "default=yes", md5_sha1_functions }, +#endif /* OPENSSL_NO_MD5 */ + + /*{ "UNDEF", "default=yes", nullmd_functions }, */ + { NULL, NULL, NULL } }; diff --git a/providers/default/digests/blake2.c b/providers/default/digests/blake2.c new file mode 100644 index 0000000..18a8d60 --- /dev/null +++ b/providers/default/digests/blake2.c @@ -0,0 +1,40 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/blake2.h" +#include "internal/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_OP_digest_init_fn blake2s256_init; +OSSL_OP_digest_init_fn blake2b512_init; + +int blake2s256_init(void *ctx) +{ + BLAKE2S_PARAM P; + + blake2s_param_init(&P); + return blake2s_init((BLAKE2S_CTX *)ctx, &P); +} + +int blake2b512_init(void *ctx) +{ + BLAKE2B_PARAM P; + + blake2b_param_init(&P); + return blake2b_init((BLAKE2B_CTX *)ctx, &P); +} + +OSSL_FUNC_DIGEST_CONSTRUCT(blake2s256, BLAKE2S_CTX, + BLAKE2S_BLOCKBYTES, BLAKE2S_DIGEST_LENGTH, + blake2s256_init, blake2s_update, blake2s_final) + +OSSL_FUNC_DIGEST_CONSTRUCT(blake2b512, BLAKE2B_CTX, + BLAKE2B_BLOCKBYTES, BLAKE2B_DIGEST_LENGTH, + blake2b512_init, blake2b_update, blake2b_final) diff --git a/crypto/blake2/blake2_impl.h b/providers/default/digests/blake2_impl.h similarity index 100% rename from crypto/blake2/blake2_impl.h rename to providers/default/digests/blake2_impl.h diff --git a/crypto/blake2/blake2b.c b/providers/default/digests/blake2b.c similarity index 96% rename from crypto/blake2/blake2b.c rename to providers/default/digests/blake2b.c index 813f9dd..8801270 100644 --- a/crypto/blake2/blake2b.c +++ b/providers/default/digests/blake2b.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,10 +17,10 @@ #include #include #include - -#include "blake2_locl.h" #include "blake2_impl.h" +#include "internal/blake2.h" + static const uint64_t blake2b_IV[8] = { 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, @@ -122,7 +122,7 @@ void blake2b_param_set_salt(BLAKE2B_PARAM *P, const uint8_t *salt, size_t len) * Initialize the hashing context with the given parameter block. * Always returns 1. */ -int BLAKE2b_Init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P) +int blake2b_init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P) { blake2b_init_param(c, P); return 1; @@ -132,7 +132,7 @@ int BLAKE2b_Init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P) * Initialize the hashing context with the given parameter block and key. * Always returns 1. */ -int BLAKE2b_Init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P, const void *key) +int blake2b_init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P, const void *key) { blake2b_init_param(c, P); @@ -141,7 +141,7 @@ int BLAKE2b_Init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P, const void *key) uint8_t block[BLAKE2B_BLOCKBYTES] = {0}; memcpy(block, key, P->key_length); - BLAKE2b_Update(c, block, BLAKE2B_BLOCKBYTES); + blake2b_update(c, block, BLAKE2B_BLOCKBYTES); OPENSSL_cleanse(block, BLAKE2B_BLOCKBYTES); } @@ -253,7 +253,7 @@ static void blake2b_compress(BLAKE2B_CTX *S, } /* Absorb the input data into the hash state. Always returns 1. */ -int BLAKE2b_Update(BLAKE2B_CTX *c, const void *data, size_t datalen) +int blake2b_update(BLAKE2B_CTX *c, const void *data, size_t datalen) { const uint8_t *in = data; size_t fill; @@ -301,7 +301,7 @@ int BLAKE2b_Update(BLAKE2B_CTX *c, const void *data, size_t datalen) * Calculate the final hash and save it in md. * Always returns 1. */ -int BLAKE2b_Final(unsigned char *md, BLAKE2B_CTX *c) +int blake2b_final(unsigned char *md, BLAKE2B_CTX *c) { uint8_t outbuffer[BLAKE2B_OUTBYTES] = {0}; uint8_t *target = outbuffer; diff --git a/crypto/blake2/blake2s.c b/providers/default/digests/blake2s.c similarity index 95% rename from crypto/blake2/blake2s.c rename to providers/default/digests/blake2s.c index 121f0d1..a9c757e 100644 --- a/crypto/blake2/blake2s.c +++ b/providers/default/digests/blake2s.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,9 +17,8 @@ #include #include #include - -#include "blake2_locl.h" #include "blake2_impl.h" +#include "internal/blake2.h" static const uint32_t blake2s_IV[8] = { @@ -115,7 +114,7 @@ void blake2s_param_set_salt(BLAKE2S_PARAM *P, const uint8_t *salt, size_t len) * Initialize the hashing context with the given parameter block. * Always returns 1. */ -int BLAKE2s_Init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P) +int blake2s_init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P) { blake2s_init_param(c, P); return 1; @@ -125,7 +124,7 @@ int BLAKE2s_Init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P) * Initialize the hashing context with the given parameter block and key. * Always returns 1. */ -int BLAKE2s_Init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P, const void *key) +int blake2s_init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P, const void *key) { blake2s_init_param(c, P); @@ -134,7 +133,7 @@ int BLAKE2s_Init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P, const void *key) uint8_t block[BLAKE2S_BLOCKBYTES] = {0}; memcpy(block, key, P->key_length); - BLAKE2s_Update(c, block, BLAKE2S_BLOCKBYTES); + blake2s_update(c, block, BLAKE2S_BLOCKBYTES); OPENSSL_cleanse(block, BLAKE2S_BLOCKBYTES); } @@ -244,7 +243,7 @@ static void blake2s_compress(BLAKE2S_CTX *S, } /* Absorb the input data into the hash state. Always returns 1. */ -int BLAKE2s_Update(BLAKE2S_CTX *c, const void *data, size_t datalen) +int blake2s_update(BLAKE2S_CTX *c, const void *data, size_t datalen) { const uint8_t *in = data; size_t fill; @@ -292,7 +291,7 @@ int BLAKE2s_Update(BLAKE2S_CTX *c, const void *data, size_t datalen) * Calculate the final hash and save it in md. * Always returns 1. */ -int BLAKE2s_Final(unsigned char *md, BLAKE2S_CTX *c) +int blake2s_final(unsigned char *md, BLAKE2S_CTX *c) { uint8_t outbuffer[BLAKE2S_OUTBYTES] = {0}; uint8_t *target = outbuffer; diff --git a/providers/default/digests/build.info b/providers/default/digests/build.info new file mode 100644 index 0000000..0f15d12 --- /dev/null +++ b/providers/default/digests/build.info @@ -0,0 +1,17 @@ +SOURCE[../../../libcrypto]=\ + null.c + +IF[{- !$disabled{blake2} -}] + SOURCE[../../../libcrypto]=\ + blake2.c blake2b.c blake2s.c +ENDIF + +IF[{- !$disabled{sm3} -}] + SOURCE[../../../libcrypto]=\ + sm3.c +ENDIF + +IF[{- !$disabled{md5} -}] + SOURCE[../../../libcrypto]=\ + md5.c md5_sha1.c +ENDIF diff --git a/providers/default/digests/md5.c b/providers/default/digests/md5.c new file mode 100644 index 0000000..81636f6 --- /dev/null +++ b/providers/default/digests/md5.c @@ -0,0 +1,17 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_FUNC_DIGEST_CONSTRUCT(md5, MD5_CTX, + MD5_CBLOCK, MD5_DIGEST_LENGTH, + MD5_Init, MD5_Update, MD5_Final) diff --git a/providers/default/digests/md5_sha1.c b/providers/default/digests/md5_sha1.c new file mode 100644 index 0000000..59a7df8 --- /dev/null +++ b/providers/default/digests/md5_sha1.c @@ -0,0 +1,46 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include +#include +#include "internal/core_mkdigest.h" +#include "internal/md5_sha1.h" +#include "internal/provider_algs.h" + +static OSSL_OP_digest_set_params_fn md5_sha1_set_params; + +/* Special set_params method for SSL3 */ +static int md5_sha1_set_params(void *vctx, const OSSL_PARAM params[]) +{ + int cmd = 0; + size_t msg_len = 0; + const void *msg = NULL; + const OSSL_PARAM *p; + MD5_SHA1_CTX *ctx = (MD5_SHA1_CTX *)vctx; + + if (ctx != NULL && params != NULL) { + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_CMD); + if (p != NULL && !OSSL_PARAM_get_int(p, &cmd)) + return 0; + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_MSG); + if (p != NULL && !OSSL_PARAM_get_octet_ptr(p, &msg, &msg_len)) + return 0; + return md5_sha1_ctrl(ctx, cmd, msg_len, (void *)msg); + } + return 0; +} + +OSSL_FUNC_DIGEST_CONSTRUCT_PARAMS(md5_sha1, MD5_SHA1_CTX, + MD5_SHA1_CBLOCK, MD5_SHA1_DIGEST_LENGTH, + md5_sha1_init, md5_sha1_update, md5_sha1_final, + md5_sha1_set_params) diff --git a/providers/default/digests/null.c b/providers/default/digests/null.c new file mode 100644 index 0000000..d7644f4 --- /dev/null +++ b/providers/default/digests/null.c @@ -0,0 +1,75 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/provider_algs.h" + +static int nullmd_dummy = 1; + +static OSSL_OP_digest_init_fn nullmd_init; +static OSSL_OP_digest_update_fn nullmd_update; +static OSSL_OP_digest_final_fn nullmd_final; +static OSSL_OP_digest_newctx_fn nullmd_newctx; +static OSSL_OP_digest_freectx_fn nullmd_freectx; +static OSSL_OP_digest_dupctx_fn nullmd_dupctx; +static OSSL_OP_digest_size_fn nullmd_size; +static OSSL_OP_digest_block_size_fn nullmd_block_size; + +static size_t nullmd_block_size(void) +{ + return 0; +} + +static size_t nullmd_size(void) +{ + return 0; +} + +static int nullmd_init(void *vctx) +{ + return 1; +} + +static int nullmd_update(void *vctx, const unsigned char *inp, size_t bytes) +{ + return 1; +} + +static int nullmd_final(void *ctx, unsigned char *out, size_t *outl, size_t outsz) +{ + *outl = 0; + return 1; +} + +static void *nullmd_newctx(void *prov_ctx) +{ + return &nullmd_dummy; +} + +static void nullmd_freectx(void *vctx) +{ +} + +static void *nullmd_dupctx(void *ctx) +{ + return &nullmd_dummy; +} + +const OSSL_DISPATCH nullmd_functions[] = { + { OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))nullmd_newctx }, + { OSSL_FUNC_DIGEST_INIT, (void (*)(void))nullmd_init }, + { OSSL_FUNC_DIGEST_UPDATE, (void (*)(void))nullmd_update }, + { OSSL_FUNC_DIGEST_FINAL, (void (*)(void))nullmd_final }, + { OSSL_FUNC_DIGEST_FREECTX, (void (*)(void))nullmd_freectx }, + { OSSL_FUNC_DIGEST_DUPCTX, (void (*)(void))nullmd_dupctx }, + { OSSL_FUNC_DIGEST_SIZE, (void (*)(void))nullmd_size }, + { OSSL_FUNC_DIGEST_BLOCK_SIZE, (void (*)(void))nullmd_block_size }, + { 0, NULL } +}; diff --git a/providers/default/digests/sm3.c b/providers/default/digests/sm3.c new file mode 100644 index 0000000..bd039a8 --- /dev/null +++ b/providers/default/digests/sm3.c @@ -0,0 +1,17 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/sm3.h" +#include "internal/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_FUNC_DIGEST_CONSTRUCT(sm3, SM3_CTX, + SM3_CBLOCK, SM3_DIGEST_LENGTH, + sm3_init, sm3_update, sm3_final) diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 37d7c5b..ab37d98 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -94,7 +94,20 @@ static int fips_get_params(const OSSL_PROVIDER *prov, } static const OSSL_ALGORITHM fips_digests[] = { + { "SHA1", "fips=yes", sha1_functions }, + { "SHA224", "fips=yes", sha224_functions }, { "SHA256", "fips=yes", sha256_functions }, + { "SHA384", "fips=yes", sha384_functions }, + { "SHA512", "fips=yes", sha512_functions }, + { "SHA512-224", "fips=yes", sha512_224_functions }, + { "SHA512-256", "fips=yes", sha512_256_functions }, + { "SHA3-224", "fips=yes", sha3_224_functions }, + { "SHA3-256", "fips=yes", sha3_256_functions }, + { "SHA3-384", "fips=yes", sha3_384_functions }, + { "SHA3-512", "fips=yes", sha3_512_functions }, + { "KMAC128", "fips=yes", keccak_kmac_128_functions }, + { "KMAC256", "fips=yes", keccak_kmac_256_functions }, + { NULL, NULL, NULL } }; diff --git a/providers/legacy/digests/build.info b/providers/legacy/digests/build.info index c4e1278..239efd2 100644 --- a/providers/legacy/digests/build.info +++ b/providers/legacy/digests/build.info @@ -2,3 +2,23 @@ IF[{- !$disabled{md2} -}] SOURCE[../../legacy]=\ md2.c ENDIF + +IF[{- !$disabled{md4} -}] + SOURCE[../../legacy]=\ + md4.c +ENDIF + +IF[{- !$disabled{mdc2} -}] + SOURCE[../../legacy]=\ + mdc2.c +ENDIF + +IF[{- !$disabled{whirlpool} -}] + SOURCE[../../legacy]=\ + wp.c +ENDIF + +IF[{- !$disabled{rmd160} -}] + SOURCE[../../legacy]=\ + ripemd.c +ENDIF \ No newline at end of file diff --git a/providers/legacy/digests/md2.c b/providers/legacy/digests/md2.c index 017a511..edd4b78 100644 --- a/providers/legacy/digests/md2.c +++ b/providers/legacy/digests/md2.c @@ -7,57 +7,12 @@ * https://www.openssl.org/source/license.html */ -#include #include -#include - -static int md2_final(void *ctx, unsigned char *md, size_t *size) -{ - if (MD2_Final(md, ctx)) { - *size = MD2_DIGEST_LENGTH; - return 1; - } - - return 0; -} - -static void *md2_newctx(void) -{ - MD2_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); - - return ctx; -} - -static void md2_freectx(void *vctx) -{ - MD2_CTX *ctx = (MD2_CTX *)vctx; - - OPENSSL_clear_free(ctx, sizeof(*ctx)); -} - -static void *md2_dupctx(void *ctx) -{ - MD2_CTX *in = (MD2_CTX *)ctx; - MD2_CTX *ret = OPENSSL_malloc(sizeof(*ret)); - - *ret = *in; - - return ret; -} +#include -static size_t md2_size(void) -{ - return MD2_DIGEST_LENGTH; -} +#include "internal/core_mkdigest.h" +#include "internal/provider_algs.h" -extern const OSSL_DISPATCH md2_functions[]; -const OSSL_DISPATCH md2_functions[] = { - { OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))md2_newctx }, - { OSSL_FUNC_DIGEST_INIT, (void (*)(void))MD2_Init }, - { OSSL_FUNC_DIGEST_UPDATE, (void (*)(void))MD2_Update }, - { OSSL_FUNC_DIGEST_FINAL, (void (*)(void))md2_final }, - { OSSL_FUNC_DIGEST_FREECTX, (void (*)(void))md2_freectx }, - { OSSL_FUNC_DIGEST_DUPCTX, (void (*)(void))md2_dupctx }, - { OSSL_FUNC_DIGEST_SIZE, (void (*)(void))md2_size }, - { 0, NULL } -}; +OSSL_FUNC_DIGEST_CONSTRUCT(md2, MD2_CTX, + MD2_BLOCK, MD2_DIGEST_LENGTH, + MD2_Init, MD2_Update, MD2_Final) diff --git a/providers/legacy/digests/md4.c b/providers/legacy/digests/md4.c new file mode 100644 index 0000000..86937f7 --- /dev/null +++ b/providers/legacy/digests/md4.c @@ -0,0 +1,18 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_FUNC_DIGEST_CONSTRUCT(md4, MD4_CTX, + MD4_CBLOCK, MD4_DIGEST_LENGTH, + MD4_Init, MD4_Update, MD4_Final) diff --git a/providers/legacy/digests/mdc2.c b/providers/legacy/digests/mdc2.c new file mode 100644 index 0000000..75d9398 --- /dev/null +++ b/providers/legacy/digests/mdc2.c @@ -0,0 +1,37 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include + +#include "internal/core_mkdigest.h" +#include "internal/provider_algs.h" + +static OSSL_OP_digest_set_params_fn mdc2_set_params; + +static int mdc2_set_params(void *vctx, const OSSL_PARAM params[]) +{ + const OSSL_PARAM *p; + MDC2_CTX *ctx = (MDC2_CTX *)vctx; + + if (ctx != NULL && params != NULL) { + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_PAD_TYPE); + if (p != NULL && !OSSL_PARAM_get_int(p, &ctx->pad_type)) + return 0; + return 1; + } + return 0; /* Null Parameter */ +} + +OSSL_FUNC_DIGEST_CONSTRUCT_PARAMS(mdc2, MDC2_CTX, + MDC2_BLOCK, MDC2_DIGEST_LENGTH, + MDC2_Init, MDC2_Update, MDC2_Final, + mdc2_set_params) diff --git a/providers/legacy/digests/ripemd.c b/providers/legacy/digests/ripemd.c new file mode 100644 index 0000000..1243512 --- /dev/null +++ b/providers/legacy/digests/ripemd.c @@ -0,0 +1,18 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_FUNC_DIGEST_CONSTRUCT(ripemd160, RIPEMD160_CTX, + RIPEMD160_CBLOCK, RIPEMD160_DIGEST_LENGTH, + RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final) diff --git a/providers/legacy/digests/wp.c b/providers/legacy/digests/wp.c new file mode 100644 index 0000000..ece67e0 --- /dev/null +++ b/providers/legacy/digests/wp.c @@ -0,0 +1,18 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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/core_mkdigest.h" +#include "internal/provider_algs.h" + +OSSL_FUNC_DIGEST_CONSTRUCT(wp, WHIRLPOOL_CTX, + WHIRLPOOL_BBLOCK / 8, WHIRLPOOL_DIGEST_LENGTH, + WHIRLPOOL_Init, WHIRLPOOL_Update, WHIRLPOOL_Final) diff --git a/providers/legacy/legacyprov.c b/providers/legacy/legacyprov.c index 2d42229..9ca4e14 100644 --- a/providers/legacy/legacyprov.c +++ b/providers/legacy/legacyprov.c @@ -13,6 +13,7 @@ #include #include #include +#include "internal/provider_algs.h" /* Functions provided by the core */ static OSSL_core_get_param_types_fn *c_get_param_types = NULL; @@ -49,12 +50,27 @@ static int legacy_get_params(const OSSL_PROVIDER *prov, return 1; } -extern const OSSL_DISPATCH md2_functions[]; - static const OSSL_ALGORITHM legacy_digests[] = { #ifndef OPENSSL_NO_MD2 { "MD2", "legacy=yes", md2_functions }, #endif + +#ifndef OPENSSL_NO_MD4 + { "MD4", "legacy=yes", md4_functions }, +#endif + +#ifndef OPENSSL_NO_MDC2 + { "MDC2", "legacy=yes", mdc2_functions }, +#endif /* OPENSSL_NO_MDC2 */ + +#ifndef OPENSSL_NO_WHIRLPOOL + { "whirlpool", "legacy=yes", wp_functions }, +#endif /* OPENSSL_NO_WHIRLPOOL */ + +#ifndef OPENSSL_NO_RMD160 + { "RIPEMD160", "legacy=yes", ripemd160_functions }, +#endif /* OPENSSL_NO_RMD160 */ + { NULL, NULL, NULL } }; diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index de4e678..c666014 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -12,6 +12,7 @@ #include "ssl_locl.h" #include #include +#include #include "internal/cryptlib.h" static int ssl3_generate_key_block(SSL *s, unsigned char *km, int num) @@ -410,6 +411,21 @@ int ssl3_digest_cached_records(SSL *s, int keep) return 1; } +void ssl3_digest_master_key_set_params(const SSL_SESSION *session, + OSSL_PARAM params[]) +{ + int n = 0; + int cmd = EVP_CTRL_SSL3_MASTER_SECRET; + + params[n++] = OSSL_PARAM_construct_int(OSSL_DIGEST_PARAM_CMD, &cmd, + NULL); + params[n++] = OSSL_PARAM_construct_octet_ptr(OSSL_DIGEST_PARAM_MSG, + (void **)&session->master_key, + session->master_key_length, + NULL); + params[n++] = OSSL_PARAM_construct_end(); +} + size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len, unsigned char *p) { @@ -448,14 +464,17 @@ size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len, goto err; } - if ((sender != NULL && EVP_DigestUpdate(ctx, sender, len) <= 0) - || EVP_MD_CTX_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET, - (int)s->session->master_key_length, - s->session->master_key) <= 0 - || EVP_DigestFinal_ex(ctx, p, NULL) <= 0) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_FINAL_FINISH_MAC, - ERR_R_INTERNAL_ERROR); - ret = 0; + if (sender != NULL) { + OSSL_PARAM digest_cmd_params[3]; + + ssl3_digest_master_key_set_params(s->session, digest_cmd_params); + if (EVP_DigestUpdate(ctx, sender, len) <= 0 + || EVP_MD_CTX_set_params(ctx, digest_cmd_params) <= 0 + || EVP_DigestFinal_ex(ctx, p, NULL) <= 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_FINAL_FINISH_MAC, + ERR_R_INTERNAL_ERROR); + ret = 0; + } } err: diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 4a72864..79b78f0 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -2362,6 +2362,8 @@ __owur int ssl3_num_ciphers(void); __owur const SSL_CIPHER *ssl3_get_cipher(unsigned int u); int ssl3_renegotiate(SSL *ssl); int ssl3_renegotiate_check(SSL *ssl, int initok); +void ssl3_digest_master_key_set_params(const SSL_SESSION *session, + OSSL_PARAM params[]); __owur int ssl3_dispatch_alert(SSL *s); __owur size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t slen, unsigned char *p); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 8c7d5e2..e59b49b 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -285,10 +285,11 @@ int tls_construct_cert_verify(SSL *s, WPACKET *pkt) } } if (s->version == SSL3_VERSION) { + OSSL_PARAM digest_cmd_params[3]; + + ssl3_digest_master_key_set_params(s->session, digest_cmd_params); if (EVP_DigestSignUpdate(mctx, hdata, hdatalen) <= 0 - || !EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET, - (int)s->session->master_key_length, - s->session->master_key) + || EVP_MD_CTX_set_params(mctx, digest_cmd_params) <= 0 || EVP_DigestSignFinal(mctx, sig, &siglen) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_CERT_VERIFY, @@ -473,10 +474,11 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) } } if (s->version == SSL3_VERSION) { + OSSL_PARAM digest_cmd_params[3]; + + ssl3_digest_master_key_set_params(s->session, digest_cmd_params); if (EVP_DigestVerifyUpdate(mctx, hdata, hdatalen) <= 0 - || !EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET, - (int)s->session->master_key_length, - s->session->master_key)) { + || EVP_MD_CTX_set_params(mctx, digest_cmd_params) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY, ERR_R_EVP_LIB); goto err; diff --git a/test/build.info b/test/build.info index fa3c1f1..7a777d1 100644 --- a/test/build.info +++ b/test/build.info @@ -182,6 +182,9 @@ IF[{- !$disabled{tests} -}] SOURCE[evp_test]=evp_test.c INCLUDE[evp_test]=../include ../apps/include DEPEND[evp_test]=../libcrypto libtestutil.a + IF[{- $disabled{legacy} || !$target{dso_scheme} -}] + DEFINE[evp_test]=NO_LEGACY_MODULE + ENDIF SOURCE[evp_extra_test]=evp_extra_test.c INCLUDE[evp_extra_test]=../include ../apps/include ../crypto/include diff --git a/test/evp_test.c b/test/evp_test.c index fa9cde8..6fc9f03 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -75,6 +76,9 @@ static int find_key(EVP_PKEY **ppk, const char *name, KEY_LIST *lst); static int parse_bin(const char *value, unsigned char **buf, size_t *buflen); +static OSSL_PROVIDER *defltprov = NULL; +static OSSL_PROVIDER *legacyprov = NULL; + /* * Compare two memory regions for equality, returning zero if they differ. * However, if there is expected to be an error and the actual error @@ -370,6 +374,11 @@ static int digest_test_parse(EVP_TEST *t, return evp_test_buffer_set_count(value, mdata->input); if (strcmp(keyword, "Ncopy") == 0) return evp_test_buffer_ncopy(value, mdata->input); + if (strcmp(keyword, "Legacy") == 0) { + if (legacyprov == NULL) + t->skip = 1; + return 1; + } return 0; } @@ -3053,8 +3062,10 @@ static int run_file_tests(int i) while (!BIO_eof(t->s.fp)) { c = parse(t); - if (t->skip) + if (t->skip) { + t->s.numskip++; continue; + } if (c == 0 || !run_test(t)) { t->s.errors++; break; @@ -3080,6 +3091,21 @@ int setup_tests(void) if (n == 0) return 0; + defltprov = OSSL_PROVIDER_load(NULL, "default"); + if (!TEST_ptr(defltprov)) + return 0; +#ifndef NO_LEGACY_MODULE + legacyprov = OSSL_PROVIDER_load(NULL, "legacy"); + if (!TEST_ptr(legacyprov)) + return 0; +#endif /* NO_LEGACY_MODULE */ + ADD_ALL_TESTS(run_file_tests, n); return 1; } + +void cleanup_tests(void) +{ + OSSL_PROVIDER_unload(legacyprov); + OSSL_PROVIDER_unload(defltprov); +} diff --git a/test/mdc2test.c b/test/mdc2test.c index 79512fc..418a256 100644 --- a/test/mdc2test.c +++ b/test/mdc2test.c @@ -8,7 +8,10 @@ */ #include - +#include +#include +#include +#include #include "internal/nelem.h" #include "testutil.h" @@ -36,12 +39,19 @@ static unsigned char pad2[16] = { static int test_mdc2(void) { - int testresult = 0; + int testresult = 0, pad_type = 2; unsigned char md[MDC2_DIGEST_LENGTH]; EVP_MD_CTX *c; static char text[] = "Now is the time for all "; - size_t tlen = strlen(text); + size_t tlen = strlen(text), i = 0; + OSSL_PROVIDER *prov = NULL; + OSSL_PARAM params[2]; + + params[i++] = OSSL_PARAM_construct_int(OSSL_DIGEST_PARAM_PAD_TYPE, + &pad_type, NULL), + params[i++] = OSSL_PARAM_construct_end(); + prov = OSSL_PROVIDER_load(NULL, "legacy"); # ifdef CHARSET_EBCDIC ebcdic2ascii(text, text, tlen); # endif @@ -55,9 +65,8 @@ static int test_mdc2(void) || !TEST_true(EVP_DigestInit_ex(c, EVP_mdc2(), NULL))) goto end; - /* FIXME: use a ctl function? */ - ((MDC2_CTX *)EVP_MD_CTX_md_data(c))->pad_type = 2; - if (!TEST_true(EVP_DigestUpdate(c, (unsigned char *)text, tlen)) + if (!TEST_int_gt(EVP_MD_CTX_set_params(c, params), 0) + || !TEST_true(EVP_DigestUpdate(c, (unsigned char *)text, tlen)) || !TEST_true(EVP_DigestFinal_ex(c, &(md[0]), NULL)) || !TEST_mem_eq(md, MDC2_DIGEST_LENGTH, pad2, MDC2_DIGEST_LENGTH)) goto end; @@ -65,6 +74,7 @@ static int test_mdc2(void) testresult = 1; end: EVP_MD_CTX_free(c); + OSSL_PROVIDER_unload(prov); return testresult; } #endif diff --git a/test/recipes/05-test_mdc2.t b/test/recipes/05-test_mdc2.t index eb5cd8f..495a146 100644 --- a/test/recipes/05-test_mdc2.t +++ b/test/recipes/05-test_mdc2.t @@ -7,6 +7,20 @@ # https://www.openssl.org/source/license.html -use OpenSSL::Test::Simple; +use strict; +use warnings; -simple_test("test_mdc2", "mdc2test", "mdc2"); +use OpenSSL::Test qw/:DEFAULT bldtop_dir/; +use OpenSSL::Test::Utils; + +setup("test_mdc2"); + +if (disabled("mdc2") || disabled("legacy")) { + plan skip_all => "mdc2 is not supported by this OpenSSL build"; +} + +plan tests => 1; + +$ENV{OPENSSL_MODULES} = bldtop_dir("providers"); + +ok(run(test(["mdc2test"])), "running mdc2test"); diff --git a/test/recipes/30-test_evp.t b/test/recipes/30-test_evp.t index 6cc4df0..c140f1a 100644 --- a/test/recipes/30-test_evp.t +++ b/test/recipes/30-test_evp.t @@ -10,7 +10,7 @@ use strict; use warnings; -use OpenSSL::Test qw/:DEFAULT data_file/; +use OpenSSL::Test qw(:DEFAULT data_file bldtop_dir); setup("test_evp"); @@ -20,6 +20,8 @@ my @files = ( "evpciph.txt", "evpdigest.txt", "evpencod.txt", "evpkdf.txt", plan tests => scalar(@files); +$ENV{OPENSSL_MODULES} = bldtop_dir("providers"); + foreach my $f ( @files ) { ok(run(test(["evp_test", data_file("$f")])), "running evp_test $f"); diff --git a/test/recipes/30-test_evp_data/evpdigest.txt b/test/recipes/30-test_evp_data/evpdigest.txt index fe3de3c..e32c5dd 100644 --- a/test/recipes/30-test_evp_data/evpdigest.txt +++ b/test/recipes/30-test_evp_data/evpdigest.txt @@ -276,104 +276,127 @@ Title = MD4 tests Digest = MD4 Input = "" Output = 31d6cfe0d16ae931b73c59d7e0c089c0 +Legacy = 1 Digest = MD4 Input = "a" Output = bde52cb31de33e46245e05fbdbd6fb24 +Legacy = 1 Digest = MD4 Input = "abc" Output = a448017aaf21d8525fc10ae87aa6729d +Legacy = 1 Digest = MD4 Input = "message digest" Output = d9130a8164549fe818874806e1c7014b +Legacy = 1 Digest = MD4 Input = "abcdefghijklmnopqrstuvwxyz" Output = d79e1c308aa5bbcdeea8ed63df412da9 +Legacy = 1 Digest = MD4 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" Output = 043f8582f241db351ce627e153e7f0e4 +Legacy = 1 Digest = MD4 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" Output = e33b4ddc9c38f2199c3e7b164fcc0536 +Legacy = 1 Title = RIPEMD160 tests Digest = RIPEMD160 Input = "" Output = 9c1185a5c5e9fc54612808977ee8f548b2258d31 +Legacy = 1 Digest = RIPEMD160 Input = "a" Output = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe +Legacy = 1 Digest = RIPEMD160 Input = "abc" Output = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc +Legacy = 1 Digest = RIPEMD160 Input = "message digest" Output = 5d0689ef49d2fae572b881b123a85ffa21595f36 +Legacy = 1 Digest = RIPEMD160 Input = "abcdefghijklmnopqrstuvwxyz" Output = f71c27109c692c1b56bbdceb5b9d2865b3708dbc +Legacy = 1 Digest = RIPEMD160 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" Output = 12a053384a9c0c88e405a06c27dcf49ada62eb2b +Legacy = 1 Digest = RIPEMD160 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" Output = b0e20b6e3116640286ed3a87a5713079b21f5189 +Legacy = 1 Digest = RIPEMD160 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" Output = 9b752e45573d4b39f4dbd3323cab82bf63326bfb +Legacy = 1 Title = Whirlpool (from ISO/IEC 10118-3 test vector set) Digest = whirlpool Input = "" Output = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3 +Legacy = 1 Digest = whirlpool Input = "a" Output = 8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A +Legacy = 1 Digest = whirlpool Input = "abc" Output = 4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5 +Legacy = 1 Digest = whirlpool Input = "message digest" Output = 378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E +Legacy = 1 Digest = whirlpool Input = "abcdefghijklmnopqrstuvwxyz" Output = F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B +Legacy = 1 Digest = whirlpool Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" Output = DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467 +Legacy = 1 Digest = whirlpool Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" Output = 466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B +Legacy = 1 Digest = whirlpool Input = "abcdbcdecdefdefgefghfghighijhijk" Output = 2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD +Legacy = 1 Digest = whirlpool Input = "aaaaaaaaaa" Count = 100000 Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01 - +Legacy = 1 Title = SHA3 diff --git a/util/libcrypto.num b/util/libcrypto.num index e5799d2..da0af1c 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -3562,7 +3562,7 @@ X509_NAME_get_index_by_NID 3515 3_0_0 EXIST::FUNCTION: ENGINE_get_first 3516 3_0_0 EXIST::FUNCTION:ENGINE CERTIFICATEPOLICIES_it 3517 3_0_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: CERTIFICATEPOLICIES_it 3517 3_0_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_MD_CTX_ctrl 3518 3_0_0 EXIST::FUNCTION: +EVP_MD_CTX_ctrl 3518 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3 PKCS7_final 3519 3_0_0 EXIST::FUNCTION: EVP_PKEY_size 3520 3_0_0 EXIST::FUNCTION: EVP_DecryptFinal_ex 3521 3_0_0 EXIST::FUNCTION: @@ -4822,3 +4822,5 @@ OSSL_CMP_MSG_free 4766 3_0_0 EXIST::FUNCTION:CMP OSSL_CMP_PKISI_free 4767 3_0_0 EXIST::FUNCTION:CMP OSSL_CMP_MSG_dup 4768 3_0_0 EXIST::FUNCTION:CMP ERR_load_CMP_strings 4769 3_0_0 EXIST::FUNCTION:CMP +EVP_MD_CTX_set_params 4770 3_0_0 EXIST::FUNCTION: +EVP_MD_CTX_get_params 4771 3_0_0 EXIST::FUNCTION: From builds at travis-ci.org Tue Jun 4 02:47:25 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 04 Jun 2019 02:47:25 +0000 Subject: Still Failing: openssl/openssl#25504 (master - d5e5e2f) In-Reply-To: Message-ID: <5cf5dbbd86903_43fb12b77fa6c26798@5727483a-0c0a-4ebc-9203-ba4217755d40.mail> Build Update for openssl/openssl ------------------------------------- Build: #25504 Status: Still Failing Duration: 21 mins and 49 secs Commit: d5e5e2f (master) Author: Shane Lontis Message: Move digests to providers Move digest code into the relevant providers (fips, default, legacy). The headers are temporarily moved to be internal, and will be moved into providers after all external references are resolved. The deprecated digest code can not be removed until EVP_PKEY (signing) is supported by providers. EVP_MD data can also not yet be cleaned up for the same reasons. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8763) View the changeset: https://github.com/openssl/openssl/compare/bf5b04ea25d6...d5e5e2ffafc7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541035061?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 Tue Jun 4 05:18:07 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 04 Jun 2019 05:18:07 +0000 Subject: [openssl] master update Message-ID: <1559625487.486548.31625.nullmailer@dev.openssl.org> The branch master has been updated via d4f63f1c39c3908cd81fda07448144bafb9aba4a (commit) from d5e5e2ffafc7dbc861f7d285508cf129c5e8f5ac (commit) - Log ----------------------------------------------------------------- commit d4f63f1c39c3908cd81fda07448144bafb9aba4a Author: Dr. Matthias St. Pierre Date: Mon Jun 3 16:03:42 2019 +0200 Remove last references to DEBUG_SAFESTACK The DEBUG_SAFESTACK preprocessor define is obsolete since 2008 when the non-safestack code was removed by commit 985de8634000. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9070) ----------------------------------------------------------------------- Summary of changes: Configurations/90-team.norelease.conf | 4 ++-- Configure | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Configurations/90-team.norelease.conf b/Configurations/90-team.norelease.conf index 6ead610..7f738e4 100644 --- a/Configurations/90-team.norelease.conf +++ b/Configurations/90-team.norelease.conf @@ -82,7 +82,7 @@ my %targets = ( inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "clang", cflags => combine(join(' ', @gcc_devteam_warn), - "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", @@ -96,7 +96,7 @@ my %targets = ( cc => "clang", cflags => combine("-arch x86_64 -DL_ENDIAN", join(' ', @gcc_devteam_warn), - "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), sys_id => "MACOSX", bn_ops => "SIXTY_FOUR_BIT_LONG", diff --git a/Configure b/Configure index 991f241..c216049 100755 --- a/Configure +++ b/Configure @@ -88,9 +88,6 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # linked openssl executable has rather debugging value than # production quality. # -# DEBUG_SAFESTACK use type-safe stacks to enforce type-safety on stack items -# provided to stack calls. Generates unique stack functions for -# each possible stack type. # BN_LLONG use the type 'long long' in crypto/bn/bn.h # RC4_CHAR use 'char' instead of 'int' for RC4_INT in crypto/rc4/rc4.h # Following are set automatically by this script From matthias.st.pierre at ncp-e.com Tue Jun 4 05:18:44 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 04 Jun 2019 05:18:44 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559625524.567083.1045.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via a345ce6cb174bfb7c122a942874ae79af294b92e (commit) from c8feb1039ccc4cd11e6db084df1446bf863bee1e (commit) - Log ----------------------------------------------------------------- commit a345ce6cb174bfb7c122a942874ae79af294b92e Author: Dr. Matthias St. Pierre Date: Mon Jun 3 16:03:42 2019 +0200 Remove last references to DEBUG_SAFESTACK The DEBUG_SAFESTACK preprocessor define is obsolete since 2008 when the non-safestack code was removed by commit 985de8634000. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9070) (cherry picked from commit d4f63f1c39c3908cd81fda07448144bafb9aba4a) ----------------------------------------------------------------------- Summary of changes: Configurations/90-team.norelease.conf | 4 ++-- Configure | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Configurations/90-team.norelease.conf b/Configurations/90-team.norelease.conf index 1d5d755..e6380b4 100644 --- a/Configurations/90-team.norelease.conf +++ b/Configurations/90-team.norelease.conf @@ -84,7 +84,7 @@ my %targets = ( inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "clang", cflags => combine(join(' ', @gcc_devteam_warn), - "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", @@ -99,7 +99,7 @@ my %targets = ( cc => "clang", cflags => combine("-arch x86_64 -DL_ENDIAN", join(' ', @gcc_devteam_warn), - "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), sys_id => "MACOSX", bn_ops => "SIXTY_FOUR_BIT_LONG", diff --git a/Configure b/Configure index 254b04c..8f41096 100755 --- a/Configure +++ b/Configure @@ -87,9 +87,6 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # linked openssl executable has rather debugging value than # production quality. # -# DEBUG_SAFESTACK use type-safe stacks to enforce type-safety on stack items -# provided to stack calls. Generates unique stack functions for -# each possible stack type. # BN_LLONG use the type 'long long' in crypto/bn/bn.h # RC4_CHAR use 'char' instead of 'int' for RC4_INT in crypto/rc4/rc4.h # Following are set automatically by this script From builds at travis-ci.org Tue Jun 4 05:37:46 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 04 Jun 2019 05:37:46 +0000 Subject: Still Failing: openssl/openssl#25506 (master - d4f63f1) In-Reply-To: Message-ID: <5cf603a9ef0b3_43fe562247cc810743b@605f8ae4-1575-4206-ac5f-c1624dc46636.mail> Build Update for openssl/openssl ------------------------------------- Build: #25506 Status: Still Failing Duration: 19 mins and 3 secs Commit: d4f63f1 (master) Author: Dr. Matthias St. Pierre Message: Remove last references to DEBUG_SAFESTACK The DEBUG_SAFESTACK preprocessor define is obsolete since 2008 when the non-safestack code was removed by commit 985de8634000. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9070) View the changeset: https://github.com/openssl/openssl/compare/d5e5e2ffafc7...d4f63f1c39c3 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541070384?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 Jun 4 05:57:03 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 04 Jun 2019 05:57:03 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1559627823.703052.31185.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: bf5b04ea25 Add missing parentheses in macro cb30e46b45 Really fail if we have a test failure 41525ed628 Ensure we get all the right defines for AES assembler in FIPS module 66ad63e801 Make basic AES ciphers available from within the FIPS providers a77b4dba23 Write a test for receiving a KeyUpdate (update requested) while writing feb9e31c40 Defer sending a KeyUpdate until after pending writes are complete b6db5b3d50 Remove file reference from property documentation. 19e512a824 Add the content type attribute to additional CMS signerinfo. 915bf45ee3 Fix a typo in the property grammar that creates an ambiguous parse. Build log ended with (last 100 lines): providers/common/ciphers/fips-dso-aes_basic.o: In function `aes_cfb8_cipher': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:806: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:806: undefined reference to `__afl_area_ptr' providers/common/ciphers/fips-dso-aes_basic.o: In function `aes_ctr_cipher': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:845: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:845: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:853: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:846: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:853: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:854: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/aes_basic.c:854: undefined reference to `__afl_area_ptr' providers/common/ciphers/fips-dso-block.o: In function `fillblock': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:37: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:37: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:40: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:46: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:56: undefined reference to `__afl_prev_loc' providers/common/ciphers/fips-dso-block.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:42: more undefined references to `__afl_prev_loc' follow providers/common/ciphers/fips-dso-block.o: In function `trailingdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:63: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:69: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:70: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:74: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:79: undefined reference to `__afl_prev_loc' providers/common/ciphers/fips-dso-block.o: In function `padblock': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:82: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:82: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:85: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:89: undefined reference to `__afl_prev_loc' providers/common/ciphers/fips-dso-block.o: In function `unpadblock': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:91: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:91: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:105: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:111: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:111: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:94: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:116: undefined reference to `__afl_prev_loc' providers/common/ciphers/fips-dso-block.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/ciphers/block.c:97: more undefined references to `__afl_prev_loc' follow providers/common/digests/fips-dso-sha2.o: In function `sha256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:43: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:31: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:31: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:35: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:36: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:41: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha2.o: In function `sha256_freectx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:50: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:50: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_dupctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:57: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:57: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:69: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:69: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha2.o: In function `sha256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:74: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha2.c:74: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:152: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:152: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:155: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:149: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:159: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:205: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:226: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:226: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:114: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:6986: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Tue Jun 4 07:55:56 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 07:55:56 +0000 Subject: Build failed: openssl master.24928 Message-ID: <20190604075556.1.23A60C406F9B86A6@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 08:32:48 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 08:32:48 +0000 Subject: Build failed: openssl master.24929 Message-ID: <20190604083248.1.14B459DAB8DF002A@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 09:36:06 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 09:36:06 +0000 Subject: Build failed: openssl master.24930 Message-ID: <20190604093606.1.D429D99BC4C73043@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 10:04:18 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 10:04:18 +0000 Subject: Build completed: openssl master.24931 Message-ID: <20190604100418.1.FFE5187EE0109C7E@appveyor.com> An HTML attachment was scrubbed... URL: From tmraz at fedoraproject.org Tue Jun 4 11:30:21 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Tue, 04 Jun 2019 11:30:21 +0000 Subject: [openssl] master update Message-ID: <1559647821.704962.22916.nullmailer@dev.openssl.org> The branch master has been updated via fac9200a881a83bef038ebed628ebd409786a1a6 (commit) from d4f63f1c39c3908cd81fda07448144bafb9aba4a (commit) - Log ----------------------------------------------------------------- commit fac9200a881a83bef038ebed628ebd409786a1a6 Author: Vitezslav Cizek Date: Tue Jun 4 13:24:59 2019 +0200 build_SYS_str_reasons: Fix a crash caused by overlong locales The 4 kB SPACE_SYS_STR_REASONS in crypto/err/err.c isn't enough for some locales. The Russian locales consume 6856 bytes, Ukrainian even 7000. build_SYS_str_reasons() contains an overflow check: if (cnt > sizeof(strerror_pool)) cnt = sizeof(strerror_pool); But since commit 9f15e5b911ba6053e09578f190354568e01c07d7 it no longer works as cnt is incremented once more after the condition. cnt greater than sizeof(strerror_pool) results in an unbounded OPENSSL_strlcpy() in openssl_strerror_r(), eventually causing a crash. When the first received error string was empty or contained only spaces, cur would move in front of the start of the strerror_pool. Also don't call openssl_strerror_r when the pool is full. Reviewed-by: Bernd Edlinger Reviewed-by: Richard Levitte Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/8966) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index 57399f8..cf3ae4d 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -188,8 +188,8 @@ 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 +/* 2019-05-21: Russian and Ukrainian locales on Linux require more than 6,5 kB */ +# define SPACE_SYS_STR_REASONS 8 * 1024 # define NUM_SYS_STR_REASONS 127 static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; @@ -223,21 +223,23 @@ static void build_SYS_str_reasons(void) ERR_STRING_DATA *str = &SYS_str_reasons[i - 1]; str->error = ERR_PACK(ERR_LIB_SYS, 0, i); - if (str->string == NULL) { + /* + * If we have used up all the space in strerror_pool, + * there's no point in calling openssl_strerror_r() + */ + if (str->string == NULL && cnt < sizeof(strerror_pool)) { if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { 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. + * some (most? all?) messages. Lets trim them off. */ - while (ossl_isspace(cur[-1])) { + while (cur > strerror_pool && ossl_isspace(cur[-1])) { cur--; cnt--; } From tmraz at fedoraproject.org Tue Jun 4 11:30:49 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Tue, 04 Jun 2019 11:30:49 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559647849.343967.24752.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via a069bdf0aa30299d9cc7f90c50fe252ec39e95ae (commit) from a345ce6cb174bfb7c122a942874ae79af294b92e (commit) - Log ----------------------------------------------------------------- commit a069bdf0aa30299d9cc7f90c50fe252ec39e95ae Author: Vitezslav Cizek Date: Tue Jun 4 13:24:59 2019 +0200 build_SYS_str_reasons: Fix a crash caused by overlong locales The 4 kB SPACE_SYS_STR_REASONS in crypto/err/err.c isn't enough for some locales. The Russian locales consume 6856 bytes, Ukrainian even 7000. build_SYS_str_reasons() contains an overflow check: if (cnt > sizeof(strerror_pool)) cnt = sizeof(strerror_pool); But since commit 9f15e5b911ba6053e09578f190354568e01c07d7 it no longer works as cnt is incremented once more after the condition. cnt greater than sizeof(strerror_pool) results in an unbounded OPENSSL_strlcpy() in openssl_strerror_r(), eventually causing a crash. When the first received error string was empty or contained only spaces, cur would move in front of the start of the strerror_pool. Also don't call openssl_strerror_r when the pool is full. Reviewed-by: Bernd Edlinger Reviewed-by: Richard Levitte Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/8966) (cherry picked from commit fac9200a881a83bef038ebed628ebd409786a1a6) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index eaf6712..3a58ccb 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -184,8 +184,8 @@ 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 +/* 2019-05-21: Russian and Ukrainian locales on Linux require more than 6,5 kB */ +# define SPACE_SYS_STR_REASONS 8 * 1024 # define NUM_SYS_STR_REASONS 127 static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; @@ -219,21 +219,23 @@ static void build_SYS_str_reasons(void) ERR_STRING_DATA *str = &SYS_str_reasons[i - 1]; str->error = ERR_PACK(ERR_LIB_SYS, 0, i); - if (str->string == NULL) { + /* + * If we have used up all the space in strerror_pool, + * there's no point in calling openssl_strerror_r() + */ + if (str->string == NULL && cnt < sizeof(strerror_pool)) { if (openssl_strerror_r(i, cur, sizeof(strerror_pool) - cnt)) { 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. + * some (most? all?) messages. Lets trim them off. */ - while (ossl_isspace(cur[-1])) { + while (cur > strerror_pool && ossl_isspace(cur[-1])) { cur--; cnt--; } From builds at travis-ci.org Tue Jun 4 11:50:11 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 04 Jun 2019 11:50:11 +0000 Subject: Still Failing: openssl/openssl#25518 (master - fac9200) In-Reply-To: Message-ID: <5cf65af362a23_43fa3f6e119d0230076@57574a07-12de-4731-9328-51ca17afb923.mail> Build Update for openssl/openssl ------------------------------------- Build: #25518 Status: Still Failing Duration: 19 mins and 8 secs Commit: fac9200 (master) Author: Vitezslav Cizek Message: build_SYS_str_reasons: Fix a crash caused by overlong locales The 4 kB SPACE_SYS_STR_REASONS in crypto/err/err.c isn't enough for some locales. The Russian locales consume 6856 bytes, Ukrainian even 7000. build_SYS_str_reasons() contains an overflow check: if (cnt > sizeof(strerror_pool)) cnt = sizeof(strerror_pool); But since commit 9f15e5b911ba6053e09578f190354568e01c07d7 it no longer works as cnt is incremented once more after the condition. cnt greater than sizeof(strerror_pool) results in an unbounded OPENSSL_strlcpy() in openssl_strerror_r(), eventually causing a crash. When the first received error string was empty or contained only spaces, cur would move in front of the start of the strerror_pool. Also don't call openssl_strerror_r when the pool is full. Reviewed-by: Bernd Edlinger Reviewed-by: Richard Levitte Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/8966) View the changeset: https://github.com/openssl/openssl/compare/d4f63f1c39c3...fac9200a881a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541191990?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 Jun 4 13:56:44 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 13:56:44 +0000 Subject: Build failed: openssl master.24936 Message-ID: <20190604135644.1.F77F8FC6D70374A2@appveyor.com> An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Tue Jun 4 14:30:31 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 04 Jun 2019 14:30:31 +0000 Subject: [openssl] master update Message-ID: <1559658631.851995.18125.nullmailer@dev.openssl.org> The branch master has been updated via f308fa2573b0320236cd2c2d73db37c49e3eb779 (commit) from fac9200a881a83bef038ebed628ebd409786a1a6 (commit) - Log ----------------------------------------------------------------- commit f308fa2573b0320236cd2c2d73db37c49e3eb779 Author: Dr. Matthias St. Pierre Date: Fri May 24 14:04:26 2019 +0200 Document deprecation of version-specific SSL/TLS methods In commit 2b8fa1d56cd3 the version-specific SSL/TLS methods were deprecated. This patch improves the documentation of that change by stating the deprecation more prominently in the manual page and explaining the reason for the deprecation. Fixes #8989 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9001) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_new.pod | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/doc/man3/SSL_CTX_new.pod b/doc/man3/SSL_CTX_new.pod index 4b3e8dd..6680496 100644 --- a/doc/man3/SSL_CTX_new.pod +++ b/doc/man3/SSL_CTX_new.pod @@ -94,28 +94,31 @@ The actual protocol version used will be negotiated to the highest version mutually supported by the client and the server. The supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3. Applications should use these methods, and avoid the version-specific -methods described below. +methods described below, which are deprecated. =item SSLv23_method(), SSLv23_server_method(), SSLv23_client_method() -Use of these functions is deprecated. They have been replaced with the above -TLS_method(), TLS_server_method() and TLS_client_method() respectively. New -code should use those functions instead. +These functions do not exist anymore, they have been renamed to +TLS_method(), TLS_server_method() and TLS_client_method() respectively. +Currently, the old function calls are renamed to the corresponding new +ones by preprocessor macros, to ensure that existing code which uses the +old function names still compiles. However, using the old function names +is deprecated and new code should call the new functions instead. =item TLSv1_2_method(), TLSv1_2_server_method(), TLSv1_2_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1.2 protocol. +TLSv1.2 protocol. These methods are deprecated. =item TLSv1_1_method(), TLSv1_1_server_method(), TLSv1_1_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1.1 protocol. +TLSv1.1 protocol. These methods are deprecated. =item TLSv1_method(), TLSv1_server_method(), TLSv1_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1 protocol. +TLSv1 protocol. These methods are deprecated. =item SSLv3_method(), SSLv3_server_method(), SSLv3_client_method() @@ -131,10 +134,12 @@ Currently supported protocols are DTLS 1.0 and DTLS 1.2. =item DTLSv1_2_method(), DTLSv1_2_server_method(), DTLSv1_2_client_method() These are the version-specific methods for DTLSv1.2. +These methods are deprecated. =item DTLSv1_method(), DTLSv1_server_method(), DTLSv1_client_method() These are the version-specific methods for DTLSv1. +These methods are deprecated. =back From matthias.st.pierre at ncp-e.com Tue Jun 4 14:30:56 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Tue, 04 Jun 2019 14:30:56 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559658656.665277.19618.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 8f75443f993f874e6176e5440e5839392f874bd7 (commit) from a069bdf0aa30299d9cc7f90c50fe252ec39e95ae (commit) - Log ----------------------------------------------------------------- commit 8f75443f993f874e6176e5440e5839392f874bd7 Author: Dr. Matthias St. Pierre Date: Fri May 24 14:04:26 2019 +0200 Document deprecation of version-specific SSL/TLS methods In commit 2b8fa1d56cd3 the version-specific SSL/TLS methods were deprecated. This patch improves the documentation of that change by stating the deprecation more prominently in the manual page and explaining the reason for the deprecation. Fixes #8989 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9001) (cherry picked from commit f308fa2573b0320236cd2c2d73db37c49e3eb779) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_new.pod | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/doc/man3/SSL_CTX_new.pod b/doc/man3/SSL_CTX_new.pod index df25a6f..a6c036c 100644 --- a/doc/man3/SSL_CTX_new.pod +++ b/doc/man3/SSL_CTX_new.pod @@ -94,28 +94,31 @@ The actual protocol version used will be negotiated to the highest version mutually supported by the client and the server. The supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3. Applications should use these methods, and avoid the version-specific -methods described below. +methods described below, which are deprecated. =item SSLv23_method(), SSLv23_server_method(), SSLv23_client_method() -Use of these functions is deprecated. They have been replaced with the above -TLS_method(), TLS_server_method() and TLS_client_method() respectively. New -code should use those functions instead. +These functions do not exist anymore, they have been renamed to +TLS_method(), TLS_server_method() and TLS_client_method() respectively. +Currently, the old function calls are renamed to the corresponding new +ones by preprocessor macros, to ensure that existing code which uses the +old function names still compiles. However, using the old function names +is deprecated and new code should call the new functions instead. =item TLSv1_2_method(), TLSv1_2_server_method(), TLSv1_2_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1.2 protocol. +TLSv1.2 protocol. These methods are deprecated. =item TLSv1_1_method(), TLSv1_1_server_method(), TLSv1_1_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1.1 protocol. +TLSv1.1 protocol. These methods are deprecated. =item TLSv1_method(), TLSv1_server_method(), TLSv1_client_method() A TLS/SSL connection established with these methods will only understand the -TLSv1 protocol. +TLSv1 protocol. These methods are deprecated. =item SSLv3_method(), SSLv3_server_method(), SSLv3_client_method() @@ -131,10 +134,12 @@ Currently supported protocols are DTLS 1.0 and DTLS 1.2. =item DTLSv1_2_method(), DTLSv1_2_server_method(), DTLSv1_2_client_method() These are the version-specific methods for DTLSv1.2. +These methods are deprecated. =item DTLSv1_method(), DTLSv1_server_method(), DTLSv1_client_method() These are the version-specific methods for DTLSv1. +These methods are deprecated. =back From builds at travis-ci.org Tue Jun 4 14:51:04 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 04 Jun 2019 14:51:04 +0000 Subject: Still Failing: openssl/openssl#25524 (master - f308fa2) In-Reply-To: Message-ID: <5cf6855894e94_43f9bc40dbdcc4879fe@739a60d9-8c0b-46ba-9129-83f5d1d32dbd.mail> Build Update for openssl/openssl ------------------------------------- Build: #25524 Status: Still Failing Duration: 19 mins and 49 secs Commit: f308fa2 (master) Author: Dr. Matthias St. Pierre Message: Document deprecation of version-specific SSL/TLS methods In commit 2b8fa1d56cd3 the version-specific SSL/TLS methods were deprecated. This patch improves the documentation of that change by stating the deprecation more prominently in the manual page and explaining the reason for the deprecation. Fixes #8989 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9001) View the changeset: https://github.com/openssl/openssl/compare/fac9200a881a...f308fa2573b0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541272051?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 Jun 4 15:34:34 2019 From: levitte at openssl.org (Richard Levitte) Date: Tue, 04 Jun 2019 15:34:34 +0000 Subject: [openssl] master update Message-ID: <1559662474.851872.18412.nullmailer@dev.openssl.org> The branch master has been updated via 98475995e1835f20ac4f4b83ec90a3e36fdb0861 (commit) from f308fa2573b0320236cd2c2d73db37c49e3eb779 (commit) - Log ----------------------------------------------------------------- commit 98475995e1835f20ac4f4b83ec90a3e36fdb0861 Author: Richard Levitte Date: Tue Jun 4 16:15:46 2019 +0200 EVP_DigestInit_ex(): drop previous context engine earlier If a EVP_MD_CTX holds a reference to a previously given engine, and the type of its digest isn't the same as the one given in the new call, drop that engine reference, allowing providers or other engines to provide the new algorithm on an equal basis. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9077) ----------------------------------------------------------------------- Summary of changes: crypto/evp/digest.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 89cd5c1..faa6ccf 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -129,6 +129,16 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) (type == NULL || (type->type == ctx->digest->type))) goto skip_to_init; + if (type != NULL) { + /* + * Ensure an ENGINE left lying around from last time is cleared (the + * previous check attempted to avoid this if the same ENGINE and + * EVP_MD could be used). + */ + ENGINE_finish(ctx->engine); + ctx->engine = NULL; + } + if (type != NULL && impl == NULL) tmpimpl = ENGINE_get_digest_engine(type->type); #endif @@ -202,12 +212,6 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) #if !defined(OPENSSL_NO_ENGINE) && !defined(FIPS_MODE) if (type) { - /* - * Ensure an ENGINE left lying around from last time is cleared (the - * previous check attempted to avoid this if the same ENGINE and - * EVP_MD could be used). - */ - ENGINE_finish(ctx->engine); if (impl != NULL) { if (!ENGINE_init(impl)) { EVPerr(EVP_F_EVP_DIGESTINIT_EX, EVP_R_INITIALIZATION_ERROR); From no-reply at appveyor.com Tue Jun 4 15:34:50 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 15:34:50 +0000 Subject: Build failed: openssl master.24941 Message-ID: <20190604153450.1.E032B73B87024989@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Jun 4 15:54:52 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 04 Jun 2019 15:54:52 +0000 Subject: Still Failing: openssl/openssl#25527 (master - 9847599) In-Reply-To: Message-ID: <5cf6944c765e_43f96c61b37ac1486fb@34f2f78a-6b85-457d-bd8e-308d793d35ab.mail> Build Update for openssl/openssl ------------------------------------- Build: #25527 Status: Still Failing Duration: 19 mins and 39 secs Commit: 9847599 (master) Author: Richard Levitte Message: EVP_DigestInit_ex(): drop previous context engine earlier If a EVP_MD_CTX holds a reference to a previously given engine, and the type of its digest isn't the same as the one given in the new call, drop that engine reference, allowing providers or other engines to provide the new algorithm on an equal basis. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9077) View the changeset: https://github.com/openssl/openssl/compare/f308fa2573b0...98475995e183 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541303486?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 Jun 4 16:04:24 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 16:04:24 +0000 Subject: Build completed: openssl master.24942 Message-ID: <20190604160424.1.8B9800D5AF490E07@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 18:55:19 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 18:55:19 +0000 Subject: Build failed: openssl master.24948 Message-ID: <20190604185519.1.FCD8555FAC0E3767@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 19:26:47 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 19:26:47 +0000 Subject: Build completed: openssl master.24949 Message-ID: <20190604192647.1.AEAF4E64D4290D2A@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 20:28:22 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 20:28:22 +0000 Subject: Build failed: openssl master.24952 Message-ID: <20190604202822.1.3141149214C1BEB8@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 20:57:54 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 20:57:54 +0000 Subject: Build completed: openssl master.24953 Message-ID: <20190604205754.1.EE18C0C90BD11369@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 21:09:28 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 21:09:28 +0000 Subject: Build failed: openssl master.24954 Message-ID: <20190604210928.1.B448EE9642650058@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 21:16:23 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 21:16:23 +0000 Subject: Build failed: openssl master.24955 Message-ID: <20190604211623.1.88BFE97D2B36BA20@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 4 21:44:07 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 04 Jun 2019 21:44:07 +0000 Subject: Build completed: openssl master.24956 Message-ID: <20190604214407.1.376B5B8441178888@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Jun 5 01:01:24 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 05 Jun 2019 01:01:24 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-deprecated Message-ID: <1559696484.081385.30646.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-deprecated Commit log since last time: 98475995e1 EVP_DigestInit_ex(): drop previous context engine earlier f308fa2573 Document deprecation of version-specific SSL/TLS methods fac9200a88 build_SYS_str_reasons: Fix a crash caused by overlong locales d4f63f1c39 Remove last references to DEBUG_SAFESTACK d5e5e2ffaf Move digests to providers Build log ended with (last 100 lines): ../../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_bio_memleak.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 ..................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_gost.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1642, 242 wallclock secs ( 2.73 usr 0.39 sys + 232.82 cusr 18.72 csys = 254.66 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-deprecated' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From pauli at openssl.org Wed Jun 5 04:29:30 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 05 Jun 2019 04:29:30 +0000 Subject: [openssl] master update Message-ID: <1559708970.433810.1724.nullmailer@dev.openssl.org> The branch master has been updated via 85e0ad9f1309afceaa8d3946c9273e089d3c25b8 (commit) from 98475995e1835f20ac4f4b83ec90a3e36fdb0861 (commit) - Log ----------------------------------------------------------------- commit 85e0ad9f1309afceaa8d3946c9273e089d3c25b8 Author: Pauli Date: Thu May 30 11:37:12 2019 +1000 Document property hierarchy. Add documentation to indicate the interaction between global (context level) property queries and local (passed to fetch) ones. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9042) ----------------------------------------------------------------------- Summary of changes: doc/man7/property.pod | 61 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/doc/man7/property.pod b/doc/man7/property.pod index e05f112..4f842e0 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -68,7 +68,40 @@ Matching such clauses is not a requirement, but any additional optional match counts in favor of the algorithm. More details about that in the B section. A I is a sequence of comma separated property query clauses. -The full syntax for property queries appears below. +The full syntax for property queries appears below, but the available syntatic +features are: + +=over + +=item * + +B<=> is an infix operator providing an equality test. + +=item * + +B is an infix operator providing an inequality test. + +=item * + +B is a prefix operator that means that the following clause is optional +but preferred. + +=item * + +B<-> is a prefix operator that means any global query clause involving the +following property name should be ignored. + +=item * + +B<"..."> is a quoted string. +The quotes are not included in the body of the string. + +=item * + +B<'...'> is a quoted string. +The quotes are not included in the body of the string. + +=back =head2 Lookups @@ -87,7 +120,31 @@ In order to permit a more concise expression of boolean properties, there is one short cut: a property name alone (e.g. "default") is exactly equivalent to "default=yes" in both definitions and queries. -=head1 Syntax +=head2 Global and Local + +Two levels of property query are supported. +A context based property query that applies to all fetch operations and a local +property query. +Where both the context and local queries include a clause with the same name, +the local clause is used and the context one ignored. +For example, a context property query of "fips=yes" and a local property query +of "fips=no" would result in algorithms that have the "fips" property set t +"no". + +=head2 Override + +It is possible for a local property query to override a clause in the context +property query by preceeding the property name with a '-'. +For example, a conxtet property query that contains "fips=yes" would normally +result in implementations that have "fips=yes". +However, if the setting of +the "fips" property is irrelevant to the operations being performed, the local +property query can include the clause "-fips". +Note that the local property query could not use "fips=no" because that would +disallow any implementations with "fips=yes" rather than not caring about the +setting. + +=head1 SYNTAX The lexical syntax in EBNF is given by: From builds at travis-ci.org Wed Jun 5 04:50:12 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 05 Jun 2019 04:50:12 +0000 Subject: Still Failing: openssl/openssl#25545 (master - 85e0ad9) In-Reply-To: Message-ID: <5cf74a045fce0_43f8f125c377c5589d@4ea7784d-1fbe-466f-b937-4acaee85b56c.mail> Build Update for openssl/openssl ------------------------------------- Build: #25545 Status: Still Failing Duration: 19 mins and 43 secs Commit: 85e0ad9 (master) Author: Pauli Message: Document property hierarchy. Add documentation to indicate the interaction between global (context level) property queries and local (passed to fetch) ones. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9042) View the changeset: https://github.com/openssl/openssl/compare/98475995e183...85e0ad9f1309 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541554591?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 Jun 5 06:08:52 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 05 Jun 2019 06:08:52 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1559714932.368271.8848.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 98475995e1 EVP_DigestInit_ex(): drop previous context engine earlier f308fa2573 Document deprecation of version-specific SSL/TLS methods fac9200a88 build_SYS_str_reasons: Fix a crash caused by overlong locales d4f63f1c39 Remove last references to DEBUG_SAFESTACK d5e5e2ffaf Move digests to providers Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Wed Jun 5 09:56:08 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 05 Jun 2019 09:56:08 +0000 Subject: Build failed: openssl master.24970 Message-ID: <20190605095608.1.5EEA6DB738AD111F@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 5 10:22:28 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 05 Jun 2019 10:22:28 +0000 Subject: Build completed: openssl master.24971 Message-ID: <20190605102228.1.15308E145ABE952C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 5 10:53:35 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 05 Jun 2019 10:53:35 +0000 Subject: Build failed: openssl master.24974 Message-ID: <20190605105335.1.DA2A2064C282E17C@appveyor.com> An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Wed Jun 5 19:51:30 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Wed, 05 Jun 2019 19:51:30 +0000 Subject: [openssl] master update Message-ID: <1559764290.794624.13725.nullmailer@dev.openssl.org> The branch master has been updated via b1f692575411a400c9c9d4f2d1f0377863abaca5 (commit) from 85e0ad9f1309afceaa8d3946c9273e089d3c25b8 (commit) - Log ----------------------------------------------------------------- commit b1f692575411a400c9c9d4f2d1f0377863abaca5 Author: Dr. Matthias St. Pierre Date: Wed Jun 5 21:03:34 2019 +0200 man: fix doc-nit in property.pod This causes travis build failures on master Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9087) ----------------------------------------------------------------------- Summary of changes: doc/man7/property.pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/man7/property.pod b/doc/man7/property.pod index 4f842e0..1fa6440 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -71,7 +71,7 @@ A I is a sequence of comma separated property query clauses. The full syntax for property queries appears below, but the available syntatic features are: -=over +=over 4 =item * From builds at travis-ci.org Wed Jun 5 20:10:54 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 05 Jun 2019 20:10:54 +0000 Subject: Still Failing: openssl/openssl#25558 (master - b1f6925) In-Reply-To: Message-ID: <5cf821cdc0b11_43ffc4626a78c165566@eb960ec0-cd00-442a-b9f2-9cfbf8cbe40d.mail> Build Update for openssl/openssl ------------------------------------- Build: #25558 Status: Still Failing Duration: 18 mins and 39 secs Commit: b1f6925 (master) Author: Dr. Matthias St. Pierre Message: man: fix doc-nit in property.pod This causes travis build failures on master Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9087) View the changeset: https://github.com/openssl/openssl/compare/85e0ad9f1309...b1f692575411 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/541930513?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 shane.lontis at oracle.com Thu Jun 6 00:23:33 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Thu, 06 Jun 2019 00:23:33 +0000 Subject: [openssl] master update Message-ID: <1559780613.444644.4465.nullmailer@dev.openssl.org> The branch master has been updated via ad14e8e5085936bb495d15f4e0a1b653460ae4dd (commit) from b1f692575411a400c9c9d4f2d1f0377863abaca5 (commit) - Log ----------------------------------------------------------------- commit ad14e8e5085936bb495d15f4e0a1b653460ae4dd Author: Shane Lontis Date: Tue Jun 4 11:32:58 2019 +1000 Coverity fixes covID 1445689 Resource leak (in error path) covID 1445318 Resource leak (in test - minor) covID 1443705 Unchecked return value (Needed if CRYPTO_atomic_add() was used) covID 1443691 Resource leak (in app - minor) Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9071) ----------------------------------------------------------------------- Summary of changes: apps/verify.c | 11 ++++++++++- crypto/provider_core.c | 3 ++- ssl/tls13_enc.c | 1 + test/enginetest.c | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/verify.c b/apps/verify.c index 3767972..fd40764 100644 --- a/apps/verify.c +++ b/apps/verify.c @@ -169,11 +169,20 @@ int verify_main(int argc, char **argv) v_verbose = 1; break; case OPT_SM2ID: - /* we assume the input is not a hex string */ + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id' \n"); + goto end; + } sm2_id = (unsigned char *)opt_arg(); sm2_idlen = strlen((const char *)sm2_id); break; case OPT_SM2HEXID: + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id' \n"); + goto end; + } /* try to parse the input as hex string first */ sm2_free = 1; sm2_id = OPENSSL_hexstr2buf(opt_arg(), (long *)&sm2_idlen); diff --git a/crypto/provider_core.c b/crypto/provider_core.c index 837f4b5..bcf6aa9 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -194,7 +194,8 @@ int ossl_provider_upref(OSSL_PROVIDER *prov) { int ref = 0; - CRYPTO_UP_REF(&prov->refcnt, &ref, prov->refcnt_lock); + if (CRYPTO_UP_REF(&prov->refcnt, &ref, prov->refcnt_lock) <= 0) + return 0; return ref; } diff --git a/ssl/tls13_enc.c b/ssl/tls13_enc.c index b0fc4b2..9bc34c1 100644 --- a/ssl/tls13_enc.c +++ b/ssl/tls13_enc.c @@ -170,6 +170,7 @@ int tls13_generate_secret(SSL *s, const EVP_MD *md, if (!ossl_assert(mdleni >= 0)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS13_GENERATE_SECRET, ERR_R_INTERNAL_ERROR); + EVP_KDF_CTX_free(kctx); return 0; } mdlen = (size_t)mdleni; diff --git a/test/enginetest.c b/test/enginetest.c index 4836cbe..b4d117e 100644 --- a/test/enginetest.c +++ b/test/enginetest.c @@ -279,7 +279,7 @@ static int test_redirect(void) * Try setting test key engine. Both should fail because the * engine has no public key methods. */ - if (!TEST_ptr_null(EVP_PKEY_CTX_new(pkey, e)) + if (!TEST_ptr_null(ctx = EVP_PKEY_CTX_new(pkey, e)) || !TEST_int_le(EVP_PKEY_set1_engine(pkey, e), 0)) goto err; From shane.lontis at oracle.com Thu Jun 6 00:31:08 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Thu, 06 Jun 2019 00:31:08 +0000 Subject: [openssl] master update Message-ID: <1559781068.158320.18065.nullmailer@dev.openssl.org> The branch master has been updated via 56e840fe2d7163ba07bf3ef9b8daf1d368c7696c (commit) from ad14e8e5085936bb495d15f4e0a1b653460ae4dd (commit) - Log ----------------------------------------------------------------- commit 56e840fe2d7163ba07bf3ef9b8daf1d368c7696c Author: Shane Lontis Date: Wed Jun 5 16:01:18 2019 +1000 rename the digest provider files to avoid any name clashes with other folders Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9083) ----------------------------------------------------------------------- Summary of changes: providers/common/digests/build.info | 4 ++-- providers/common/digests/{sha2.c => sha2_prov.c} | 0 providers/common/digests/{sha3.c => sha3_prov.c} | 0 providers/default/digests/{blake2.c => blake2_prov.c} | 0 providers/default/digests/{blake2b.c => blake2b_prov.c} | 0 providers/default/digests/{blake2s.c => blake2s_prov.c} | 0 providers/default/digests/build.info | 8 ++++---- providers/default/digests/{md5.c => md5_prov.c} | 0 providers/default/digests/{md5_sha1.c => md5_sha1_prov.c} | 0 providers/default/digests/{null.c => null_prov.c} | 0 providers/default/digests/{sm3.c => sm3_prov.c} | 0 providers/legacy/digests/build.info | 10 +++++----- providers/legacy/digests/{md2.c => md2_prov.c} | 0 providers/legacy/digests/{md4.c => md4_prov.c} | 0 providers/legacy/digests/{mdc2.c => mdc2_prov.c} | 0 providers/legacy/digests/{ripemd.c => ripemd_prov.c} | 0 providers/legacy/digests/{wp.c => wp_prov.c} | 0 17 files changed, 11 insertions(+), 11 deletions(-) rename providers/common/digests/{sha2.c => sha2_prov.c} (100%) rename providers/common/digests/{sha3.c => sha3_prov.c} (100%) rename providers/default/digests/{blake2.c => blake2_prov.c} (100%) rename providers/default/digests/{blake2b.c => blake2b_prov.c} (100%) rename providers/default/digests/{blake2s.c => blake2s_prov.c} (100%) rename providers/default/digests/{md5.c => md5_prov.c} (100%) rename providers/default/digests/{md5_sha1.c => md5_sha1_prov.c} (100%) rename providers/default/digests/{null.c => null_prov.c} (100%) rename providers/default/digests/{sm3.c => sm3_prov.c} (100%) rename providers/legacy/digests/{md2.c => md2_prov.c} (100%) rename providers/legacy/digests/{md4.c => md4_prov.c} (100%) rename providers/legacy/digests/{mdc2.c => mdc2_prov.c} (100%) rename providers/legacy/digests/{ripemd.c => ripemd_prov.c} (100%) rename providers/legacy/digests/{wp.c => wp_prov.c} (100%) diff --git a/providers/common/digests/build.info b/providers/common/digests/build.info index 8ce0b44..513da68 100644 --- a/providers/common/digests/build.info +++ b/providers/common/digests/build.info @@ -1,5 +1,5 @@ SOURCE[../../../libcrypto]=\ - sha2.c sha3.c + sha2_prov.c sha3_prov.c SOURCE[../../fips]=\ - sha2.c sha3.c + sha2_prov.c sha3_prov.c diff --git a/providers/common/digests/sha2.c b/providers/common/digests/sha2_prov.c similarity index 100% rename from providers/common/digests/sha2.c rename to providers/common/digests/sha2_prov.c diff --git a/providers/common/digests/sha3.c b/providers/common/digests/sha3_prov.c similarity index 100% rename from providers/common/digests/sha3.c rename to providers/common/digests/sha3_prov.c diff --git a/providers/default/digests/blake2.c b/providers/default/digests/blake2_prov.c similarity index 100% rename from providers/default/digests/blake2.c rename to providers/default/digests/blake2_prov.c diff --git a/providers/default/digests/blake2b.c b/providers/default/digests/blake2b_prov.c similarity index 100% rename from providers/default/digests/blake2b.c rename to providers/default/digests/blake2b_prov.c diff --git a/providers/default/digests/blake2s.c b/providers/default/digests/blake2s_prov.c similarity index 100% rename from providers/default/digests/blake2s.c rename to providers/default/digests/blake2s_prov.c diff --git a/providers/default/digests/build.info b/providers/default/digests/build.info index 0f15d12..637436d 100644 --- a/providers/default/digests/build.info +++ b/providers/default/digests/build.info @@ -1,17 +1,17 @@ SOURCE[../../../libcrypto]=\ - null.c + null_prov.c IF[{- !$disabled{blake2} -}] SOURCE[../../../libcrypto]=\ - blake2.c blake2b.c blake2s.c + blake2_prov.c blake2b_prov.c blake2s_prov.c ENDIF IF[{- !$disabled{sm3} -}] SOURCE[../../../libcrypto]=\ - sm3.c + sm3_prov.c ENDIF IF[{- !$disabled{md5} -}] SOURCE[../../../libcrypto]=\ - md5.c md5_sha1.c + md5_prov.c md5_sha1_prov.c ENDIF diff --git a/providers/default/digests/md5.c b/providers/default/digests/md5_prov.c similarity index 100% rename from providers/default/digests/md5.c rename to providers/default/digests/md5_prov.c diff --git a/providers/default/digests/md5_sha1.c b/providers/default/digests/md5_sha1_prov.c similarity index 100% rename from providers/default/digests/md5_sha1.c rename to providers/default/digests/md5_sha1_prov.c diff --git a/providers/default/digests/null.c b/providers/default/digests/null_prov.c similarity index 100% rename from providers/default/digests/null.c rename to providers/default/digests/null_prov.c diff --git a/providers/default/digests/sm3.c b/providers/default/digests/sm3_prov.c similarity index 100% rename from providers/default/digests/sm3.c rename to providers/default/digests/sm3_prov.c diff --git a/providers/legacy/digests/build.info b/providers/legacy/digests/build.info index 239efd2..538afd4 100644 --- a/providers/legacy/digests/build.info +++ b/providers/legacy/digests/build.info @@ -1,24 +1,24 @@ IF[{- !$disabled{md2} -}] SOURCE[../../legacy]=\ - md2.c + md2_prov.c ENDIF IF[{- !$disabled{md4} -}] SOURCE[../../legacy]=\ - md4.c + md4_prov.c ENDIF IF[{- !$disabled{mdc2} -}] SOURCE[../../legacy]=\ - mdc2.c + mdc2_prov.c ENDIF IF[{- !$disabled{whirlpool} -}] SOURCE[../../legacy]=\ - wp.c + wp_prov.c ENDIF IF[{- !$disabled{rmd160} -}] SOURCE[../../legacy]=\ - ripemd.c + ripemd_prov.c ENDIF \ No newline at end of file diff --git a/providers/legacy/digests/md2.c b/providers/legacy/digests/md2_prov.c similarity index 100% rename from providers/legacy/digests/md2.c rename to providers/legacy/digests/md2_prov.c diff --git a/providers/legacy/digests/md4.c b/providers/legacy/digests/md4_prov.c similarity index 100% rename from providers/legacy/digests/md4.c rename to providers/legacy/digests/md4_prov.c diff --git a/providers/legacy/digests/mdc2.c b/providers/legacy/digests/mdc2_prov.c similarity index 100% rename from providers/legacy/digests/mdc2.c rename to providers/legacy/digests/mdc2_prov.c diff --git a/providers/legacy/digests/ripemd.c b/providers/legacy/digests/ripemd_prov.c similarity index 100% rename from providers/legacy/digests/ripemd.c rename to providers/legacy/digests/ripemd_prov.c diff --git a/providers/legacy/digests/wp.c b/providers/legacy/digests/wp_prov.c similarity index 100% rename from providers/legacy/digests/wp.c rename to providers/legacy/digests/wp_prov.c From openssl at openssl.org Thu Jun 6 00:59:34 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 06 Jun 2019 00:59:34 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-deprecated Message-ID: <1559782774.472318.15344.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-deprecated Commit log since last time: b1f6925754 man: fix doc-nit in property.pod 85e0ad9f13 Document property hierarchy. Build log ended with (last 100 lines): ../../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_bio_memleak.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 ..................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_gost.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1642, 246 wallclock secs ( 2.72 usr 0.40 sys + 237.34 cusr 19.09 csys = 259.55 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-deprecated' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Thu Jun 6 00:46:36 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 06 Jun 2019 00:46:36 +0000 Subject: Still Failing: openssl/openssl#25563 (master - ad14e8e) In-Reply-To: Message-ID: <5cf8626c50cba_43fd14fb6a228304169@9371a7f7-41ae-45db-acc5-1c21782072a8.mail> Build Update for openssl/openssl ------------------------------------- Build: #25563 Status: Still Failing Duration: 22 mins and 33 secs Commit: ad14e8e (master) Author: Shane Lontis Message: Coverity fixes covID 1445689 Resource leak (in error path) covID 1445318 Resource leak (in test - minor) covID 1443705 Unchecked return value (Needed if CRYPTO_atomic_add() was used) covID 1443691 Resource leak (in app - minor) Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9071) View the changeset: https://github.com/openssl/openssl/compare/b1f692575411...ad14e8e50859 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542030557?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 Jun 6 01:01:50 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 06 Jun 2019 01:01:50 +0000 Subject: Still Failing: openssl/openssl#25564 (master - 56e840f) In-Reply-To: Message-ID: <5cf865fe3e62e_43f8f6772b70420047@f8936782-6243-4855-bb0e-1ce561213a13.mail> Build Update for openssl/openssl ------------------------------------- Build: #25564 Status: Still Failing Duration: 15 mins and 23 secs Commit: 56e840f (master) Author: Shane Lontis Message: rename the digest provider files to avoid any name clashes with other folders Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9083) View the changeset: https://github.com/openssl/openssl/compare/ad14e8e50859...56e840fe2d71 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542032861?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 Thu Jun 6 03:45:17 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 03:45:17 +0000 Subject: Build failed: openssl master.24989 Message-ID: <20190606034517.1.791D3BC8EDDA6685@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Thu Jun 6 06:08:29 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 06 Jun 2019 06:08:29 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1559801309.771518.25863.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: b1f6925754 man: fix doc-nit in property.pod 85e0ad9f13 Document property hierarchy. Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From pauli at openssl.org Thu Jun 6 06:39:01 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Thu, 06 Jun 2019 06:39:01 +0000 Subject: [openssl] master update Message-ID: <1559803141.142478.28329.nullmailer@dev.openssl.org> The branch master has been updated via 355b419698bd6f8db03cd79007fc0da1e757e794 (commit) from 56e840fe2d7163ba07bf3ef9b8daf1d368c7696c (commit) - Log ----------------------------------------------------------------- commit 355b419698bd6f8db03cd79007fc0da1e757e794 Author: Pauli Date: Thu Jun 6 16:38:26 2019 +1000 Address property documentation concerns. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9090) ----------------------------------------------------------------------- Summary of changes: doc/man7/property.pod | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/man7/property.pod b/doc/man7/property.pod index 1fa6440..a9b2a77 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -126,20 +126,16 @@ Two levels of property query are supported. A context based property query that applies to all fetch operations and a local property query. Where both the context and local queries include a clause with the same name, -the local clause is used and the context one ignored. -For example, a context property query of "fips=yes" and a local property query -of "fips=no" would result in algorithms that have the "fips" property set t -"no". +the local clause overrides the context clause. -=head2 Override - -It is possible for a local property query to override a clause in the context +It is possible for a local property query to remove a clause in the context property query by preceeding the property name with a '-'. -For example, a conxtet property query that contains "fips=yes" would normally +For example, a context property query that contains "fips=yes" would normally result in implementations that have "fips=yes". -However, if the setting of -the "fips" property is irrelevant to the operations being performed, the local -property query can include the clause "-fips". + +However, if the setting of the "fips" property is irrelevant to the +operations being performed, the local property query can include the +clause "-fips". Note that the local property query could not use "fips=no" because that would disallow any implementations with "fips=yes" rather than not caring about the setting. From builds at travis-ci.org Thu Jun 6 07:02:28 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 06 Jun 2019 07:02:28 +0000 Subject: Still Failing: openssl/openssl#25574 (master - 355b419) In-Reply-To: Message-ID: <5cf8ba845e2ec_43f95c3bbc0403961b8@43ea97bf-86a4-45ca-bdbf-b74a01fb225e.mail> Build Update for openssl/openssl ------------------------------------- Build: #25574 Status: Still Failing Duration: 22 mins and 51 secs Commit: 355b419 (master) Author: Pauli Message: Address property documentation concerns. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9090) View the changeset: https://github.com/openssl/openssl/compare/56e840fe2d71...355b419698bd View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542112755?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 Thu Jun 6 08:13:59 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 08:13:59 +0000 Subject: Build failed: openssl master.24997 Message-ID: <20190606081359.1.A406D727C96D441E@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 6 08:19:53 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 08:19:53 +0000 Subject: Build failed: openssl master.25001 Message-ID: <20190606081953.1.C6A23F6CE24C4474@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 6 08:50:50 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 08:50:50 +0000 Subject: Build failed: openssl master.25002 Message-ID: <20190606085050.1.7B6166CCC46E958D@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 6 09:17:00 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 09:17:00 +0000 Subject: Build failed: openssl master.25003 Message-ID: <20190606091700.1.B0636F22B7D61D80@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 6 09:43:31 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 06 Jun 2019 09:43:31 +0000 Subject: Build completed: openssl master.25004 Message-ID: <20190606094331.1.90AE561FAF2C99C4@appveyor.com> An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Thu Jun 6 13:55:17 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 06 Jun 2019 13:55:17 +0000 Subject: [openssl] master update Message-ID: <1559829317.098254.30212.nullmailer@dev.openssl.org> The branch master has been updated via e6071f29c24cd22ac7857bf88917598265cc90a9 (commit) from 355b419698bd6f8db03cd79007fc0da1e757e794 (commit) - Log ----------------------------------------------------------------- commit e6071f29c24cd22ac7857bf88917598265cc90a9 Author: Dr. Matthias St. Pierre Date: Thu Jun 6 13:28:29 2019 +0200 Fix typo in macro argument of SSL_set1_client_sigalgs_list() Fixes #9092 Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9093) ----------------------------------------------------------------------- Summary of changes: include/openssl/ssl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index b043ffc..3367366 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1420,7 +1420,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)(slist)) + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) # define SSL_set1_client_sigalgs_list(ctx, s) \ SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_get0_certificate_types(s, clist) \ From matthias.st.pierre at ncp-e.com Thu Jun 6 13:55:46 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 06 Jun 2019 13:55:46 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559829346.488250.31537.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7818cd368c532e46d3c41ac79dcab0bc02ea0b7a (commit) from 8f75443f993f874e6176e5440e5839392f874bd7 (commit) - Log ----------------------------------------------------------------- commit 7818cd368c532e46d3c41ac79dcab0bc02ea0b7a Author: Dr. Matthias St. Pierre Date: Thu Jun 6 13:28:29 2019 +0200 Fix typo in macro argument of SSL_set1_client_sigalgs_list() Fixes #9092 Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9093) (cherry picked from commit e6071f29c24cd22ac7857bf88917598265cc90a9) ----------------------------------------------------------------------- Summary of changes: include/openssl/ssl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index f93dc68..5833547 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1415,7 +1415,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)(slist)) + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) # define SSL_set1_client_sigalgs_list(ctx, s) \ SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_get0_certificate_types(s, clist) \ From builds at travis-ci.org Thu Jun 6 14:16:36 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 06 Jun 2019 14:16:36 +0000 Subject: Still Failing: openssl/openssl#25583 (master - e6071f2) In-Reply-To: Message-ID: <5cf920445ce0b_43f9b117b62408923e@8e2ea4ba-39f4-4c7f-85f0-dbf8a3fe2744.mail> Build Update for openssl/openssl ------------------------------------- Build: #25583 Status: Still Failing Duration: 20 mins and 42 secs Commit: e6071f2 (master) Author: Dr. Matthias St. Pierre Message: Fix typo in macro argument of SSL_set1_client_sigalgs_list() Fixes #9092 Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9093) View the changeset: https://github.com/openssl/openssl/compare/355b419698bd...e6071f29c24c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542282864?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 Thu Jun 6 15:42:09 2019 From: kurt at openssl.org (Kurt Roeckx) Date: Thu, 06 Jun 2019 15:42:09 +0000 Subject: [openssl] master update Message-ID: <1559835729.828469.7632.nullmailer@dev.openssl.org> The branch master has been updated via 7ed66e2634e6cfbb16a1ef975572e79a479217a8 (commit) via be5fc053ed40bb714944f93e2d35265d2096f71f (commit) from e6071f29c24cd22ac7857bf88917598265cc90a9 (commit) - Log ----------------------------------------------------------------- commit 7ed66e2634e6cfbb16a1ef975572e79a479217a8 Author: Kurt Roeckx Date: Wed Dec 19 00:36:40 2018 +0100 Change EVP_MAC method from copy to dup Reviewed-by: Tomas Mraz GH: #7651 commit be5fc053ed40bb714944f93e2d35265d2096f71f Author: Kurt Roeckx Date: Sun Nov 4 19:16:20 2018 +0100 Replace EVP_MAC_CTX_copy() by EVP_MAC_CTX_dup() Reviewed-by: Tomas Mraz GH: #7651 ----------------------------------------------------------------------- Summary of changes: crypto/blake2/blake2b_mac.c | 12 ++++++-- crypto/blake2/blake2s_mac.c | 12 ++++++-- crypto/cmac/cm_meth.c | 18 ++++++++---- crypto/err/openssl.txt | 3 +- crypto/evp/evp_err.c | 3 +- crypto/evp/mac_lib.c | 24 ++++++++++----- crypto/evp/pkey_mac.c | 46 ++++++++++++++++++----------- crypto/gmac/gmac.c | 18 ++++++++++-- crypto/hmac/hm_meth.c | 19 ++++++++---- crypto/include/internal/evp_int.h | 2 +- crypto/kdf/sskdf.c | 8 +++-- crypto/kdf/tls1_prf.c | 21 +++++++++----- crypto/kmac/kmac.c | 19 +++++++++--- crypto/modes/modes_lcl.h | 1 - crypto/modes/siv128.c | 61 +++++++++++++++++++++++---------------- crypto/poly1305/poly1305_meth.c | 12 ++++++-- crypto/siphash/siphash_meth.c | 13 +++++++-- doc/man3/EVP_MAC.pod | 21 +++++++------- include/openssl/evp.h | 2 +- include/openssl/evperr.h | 3 +- util/libcrypto.num | 2 +- 21 files changed, 215 insertions(+), 105 deletions(-) diff --git a/crypto/blake2/blake2b_mac.c b/crypto/blake2/blake2b_mac.c index b38e9b8..f6025b1 100644 --- a/crypto/blake2/blake2b_mac.c +++ b/crypto/blake2/blake2b_mac.c @@ -39,10 +39,16 @@ static void blake2b_mac_free(EVP_MAC_IMPL *macctx) } } -static int blake2b_mac_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src) +static EVP_MAC_IMPL *blake2b_mac_dup(const EVP_MAC_IMPL *src) { + EVP_MAC_IMPL *dst; + + dst = OPENSSL_zalloc(sizeof(*dst)); + if (dst == NULL) + return NULL; + *dst = *src; - return 1; + return dst; } static int blake2b_mac_init(EVP_MAC_IMPL *macctx) @@ -177,7 +183,7 @@ static size_t blake2b_mac_size(EVP_MAC_IMPL *macctx) const EVP_MAC blake2b_mac_meth = { EVP_MAC_BLAKE2B, blake2b_mac_new, - blake2b_mac_copy, + blake2b_mac_dup, blake2b_mac_free, blake2b_mac_size, blake2b_mac_init, diff --git a/crypto/blake2/blake2s_mac.c b/crypto/blake2/blake2s_mac.c index 04dbf4e..9ce8db1 100644 --- a/crypto/blake2/blake2s_mac.c +++ b/crypto/blake2/blake2s_mac.c @@ -39,10 +39,16 @@ static void blake2s_mac_free(EVP_MAC_IMPL *macctx) } } -static int blake2s_mac_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src) +static EVP_MAC_IMPL *blake2s_mac_dup(const EVP_MAC_IMPL *src) { + EVP_MAC_IMPL *dst; + + dst = OPENSSL_malloc(sizeof(*dst)); + if (dst == NULL) + return NULL; + *dst = *src; - return 1; + return dst; } static int blake2s_mac_init(EVP_MAC_IMPL *macctx) @@ -177,7 +183,7 @@ static size_t blake2s_mac_size(EVP_MAC_IMPL *macctx) const EVP_MAC blake2s_mac_meth = { EVP_MAC_BLAKE2S, blake2s_mac_new, - blake2s_mac_copy, + blake2s_mac_dup, blake2s_mac_free, blake2s_mac_size, blake2s_mac_init, diff --git a/crypto/cmac/cm_meth.c b/crypto/cmac/cm_meth.c index 3f20e6c..07acf05 100644 --- a/crypto/cmac/cm_meth.c +++ b/crypto/cmac/cm_meth.c @@ -46,14 +46,22 @@ static void cmac_free(EVP_MAC_IMPL *cctx) } } -static int cmac_copy(EVP_MAC_IMPL *cdst, EVP_MAC_IMPL *csrc) +static EVP_MAC_IMPL *cmac_dup(const EVP_MAC_IMPL *csrc) { - if (!CMAC_CTX_copy(cdst->ctx, csrc->ctx)) - return 0; + EVP_MAC_IMPL *cdst = cmac_new(); + + if (cdst == NULL) + return NULL; + + if (!CMAC_CTX_copy(cdst->ctx, csrc->ctx)) { + cmac_free(cdst); + return NULL; + } cdst->tmpengine = csrc->tmpengine; cdst->tmpcipher = csrc->tmpcipher; - return 1; + + return cdst; } static size_t cmac_size(EVP_MAC_IMPL *cctx) @@ -153,7 +161,7 @@ static int cmac_ctrl_str(EVP_MAC_IMPL *cctx, const char *type, const EVP_MAC cmac_meth = { EVP_MAC_CMAC, cmac_new, - cmac_copy, + cmac_dup, cmac_free, cmac_size, cmac_init, diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 72057ac..3fb8c96 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -809,7 +809,7 @@ EVP_F_EVP_KDF_CTX_NEW:240:EVP_KDF_CTX_new EVP_F_EVP_KDF_CTX_NEW_ID:226:EVP_KDF_CTX_new_id EVP_F_EVP_MAC_CTRL:209:EVP_MAC_ctrl EVP_F_EVP_MAC_CTRL_STR:210:EVP_MAC_ctrl_str -EVP_F_EVP_MAC_CTX_COPY:211:EVP_MAC_CTX_copy +EVP_F_EVP_MAC_CTX_DUP:211:EVP_MAC_CTX_dup EVP_F_EVP_MAC_CTX_NEW:213:EVP_MAC_CTX_new EVP_F_EVP_MAC_INIT:212:EVP_MAC_init EVP_F_EVP_MD_BLOCK_SIZE:232:EVP_MD_block_size @@ -880,6 +880,7 @@ EVP_F_PKCS5_V2_PBE_KEYIVGEN:118:PKCS5_v2_PBE_keyivgen 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_KDF_CTRL:227:pkey_kdf_ctrl +EVP_F_PKEY_MAC_COPY:241:pkey_mac_copy EVP_F_PKEY_MAC_INIT:214:pkey_mac_init EVP_F_PKEY_SET_TYPE:158:pkey_set_type EVP_F_POLY1305_CTRL:216:poly1305_ctrl diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 836f5ee..199fabb 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -78,7 +78,7 @@ static const ERR_STRING_DATA EVP_str_functs[] = { {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_KDF_CTX_NEW_ID, 0), "EVP_KDF_CTX_new_id"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_CTRL, 0), "EVP_MAC_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_CTRL_STR, 0), "EVP_MAC_ctrl_str"}, - {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_CTX_COPY, 0), "EVP_MAC_CTX_copy"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_CTX_DUP, 0), "EVP_MAC_CTX_dup"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_CTX_NEW, 0), "EVP_MAC_CTX_new"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MAC_INIT, 0), "EVP_MAC_init"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_EVP_MD_BLOCK_SIZE, 0), "EVP_MD_block_size"}, @@ -179,6 +179,7 @@ static const ERR_STRING_DATA EVP_str_functs[] = { {ERR_PACK(ERR_LIB_EVP, EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN, 0), "PKCS5_v2_scrypt_keyivgen"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_PKEY_KDF_CTRL, 0), "pkey_kdf_ctrl"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_PKEY_MAC_COPY, 0), "pkey_mac_copy"}, {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"}, diff --git a/crypto/evp/mac_lib.c b/crypto/evp/mac_lib.c index 39efff0..ee4a68f 100644 --- a/crypto/evp/mac_lib.c +++ b/crypto/evp/mac_lib.c @@ -48,18 +48,28 @@ void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx) OPENSSL_free(ctx); } -int EVP_MAC_CTX_copy(EVP_MAC_CTX *dst, const EVP_MAC_CTX *src) +EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src) { - EVP_MAC_IMPL *macdata; + EVP_MAC_CTX *dst; - if (src->data != NULL && !dst->meth->copy(dst->data, src->data)) - return 0; + if (src->data == NULL) + return NULL; + + dst = OPENSSL_malloc(sizeof(*dst)); + if (dst == NULL) { + EVPerr(EVP_F_EVP_MAC_CTX_DUP, ERR_R_MALLOC_FAILURE); + return NULL; + } - macdata = dst->data; *dst = *src; - dst->data = macdata; - return 1; + dst->data = src->meth->dup(src->data); + if (dst->data == NULL) { + EVP_MAC_CTX_free(dst); + return NULL; + } + + return dst; } const EVP_MAC *EVP_MAC_CTX_mac(EVP_MAC_CTX *ctx) diff --git a/crypto/evp/pkey_mac.c b/crypto/evp/pkey_mac.c index fc627f1..fafe3c9 100644 --- a/crypto/evp/pkey_mac.c +++ b/crypto/evp/pkey_mac.c @@ -10,6 +10,7 @@ #include #include #include "internal/evp_int.h" +#include "evp_locl.h" /* MAC PKEY context structure */ @@ -75,15 +76,25 @@ static int pkey_mac_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { MAC_PKEY_CTX *sctx, *dctx; - if (!pkey_mac_init(dst)) + sctx = EVP_PKEY_CTX_get_data(src); + if (sctx->ctx->data == NULL) return 0; - sctx = EVP_PKEY_CTX_get_data(src); - dctx = EVP_PKEY_CTX_get_data(dst); + dctx = OPENSSL_zalloc(sizeof(*dctx)); + if (dctx == NULL) { + EVPerr(EVP_F_PKEY_MAC_COPY, ERR_R_MALLOC_FAILURE); + return 0; + } - if (!EVP_MAC_CTX_copy(dctx->ctx, sctx->ctx)) + EVP_PKEY_CTX_set_data(dst, dctx); + dst->keygen_info_count = 0; + + dctx->ctx = EVP_MAC_CTX_dup(sctx->ctx); + if (dctx->ctx == NULL) goto err; + dctx->type = sctx->type; + switch (dctx->type) { case MAC_TYPE_RAW: dctx->raw_data.md = sctx->raw_data.md; @@ -100,7 +111,7 @@ static int pkey_mac_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) } return 1; err: - pkey_mac_cleanup (dst); + pkey_mac_cleanup(dst); return 0; } @@ -141,14 +152,10 @@ static int pkey_mac_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) break; case MAC_TYPE_MAC: { - EVP_MAC_CTX *cmkey = EVP_MAC_CTX_new_id(nid); + EVP_MAC_CTX *cmkey = EVP_MAC_CTX_dup(hctx->ctx); if (cmkey == NULL) return 0; - if (!EVP_MAC_CTX_copy(cmkey, hctx->ctx)) { - EVP_MAC_CTX_free(cmkey); - return 0; - } EVP_PKEY_assign(pkey, nid, cmkey); } break; @@ -249,13 +256,18 @@ static int pkey_mac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) case MAC_TYPE_RAW: hctx->raw_data.md = p2; break; - case MAC_TYPE_MAC: - if (ctx->pkey != NULL - && !EVP_MAC_CTX_copy(hctx->ctx, - (EVP_MAC_CTX *)ctx->pkey->pkey.ptr)) - return 0; - if (!EVP_MAC_init(hctx->ctx)) - return 0; + case MAC_TYPE_MAC: { + EVP_MAC_CTX *new_mac_ctx; + + if (ctx->pkey == NULL) + return 0; + new_mac_ctx = EVP_MAC_CTX_dup((EVP_MAC_CTX *)ctx->pkey + ->pkey.ptr); + if (new_mac_ctx == NULL) + return 0; + EVP_MAC_CTX_free(hctx->ctx); + hctx->ctx = new_mac_ctx; + } break; default: /* This should be dead code */ diff --git a/crypto/gmac/gmac.c b/crypto/gmac/gmac.c index 5e3891f..0e2eda3 100644 --- a/crypto/gmac/gmac.c +++ b/crypto/gmac/gmac.c @@ -39,11 +39,23 @@ static EVP_MAC_IMPL *gmac_new(void) return gctx; } -static int gmac_copy(EVP_MAC_IMPL *gdst, EVP_MAC_IMPL *gsrc) +static EVP_MAC_IMPL *gmac_dup(const EVP_MAC_IMPL *gsrc) { + EVP_MAC_IMPL *gdst; + + gdst = gmac_new(); + if (gdst == NULL) + return NULL; + + if (!EVP_CIPHER_CTX_copy(gdst->ctx, gsrc->ctx)) { + gmac_free(gdst); + return NULL; + } + gdst->cipher = gsrc->cipher; gdst->engine = gsrc->engine; - return EVP_CIPHER_CTX_copy(gdst->ctx, gsrc->ctx); + + return gdst; } static size_t gmac_size(EVP_MAC_IMPL *gctx) @@ -172,7 +184,7 @@ static int gmac_ctrl_str(EVP_MAC_IMPL *gctx, const char *type, const EVP_MAC gmac_meth = { EVP_MAC_GMAC, gmac_new, - gmac_copy, + gmac_dup, gmac_free, gmac_size, gmac_init, diff --git a/crypto/hmac/hm_meth.c b/crypto/hmac/hm_meth.c index 705bf7f..db9af95 100644 --- a/crypto/hmac/hm_meth.c +++ b/crypto/hmac/hm_meth.c @@ -45,14 +45,23 @@ static void hmac_free(EVP_MAC_IMPL *hctx) } } -static int hmac_copy(EVP_MAC_IMPL *hdst, EVP_MAC_IMPL *hsrc) +static EVP_MAC_IMPL *hmac_dup(const EVP_MAC_IMPL *hsrc) { - if (!HMAC_CTX_copy(hdst->ctx, hsrc->ctx)) - return 0; + EVP_MAC_IMPL *hdst; + + hdst = hmac_new(); + if (hdst == NULL) + return NULL; + + if (!HMAC_CTX_copy(hdst->ctx, hsrc->ctx)) { + hmac_free(hdst); + return NULL; + } hdst->tmpengine = hsrc->tmpengine; hdst->tmpmd = hsrc->tmpmd; - return 1; + + return hdst; } static size_t hmac_size(EVP_MAC_IMPL *hctx) @@ -162,7 +171,7 @@ static int hmac_ctrl_str(EVP_MAC_IMPL *hctx, const char *type, const EVP_MAC hmac_meth = { EVP_MAC_HMAC, hmac_new, - hmac_copy, + hmac_dup, hmac_free, hmac_size, hmac_init, diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index 77684b2..183fc42 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -118,7 +118,7 @@ typedef struct evp_mac_impl_st EVP_MAC_IMPL; struct evp_mac_st { int type; EVP_MAC_IMPL *(*new) (void); - int (*copy) (EVP_MAC_IMPL *macdst, EVP_MAC_IMPL *macsrc); + EVP_MAC_IMPL *(*dup) (const EVP_MAC_IMPL *macsrc); void (*free) (EVP_MAC_IMPL *macctx); size_t (*size) (EVP_MAC_IMPL *macctx); int (*init) (EVP_MAC_IMPL *macctx); diff --git a/crypto/kdf/sskdf.c b/crypto/kdf/sskdf.c index 92bf995..31a1c10 100644 --- a/crypto/kdf/sskdf.c +++ b/crypto/kdf/sskdf.c @@ -202,9 +202,8 @@ static int SSKDF_mac_kdm(const EVP_MAC *kdf_mac, const EVP_MD *hmac_md, || derived_key_len == 0) return 0; - ctx = EVP_MAC_CTX_new(kdf_mac); ctx_init = EVP_MAC_CTX_new(kdf_mac); - if (ctx == NULL || ctx_init == NULL) + if (ctx_init == NULL) goto end; if (hmac_md != NULL && EVP_MAC_ctrl(ctx_init, EVP_MAC_CTRL_SET_MD, hmac_md) <= 0) @@ -233,7 +232,8 @@ static int SSKDF_mac_kdm(const EVP_MAC *kdf_mac, const EVP_MD *hmac_md, c[2] = (unsigned char)((counter >> 8) & 0xff); c[3] = (unsigned char)(counter & 0xff); - if (!(EVP_MAC_CTX_copy(ctx, ctx_init) + ctx = EVP_MAC_CTX_dup(ctx_init); + if (!(ctx != NULL && EVP_MAC_update(ctx, c, sizeof(c)) && EVP_MAC_update(ctx, z, z_len) && EVP_MAC_update(ctx, info, info_len))) @@ -251,6 +251,8 @@ static int SSKDF_mac_kdm(const EVP_MAC *kdf_mac, const EVP_MD *hmac_md, memcpy(out, mac, len); break; } + EVP_MAC_CTX_free(ctx); + ctx = NULL; } ret = 1; end: diff --git a/crypto/kdf/tls1_prf.c b/crypto/kdf/tls1_prf.c index c39cf20..b14ae6f 100644 --- a/crypto/kdf/tls1_prf.c +++ b/crypto/kdf/tls1_prf.c @@ -237,10 +237,8 @@ static int tls1_prf_P_hash(const EVP_MD *md, size_t Ai_len; int ret = 0; - ctx = EVP_MAC_CTX_new_id(EVP_MAC_HMAC); - ctx_Ai = EVP_MAC_CTX_new_id(EVP_MAC_HMAC); ctx_init = EVP_MAC_CTX_new_id(EVP_MAC_HMAC); - if (ctx == NULL || ctx_Ai == NULL || ctx_init == NULL) + if (ctx_init == NULL) goto err; if (EVP_MAC_ctrl(ctx_init, EVP_MAC_CTRL_SET_FLAGS, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW) != 1) goto err; @@ -254,7 +252,8 @@ static int tls1_prf_P_hash(const EVP_MD *md, if (chunk == 0) goto err; /* A(0) = seed */ - if (!EVP_MAC_CTX_copy(ctx_Ai, ctx_init)) + ctx_Ai = EVP_MAC_CTX_dup(ctx_init); + if (ctx_Ai == NULL) goto err; if (seed != NULL && !EVP_MAC_update(ctx_Ai, seed, seed_len)) goto err; @@ -263,15 +262,21 @@ static int tls1_prf_P_hash(const EVP_MD *md, /* calc: A(i) = HMAC_(secret, A(i-1)) */ if (!EVP_MAC_final(ctx_Ai, Ai, &Ai_len)) goto err; + EVP_MAC_CTX_free(ctx_Ai); + ctx_Ai = NULL; /* calc next chunk: HMAC_(secret, A(i) + seed) */ - if (!EVP_MAC_CTX_copy(ctx, ctx_init)) + ctx = EVP_MAC_CTX_dup(ctx_init); + if (ctx == NULL) goto err; if (!EVP_MAC_update(ctx, Ai, Ai_len)) goto err; /* save state for calculating next A(i) value */ - if (olen > chunk && !EVP_MAC_CTX_copy(ctx_Ai, ctx)) - goto err; + if (olen > chunk) { + ctx_Ai = EVP_MAC_CTX_dup(ctx); + if (ctx_Ai == NULL) + goto err; + } if (seed != NULL && !EVP_MAC_update(ctx, seed, seed_len)) goto err; if (olen <= chunk) { @@ -283,6 +288,8 @@ static int tls1_prf_P_hash(const EVP_MD *md, } if (!EVP_MAC_final(ctx, out, NULL)) goto err; + EVP_MAC_CTX_free(ctx); + ctx = NULL; out += chunk; olen -= chunk; } diff --git a/crypto/kmac/kmac.c b/crypto/kmac/kmac.c index 76e75c1..69c334c 100644 --- a/crypto/kmac/kmac.c +++ b/crypto/kmac/kmac.c @@ -147,8 +147,19 @@ 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) +static EVP_MAC_IMPL *kmac_dup(const EVP_MAC_IMPL *gsrc) { + EVP_MAC_IMPL *gdst; + + gdst = kmac_new(gsrc->md); + if (gdst == NULL) + return NULL; + + if (!EVP_MD_CTX_copy(gdst->ctx, gsrc->ctx)) { + kmac_free(gdst); + return NULL; + } + gdst->md = gsrc->md; gdst->out_len = gsrc->out_len; gdst->key_len = gsrc->key_len; @@ -157,7 +168,7 @@ static int kmac_copy(EVP_MAC_IMPL *gdst, EVP_MAC_IMPL *gsrc) 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); + return gdst; } /* @@ -444,7 +455,7 @@ static int kmac_bytepad_encode_key(unsigned char *out, int *out_len, const EVP_MAC kmac128_meth = { EVP_MAC_KMAC128, kmac128_new, - kmac_copy, + kmac_dup, kmac_free, kmac_size, kmac_init, @@ -457,7 +468,7 @@ const EVP_MAC kmac128_meth = { const EVP_MAC kmac256_meth = { EVP_MAC_KMAC256, kmac256_new, - kmac_copy, + kmac_dup, kmac_free, kmac_size, kmac_init, diff --git a/crypto/modes/modes_lcl.h b/crypto/modes/modes_lcl.h index aed79ff..d4ce462 100644 --- a/crypto/modes/modes_lcl.h +++ b/crypto/modes/modes_lcl.h @@ -213,7 +213,6 @@ struct siv128_context { SIV_BLOCK tag; EVP_CIPHER_CTX *cipher_ctx; EVP_MAC_CTX *mac_ctx_init; - EVP_MAC_CTX *mac_ctx; int final_ret; int crypto_ok; }; diff --git a/crypto/modes/siv128.c b/crypto/modes/siv128.c index f812d0a..9bb5eea 100644 --- a/crypto/modes/siv128.c +++ b/crypto/modes/siv128.c @@ -92,30 +92,38 @@ __owur static ossl_inline int siv128_do_s2v_p(SIV128_CONTEXT *ctx, SIV_BLOCK *ou { SIV_BLOCK t; size_t out_len = sizeof(out->byte); + EVP_MAC_CTX *mac_ctx; + int ret = 0; - if (!EVP_MAC_CTX_copy(ctx->mac_ctx, ctx->mac_ctx_init)) + mac_ctx = EVP_MAC_CTX_dup(ctx->mac_ctx_init); + if (mac_ctx == NULL) return 0; if (len >= SIV_LEN) { - if (!EVP_MAC_update(ctx->mac_ctx, in, len - SIV_LEN)) - return 0; + if (!EVP_MAC_update(mac_ctx, in, len - SIV_LEN)) + goto err; memcpy(&t, in + (len-SIV_LEN), SIV_LEN); siv128_xorblock(&t, &ctx->d); - if (!EVP_MAC_update(ctx->mac_ctx, t.byte, SIV_LEN)) - return 0; + if (!EVP_MAC_update(mac_ctx, t.byte, SIV_LEN)) + goto err; } else { memset(&t, 0, sizeof(t)); memcpy(&t, in, len); t.byte[len] = 0x80; siv128_dbl(&ctx->d); siv128_xorblock(&t, &ctx->d); - if (!EVP_MAC_update(ctx->mac_ctx, t.byte, SIV_LEN)) - return 0; + if (!EVP_MAC_update(mac_ctx, t.byte, SIV_LEN)) + goto err; } - if (!EVP_MAC_final(ctx->mac_ctx, out->byte, &out_len) + if (!EVP_MAC_final(mac_ctx, out->byte, &out_len) || out_len != SIV_LEN) - return 0; - return 1; + goto err; + + ret = 1; + +err: + EVP_MAC_CTX_free(mac_ctx); + return ret; } @@ -156,27 +164,27 @@ int CRYPTO_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key, int klen, { static const unsigned char zero[SIV_LEN] = { 0 }; size_t out_len = SIV_LEN; + EVP_MAC_CTX *mac_ctx = NULL; memset(&ctx->d, 0, sizeof(ctx->d)); ctx->cipher_ctx = NULL; - ctx->mac_ctx = NULL; ctx->mac_ctx_init = NULL; if (key == NULL || cbc == NULL || ctr == NULL || (ctx->cipher_ctx = EVP_CIPHER_CTX_new()) == NULL || (ctx->mac_ctx_init = EVP_MAC_CTX_new_id(EVP_MAC_CMAC)) == NULL - || (ctx->mac_ctx = EVP_MAC_CTX_new_id(EVP_MAC_CMAC)) == NULL || EVP_MAC_ctrl(ctx->mac_ctx_init, EVP_MAC_CTRL_SET_CIPHER, cbc) <= 0 || EVP_MAC_ctrl(ctx->mac_ctx_init, EVP_MAC_CTRL_SET_KEY, key, klen) <= 0 || !EVP_EncryptInit_ex(ctx->cipher_ctx, ctr, NULL, key + klen, NULL) - || !EVP_MAC_CTX_copy(ctx->mac_ctx, ctx->mac_ctx_init) - || !EVP_MAC_update(ctx->mac_ctx, zero, sizeof(zero)) - || !EVP_MAC_final(ctx->mac_ctx, ctx->d.byte, &out_len)) { + || (mac_ctx = EVP_MAC_CTX_dup(ctx->mac_ctx_init)) == NULL + || !EVP_MAC_update(mac_ctx, zero, sizeof(zero)) + || !EVP_MAC_final(mac_ctx, ctx->d.byte, &out_len)) { EVP_CIPHER_CTX_free(ctx->cipher_ctx); EVP_MAC_CTX_free(ctx->mac_ctx_init); - EVP_MAC_CTX_free(ctx->mac_ctx); + EVP_MAC_CTX_free(mac_ctx); return 0; } + EVP_MAC_CTX_free(mac_ctx); ctx->final_ret = -1; ctx->crypto_ok = 1; @@ -192,9 +200,10 @@ int CRYPTO_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src) memcpy(&dest->d, &src->d, sizeof(src->d)); if (!EVP_CIPHER_CTX_copy(dest->cipher_ctx, src->cipher_ctx)) return 0; - if (!EVP_MAC_CTX_copy(dest->mac_ctx_init, src->mac_ctx_init)) + EVP_MAC_CTX_free(dest->mac_ctx_init); + dest->mac_ctx_init = EVP_MAC_CTX_dup(src->mac_ctx_init); + if (dest->mac_ctx_init == NULL) return 0; - /* no need to copy mac_ctx since it's temp storage */ return 1; } @@ -208,19 +217,23 @@ int CRYPTO_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad, { SIV_BLOCK mac_out; size_t out_len = SIV_LEN; + EVP_MAC_CTX *mac_ctx; siv128_dbl(&ctx->d); - if (!EVP_MAC_CTX_copy(ctx->mac_ctx, ctx->mac_ctx_init) - || !EVP_MAC_update(ctx->mac_ctx, aad, len) - || !EVP_MAC_final(ctx->mac_ctx, mac_out.byte, &out_len) - || out_len != SIV_LEN) + mac_ctx = EVP_MAC_CTX_dup(ctx->mac_ctx_init); + if (mac_ctx == NULL + || !EVP_MAC_update(mac_ctx, aad, len) + || !EVP_MAC_final(mac_ctx, mac_out.byte, &out_len) + || out_len != SIV_LEN) { + EVP_MAC_CTX_free(mac_ctx); return 0; + } + EVP_MAC_CTX_free(mac_ctx); siv128_xorblock(&ctx->d, &mac_out); return 1; - } /* @@ -330,8 +343,6 @@ int CRYPTO_siv128_cleanup(SIV128_CONTEXT *ctx) ctx->cipher_ctx = NULL; EVP_MAC_CTX_free(ctx->mac_ctx_init); ctx->mac_ctx_init = NULL; - EVP_MAC_CTX_free(ctx->mac_ctx); - ctx->mac_ctx = NULL; OPENSSL_cleanse(&ctx->d, sizeof(ctx->d)); OPENSSL_cleanse(&ctx->tag, sizeof(ctx->tag)); ctx->final_ret = -1; diff --git a/crypto/poly1305/poly1305_meth.c b/crypto/poly1305/poly1305_meth.c index 9248d46..f1ade58 100644 --- a/crypto/poly1305/poly1305_meth.c +++ b/crypto/poly1305/poly1305_meth.c @@ -37,11 +37,17 @@ static void poly1305_free(EVP_MAC_IMPL *ctx) } } -static int poly1305_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src) +static EVP_MAC_IMPL *poly1305_dup(const EVP_MAC_IMPL *src) { + EVP_MAC_IMPL *dst; + + dst = poly1305_new(); + if (dst == NULL) + return NULL; + *dst->ctx = *src->ctx; - return 1; + return dst; } static size_t poly1305_size(EVP_MAC_IMPL *ctx) @@ -130,7 +136,7 @@ static int poly1305_ctrl_str(EVP_MAC_IMPL *ctx, const EVP_MAC poly1305_meth = { EVP_MAC_POLY1305, poly1305_new, - poly1305_copy, + poly1305_dup, poly1305_free, poly1305_size, poly1305_init, diff --git a/crypto/siphash/siphash_meth.c b/crypto/siphash/siphash_meth.c index 37cb286..5fcff2d 100644 --- a/crypto/siphash/siphash_meth.c +++ b/crypto/siphash/siphash_meth.c @@ -31,10 +31,17 @@ static void siphash_free(EVP_MAC_IMPL *sctx) OPENSSL_free(sctx); } -static int siphash_copy(EVP_MAC_IMPL *sdst, EVP_MAC_IMPL *ssrc) +static EVP_MAC_IMPL *siphash_dup(const EVP_MAC_IMPL *ssrc) { + EVP_MAC_IMPL *sdst; + + sdst = siphash_new(); + if (sdst == NULL) + return NULL; + *sdst = *ssrc; - return 1; + + return sdst; } static size_t siphash_size(EVP_MAC_IMPL *sctx) @@ -128,7 +135,7 @@ static int siphash_ctrl_str(EVP_MAC_IMPL *ctx, const EVP_MAC siphash_meth = { EVP_MAC_SIPHASH, siphash_new, - siphash_copy, + siphash_dup, siphash_free, siphash_size, siphash_init, diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod index a55d8db..01ad6ed 100644 --- a/doc/man3/EVP_MAC.pod +++ b/doc/man3/EVP_MAC.pod @@ -3,7 +3,7 @@ =head1 NAME EVP_MAC, EVP_MAC_CTX, EVP_MAC_CTX_new, EVP_MAC_CTX_new_id, EVP_MAC_CTX_free, -EVP_MAC_CTX_copy, EVP_MAC_CTX_mac, EVP_MAC_size, EVP_MAC_init, EVP_MAC_update, +EVP_MAC_CTX_dup, EVP_MAC_CTX_mac, EVP_MAC_size, EVP_MAC_init, EVP_MAC_update, EVP_MAC_final, EVP_MAC_ctrl, EVP_MAC_vctrl, EVP_MAC_ctrl_str, EVP_MAC_str2ctrl, EVP_MAC_hex2ctrl, EVP_MAC_nid, EVP_MAC_name, EVP_get_macbyname, EVP_get_macbynid, EVP_get_macbyobj - EVP MAC routines @@ -18,7 +18,7 @@ EVP_get_macbyname, EVP_get_macbynid, EVP_get_macbyobj - EVP MAC routines EVP_MAC_CTX *EVP_MAC_CTX_new(const EVP_MAC *mac); EVP_MAC_CTX *EVP_MAC_CTX_new_id(int nid); void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx); - int EVP_MAC_CTX_copy(EVP_MAC_CTX *dest, EVP_MAC_CTX *src); + EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src); const EVP_MAC *EVP_MAC_CTX_mac(EVP_MAC_CTX *ctx); size_t EVP_MAC_size(EVP_MAC_CTX *ctx); int EVP_MAC_init(EVP_MAC_CTX *ctx); @@ -72,10 +72,8 @@ EVP_MAC_CTX_free() frees the contents of the context, including an underlying context if there is one, as well as the context itself. B is a valid parameter, for which this function is a no-op. -EVP_MAC_CTX_copy() makes a deep copy of the C context to the -C context. -The C context I have been created before calling this -function. +EVP_MAC_CTX_dup() duplicates the C context and returns a newly allocated +context. EVP_MAC_CTX_mac() returns the B associated with the context C. @@ -231,13 +229,12 @@ implemented as a macro. =head1 RETURN VALUES -EVP_MAC_CTX_new() and EVP_MAC_CTX_new_id() return a pointer to a newly -created EVP_MAC_CTX, or NULL if allocation failed. +EVP_MAC_CTX_new(), EVP_MAC_CTX_new_id() and EVP_MAC_CTX_dup() return a pointer +to a newly created EVP_MAC_CTX, or NULL if allocation failed. EVP_MAC_CTX_free() returns nothing at all. -EVP_MAC_CTX_copy(), EVP_MAC_init(), EVP_MAC_update(), -and EVP_MAC_final() return 1 on success, 0 on error. +EVP_MAC_init(), EVP_MAC_update(), and EVP_MAC_final() return 1 on success, 0 on error. EVP_MAC_ctrl(), EVP_MAC_ctrl_str(), EVP_MAC_str2ctrl() and EVP_MAC_hex2ctrl() return 1 on success and 0 or a negative value on @@ -359,6 +356,10 @@ L, L, L +=head1 HISTORY + +These functions were added in OpenSSL 3.0.0. + =head1 COPYRIGHT Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. diff --git a/include/openssl/evp.h b/include/openssl/evp.h index a2af3fc..afdd17c 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1014,7 +1014,7 @@ void EVP_MD_do_all_sorted(void (*fn) EVP_MAC_CTX *EVP_MAC_CTX_new(const EVP_MAC *mac); EVP_MAC_CTX *EVP_MAC_CTX_new_id(int nid); void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx); -int EVP_MAC_CTX_copy(EVP_MAC_CTX *dest, const EVP_MAC_CTX *src); +EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src); const EVP_MAC *EVP_MAC_CTX_mac(EVP_MAC_CTX *ctx); size_t EVP_MAC_size(EVP_MAC_CTX *ctx); int EVP_MAC_init(EVP_MAC_CTX *ctx); diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index 3aa9792..9810a1e 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -74,7 +74,7 @@ int ERR_load_EVP_strings(void); # define EVP_F_EVP_KDF_CTX_NEW_ID 226 # define EVP_F_EVP_MAC_CTRL 209 # define EVP_F_EVP_MAC_CTRL_STR 210 -# define EVP_F_EVP_MAC_CTX_COPY 211 +# define EVP_F_EVP_MAC_CTX_DUP 211 # define EVP_F_EVP_MAC_CTX_NEW 213 # define EVP_F_EVP_MAC_INIT 212 # define EVP_F_EVP_MD_BLOCK_SIZE 232 @@ -145,6 +145,7 @@ int ERR_load_EVP_strings(void); # define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 # define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 # define EVP_F_PKEY_KDF_CTRL 227 +# define EVP_F_PKEY_MAC_COPY 241 # define EVP_F_PKEY_MAC_INIT 214 # define EVP_F_PKEY_SET_TYPE 158 # define EVP_F_POLY1305_CTRL 216 diff --git a/util/libcrypto.num b/util/libcrypto.num index da0af1c..28b6bb9 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4578,7 +4578,7 @@ EVP_PKEY_meth_get_digest_custom 4533 3_0_0 EXIST::FUNCTION: EVP_MAC_CTX_new 4534 3_0_0 EXIST::FUNCTION: EVP_MAC_CTX_new_id 4535 3_0_0 EXIST::FUNCTION: EVP_MAC_CTX_free 4536 3_0_0 EXIST::FUNCTION: -EVP_MAC_CTX_copy 4537 3_0_0 EXIST::FUNCTION: +EVP_MAC_CTX_dup 4537 3_0_0 EXIST::FUNCTION: EVP_MAC_CTX_mac 4538 3_0_0 EXIST::FUNCTION: EVP_MAC_size 4539 3_0_0 EXIST::FUNCTION: EVP_MAC_init 4540 3_0_0 EXIST::FUNCTION: From builds at travis-ci.org Thu Jun 6 16:05:14 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 06 Jun 2019 16:05:14 +0000 Subject: Still Failing: openssl/openssl#25587 (master - 7ed66e2) In-Reply-To: Message-ID: <5cf939b9b8c1d_43fddebc4639c99070@dfddd7b5-2427-4817-9f8f-669fb6c1aa58.mail> Build Update for openssl/openssl ------------------------------------- Build: #25587 Status: Still Failing Duration: 22 mins and 24 secs Commit: 7ed66e2 (master) Author: Kurt Roeckx Message: Change EVP_MAC method from copy to dup Reviewed-by: Tomas Mraz GH: #7651 View the changeset: https://github.com/openssl/openssl/compare/e6071f29c24c...7ed66e2634e6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542336772?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 Fri Jun 7 00:58:42 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 07 Jun 2019 00:58:42 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-deprecated Message-ID: <1559869122.164084.32167.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-deprecated Commit log since last time: 7ed66e2634 Change EVP_MAC method from copy to dup be5fc053ed Replace EVP_MAC_CTX_copy() by EVP_MAC_CTX_dup() e6071f29c2 Fix typo in macro argument of SSL_set1_client_sigalgs_list() 355b419698 Address property documentation concerns. 56e840fe2d rename the digest provider files to avoid any name clashes with other folders ad14e8e508 Coverity fixes Build log ended with (last 100 lines): ../../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_bio_memleak.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 ..................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_gost.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1642, 254 wallclock secs ( 2.81 usr 0.37 sys + 243.56 cusr 19.25 csys = 265.99 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-deprecated' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Fri Jun 7 06:08:29 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 07 Jun 2019 06:08:29 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1559887709.756317.10511.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 7ed66e2634 Change EVP_MAC method from copy to dup be5fc053ed Replace EVP_MAC_CTX_copy() by EVP_MAC_CTX_dup() e6071f29c2 Fix typo in macro argument of SSL_set1_client_sigalgs_list() 355b419698 Address property documentation concerns. 56e840fe2d rename the digest provider files to avoid any name clashes with other folders ad14e8e508 Coverity fixes Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From levitte at openssl.org Fri Jun 7 06:46:40 2019 From: levitte at openssl.org (Richard Levitte) Date: Fri, 07 Jun 2019 06:46:40 +0000 Subject: [openssl] master update Message-ID: <1559890000.377725.20643.nullmailer@dev.openssl.org> The branch master has been updated via 87762939b508c7968d3c54d44c1319416c27603e (commit) from 7ed66e2634e6cfbb16a1ef975572e79a479217a8 (commit) - Log ----------------------------------------------------------------- commit 87762939b508c7968d3c54d44c1319416c27603e Author: David Makepeace Date: Fri Jun 7 10:45:51 2019 +1000 Fixed typo in code comment. [skip ci] Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9102) ----------------------------------------------------------------------- Summary of changes: test/evp_extra_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 724a144..6fca3a3 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -301,7 +301,7 @@ static const unsigned char kExampleECPubKeyDER[] = { }; /* - * kExampleBadECKeyDER is a sample EC public key with a wrong OID + * kExampleBadECPubKeyDER is a sample EC public key with a wrong OID * 1.2.840.10045.2.2 instead of 1.2.840.10045.2.1 - EC Public Key */ static const unsigned char kExampleBadECPubKeyDER[] = { From levitte at openssl.org Fri Jun 7 06:47:10 2019 From: levitte at openssl.org (Richard Levitte) Date: Fri, 07 Jun 2019 06:47:10 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559890030.659430.21555.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 38a277e01e6597c31b89e07fac52f8adff5c683f (commit) from 7818cd368c532e46d3c41ac79dcab0bc02ea0b7a (commit) - Log ----------------------------------------------------------------- commit 38a277e01e6597c31b89e07fac52f8adff5c683f Author: David Makepeace Date: Fri Jun 7 10:45:51 2019 +1000 Fixed typo in code comment. [skip ci] Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9102) (cherry picked from commit 87762939b508c7968d3c54d44c1319416c27603e) ----------------------------------------------------------------------- Summary of changes: test/evp_extra_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 8277f95..3ae6408 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -300,7 +300,7 @@ static const unsigned char kExampleECPubKeyDER[] = { }; /* - * kExampleBadECKeyDER is a sample EC public key with a wrong OID + * kExampleBadECPubKeyDER is a sample EC public key with a wrong OID * 1.2.840.10045.2.2 instead of 1.2.840.10045.2.1 - EC Public Key */ static const unsigned char kExampleBadECPubKeyDER[] = { From matthias.st.pierre at ncp-e.com Fri Jun 7 07:09:30 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Fri, 07 Jun 2019 07:09:30 +0000 Subject: [openssl] master update Message-ID: <1559891370.883108.25144.nullmailer@dev.openssl.org> The branch master has been updated via bab6046146c4fc8f088c1aaca11598ede7609c04 (commit) from 87762939b508c7968d3c54d44c1319416c27603e (commit) - Log ----------------------------------------------------------------- commit bab6046146c4fc8f088c1aaca11598ede7609c04 Author: Acheev Bhagat Date: Thu Jun 6 20:05:49 2019 -0400 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print Reviewed-by: Richard Levitte Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9101) ----------------------------------------------------------------------- Summary of changes: crypto/x509/v3_alt.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crypto/x509/v3_alt.c b/crypto/x509/v3_alt.c index 9b627e0..3079940 100644 --- a/crypto/x509/v3_alt.c +++ b/crypto/x509/v3_alt.c @@ -157,15 +157,18 @@ int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen) break; case GEN_EMAIL: - BIO_printf(out, "email:%s", gen->d.ia5->data); + BIO_printf(out, "email:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DNS: - BIO_printf(out, "DNS:%s", gen->d.ia5->data); + BIO_printf(out, "DNS:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_URI: - BIO_printf(out, "URI:%s", gen->d.ia5->data); + BIO_printf(out, "URI:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DIRNAME: From matthias.st.pierre at ncp-e.com Fri Jun 7 07:10:01 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Fri, 07 Jun 2019 07:10:01 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1559891401.347004.25974.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7febec94858da85afe59bd70a3e728b724ed1ea0 (commit) from 38a277e01e6597c31b89e07fac52f8adff5c683f (commit) - Log ----------------------------------------------------------------- commit 7febec94858da85afe59bd70a3e728b724ed1ea0 Author: Acheev Bhagat Date: Thu Jun 6 20:05:49 2019 -0400 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print Reviewed-by: Richard Levitte Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9101) (cherry picked from commit bab6046146c4fc8f088c1aaca11598ede7609c04) ----------------------------------------------------------------------- Summary of changes: crypto/x509v3/v3_alt.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crypto/x509v3/v3_alt.c b/crypto/x509v3/v3_alt.c index 832e6d1..c357721 100644 --- a/crypto/x509v3/v3_alt.c +++ b/crypto/x509v3/v3_alt.c @@ -157,15 +157,18 @@ int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen) break; case GEN_EMAIL: - BIO_printf(out, "email:%s", gen->d.ia5->data); + BIO_printf(out, "email:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DNS: - BIO_printf(out, "DNS:%s", gen->d.ia5->data); + BIO_printf(out, "DNS:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_URI: - BIO_printf(out, "URI:%s", gen->d.ia5->data); + BIO_printf(out, "URI:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DIRNAME: From builds at travis-ci.org Fri Jun 7 07:38:57 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 07 Jun 2019 07:38:57 +0000 Subject: Still Failing: openssl/openssl#25598 (master - bab6046) In-Reply-To: Message-ID: <5cfa149164074_43fe48ce2772c20234d@1a9c479d-7161-45fb-b5ed-39833f5c6917.mail> Build Update for openssl/openssl ------------------------------------- Build: #25598 Status: Still Failing Duration: 21 mins and 1 sec Commit: bab6046 (master) Author: Acheev Bhagat Message: Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print Reviewed-by: Richard Levitte Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9101) View the changeset: https://github.com/openssl/openssl/compare/87762939b508...bab6046146c4 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542626474?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 Fri Jun 7 11:28:15 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 11:28:15 +0000 Subject: Build failed: openssl master.25028 Message-ID: <20190607112815.1.33F1577B0A693927@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Fri Jun 7 11:57:51 2019 From: matt at openssl.org (Matt Caswell) Date: Fri, 07 Jun 2019 11:57:51 +0000 Subject: [openssl] master update Message-ID: <1559908671.168449.1671.nullmailer@dev.openssl.org> The branch master has been updated via 37ca204b96b036f949b8bc8389c1f8e806e1cbec (commit) via a2f27fd750b9ae62a571a9212c7154889100bdb0 (commit) via 4e297b7441a070f9dd557445665365b4377e9498 (commit) via da0d114cd962e89b2614f4707902c404acab7ebd (commit) from bab6046146c4fc8f088c1aaca11598ede7609c04 (commit) - Log ----------------------------------------------------------------- commit 37ca204b96b036f949b8bc8389c1f8e806e1cbec Author: Matt Caswell Date: Wed May 29 16:03:57 2019 +0100 Add documentation for new functions taking an OPENSSL_CTX parameter Various functions have been added that take an OPENSSL_CTX parameter as a result of moving the RAND code into the FIPS module. We document all of those functions. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9039) commit a2f27fd750b9ae62a571a9212c7154889100bdb0 Author: Matt Caswell Date: Fri May 24 16:36:44 2019 +0100 Move the rand_nonce_lock code into drbg_lib.c It was previously rand_lib but it makes more sense in drbg_lib.c since all the functions that use this lock are only ever called from drbg_lib.c We add some FIPS_MODE defines in preparation for later moving this code into the FIPS module. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9039) commit 4e297b7441a070f9dd557445665365b4377e9498 Author: Matt Caswell Date: Thu May 23 16:51:55 2019 +0100 Make the rand_crng code OPENSSL_CTX aware This is in preparation for moving this code inside the FIPS module. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9039) commit da0d114cd962e89b2614f4707902c404acab7ebd Author: Matt Caswell Date: Thu May 23 14:35:31 2019 +0100 Convert drbg_lib to use OPENSSL_CTX for its global data In preparation for moving the RAND code into the FIPS module we make drbg_lib.c OPENSSL_CTX aware. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9039) ----------------------------------------------------------------------- Summary of changes: crypto/include/internal/rand_int.h | 1 - crypto/init.c | 4 +- crypto/rand/drbg_lib.c | 358 ++++++++++++++++++++++++++----------- crypto/rand/rand_crng_test.c | 105 ++++++----- crypto/rand/rand_lcl.h | 18 +- crypto/rand/rand_lib.c | 125 ++++--------- doc/man3/RAND_DRBG_get0_master.pod | 34 +++- doc/man3/RAND_DRBG_new.pod | 25 ++- include/internal/cryptlib.h | 5 +- include/openssl/rand_drbg.h | 7 + test/drbgtest.c | 15 +- util/libcrypto.num | 5 + 12 files changed, 426 insertions(+), 276 deletions(-) diff --git a/crypto/include/internal/rand_int.h b/crypto/include/internal/rand_int.h index b745393..53896ce 100644 --- a/crypto/include/internal/rand_int.h +++ b/crypto/include/internal/rand_int.h @@ -24,7 +24,6 @@ typedef struct rand_pool_st RAND_POOL; void rand_cleanup_int(void); -void rand_drbg_cleanup_int(void); void drbg_delete_thread_state(void); void rand_fork(void); diff --git a/crypto/init.c b/crypto/init.c index 58fff70..e73c9ba 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -560,9 +560,6 @@ void OPENSSL_cleanup(void) OSSL_TRACE(INIT, "OPENSSL_cleanup: rand_cleanup_int()\n"); rand_cleanup_int(); - OSSL_TRACE(INIT, "OPENSSL_cleanup: rand_drbg_cleanup_int()\n"); - rand_drbg_cleanup_int(); - OSSL_TRACE(INIT, "OPENSSL_cleanup: conf_modules_free_int()\n"); conf_modules_free_int(); @@ -855,5 +852,6 @@ void OPENSSL_fork_parent(void) void OPENSSL_fork_child(void) { rand_fork(); + /* TODO(3.0): Inform all providers about a fork event */ } #endif diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index fbe75e6..26e2ccb 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -29,49 +29,54 @@ * a much bigger deal than just re-setting an allocated resource.) */ -/* - * The three shared DRBG instances - * - * There are three shared DRBG instances: , , and . - */ -/* - * The DRBG - * - * Not used directly by the application, only for reseeding the two other - * DRBGs. It reseeds itself by pulling either randomness from os entropy - * sources or by consuming randomness which was added by RAND_add(). - * - * The DRBG is a global instance which is accessed concurrently by - * all threads. The necessary locking is managed automatically by its child - * DRBG instances during reseeding. - */ -static RAND_DRBG *master_drbg; -/* - * The DRBG - * - * Used by default for generating random bytes using RAND_bytes(). - * - * The DRBG is thread-local, i.e., there is one instance per thread. - */ -static CRYPTO_THREAD_LOCAL public_drbg; -/* - * The DRBG - * - * Used by default for generating private keys using RAND_priv_bytes() - * - * The DRBG is thread-local, i.e., there is one instance per thread. - */ -static CRYPTO_THREAD_LOCAL private_drbg; +typedef struct drbg_global_st { + /* + * The three shared DRBG instances + * + * There are three shared DRBG instances: , , and . + */ + /* + * The DRBG + * + * Not used directly by the application, only for reseeding the two other + * DRBGs. It reseeds itself by pulling either randomness from os entropy + * sources or by consuming randomness which was added by RAND_add(). + * + * The DRBG is a global instance which is accessed concurrently by + * all threads. The necessary locking is managed automatically by its child + * DRBG instances during reseeding. + */ + RAND_DRBG *master_drbg; + /* + * The DRBG + * + * Used by default for generating random bytes using RAND_bytes(). + * + * The DRBG is thread-local, i.e., there is one instance per + * thread. + */ + CRYPTO_THREAD_LOCAL public_drbg; + /* + * The DRBG + * + * Used by default for generating private keys using RAND_priv_bytes() + * + * The DRBG is thread-local, i.e., there is one instance per + * thread. + */ + CRYPTO_THREAD_LOCAL private_drbg; +} DRBG_GLOBAL; +typedef struct drbg_nonce_global_st { + CRYPTO_RWLOCK *rand_nonce_lock; + int rand_nonce_count; +} DRBG_NONCE_GLOBAL; /* NIST SP 800-90A DRBG recommends the use of a personalization string. */ static const char ossl_pers_string[] = DRBG_DEFAULT_PERS_STRING; -static CRYPTO_ONCE rand_drbg_init = CRYPTO_ONCE_STATIC_INIT; - - #define RAND_DRBG_TYPE_FLAGS ( \ RAND_DRBG_FLAG_MASTER | RAND_DRBG_FLAG_PUBLIC | RAND_DRBG_FLAG_PRIVATE ) @@ -102,9 +107,10 @@ static const unsigned int rand_drbg_used_flags = RAND_DRBG_FLAG_CTR_NO_DF | RAND_DRBG_FLAG_HMAC | RAND_DRBG_TYPE_FLAGS; -static RAND_DRBG *drbg_setup(RAND_DRBG *parent, int drbg_type); +static RAND_DRBG *drbg_setup(OPENSSL_CTX *ctx, RAND_DRBG *parent, int drbg_type); -static RAND_DRBG *rand_drbg_new(int secure, +static RAND_DRBG *rand_drbg_new(OPENSSL_CTX *ctx, + int secure, int type, unsigned int flags, RAND_DRBG *parent); @@ -142,6 +148,149 @@ static int is_digest(int type) } /* + * Initialize the OPENSSL_CTX global DRBGs on first use. + * Returns the allocated global data on success or NULL on failure. + */ +static void *drbg_ossl_ctx_new(OPENSSL_CTX *libctx) +{ + DRBG_GLOBAL *dgbl = OPENSSL_zalloc(sizeof(*dgbl)); + + if (dgbl == NULL) + return NULL; + + if (!CRYPTO_THREAD_init_local(&dgbl->private_drbg, NULL)) + goto err1; + + if (!CRYPTO_THREAD_init_local(&dgbl->public_drbg, NULL)) + goto err2; + + dgbl->master_drbg = drbg_setup(libctx, NULL, RAND_DRBG_TYPE_MASTER); + if (dgbl->master_drbg == NULL) + goto err3; + + return dgbl; + + err3: + CRYPTO_THREAD_cleanup_local(&dgbl->public_drbg); + err2: + CRYPTO_THREAD_cleanup_local(&dgbl->private_drbg); + err1: + OPENSSL_free(dgbl); + return NULL; +} + +static void drbg_ossl_ctx_free(void *vdgbl) +{ + DRBG_GLOBAL *dgbl = vdgbl; + + RAND_DRBG_free(dgbl->master_drbg); + CRYPTO_THREAD_cleanup_local(&dgbl->private_drbg); + CRYPTO_THREAD_cleanup_local(&dgbl->public_drbg); + + OPENSSL_free(dgbl); +} + +static const OPENSSL_CTX_METHOD drbg_ossl_ctx_method = { + drbg_ossl_ctx_new, + drbg_ossl_ctx_free, +}; + +/* + * drbg_ossl_ctx_new() calls drgb_setup() which calls rand_drbg_get_nonce() + * which needs to get the rand_nonce_lock out of the OPENSSL_CTX...but since + * drbg_ossl_ctx_new() hasn't finished running yet we need the rand_nonce_lock + * to be in a different global data object. Otherwise we will go into an + * infinite recursion loop. + */ +static void *drbg_nonce_ossl_ctx_new(OPENSSL_CTX *libctx) +{ + DRBG_NONCE_GLOBAL *dngbl = OPENSSL_zalloc(sizeof(*dngbl)); + + if (dngbl == NULL) + return NULL; + + dngbl->rand_nonce_lock = CRYPTO_THREAD_lock_new(); + if (dngbl->rand_nonce_lock == NULL) { + OPENSSL_free(dngbl); + return NULL; + } + + return dngbl; +} + +static void drbg_nonce_ossl_ctx_free(void *vdngbl) +{ + DRBG_NONCE_GLOBAL *dngbl = vdngbl; + + CRYPTO_THREAD_lock_free(dngbl->rand_nonce_lock); + + OPENSSL_free(dngbl); +} + +static const OPENSSL_CTX_METHOD drbg_nonce_ossl_ctx_method = { + drbg_nonce_ossl_ctx_new, + drbg_nonce_ossl_ctx_free, +}; + +static DRBG_GLOBAL *drbg_get_global(OPENSSL_CTX *libctx) +{ + return openssl_ctx_get_data(libctx, OPENSSL_CTX_DRBG_INDEX, + &drbg_ossl_ctx_method); +} + +/* Implements the get_nonce() callback (see RAND_DRBG_set_callbacks()) */ +size_t rand_drbg_get_nonce(RAND_DRBG *drbg, + unsigned char **pout, + int entropy, size_t min_len, size_t max_len) +{ + size_t ret = 0; + RAND_POOL *pool; + DRBG_NONCE_GLOBAL *dngbl + = openssl_ctx_get_data(drbg->libctx, OPENSSL_CTX_DRBG_NONCE_INDEX, + &drbg_nonce_ossl_ctx_method); + struct { + void *instance; + int count; + } data; + + if (dngbl == NULL) + return 0; + + memset(&data, 0, sizeof(data)); + pool = rand_pool_new(0, min_len, max_len); + if (pool == NULL) + return 0; + + if (rand_pool_add_nonce_data(pool) == 0) + goto err; + + data.instance = drbg; + CRYPTO_atomic_add(&dngbl->rand_nonce_count, 1, &data.count, + dngbl->rand_nonce_lock); + + if (rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0) == 0) + goto err; + + ret = rand_pool_length(pool); + *pout = rand_pool_detach(pool); + + err: + rand_pool_free(pool); + + return ret; +} + +/* + * Implements the cleanup_nonce() callback (see RAND_DRBG_set_callbacks()) + * + */ +void rand_drbg_cleanup_nonce(RAND_DRBG *drbg, + unsigned char *out, size_t outlen) +{ + OPENSSL_secure_clear_free(out, outlen); +} + +/* * Set/initialize |drbg| to be of type |type|, with optional |flags|. * * If |type| and |flags| are zero, use the defaults @@ -236,7 +385,8 @@ int RAND_DRBG_set_defaults(int type, unsigned int flags) * * Returns a pointer to the new DRBG instance on success, NULL on failure. */ -static RAND_DRBG *rand_drbg_new(int secure, +static RAND_DRBG *rand_drbg_new(OPENSSL_CTX *ctx, + int secure, int type, unsigned int flags, RAND_DRBG *parent) @@ -249,6 +399,7 @@ static RAND_DRBG *rand_drbg_new(int secure, return NULL; } + drbg->libctx = ctx; drbg->secure = secure && CRYPTO_secure_allocated(drbg); drbg->fork_count = rand_fork_count; drbg->parent = parent; @@ -305,16 +456,27 @@ static RAND_DRBG *rand_drbg_new(int secure, return NULL; } +RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx, int type, unsigned int flags, + RAND_DRBG *parent) +{ + return rand_drbg_new(ctx, 0, type, flags, parent); +} + RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent) { - return rand_drbg_new(0, type, flags, parent); + return RAND_DRBG_new_ex(NULL, type, flags, parent); } -RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent) +RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx, int type, + unsigned int flags, RAND_DRBG *parent) { - return rand_drbg_new(1, type, flags, parent); + return rand_drbg_new(ctx, 1, type, flags, parent); } +RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent) +{ + return RAND_DRBG_secure_new_ex(NULL, type, flags, parent); +} /* * Uninstantiate |drbg| and free all memory. */ @@ -943,12 +1105,12 @@ void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx) * * Returns a pointer to the new DRBG instance on success, NULL on failure. */ -static RAND_DRBG *drbg_setup(RAND_DRBG *parent, int drbg_type) +static RAND_DRBG *drbg_setup(OPENSSL_CTX *ctx, RAND_DRBG *parent, int drbg_type) { RAND_DRBG *drbg; - drbg = RAND_DRBG_secure_new(rand_drbg_type[drbg_type], - rand_drbg_flags[drbg_type], parent); + drbg = RAND_DRBG_secure_new_ex(ctx, rand_drbg_type[drbg_type], + rand_drbg_flags[drbg_type], parent); if (drbg == NULL) return NULL; @@ -975,60 +1137,21 @@ err: return NULL; } -/* - * Initialize the global DRBGs on first use. - * Returns 1 on success, 0 on failure. - */ -DEFINE_RUN_ONCE_STATIC(do_rand_drbg_init) -{ - /* - * ensure that libcrypto is initialized, otherwise the - * DRBG locks are not cleaned up properly - */ - if (!OPENSSL_init_crypto(0, NULL)) - return 0; - - if (!CRYPTO_THREAD_init_local(&private_drbg, NULL)) - return 0; - - if (!CRYPTO_THREAD_init_local(&public_drbg, NULL)) - goto err1; - - master_drbg = drbg_setup(NULL, RAND_DRBG_TYPE_MASTER); - if (master_drbg == NULL) - goto err2; - - return 1; - -err2: - CRYPTO_THREAD_cleanup_local(&public_drbg); -err1: - CRYPTO_THREAD_cleanup_local(&private_drbg); - return 0; -} - -/* Clean up the global DRBGs before exit */ -void rand_drbg_cleanup_int(void) -{ - if (master_drbg != NULL) { - RAND_DRBG_free(master_drbg); - master_drbg = NULL; - - CRYPTO_THREAD_cleanup_local(&private_drbg); - CRYPTO_THREAD_cleanup_local(&public_drbg); - } -} - void drbg_delete_thread_state(void) { + /* TODO(3.0): Other PRs will pass the ctx as a param to this function */ + OPENSSL_CTX *ctx = NULL; + DRBG_GLOBAL *dgbl = drbg_get_global(ctx); RAND_DRBG *drbg; - drbg = CRYPTO_THREAD_get_local(&public_drbg); - CRYPTO_THREAD_set_local(&public_drbg, NULL); + if (dgbl == NULL) + return; + drbg = CRYPTO_THREAD_get_local(&dgbl->public_drbg); + CRYPTO_THREAD_set_local(&dgbl->public_drbg, NULL); RAND_DRBG_free(drbg); - drbg = CRYPTO_THREAD_get_local(&private_drbg); - CRYPTO_THREAD_set_local(&private_drbg, NULL); + drbg = CRYPTO_THREAD_get_local(&dgbl->private_drbg); + CRYPTO_THREAD_set_local(&dgbl->private_drbg, NULL); RAND_DRBG_free(drbg); } @@ -1180,56 +1303,75 @@ static int drbg_status(void) * Returns pointer to the DRBG on success, NULL on failure. * */ -RAND_DRBG *RAND_DRBG_get0_master(void) +RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx) { - if (!RUN_ONCE(&rand_drbg_init, do_rand_drbg_init)) + DRBG_GLOBAL *dgbl = drbg_get_global(ctx); + + if (dgbl == NULL) return NULL; - return master_drbg; + return dgbl->master_drbg; +} + +RAND_DRBG *RAND_DRBG_get0_master(void) +{ + return OPENSSL_CTX_get0_master_drbg(NULL); } /* * Get the public DRBG. * Returns pointer to the DRBG on success, NULL on failure. */ -RAND_DRBG *RAND_DRBG_get0_public(void) +RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx) { + DRBG_GLOBAL *dgbl = drbg_get_global(ctx); RAND_DRBG *drbg; - if (!RUN_ONCE(&rand_drbg_init, do_rand_drbg_init)) + if (dgbl == NULL) return NULL; - drbg = CRYPTO_THREAD_get_local(&public_drbg); + drbg = CRYPTO_THREAD_get_local(&dgbl->public_drbg); if (drbg == NULL) { if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_RAND)) return NULL; - drbg = drbg_setup(master_drbg, RAND_DRBG_TYPE_PUBLIC); - CRYPTO_THREAD_set_local(&public_drbg, drbg); + drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PUBLIC); + CRYPTO_THREAD_set_local(&dgbl->public_drbg, drbg); } return drbg; } +RAND_DRBG *RAND_DRBG_get0_public(void) +{ + return OPENSSL_CTX_get0_public_drbg(NULL); +} + /* * Get the private DRBG. * Returns pointer to the DRBG on success, NULL on failure. */ -RAND_DRBG *RAND_DRBG_get0_private(void) +RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx) { + DRBG_GLOBAL *dgbl = drbg_get_global(ctx); RAND_DRBG *drbg; - if (!RUN_ONCE(&rand_drbg_init, do_rand_drbg_init)) + if (dgbl == NULL) return NULL; - drbg = CRYPTO_THREAD_get_local(&private_drbg); + drbg = CRYPTO_THREAD_get_local(&dgbl->private_drbg); if (drbg == NULL) { if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_RAND)) return NULL; - drbg = drbg_setup(master_drbg, RAND_DRBG_TYPE_PRIVATE); - CRYPTO_THREAD_set_local(&private_drbg, drbg); + drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PRIVATE); + CRYPTO_THREAD_set_local(&dgbl->private_drbg, drbg); } return drbg; } +RAND_DRBG *RAND_DRBG_get0_private(void) +{ + return OPENSSL_CTX_get0_private_drbg(NULL); +} + RAND_METHOD rand_meth = { drbg_seed, drbg_bytes, @@ -1241,5 +1383,9 @@ RAND_METHOD rand_meth = { RAND_METHOD *RAND_OpenSSL(void) { +#ifndef FIPS_MODE return &rand_meth; +#else + return NULL; +#endif } diff --git a/crypto/rand/rand_crng_test.c b/crypto/rand/rand_crng_test.c index 1b4f167..11d85f3 100644 --- a/crypto/rand/rand_crng_test.c +++ b/crypto/rand/rand_crng_test.c @@ -16,64 +16,78 @@ #include #include "internal/rand_int.h" #include "internal/thread_once.h" +#include "internal/cryptlib.h" #include "rand_lcl.h" -static RAND_POOL *crngt_pool; -static unsigned char crngt_prev[EVP_MAX_MD_SIZE]; +typedef struct crng_test_global_st { + unsigned char crngt_prev[EVP_MAX_MD_SIZE]; + RAND_POOL *crngt_pool; +} CRNG_TEST_GLOBAL; -int (*crngt_get_entropy)(unsigned char *, unsigned char *, unsigned int *) +int (*crngt_get_entropy)(OPENSSL_CTX *, unsigned char *, unsigned char *, + unsigned int *) = &rand_crngt_get_entropy_cb; -int rand_crngt_get_entropy_cb(unsigned char *buf, unsigned char *md, - unsigned int *md_size) +static void rand_crng_ossl_ctx_free(void *vcrngt_glob) { - int r; - size_t n; - unsigned char *p; + CRNG_TEST_GLOBAL *crngt_glob = vcrngt_glob; - n = rand_pool_acquire_entropy(crngt_pool); - if (n >= CRNGT_BUFSIZ) { - p = rand_pool_detach(crngt_pool); - r = EVP_Digest(p, CRNGT_BUFSIZ, md, md_size, EVP_sha256(), NULL); - if (r != 0) - memcpy(buf, p, CRNGT_BUFSIZ); - rand_pool_reattach(crngt_pool, p); - return r; - } - return 0; -} - -void rand_crngt_cleanup(void) -{ - rand_pool_free(crngt_pool); - crngt_pool = NULL; + rand_pool_free(crngt_glob->crngt_pool); + OPENSSL_free(crngt_glob); } -int rand_crngt_init(void) +static void *rand_crng_ossl_ctx_new(OPENSSL_CTX *ctx) { unsigned char buf[CRNGT_BUFSIZ]; + CRNG_TEST_GLOBAL *crngt_glob = OPENSSL_zalloc(sizeof(*crngt_glob)); - if ((crngt_pool = rand_pool_new(0, CRNGT_BUFSIZ, CRNGT_BUFSIZ)) == NULL) - return 0; - if (crngt_get_entropy(buf, crngt_prev, NULL)) { + if (crngt_glob == NULL) + return NULL; + + if ((crngt_glob->crngt_pool + = rand_pool_new(0, CRNGT_BUFSIZ, CRNGT_BUFSIZ)) == NULL) { + OPENSSL_free(crngt_glob); + return NULL; + } + if (crngt_get_entropy(ctx, buf, crngt_glob->crngt_prev, NULL)) { OPENSSL_cleanse(buf, sizeof(buf)); - return 1; + return crngt_glob; } - rand_crngt_cleanup(); - return 0; + rand_pool_free(crngt_glob->crngt_pool); + OPENSSL_free(crngt_glob); + return NULL; } -static CRYPTO_ONCE rand_crngt_init_flag = CRYPTO_ONCE_STATIC_INIT; -DEFINE_RUN_ONCE_STATIC(do_rand_crngt_init) -{ - return OPENSSL_init_crypto(0, NULL) - && rand_crngt_init() - && OPENSSL_atexit(&rand_crngt_cleanup); -} +static const OPENSSL_CTX_METHOD rand_crng_ossl_ctx_method = { + rand_crng_ossl_ctx_new, + rand_crng_ossl_ctx_free, +}; -int rand_crngt_single_init(void) +int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, + unsigned char *buf, + unsigned char *md, + unsigned int *md_size) { - return RUN_ONCE(&rand_crngt_init_flag, do_rand_crngt_init); + int r; + size_t n; + unsigned char *p; + CRNG_TEST_GLOBAL *crngt_glob + = openssl_ctx_get_data(ctx, OPENSSL_CTX_RAND_CRNGT_INDEX, + &rand_crng_ossl_ctx_method); + + if (crngt_glob == NULL) + return 0; + + n = rand_pool_acquire_entropy(crngt_glob->crngt_pool); + if (n >= CRNGT_BUFSIZ) { + p = rand_pool_detach(crngt_glob->crngt_pool); + r = EVP_Digest(p, CRNGT_BUFSIZ, md, md_size, EVP_sha256(), NULL); + if (r != 0) + memcpy(buf, p, CRNGT_BUFSIZ); + rand_pool_reattach(crngt_glob->crngt_pool, p); + return r; + } + return 0; } size_t rand_crngt_get_entropy(RAND_DRBG *drbg, @@ -86,8 +100,11 @@ size_t rand_crngt_get_entropy(RAND_DRBG *drbg, RAND_POOL *pool; size_t q, r = 0, s, t = 0; int attempts = 3; + CRNG_TEST_GLOBAL *crngt_glob + = openssl_ctx_get_data(drbg->libctx, OPENSSL_CTX_RAND_CRNGT_INDEX, + &rand_crng_ossl_ctx_method); - if (!RUN_ONCE(&rand_crngt_init_flag, do_rand_crngt_init)) + if (crngt_glob == NULL) return 0; if ((pool = rand_pool_new(entropy, min_len, max_len)) == NULL) @@ -95,11 +112,11 @@ size_t rand_crngt_get_entropy(RAND_DRBG *drbg, while ((q = rand_pool_bytes_needed(pool, 1)) > 0 && attempts-- > 0) { s = q > sizeof(buf) ? sizeof(buf) : q; - if (!crngt_get_entropy(buf, md, &sz) - || memcmp(crngt_prev, md, sz) == 0 + if (!crngt_get_entropy(drbg->libctx, buf, md, &sz) + || memcmp(crngt_glob->crngt_prev, md, sz) == 0 || !rand_pool_add(pool, buf, s, s * 8)) goto err; - memcpy(crngt_prev, md, sz); + memcpy(crngt_glob->crngt_prev, md, sz); t += s; attempts++; } diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 3ce5f7a..97126bc 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -192,6 +192,8 @@ struct rand_pool_st { */ struct rand_drbg_st { CRYPTO_RWLOCK *lock; + /* The library context this DRBG is associated with, if any */ + OPENSSL_CTX *libctx; RAND_DRBG *parent; int secure; /* 1: allocated on the secure heap, 0: otherwise */ int type; /* the nid of the underlying algorithm */ @@ -334,18 +336,10 @@ int drbg_hmac_init(RAND_DRBG *drbg); * Entropy call back for the FIPS 140-2 section 4.9.2 Conditional Tests. * These need to be exposed for the unit tests. */ -int rand_crngt_get_entropy_cb(unsigned char *buf, unsigned char *md, - unsigned int *md_size); -extern int (*crngt_get_entropy)(unsigned char *buf, unsigned char *md, +int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, unsigned char *buf, + unsigned char *md, unsigned int *md_size); +extern int (*crngt_get_entropy)(OPENSSL_CTX *ctx, unsigned char *buf, + unsigned char *md, unsigned int *md_size); -int rand_crngt_init(void); -void rand_crngt_cleanup(void); - -/* - * Expose the run once initialisation function for the unit tests because. - * they need to restart from scratch to validate the first block is skipped - * properly. - */ -int rand_crngt_single_init(void); #endif diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 2b77960..45742f5 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -17,21 +17,20 @@ #include "rand_lcl.h" #include "e_os.h" -#ifndef OPENSSL_NO_ENGINE +#ifndef FIPS_MODE +# ifndef OPENSSL_NO_ENGINE /* non-NULL if default_RAND_meth is ENGINE-provided */ static ENGINE *funct_ref; static CRYPTO_RWLOCK *rand_engine_lock; -#endif +# endif static CRYPTO_RWLOCK *rand_meth_lock; static const RAND_METHOD *default_RAND_meth; static CRYPTO_ONCE rand_init = CRYPTO_ONCE_STATIC_INIT; -int rand_fork_count; - -static CRYPTO_RWLOCK *rand_nonce_lock; -static int rand_nonce_count; - static int rand_inited = 0; +#endif /* FIPS_MODE */ + +int rand_fork_count; #ifdef OPENSSL_RAND_SEED_RDTSC /* @@ -208,56 +207,6 @@ void rand_drbg_cleanup_entropy(RAND_DRBG *drbg, OPENSSL_secure_clear_free(out, outlen); } - -/* - * Implements the get_nonce() callback (see RAND_DRBG_set_callbacks()) - * - */ -size_t rand_drbg_get_nonce(RAND_DRBG *drbg, - unsigned char **pout, - int entropy, size_t min_len, size_t max_len) -{ - size_t ret = 0; - RAND_POOL *pool; - - struct { - void * instance; - int count; - } data; - - memset(&data, 0, sizeof(data)); - pool = rand_pool_new(0, min_len, max_len); - if (pool == NULL) - return 0; - - if (rand_pool_add_nonce_data(pool) == 0) - goto err; - - data.instance = drbg; - CRYPTO_atomic_add(&rand_nonce_count, 1, &data.count, rand_nonce_lock); - - if (rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0) == 0) - goto err; - - ret = rand_pool_length(pool); - *pout = rand_pool_detach(pool); - - err: - rand_pool_free(pool); - - return ret; -} - -/* - * Implements the cleanup_nonce() callback (see RAND_DRBG_set_callbacks()) - * - */ -void rand_drbg_cleanup_nonce(RAND_DRBG *drbg, - unsigned char *out, size_t outlen) -{ - OPENSSL_secure_clear_free(out, outlen); -} - /* * Generate additional data that can be used for the drbg. The data does * not need to contain entropy, but it's useful if it contains at least @@ -292,39 +241,32 @@ void rand_fork(void) rand_fork_count++; } +#ifndef FIPS_MODE DEFINE_RUN_ONCE_STATIC(do_rand_init) { -#ifndef OPENSSL_NO_ENGINE +# ifndef OPENSSL_NO_ENGINE rand_engine_lock = CRYPTO_THREAD_lock_new(); if (rand_engine_lock == NULL) return 0; -#endif +# endif rand_meth_lock = CRYPTO_THREAD_lock_new(); if (rand_meth_lock == NULL) - goto err1; - - rand_nonce_lock = CRYPTO_THREAD_lock_new(); - if (rand_nonce_lock == NULL) - goto err2; + goto err; if (!rand_pool_init()) - goto err3; + goto err; rand_inited = 1; return 1; -err3: - CRYPTO_THREAD_lock_free(rand_nonce_lock); - rand_nonce_lock = NULL; -err2: + err: CRYPTO_THREAD_lock_free(rand_meth_lock); rand_meth_lock = NULL; -err1: -#ifndef OPENSSL_NO_ENGINE +# ifndef OPENSSL_NO_ENGINE CRYPTO_THREAD_lock_free(rand_engine_lock); rand_engine_lock = NULL; -#endif +# endif return 0; } @@ -339,17 +281,16 @@ void rand_cleanup_int(void) meth->cleanup(); RAND_set_rand_method(NULL); rand_pool_cleanup(); -#ifndef OPENSSL_NO_ENGINE +# ifndef OPENSSL_NO_ENGINE CRYPTO_THREAD_lock_free(rand_engine_lock); rand_engine_lock = NULL; -#endif +# endif CRYPTO_THREAD_lock_free(rand_meth_lock); rand_meth_lock = NULL; - CRYPTO_THREAD_lock_free(rand_nonce_lock); - rand_nonce_lock = NULL; rand_inited = 0; } +/* TODO(3.0): Do we need to handle this somehow in the FIPS module? */ /* * RAND_close_seed_files() ensures that any seed file decriptors are * closed after use. @@ -371,8 +312,6 @@ int RAND_poll(void) { int ret = 0; - RAND_POOL *pool = NULL; - const RAND_METHOD *meth = RAND_get_rand_method(); if (meth == RAND_OpenSSL()) { @@ -389,6 +328,8 @@ int RAND_poll(void) return ret; } else { + RAND_POOL *pool = NULL; + /* fill random pool and seed the current legacy RNG */ pool = rand_pool_new(RAND_DRBG_STRENGTH, (RAND_DRBG_STRENGTH + 7) / 8, @@ -406,12 +347,14 @@ int RAND_poll(void) goto err; ret = 1; + + err: + rand_pool_free(pool); } -err: - rand_pool_free(pool); return ret; } +#endif /* FIPS_MODE */ /* * Allocate memory and initialize a new random pool @@ -708,23 +651,28 @@ int rand_pool_add_end(RAND_POOL *pool, size_t len, size_t entropy) return 1; } +#ifndef FIPS_MODE int RAND_set_rand_method(const RAND_METHOD *meth) { if (!RUN_ONCE(&rand_init, do_rand_init)) return 0; CRYPTO_THREAD_write_lock(rand_meth_lock); -#ifndef OPENSSL_NO_ENGINE +# ifndef OPENSSL_NO_ENGINE ENGINE_finish(funct_ref); funct_ref = NULL; -#endif +# endif default_RAND_meth = meth; CRYPTO_THREAD_unlock(rand_meth_lock); return 1; } +#endif const RAND_METHOD *RAND_get_rand_method(void) { +#ifdef FIPS_MODE + return NULL; +#else const RAND_METHOD *tmp_meth = NULL; if (!RUN_ONCE(&rand_init, do_rand_init)) @@ -732,7 +680,7 @@ const RAND_METHOD *RAND_get_rand_method(void) CRYPTO_THREAD_write_lock(rand_meth_lock); if (default_RAND_meth == NULL) { -#ifndef OPENSSL_NO_ENGINE +# ifndef OPENSSL_NO_ENGINE ENGINE *e; /* If we have an engine that can do RAND, use it. */ @@ -744,16 +692,17 @@ const RAND_METHOD *RAND_get_rand_method(void) ENGINE_finish(e); default_RAND_meth = &rand_meth; } -#else +# else default_RAND_meth = &rand_meth; -#endif +# endif } tmp_meth = default_RAND_meth; CRYPTO_THREAD_unlock(rand_meth_lock); return tmp_meth; +#endif } -#ifndef OPENSSL_NO_ENGINE +#if !defined(OPENSSL_NO_ENGINE) && !defined(FIPS_MODE) int RAND_set_rand_engine(ENGINE *engine) { const RAND_METHOD *tmp_meth = NULL; @@ -802,9 +751,9 @@ void RAND_add(const void *buf, int num, double randomness) */ int RAND_priv_bytes(unsigned char *buf, int num) { - const RAND_METHOD *meth = RAND_get_rand_method(); RAND_DRBG *drbg; int ret; + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth != RAND_OpenSSL()) return RAND_bytes(buf, num); @@ -827,7 +776,7 @@ int RAND_bytes(unsigned char *buf, int num) return -1; } -#if !OPENSSL_API_1_1_0 +#if !OPENSSL_API_1_1_0 && !defined(FIPS_MODE) int RAND_pseudo_bytes(unsigned char *buf, int num) { const RAND_METHOD *meth = RAND_get_rand_method(); diff --git a/doc/man3/RAND_DRBG_get0_master.pod b/doc/man3/RAND_DRBG_get0_master.pod index 62f6fdb..77d0ab7 100644 --- a/doc/man3/RAND_DRBG_get0_master.pod +++ b/doc/man3/RAND_DRBG_get0_master.pod @@ -2,6 +2,9 @@ =head1 NAME +OPENSSL_CTX_get0_master_drbg, +OPENSSL_CTX_get0_public_drbg, +OPENSSL_CTX_get0_private_drbg, RAND_DRBG_get0_master, RAND_DRBG_get0_public, RAND_DRBG_get0_private @@ -11,6 +14,9 @@ RAND_DRBG_get0_private #include + RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx); + RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx); + RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx); RAND_DRBG *RAND_DRBG_get0_master(void); RAND_DRBG *RAND_DRBG_get0_public(void); RAND_DRBG *RAND_DRBG_get0_private(void); @@ -21,26 +27,35 @@ RAND_DRBG_get0_private The default RAND API implementation (RAND_OpenSSL()) utilizes three shared DRBG instances which are accessed via the RAND API: -The and DRBG are thread-local instances, which are used +The I and I DRBG are thread-local instances, which are used by RAND_bytes() and RAND_priv_bytes(), respectively. -The DRBG is a global instance, which is not intended to be used +The I DRBG is a global instance, which is not intended to be used directly, but is used internally to reseed the other two instances. These functions here provide access to the shared DRBG instances. =head1 RETURN VALUES -RAND_DRBG_get0_master() returns a pointer to the DRBG instance. +OPENSSL_CTX_get0_master_drbg() returns a pointer to the I DRBG instance +for the given OPENSSL_CTX B. -RAND_DRBG_get0_public() returns a pointer to the DRBG instance. +OPENSSL_CTX_get0_public_drbg() returns a pointer to the I DRBG instance +for the given OPENSSL_CTX B. -RAND_DRBG_get0_private() returns a pointer to the DRBG instance. +OPENSSL_CTX_get0_private_drbg() returns a pointer to the I DRBG instance +for the given OPENSSL_CTX B. +In all the above cases the B parameter can +be NULL in which case the default OPENSSL_CTX is used. RAND_DRBG_get0_master(), +RAND_DRBG_get0_public() and RAND_DRBG_get0_private() are the same as +OPENSSL_CTX_get0_master_drbg(), OPENSSL_CTX_get0_public_drbg() and +OPENSSL_CTX_get0_private_drbg() respectively except that the default OPENSSL_CTX +is always used. =head1 NOTES -It is not thread-safe to access the DRBG instance. -The and DRBG instance can be accessed safely, because +It is not thread-safe to access the I DRBG instance. +The I and I DRBG instance can be accessed safely, because they are thread-local. Note however, that changes to these two instances apply only to the current thread. @@ -65,7 +80,10 @@ L =head1 HISTORY -The RAND_DRBG functions were added in OpenSSL 1.1.1. +The OPENSSL_CTX_get0_master_drbg(), OPENSSL_CTX_get0_public_drbg() and +OPENSSL_CTX_get0_private_drbg() functions were added in OpenSSL 3.0. + +All other RAND_DRBG functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT diff --git a/doc/man3/RAND_DRBG_new.pod b/doc/man3/RAND_DRBG_new.pod index 8b73840..3ff98ae 100644 --- a/doc/man3/RAND_DRBG_new.pod +++ b/doc/man3/RAND_DRBG_new.pod @@ -2,7 +2,9 @@ =head1 NAME +RAND_DRBG_new_ex, RAND_DRBG_new, +RAND_DRBG_secure_new_ex, RAND_DRBG_secure_new, RAND_DRBG_set, RAND_DRBG_set_defaults, @@ -15,11 +17,20 @@ RAND_DRBG_free #include + RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx, + int type, + unsigned int flags, + RAND_DRBG *parent); RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent); + RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx, + int type, + unsigned int flags, + RAND_DRBG *parent); + RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent); @@ -39,10 +50,13 @@ RAND_DRBG_free =head1 DESCRIPTION -RAND_DRBG_new() and RAND_DRBG_secure_new() +RAND_DRBG_new_ex() and RAND_DRBG_secure_new_ex() create a new DRBG instance of the given B, allocated from the heap resp. -the secure heap -(using OPENSSL_zalloc() resp. OPENSSL_secure_zalloc()). +the secure heap, for the given OPENSSL_CTX +(using OPENSSL_zalloc() resp. OPENSSL_secure_zalloc()). The parameter can +be NULL in which case the default OPENSSL_CTX is used. RAND_DRBG_new() and +RAND_DRBG_secure_new() are the same as RAND_DRBG_new_ex() and +RAND_DRBG_secure_new_ex() except that the default OPENSSL_CTX is always used. RAND_DRBG_set() initializes the B with the given B and B. @@ -108,8 +122,9 @@ uninstantiated state. =head1 RETURN VALUES -RAND_DRBG_new() and RAND_DRBG_secure_new() return a pointer to a DRBG -instance allocated on the heap, resp. secure heap. +RAND_DRBG_new_ex(), RAND_DRBG_new(), RAND_DRBG_secure_new_ex() and +RAND_DRBG_secure_new() return a pointer to a DRBG instance allocated on the +heap, resp. secure heap. RAND_DRBG_set(), RAND_DRBG_instantiate(), and diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h index 1ce822d..d76f9e1 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -146,7 +146,10 @@ typedef struct ossl_ex_data_global_st { # define OPENSSL_CTX_PROPERTY_DEFN_INDEX 2 # define OPENSSL_CTX_PROPERTY_STRING_INDEX 3 # define OPENSSL_CTX_NAMEMAP_INDEX 4 -# define OPENSSL_CTX_MAX_INDEXES 5 +# define OPENSSL_CTX_DRBG_INDEX 5 +# define OPENSSL_CTX_DRBG_NONCE_INDEX 6 +# define OPENSSL_CTX_RAND_CRNGT_INDEX 7 +# define OPENSSL_CTX_MAX_INDEXES 8 typedef struct openssl_ctx_method { void *(*new_func)(OPENSSL_CTX *ctx); diff --git a/include/openssl/rand_drbg.h b/include/openssl/rand_drbg.h index 32c6dcf..4e99d71 100644 --- a/include/openssl/rand_drbg.h +++ b/include/openssl/rand_drbg.h @@ -72,6 +72,10 @@ extern "C" { /* * Object lifetime functions. */ +RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx, int type, unsigned int flags, + RAND_DRBG *parent); +RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx, int type, + unsigned int flags, RAND_DRBG *parent); RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent); RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent); int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags); @@ -102,6 +106,9 @@ int RAND_DRBG_set_reseed_defaults( time_t slave_reseed_time_interval ); +RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx); +RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx); +RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx); RAND_DRBG *RAND_DRBG_get0_master(void); RAND_DRBG *RAND_DRBG_get0_public(void); RAND_DRBG *RAND_DRBG_get0_private(void); diff --git a/test/drbgtest.c b/test/drbgtest.c index 9e0aba8..618403f 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -1264,7 +1264,8 @@ static const size_t crngt_num_cases = 6; static size_t crngt_case, crngt_idx; -static int crngt_entropy_cb(unsigned char *buf, unsigned char *md, +static int crngt_entropy_cb(OPENSSL_CTX *ctx, unsigned char *buf, + unsigned char *md, unsigned int *md_size) { size_t i, z; @@ -1288,19 +1289,16 @@ static int test_crngt(int n) size_t ent; int res = 0; int expect; + OPENSSL_CTX *ctx = OPENSSL_CTX_new(); - if (!TEST_true(rand_crngt_single_init())) - return 0; - rand_crngt_cleanup(); - - if (!TEST_ptr(drbg = RAND_DRBG_new(dt->nid, dt->flags, NULL))) + if (!TEST_ptr(ctx)) return 0; + if (!TEST_ptr(drbg = RAND_DRBG_new_ex(ctx, dt->nid, dt->flags, NULL))) + goto err; ent = (drbg->min_entropylen + CRNGT_BUFSIZ - 1) / CRNGT_BUFSIZ; crngt_case = n % crngt_num_cases; crngt_idx = 0; crngt_get_entropy = &crngt_entropy_cb; - if (!TEST_true(rand_crngt_init())) - goto err; #ifndef FIPS_MODE if (!TEST_true(RAND_DRBG_set_callbacks(drbg, &rand_crngt_get_entropy, &rand_crngt_cleanup_entropy, @@ -1333,6 +1331,7 @@ err: uninstantiate(drbg); RAND_DRBG_free(drbg); crngt_get_entropy = &rand_crngt_get_entropy_cb; + OPENSSL_CTX_free(ctx); return res; } diff --git a/util/libcrypto.num b/util/libcrypto.num index 28b6bb9..af17aba 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4824,3 +4824,8 @@ OSSL_CMP_MSG_dup 4768 3_0_0 EXIST::FUNCTION:CMP ERR_load_CMP_strings 4769 3_0_0 EXIST::FUNCTION:CMP EVP_MD_CTX_set_params 4770 3_0_0 EXIST::FUNCTION: EVP_MD_CTX_get_params 4771 3_0_0 EXIST::FUNCTION: +RAND_DRBG_new_ex 4772 3_0_0 EXIST::FUNCTION: +RAND_DRBG_secure_new_ex 4773 3_0_0 EXIST::FUNCTION: +OPENSSL_CTX_get0_master_drbg 4774 3_0_0 EXIST::FUNCTION: +OPENSSL_CTX_get0_public_drbg 4775 3_0_0 EXIST::FUNCTION: +OPENSSL_CTX_get0_private_drbg 4776 3_0_0 EXIST::FUNCTION: From builds at travis-ci.org Fri Jun 7 12:18:49 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 07 Jun 2019 12:18:49 +0000 Subject: Still Failing: openssl/openssl#25609 (master - 37ca204) In-Reply-To: Message-ID: <5cfa562957b70_43ffaf42efb603478aa@d84571fd-4883-43f3-b38d-306ce841fc5f.mail> Build Update for openssl/openssl ------------------------------------- Build: #25609 Status: Still Failing Duration: 20 mins and 21 secs Commit: 37ca204 (master) Author: Matt Caswell Message: Add documentation for new functions taking an OPENSSL_CTX parameter Various functions have been added that take an OPENSSL_CTX parameter as a result of moving the RAND code into the FIPS module. We document all of those functions. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9039) View the changeset: https://github.com/openssl/openssl/compare/bab6046146c4...37ca204b96b0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/542722874?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 Jun 7 13:20:08 2019 From: levitte at openssl.org (Richard Levitte) Date: Fri, 07 Jun 2019 13:20:08 +0000 Subject: [web] master update Message-ID: <1559913608.632023.31477.nullmailer@dev.openssl.org> The branch master has been updated via dd74209e0beb5fdcb99aa967aec90b1d9b95c322 (commit) from 70aec4f068ead8d76605508b1eb6b104bf616f0f (commit) - Log ----------------------------------------------------------------- commit dd74209e0beb5fdcb99aa967aec90b1d9b95c322 Author: Matt Caswell Date: Wed Jun 5 17:28:17 2019 +0100 Update the copyright date in the licence file Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/web/pull/131) ----------------------------------------------------------------------- Summary of changes: source/license-openssl-ssleay.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/license-openssl-ssleay.txt b/source/license-openssl-ssleay.txt index 0511f2e..9601ab4 100644 --- a/source/license-openssl-ssleay.txt +++ b/source/license-openssl-ssleay.txt @@ -10,7 +10,7 @@ --------------- /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 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 openssl at openssl.org Fri Jun 7 14:40:49 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 07 Jun 2019 14:40:49 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-sm2 Message-ID: <1559918449.061343.30374.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sm2 Commit log since last time: 7ed66e2634 Change EVP_MAC method from copy to dup be5fc053ed Replace EVP_MAC_CTX_copy() by EVP_MAC_CTX_dup() e6071f29c2 Fix typo in macro argument of SSL_set1_client_sigalgs_list() 355b419698 Address property documentation concerns. 56e840fe2d rename the digest provider files to avoid any name clashes with other folders ad14e8e508 Coverity fixes Build log ended with (last 100 lines): ../../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_bio_memleak.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/03-test_internal_rsa_sp800_56b.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1641, 258 wallclock secs ( 2.96 usr 0.49 sys + 243.82 cusr 22.90 csys = 270.17 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-sm2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Fri Jun 7 15:27:07 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 15:27:07 +0000 Subject: Build failed: openssl master.25041 Message-ID: <20190607152707.1.E44AAFF9067EBB4C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 7 16:04:53 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 16:04:53 +0000 Subject: Build failed: openssl master.25042 Message-ID: <20190607160453.1.7AE6F8AC332DC62D@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 7 16:32:18 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 16:32:18 +0000 Subject: Build completed: openssl master.25043 Message-ID: <20190607163218.1.217902FA37125B2B@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 7 16:59:30 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 16:59:30 +0000 Subject: Build failed: openssl OpenSSL_1_1_1-stable.25044 Message-ID: <20190607165930.1.EE2BB0B16A8AAE51@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 7 17:26:31 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 07 Jun 2019 17:26:31 +0000 Subject: Build completed: openssl master.25045 Message-ID: <20190607172631.1.2217237D7034D787@appveyor.com> An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Fri Jun 7 17:56:21 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Fri, 07 Jun 2019 17:56:21 +0000 Subject: [openssl] OpenSSL_1_0_2-stable update Message-ID: <1559930181.717653.7186.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 8479e9e97354add3c562670db66b5f8151dc3b2e (commit) from ec36b3298502fe71110a14197c54555b6cf6ca75 (commit) - Log ----------------------------------------------------------------- commit 8479e9e97354add3c562670db66b5f8151dc3b2e Author: Acheev Bhagat Date: Thu Jun 6 20:05:49 2019 -0400 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print Reviewed-by: Richard Levitte Reviewed-by: Tim Hudson Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9101) ----------------------------------------------------------------------- Summary of changes: crypto/x509v3/v3_alt.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crypto/x509v3/v3_alt.c b/crypto/x509v3/v3_alt.c index d4d024c..bba2e41 100644 --- a/crypto/x509v3/v3_alt.c +++ b/crypto/x509v3/v3_alt.c @@ -205,15 +205,18 @@ int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen) break; case GEN_EMAIL: - BIO_printf(out, "email:%s", gen->d.ia5->data); + BIO_printf(out, "email:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DNS: - BIO_printf(out, "DNS:%s", gen->d.ia5->data); + BIO_printf(out, "DNS:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_URI: - BIO_printf(out, "URI:%s", gen->d.ia5->data); + BIO_printf(out, "URI:"); + ASN1_STRING_print(out, gen->d.ia5); break; case GEN_DIRNAME: From scan-admin at coverity.com Sun Jun 9 07:31:22 2019 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 09 Jun 2019 07:31:22 +0000 (UTC) Subject: Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5cfcb5c9bf6c4_4acf2afa497f2f607670@appnode-2.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-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEvyxzJHSwEoiXkZglM3WeHA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I0F6lqzTpZf3nh7XTLiwQ4BU6dnbemE9W-2B895ZEbSyB2GssFG2GmtohwmzT7-2FkLiBxijvTcFKJc3lw5LyUiLSXT9ZS8IQ8rz6ix2dxuX4-2BiNdkgcxhS5WxkDw8eIg1zXRRknyh8c6UQjGA1yp8GkWUB8MDZPW89Td0WvTAxVZlV689LZIRgM2KPoju6c9xwShs-3D Build ID: 260228 Analysis Summary: New defects found: 7 Defects eliminated: 4 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-2BukuZt9UUdRZhgmgzAKchwAzH1nH3073xDEXNRgHN6zzUI-2FRfbrE6mNOeeukHUQw-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I0F6lqzTpZf3nh7XTLiwQ4BU6dnbemE9W-2B895ZEbSyB2OGtIcrsWduQYj-2BhMMwnniACOcD2rslJgm6sld9vHDv-2FEB1nn3k1mYU3chK8opJA1g6-2Bg1piij9EPZITc0afT2elc1zNyGFnfRio44kqqAnLgJHw0oiCzZLWg63fV2tgbls0WiqryNrAJBrh5i-2Fc-2FCA-3D From scan-admin at coverity.com Sun Jun 9 07:48:02 2019 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 09 Jun 2019 07:48:02 +0000 (UTC) Subject: Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5cfcb9b225ec1_54922afa497f2f60765e@appnode-2.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-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEOo3rtGjiQZqYPGgcjfkiXQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I2-2FU36tNvWFOdqfGjXKZCraWDn9fmXKUXeoYU2-2F5wxTaYVQZ2giRcgk4kT4v3V9G2-2BWkmMPw-2Bk4Jc2sf2yi2zhERxUoyRQIkT89Uwo5-2BoxJE6WCsKttCrctVWzE9iYaSvzc-2FFqrLwkDSjDX8O8r9HBgn58mAPz6yws-2FMD59xUtzYKNo2JsnrduYQ8So6f33P5o-3D Build ID: 260230 Analysis Summary: New defects found: 0 Defects eliminated: 0 From matthias.st.pierre at ncp-e.com Sun Jun 9 07:51:41 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Sun, 09 Jun 2019 07:51:41 +0000 Subject: [openssl] master update Message-ID: <1560066701.229645.31732.nullmailer@dev.openssl.org> The branch master has been updated via a08714e18131b1998faa0113e5bd4024044654ac (commit) from 37ca204b96b036f949b8bc8389c1f8e806e1cbec (commit) - Log ----------------------------------------------------------------- commit a08714e18131b1998faa0113e5bd4024044654ac Author: Dr. Matthias St. Pierre Date: Wed Jun 5 11:09:46 2019 +0200 Revert the DEVRANDOM_WAIT feature The DEVRANDOM_WAIT feature added a select() call to wait for the `/dev/random` device to become readable before reading from the `/dev/urandom` device. It was introduced in commit 38023b87f037 in order to mitigate the fact that the `/dev/urandom` device does not block until the initial seeding of the kernel CSPRNG has completed, contrary to the behaviour of the `getrandom()` system call. It turned out that this change had negative side effects on performance which were not acceptable. After some discussion it was decided to revert this feature and leave it up to the OS resp. the platform maintainer to ensure a proper initialization during early boot time. Fixes #9078 This partially reverts commit 38023b87f037. Reviewed-by: Tim Hudson Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/9084) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 23 ----------------------- e_os.h | 3 --- 2 files changed, 26 deletions(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 2b3e32d..3a6e009 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -489,29 +489,6 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool) bytes_needed = rand_pool_bytes_needed(pool, 1 /*entropy_factor*/); { size_t i; -#ifdef DEVRANDOM_WAIT - static int wait_done = 0; - - /* - * On some implementations reading from /dev/urandom is possible - * before it is initialized. Therefore we wait for /dev/random - * to be readable to make sure /dev/urandom is initialized. - */ - if (!wait_done && bytes_needed > 0) { - int f = open(DEVRANDOM_WAIT, O_RDONLY); - - if (f >= 0) { - fd_set fds; - - FD_ZERO(&fds); - FD_SET(f, &fds); - while (select(f+1, &fds, NULL, NULL, NULL) < 0 - && errno == EINTR); - close(f); - } - wait_done = 1; - } -#endif for (i = 0; bytes_needed > 0 && i < OSSL_NELEM(random_device_paths); i++) { ssize_t bytes = 0; diff --git a/e_os.h b/e_os.h index 1c55272..95ec0d6 100644 --- a/e_os.h +++ b/e_os.h @@ -28,9 +28,6 @@ * default, we will try to read at least one of these files */ # define DEVRANDOM "/dev/urandom", "/dev/random", "/dev/hwrng", "/dev/srandom" -# ifdef __linux -# define DEVRANDOM_WAIT "/dev/random" -# endif # endif # if !defined(OPENSSL_NO_EGD) && !defined(DEVRANDOM_EGD) /* From matthias.st.pierre at ncp-e.com Sun Jun 9 07:58:26 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Sun, 09 Jun 2019 07:58:26 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560067106.297061.8717.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 247b8a0b7d784821590898a1f0534af92ec238eb (commit) via ad416c80581c181f3c96f47c670626bf3ff58410 (commit) from 7febec94858da85afe59bd70a3e728b724ed1ea0 (commit) - Log ----------------------------------------------------------------- commit 247b8a0b7d784821590898a1f0534af92ec238eb Author: Dr. Matthias St. Pierre Date: Sun Jun 9 02:13:48 2019 +0200 Add CHANGES entries for the DEVRANDOM_WAIT feature and its removal Reviewed-by: Tim Hudson Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/9118) commit ad416c80581c181f3c96f47c670626bf3ff58410 Author: Dr. Matthias St. Pierre Date: Wed Jun 5 11:09:46 2019 +0200 Revert the DEVRANDOM_WAIT feature The DEVRANDOM_WAIT feature added a select() call to wait for the `/dev/random` device to become readable before reading from the `/dev/urandom` device. It was introduced in commit 38023b87f037 in order to mitigate the fact that the `/dev/urandom` device does not block until the initial seeding of the kernel CSPRNG has completed, contrary to the behaviour of the `getrandom()` system call. It turned out that this change had negative side effects on performance which were not acceptable. After some discussion it was decided to revert this feature and leave it up to the OS resp. the platform maintainer to ensure a proper initialization during early boot time. Fixes #9078 This partially reverts commit 38023b87f037. Reviewed-by: Tim Hudson Reviewed-by: Viktor Dukhovni (cherry picked from commit a08714e18131b1998faa0113e5bd4024044654ac) (Merged from https://github.com/openssl/openssl/pull/9118) ----------------------------------------------------------------------- Summary of changes: CHANGES | 22 +++++++++++++++++++++- crypto/rand/rand_unix.c | 23 ----------------------- e_os.h | 3 --- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/CHANGES b/CHANGES index 1fbea53..c5cd38b 100644 --- a/CHANGES +++ b/CHANGES @@ -9,7 +9,17 @@ Changes between 1.1.1c and 1.1.1d [xx XXX xxxx] - *) + *) Revert the DEVRANDOM_WAIT feature for Linux systems + + The DEVRANDOM_WAIT feature added a select() call to wait for the + /dev/random device to become readable before reading from the + /dev/urandom device. + + It turned out that this change had negative side effects on + performance which were not acceptable. After some discussion it + was decided to revert this feature and leave it up to the OS + resp. the platform maintainer to ensure a proper initialization + during early boot time. Changes between 1.1.1b and 1.1.1c [28 May 2019] @@ -79,6 +89,16 @@ (CVE-2019-1543) [Matt Caswell] + *) Add DEVRANDOM_WAIT feature for Linux systems + + On older Linux systems where the getrandom() system call is not available, + OpenSSL normally uses the /dev/urandom device for seeding its CSPRNG. + Contrary to getrandom(), the /dev/urandom device will not block during + early boot when the kernel CSPRNG has not been seeded yet. + + To mitigate this known weakness, use select() to wait for /dev/random to + become readable before reading from /dev/urandom. + *) Ensure that SM2 only uses SM3 as digest algorithm [Paul Yang] diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 4710dbb..4b91903 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -510,29 +510,6 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool) bytes_needed = rand_pool_bytes_needed(pool, 1 /*entropy_factor*/); { size_t i; -#ifdef DEVRANDOM_WAIT - static int wait_done = 0; - - /* - * On some implementations reading from /dev/urandom is possible - * before it is initialized. Therefore we wait for /dev/random - * to be readable to make sure /dev/urandom is initialized. - */ - if (!wait_done && bytes_needed > 0) { - int f = open(DEVRANDOM_WAIT, O_RDONLY); - - if (f >= 0) { - fd_set fds; - - FD_ZERO(&fds); - FD_SET(f, &fds); - while (select(f+1, &fds, NULL, NULL, NULL) < 0 - && errno == EINTR); - close(f); - } - wait_done = 1; - } -#endif for (i = 0; bytes_needed > 0 && i < OSSL_NELEM(random_device_paths); i++) { ssize_t bytes = 0; diff --git a/e_os.h b/e_os.h index e9ce6c9..513ea2d 100644 --- a/e_os.h +++ b/e_os.h @@ -28,9 +28,6 @@ * default, we will try to read at least one of these files */ # define DEVRANDOM "/dev/urandom", "/dev/random", "/dev/hwrng", "/dev/srandom" -# ifdef __linux -# define DEVRANDOM_WAIT "/dev/random" -# endif # endif # if !defined(OPENSSL_NO_EGD) && !defined(DEVRANDOM_EGD) /* From builds at travis-ci.org Sun Jun 9 08:11:26 2019 From: builds at travis-ci.org (Travis CI) Date: Sun, 09 Jun 2019 08:11:26 +0000 Subject: Still Failing: openssl/openssl#25629 (master - a08714e) In-Reply-To: Message-ID: <5cfcbf2ddf9d6_43fa2c6c3c834129343@c95704fc-d66b-4fc2-9d6a-8f63da2c9d33.mail> Build Update for openssl/openssl ------------------------------------- Build: #25629 Status: Still Failing Duration: 18 mins and 56 secs Commit: a08714e (master) Author: Dr. Matthias St. Pierre Message: Revert the DEVRANDOM_WAIT feature The DEVRANDOM_WAIT feature added a select() call to wait for the `/dev/random` device to become readable before reading from the `/dev/urandom` device. It was introduced in commit 38023b87f037 in order to mitigate the fact that the `/dev/urandom` device does not block until the initial seeding of the kernel CSPRNG has completed, contrary to the behaviour of the `getrandom()` system call. It turned out that this change had negative side effects on performance which were not acceptable. After some discussion it was decided to revert this feature and leave it up to the OS resp. the platform maintainer to ensure a proper initialization during early boot time. Fixes #9078 This partially reverts commit 38023b87f037. Reviewed-by: Tim Hudson Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/9084) View the changeset: https://github.com/openssl/openssl/compare/37ca204b96b0...a08714e18131 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/543326764?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 Sun Jun 9 08:31:06 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 09 Jun 2019 08:31:06 +0000 Subject: Build failed: openssl master.25057 Message-ID: <20190609083106.1.1D4632A69FD8B07D@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 9 09:13:21 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 09 Jun 2019 09:13:21 +0000 Subject: Build completed: openssl OpenSSL_1_1_1-stable.25058 Message-ID: <20190609091321.1.460A3CD0C2DA7956@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Jun 10 00:59:53 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 10 Jun 2019 00:59:53 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-deprecated Message-ID: <1560128393.929718.19388.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-deprecated Commit log since last time: a08714e181 Revert the DEVRANDOM_WAIT feature 37ca204b96 Add documentation for new functions taking an OPENSSL_CTX parameter a2f27fd750 Move the rand_nonce_lock code into drbg_lib.c 4e297b7441 Make the rand_crng code OPENSSL_CTX aware da0d114cd9 Convert drbg_lib to use OPENSSL_CTX for its global data bab6046146 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print 87762939b5 Fixed typo in code comment. [skip ci] Build log ended with (last 100 lines): ../../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_bio_memleak.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 ..................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_gost.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1642, 249 wallclock secs ( 3.02 usr 0.39 sys + 237.79 cusr 19.84 csys = 261.04 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-deprecated' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Mon Jun 10 06:03:30 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 10 Jun 2019 06:03:30 +0000 Subject: [openssl] master update Message-ID: <1560146610.854398.3466.nullmailer@dev.openssl.org> The branch master has been updated via b4d3f203da6210f148b2a0c7bf5a802b55ba0e65 (commit) via 2ccb1b4ecab2c3ac1dc2ff81a48869a79afa7839 (commit) from a08714e18131b1998faa0113e5bd4024044654ac (commit) - Log ----------------------------------------------------------------- commit b4d3f203da6210f148b2a0c7bf5a802b55ba0e65 Author: Richard Levitte Date: Fri Jun 7 12:30:01 2019 +0200 doc/internal/man3/ossl_method_construct.pod: follow common conventions Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9109) commit 2ccb1b4ecab2c3ac1dc2ff81a48869a79afa7839 Author: Richard Levitte Date: Fri Jun 7 11:44:08 2019 +0200 EVP fetching: make operation_id part of the method identity Because the operation identity wasn't integrated with the created methods, the following code would give unexpected results: EVP_MD *md = EVP_MD_fetch(NULL, "MD5", NULL); EVP_CIPHER *cipher = EVP_CIPHER_fetch(NULL, "MD5", NULL); if (md != NULL) printf("MD5 is a digest\n"); if (cipher != NULL) printf("MD5 is a cipher\n"); The message is that MD5 is both a digest and a cipher. Partially fixes #9106 Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9109) ----------------------------------------------------------------------- Summary of changes: crypto/core_fetch.c | 10 ++-- crypto/evp/evp_fetch.c | 86 +++++++++++++++++++++++------ doc/internal/man3/ossl_method_construct.pod | 65 +++++++++++++--------- include/internal/core.h | 8 ++- 4 files changed, 119 insertions(+), 50 deletions(-) diff --git a/crypto/core_fetch.c b/crypto/core_fetch.c index a99f092..56a3c5c 100644 --- a/crypto/core_fetch.c +++ b/crypto/core_fetch.c @@ -59,12 +59,12 @@ static int ossl_method_construct_this(OSSL_PROVIDER *provider, void *cbdata) * If we haven't been told not to store, * add to the global store */ - data->mcm->put(data->libctx, NULL, method, + data->mcm->put(data->libctx, NULL, method, data->operation_id, thismap->algorithm_name, thismap->property_definition, data->mcm_data); } - data->mcm->put(data->libctx, data->store, method, + data->mcm->put(data->libctx, data->store, method, data->operation_id, thismap->algorithm_name, thismap->property_definition, data->mcm_data); @@ -83,7 +83,8 @@ void *ossl_method_construct(OPENSSL_CTX *libctx, int operation_id, void *method = NULL; if ((method = - mcm->get(libctx, NULL, name, propquery, mcm_data)) == NULL) { + mcm->get(libctx, NULL, operation_id, name, propquery, mcm_data)) + == NULL) { struct construct_data_st cbdata; /* @@ -101,7 +102,8 @@ void *ossl_method_construct(OPENSSL_CTX *libctx, int operation_id, ossl_provider_forall_loaded(libctx, ossl_method_construct_this, &cbdata); - method = mcm->get(libctx, cbdata.store, name, propquery, mcm_data); + method = mcm->get(libctx, cbdata.store, operation_id, name, + propquery, mcm_data); mcm->dealloc_tmp_store(cbdata.store); } diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index d3b5bca..1c9e27d 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -39,7 +39,6 @@ static const OPENSSL_CTX_METHOD default_method_store_method = { struct method_data_st { OPENSSL_CTX *libctx; const char *name; - int id; OSSL_METHOD_CONSTRUCT_METHOD *mcm; void *(*method_from_dispatch)(const OSSL_DISPATCH *, OSSL_PROVIDER *); int (*refcnt_up_method)(void *method); @@ -66,24 +65,45 @@ static OSSL_METHOD_STORE *get_default_method_store(OPENSSL_CTX *libctx) &default_method_store_method); } +/* + * To identity the method in the method store, we mix the name identity + * with the operation identity, with the assumption that we don't have + * more than 2^24 names or more than 2^8 operation types. + * + * The resulting identity is a 32-bit integer, composed like this: + * + * +---------24 bits--------+-8 bits-+ + * | name identity | op id | + * +------------------------+--------+ + */ +static uint32_t method_id(unsigned int operation_id, unsigned int name_id) +{ + if (!ossl_assert(name_id < (1 << 24) || operation_id < (1 << 8)) + || !ossl_assert(name_id > 0 && operation_id > 0)) + return 0; + return ((name_id << 8) & 0xFFFFFF00) | (operation_id & 0x000000FF); +} + static void *get_method_from_store(OPENSSL_CTX *libctx, void *store, - const char *name, const char *propquery, - void *data) + int operation_id, const char *name, + const char *propquery, void *data) { struct method_data_st *methdata = data; void *method = NULL; OSSL_NAMEMAP *namemap; - int id; + int nameid; + uint32_t methid; if (store == NULL && (store = get_default_method_store(libctx)) == NULL) return NULL; if ((namemap = ossl_namemap_stored(libctx)) == NULL - || (id = ossl_namemap_add(namemap, name)) == 0) + || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (methid = method_id(operation_id, nameid)) == 0) return NULL; - (void)ossl_method_store_fetch(store, id, propquery, &method); + (void)ossl_method_store_fetch(store, methid, propquery, &method); if (method != NULL && !methdata->refcnt_up_method(method)) { @@ -93,15 +113,18 @@ static void *get_method_from_store(OPENSSL_CTX *libctx, void *store, } static int put_method_in_store(OPENSSL_CTX *libctx, void *store, - void *method, const char *name, - const char *propdef, void *data) + void *method, int operation_id, + const char *name, const char *propdef, + void *data) { struct method_data_st *methdata = data; OSSL_NAMEMAP *namemap; - int id; + int nameid; + uint32_t methid; if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL - || (id = ossl_namemap_add(namemap, name)) == 0) + || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (methid = method_id(operation_id, nameid)) == 0) return 0; if (store == NULL @@ -109,7 +132,7 @@ static int put_method_in_store(OPENSSL_CTX *libctx, void *store, return 0; if (methdata->refcnt_up_method(method) - && ossl_method_store_add(store, id, propdef, method, + && ossl_method_store_add(store, methid, propdef, method, methdata->destruct_method)) return 1; return 0; @@ -139,14 +162,32 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, { OSSL_METHOD_STORE *store = get_default_method_store(libctx); OSSL_NAMEMAP *namemap = ossl_namemap_stored(libctx); - int id; + int nameid = 0; + uint32_t methid = 0; void *method = NULL; if (store == NULL || namemap == NULL) return NULL; - if ((id = ossl_namemap_number(namemap, name)) == 0 - || !ossl_method_store_cache_get(store, id, properties, &method)) { + /* + * If there's ever an operation_id == 0 passed, we have an internal + * programming error. + */ + if (!ossl_assert(operation_id > 0)) + return NULL; + + /* + * method_id returns 0 if we have too many operations (more than + * about 2^8) or too many names (more than about 2^24). In that + * case, we can't create any new method. + */ + if ((nameid = ossl_namemap_number(namemap, name)) != 0 + && (methid = method_id(operation_id, nameid)) == 0) + return NULL; + + if (nameid == 0 + || !ossl_method_store_cache_get(store, methid, properties, + &method)) { OSSL_METHOD_CONSTRUCT_METHOD mcm = { alloc_tmp_method_store, dealloc_tmp_method_store, @@ -164,10 +205,19 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, mcmdata.destruct_method = free_method; mcmdata.refcnt_up_method = upref_method; mcmdata.destruct_method = free_method; - method = ossl_method_construct(libctx, operation_id, name, - properties, 0 /* !force_cache */, - &mcm, &mcmdata); - ossl_method_store_cache_set(store, id, properties, method); + if ((method = ossl_method_construct(libctx, operation_id, name, + properties, 0 /* !force_cache */, + &mcm, &mcmdata)) == NULL) { + /* + * If construction did create a method for us, we know that + * there is a correct nameid and methodid, since those have + * already been calculated in get_method_from_store() and + * put_method_in_store() above. + */ + nameid = ossl_namemap_number(namemap, name); + methid = method_id(operation_id, nameid); + ossl_method_store_cache_set(store, methid, properties, method); + } } else { upref_method(method); } diff --git a/doc/internal/man3/ossl_method_construct.pod b/doc/internal/man3/ossl_method_construct.pod index 60de260..ecb99e0 100644 --- a/doc/internal/man3/ossl_method_construct.pod +++ b/doc/internal/man3/ossl_method_construct.pod @@ -15,11 +15,13 @@ OSSL_METHOD_CONSTRUCT_METHOD, ossl_method_construct /* Remove a store */ void (*dealloc_tmp_store)(void *store); /* Get an already existing method from a store */ - void *(*get)(OPENSSL_CTX *libctx, void *store, const char *name, - const char *propquery, void *data); + void *(*get)(OPENSSL_CTX *libctx, void *store, + int operation_id, const char *name, const char *propquery, + void *data); /* Store a method in a store */ int (*put)(OPENSSL_CTX *libctx, void *store, void *method, - const char *name, const char *propdef, void *data); + int operation_id, const char *name, const char *propdef, + void *data); /* Construct a new method */ void *(*construct)(const char *name, const OSSL_DISPATCH *fns, OSSL_PROVIDER *prov, void *data); @@ -41,13 +43,25 @@ on provider dispatch tables need to do so in exactly the same way. ossl_method_construct() does this while leaving it to the sub-systems to define more precisely how the methods are created, stored, etc. +It's important to keep in mind that a method is identified by three things: + +=over 4 + +=item The operation identity + +=item The name of the algorithm + +=item The properties associated with the algorithm implementation + +=back + =head2 Functions ossl_method_construct() creates a method by asking all available -providers for a dispatch table given an C, an algorithm -C and a set of C, and then calling appropriate +providers for a dispatch table given an I, an algorithm +I and a set of I, and then calling the appropriate functions given by the sub-system specific method creator through -C and the data in C (which is passed by +I and the data in I (which is passed by ossl_method_construct()). This function assumes that the sub-system method creator implements @@ -59,14 +73,14 @@ appropriate). A central part of constructing a sub-system specific method is to give ossl_method_construct a set of functions, all in the -C structure, which holds the following +B structure, which holds the following function pointers: =over 4 =item alloc_tmp_store() -Create a temporary method store in the scope of the library context C. +Create a temporary method store in the scope of the library context I. This store is used to temporarily store methods for easier lookup, for when the provider doesn't want its dispatch table stored in a longer term cache. @@ -79,40 +93,41 @@ Remove a temporary store. Look up an already existing method from a store by name. -The store may be given with C. +The store may be given with I. B is a valid value and means that a sub-system default store must be used. -This default store should be stored in the library context C. +This default store should be stored in the library context I. -The method to be looked up should be identified with the given C and -data from C -(which is the C that was passed to ossl_construct_method()) -and the provided property query C. +The method to be looked up should be identified with the given +I, I, the provided property query I +and data from I (which is the I that was passed to +ossl_construct_method()). This function is expected to increment the method's reference count. =item put() -Places the C created by the construct() function (see below) +Places the I created by the construct() function (see below) in a store. -The store may be given with C. +The store may be given with I. B is a valid value and means that a sub-system default store must be used. -This default store should be stored in the library context C. +This default store should be stored in the library context I. -The method should be associated with the given C and property definition -C as well as any identification data given through C (which is -the C that was passed to ossl_construct_method()). +The method should be associated with the given I, +I and property definition I as well as any +identification data given through I (which is the I +that was passed to ossl_construct_method()). -This function is expected to increment the C's reference count. +This function is expected to increment the I's reference count. =item construct() -Constructs a sub-system method for the given C and the given -dispatch table C. +Constructs a sub-system method for the given I and the given +dispatch table I. -The associated I C is passed as well, to make +The associated provider object I is passed as well, to make it possible for the sub-system constructor to keep a reference, which is recommended. If such a reference is kept, the I reference counter @@ -122,7 +137,7 @@ This function is expected to set the method's reference count to 1. =item desctruct() -Decrement the C's reference count, and destruct it when +Decrement the I's reference count, and destruct it when the reference count reaches zero. =back diff --git a/include/internal/core.h b/include/internal/core.h index 64547dc..3f0cdfa 100644 --- a/include/internal/core.h +++ b/include/internal/core.h @@ -32,11 +32,13 @@ typedef struct ossl_method_construct_method_st { /* Remove a store */ void (*dealloc_tmp_store)(void *store); /* Get an already existing method from a store */ - void *(*get)(OPENSSL_CTX *libctx, void *store, const char *name, - const char *propquery, void *data); + void *(*get)(OPENSSL_CTX *libctx, void *store, + int operation_id, const char *name, const char *propquery, + void *data); /* Store a method in a store */ int (*put)(OPENSSL_CTX *libctx, void *store, void *method, - const char *name, const char *propdef, void *data); + int operation_id, const char *name, const char *propdef, + void *data); /* Construct a new method */ void *(*construct)(const char *name, const OSSL_DISPATCH *fns, OSSL_PROVIDER *prov, void *data); From openssl at openssl.org Mon Jun 10 06:09:09 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 10 Jun 2019 06:09:09 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560146949.665914.30386.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: a08714e181 Revert the DEVRANDOM_WAIT feature 37ca204b96 Add documentation for new functions taking an OPENSSL_CTX parameter a2f27fd750 Move the rand_nonce_lock code into drbg_lib.c 4e297b7441 Make the rand_crng code OPENSSL_CTX aware da0d114cd9 Convert drbg_lib to use OPENSSL_CTX for its global data bab6046146 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print 87762939b5 Fixed typo in code comment. [skip ci] Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From builds at travis-ci.org Mon Jun 10 06:23:25 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 10 Jun 2019 06:23:25 +0000 Subject: Still Failing: openssl/openssl#25638 (master - b4d3f20) In-Reply-To: Message-ID: <5cfdf75d47650_43faf75a458a820104e@c4954738-4b92-40fb-89f5-438b4494d9a3.mail> Build Update for openssl/openssl ------------------------------------- Build: #25638 Status: Still Failing Duration: 19 mins and 11 secs Commit: b4d3f20 (master) Author: Richard Levitte Message: doc/internal/man3/ossl_method_construct.pod: follow common conventions Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9109) View the changeset: https://github.com/openssl/openssl/compare/a08714e18131...b4d3f203da62 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/543593682?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 Jun 10 07:17:57 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 10 Jun 2019 07:17:57 +0000 Subject: Build failed: openssl master.25067 Message-ID: <20190610071757.1.AE36EC015D39D6E1@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 10 09:06:57 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 10 Jun 2019 09:06:57 +0000 Subject: Build completed: openssl master.25068 Message-ID: <20190610090657.1.E283D2B93722CA9F@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Mon Jun 10 09:28:19 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 10 Jun 2019 09:28:19 +0000 Subject: [openssl] master update Message-ID: <1560158899.012371.4974.nullmailer@dev.openssl.org> The branch master has been updated via 5ded1ca6dade13e093086573f4cebe400bff9f4d (commit) from b4d3f203da6210f148b2a0c7bf5a802b55ba0e65 (commit) - Log ----------------------------------------------------------------- commit 5ded1ca6dade13e093086573f4cebe400bff9f4d Author: MouriNaruto Date: Sun May 12 05:10:58 2019 +0800 Improve the Windows OneCore target support. (Add targets for building libraries for Windows Store apps.) Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8917) ----------------------------------------------------------------------- Summary of changes: CHANGES | 5 ++++ Configurations/10-main.conf | 8 +++---- Configurations/50-win-onecore.conf | 49 ++++++++++++++++++++++++++++++++++++++ Configure | 4 +++- INSTALL | 3 +++ NOTES.WIN | 12 ++++++++++ 6 files changed, 76 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 7151e2b..ef2a890 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Add target VC-WIN32-UWP, VC-WIN64A-UWP, VC-WIN32-ARM-UWP and + VC-WIN64-ARM-UWP in Windows OneCore target for making building libraries + for Windows Store apps easier. Also, the "no-uplink" option has been added. + [Kenji Mouri] + *) Join the directories crypto/x509 and crypto/x509v3 [Richard Levitte] diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 0cda720..52b23ce 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1273,7 +1273,7 @@ my %targets = ( }, "VC-WIN64I" => { inherit_from => [ "VC-WIN64-common", asm("ia64_asm"), - sub { $disabled{shared} ? () : "ia64_uplink" } ], + sub { $disabled{uplink} ? () : "ia64_uplink" } ], AS => "ias", ASFLAGS => "-d debug", asoutflag => "-o ", @@ -1285,7 +1285,7 @@ my %targets = ( }, "VC-WIN64A" => { inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"), - sub { $disabled{shared} ? () : "x86_64_uplink" } ], + sub { $disabled{uplink} ? () : "x86_64_uplink" } ], AS => sub { vc_win64a_info()->{AS} }, ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, asoutflag => sub { vc_win64a_info()->{asoutflag} }, @@ -1298,7 +1298,7 @@ my %targets = ( }, "VC-WIN32" => { inherit_from => [ "VC-noCE-common", asm("x86_asm"), - sub { $disabled{shared} ? () : "uplink_common" } ], + sub { $disabled{uplink} ? () : "uplink_common" } ], CFLAGS => add("/WX"), AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, @@ -1382,7 +1382,7 @@ my %targets = ( }, "mingw" => { inherit_from => [ "mingw-common", asm("x86_asm"), - sub { $disabled{shared} ? () : "x86_uplink" } ], + sub { $disabled{uplink} ? () : "x86_uplink" } ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => "-m32", sys_id => "MINGW32", diff --git a/Configurations/50-win-onecore.conf b/Configurations/50-win-onecore.conf index 51cb381..2cc3928 100644 --- a/Configurations/50-win-onecore.conf +++ b/Configurations/50-win-onecore.conf @@ -61,4 +61,53 @@ my %targets = ( ex_libs => "onecore.lib", multilib => "-arm64", }, + + # Universal Windows Platform (UWP) App Support + + # TODO + # + # The 'disable' attribute should have 'uplink'. + # however, these are checked in some 'inherit_from', which is processed + # very early, before the 'disable' attributes are seen. + # This is a problem that needs to be resolved in Configure first. + # + # But if you want to build library with Windows 10 Version 1809 SDK or + # earlier, the 'disable' attribute should also have 'asm'. + + "VC-WIN32-UWP" => { + inherit_from => [ "VC-WIN32-ONECORE" ], + lflags => add("/APPCONTAINER"), + defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", + "_WIN32_WINNT=0x0A00"), + dso_scheme => "", + disable => [ 'ui-console', 'stdio', 'async', 'uplink' ], + ex_libs => "WindowsApp.lib", + }, + "VC-WIN64A-UWP" => { + inherit_from => [ "VC-WIN64A-ONECORE" ], + lflags => add("/APPCONTAINER"), + defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", + "_WIN32_WINNT=0x0A00"), + dso_scheme => "", + disable => [ 'ui-console', 'stdio', 'async', 'uplink' ], + ex_libs => "WindowsApp.lib", + }, + "VC-WIN32-ARM-UWP" => { + inherit_from => [ "VC-WIN32-ARM" ], + lflags => add("/APPCONTAINER"), + defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", + "_WIN32_WINNT=0x0A00"), + dso_scheme => "", + disable => [ 'ui-console', 'stdio', 'async', 'uplink' ], + ex_libs => "WindowsApp.lib", + }, + "VC-WIN64-ARM-UWP" => { + inherit_from => [ "VC-WIN64-ARM" ], + lflags => add("/APPCONTAINER"), + defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", + "_WIN32_WINNT=0x0A00"), + dso_scheme => "", + disable => [ 'ui-console', 'stdio', 'async', 'uplink' ], + ex_libs => "WindowsApp.lib", + }, ); diff --git a/Configure b/Configure index c216049..17de50e 100755 --- a/Configure +++ b/Configure @@ -64,6 +64,7 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # zlib-dynamic Like "zlib", but the zlib library is expected to be a shared # library and will be loaded in run-time by the OpenSSL library. # sctp include SCTP support +# no-uplink Don't build support for UPLINK interface. # enable-weak-ssl-ciphers # Enable weak ciphers that are disabled by default. # 386 generate 80386 code in assembly modules @@ -412,6 +413,7 @@ my @disablables = ( "ubsan", "ui-console", "unit-test", + "uplink", "whirlpool", "weak-ssl-ciphers", "zlib", @@ -504,7 +506,7 @@ my @disable_cascades = ( # which cannot be guaranteed if shared libraries aren't present. # (note that even with shared libraries, both the app and dynamic engines # must be linked with the same library) - "shared" => [ "dynamic-engine" ], + "shared" => [ "dynamic-engine", "uplink" ], # Other modules don't necessarily have to link with libcrypto, so shared # libraries do not have to be a condition to produce those. diff --git a/INSTALL b/INSTALL index e980f50..16de9b8 100644 --- a/INSTALL +++ b/INSTALL @@ -558,6 +558,9 @@ Enable additional unit test APIs. This should not typically be used in production deployments. + no-uplink + Don't build support for UPLINK interface. + enable-weak-ssl-ciphers Build support for SSL/TLS ciphers that are considered "weak" (e.g. RC4 based ciphersuites). diff --git a/NOTES.WIN b/NOTES.WIN index 4d39d06..0215733 100644 --- a/NOTES.WIN +++ b/NOTES.WIN @@ -83,6 +83,18 @@ is, of course, to choose a different set of directories by using --prefix and --openssldir when configuring. + + Special notes for Universal Windows Platform builds, a.k.a. VC-*-UWP + -------------------------------------------------------------------- + + - UWP targets only support building the static and dynamic libraries. + + - The "no-uplink" must be given in the "Configure" script. + + - You should define the platform type to "uwp" and the target arch via + "vcvarsall.bat" before you compile. For example, if you want to build + "arm64" builds, you should type "vcvarsall.bat x86_arm64 uwp". + mingw and mingw64 ================= From builds at travis-ci.org Mon Jun 10 09:48:39 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 10 Jun 2019 09:48:39 +0000 Subject: Still Failing: openssl/openssl#25641 (master - 5ded1ca) In-Reply-To: Message-ID: <5cfe2777a4541_43f922a84050c2113ab@38c29988-12ae-49c7-9392-b19ab2acba4f.mail> Build Update for openssl/openssl ------------------------------------- Build: #25641 Status: Still Failing Duration: 19 mins and 42 secs Commit: 5ded1ca (master) Author: MouriNaruto Message: Improve the Windows OneCore target support. (Add targets for building libraries for Windows Store apps.) Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8917) View the changeset: https://github.com/openssl/openssl/compare/b4d3f203da62...5ded1ca6dade View the full build log and details: https://travis-ci.org/openssl/openssl/builds/543647223?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 tmraz at fedoraproject.org Mon Jun 10 14:29:20 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Mon, 10 Jun 2019 14:29:20 +0000 Subject: [openssl] master update Message-ID: <1560176960.201439.26679.nullmailer@dev.openssl.org> The branch master has been updated via 3f91ede9aea70774d9b5d509bc76d484ebaff6aa (commit) from 5ded1ca6dade13e093086573f4cebe400bff9f4d (commit) - Log ----------------------------------------------------------------- commit 3f91ede9aea70774d9b5d509bc76d484ebaff6aa Author: Tomas Mraz Date: Fri Jun 7 11:34:42 2019 +0200 BIO_lookup_ex: Retry with AI_ADDRCONFIG cleared if getaddrinfo fails The lookup for ::1 with getaddrinfo() might return error even if the ::1 would work if AI_ADDRCONFIG flag is used. Fixes: #9053 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9108) ----------------------------------------------------------------------- Summary of changes: crypto/bio/b_addr.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index 0f39824..261d439 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -696,6 +696,7 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, /* Note that |res| SHOULD be a 'struct addrinfo **' thanks to * macro magic in bio_lcl.h */ + retry: switch ((gai_ret = getaddrinfo(host, service, &hints, res))) { # ifdef EAI_SYSTEM case EAI_SYSTEM: @@ -706,6 +707,19 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, case 0: ret = 1; /* Success */ break; +# if (defined(EAI_FAMILY) || defined(EAI_ADDRFAMILY)) && defined(AI_ADDRCONFIG) +# ifdef EAI_FAMILY + case EAI_FAMILY: +# endif +# ifdef EAI_ADDRFAMILY + case EAI_ADDRFAMILY: +# endif + if (hints.ai_flags & AI_ADDRCONFIG) { + hints.ai_flags &= ~AI_ADDRCONFIG; + goto retry; + } + /* fall through */ +# endif default: BIOerr(BIO_F_BIO_LOOKUP_EX, ERR_R_SYS_LIB); ERR_add_error_data(1, gai_strerror(gai_ret)); From tmraz at fedoraproject.org Mon Jun 10 14:29:45 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Mon, 10 Jun 2019 14:29:45 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560176985.032748.27993.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 81ce7cc8d6d4377c1a3aa22247e9889ef287005f (commit) from 247b8a0b7d784821590898a1f0534af92ec238eb (commit) - Log ----------------------------------------------------------------- commit 81ce7cc8d6d4377c1a3aa22247e9889ef287005f Author: Tomas Mraz Date: Fri Jun 7 11:34:42 2019 +0200 BIO_lookup_ex: Retry with AI_ADDRCONFIG cleared if getaddrinfo fails The lookup for ::1 with getaddrinfo() might return error even if the ::1 would work if AI_ADDRCONFIG flag is used. Fixes: #9053 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9108) (cherry picked from commit 3f91ede9aea70774d9b5d509bc76d484ebaff6aa) ----------------------------------------------------------------------- Summary of changes: crypto/bio/b_addr.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index f295b76..5ce473e 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -696,6 +696,7 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, /* Note that |res| SHOULD be a 'struct addrinfo **' thanks to * macro magic in bio_lcl.h */ + retry: switch ((gai_ret = getaddrinfo(host, service, &hints, res))) { # ifdef EAI_SYSTEM case EAI_SYSTEM: @@ -706,6 +707,19 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, case 0: ret = 1; /* Success */ break; +# if (defined(EAI_FAMILY) || defined(EAI_ADDRFAMILY)) && defined(AI_ADDRCONFIG) +# ifdef EAI_FAMILY + case EAI_FAMILY: +# endif +# ifdef EAI_ADDRFAMILY + case EAI_ADDRFAMILY: +# endif + if (hints.ai_flags & AI_ADDRCONFIG) { + hints.ai_flags &= ~AI_ADDRCONFIG; + goto retry; + } + /* fall through */ +# endif default: BIOerr(BIO_F_BIO_LOOKUP_EX, ERR_R_SYS_LIB); ERR_add_error_data(1, gai_strerror(gai_ret)); From openssl at openssl.org Mon Jun 10 14:35:33 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 10 Jun 2019 14:35:33 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-sm2 Message-ID: <1560177333.893701.17888.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sm2 Commit log since last time: a08714e181 Revert the DEVRANDOM_WAIT feature 37ca204b96 Add documentation for new functions taking an OPENSSL_CTX parameter a2f27fd750 Move the rand_nonce_lock code into drbg_lib.c 4e297b7441 Make the rand_crng code OPENSSL_CTX aware da0d114cd9 Convert drbg_lib to use OPENSSL_CTX for its global data bab6046146 Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print 87762939b5 Fixed typo in code comment. [skip ci] From builds at travis-ci.org Mon Jun 10 15:03:54 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 10 Jun 2019 15:03:54 +0000 Subject: Still Failing: openssl/openssl#25648 (master - 3f91ede) In-Reply-To: Message-ID: <5cfe71581ec62_43ffb02115980231916@44becb52-b3e7-4315-8fb2-21841ad7198c.mail> Build Update for openssl/openssl ------------------------------------- Build: #25648 Status: Still Failing Duration: 22 mins and 27 secs Commit: 3f91ede (master) Author: Tomas Mraz Message: BIO_lookup_ex: Retry with AI_ADDRCONFIG cleared if getaddrinfo fails The lookup for ::1 with getaddrinfo() might return error even if the ::1 would work if AI_ADDRCONFIG flag is used. Fixes: #9053 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9108) View the changeset: https://github.com/openssl/openssl/compare/5ded1ca6dade...3f91ede9aea7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/543760125?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 Jun 10 20:00:23 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 10 Jun 2019 20:00:23 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560196823.985075.24262.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 2ec8ad1bd8b1ae7a61ae8fe46a5633a1b50c0049 (commit) from 81ce7cc8d6d4377c1a3aa22247e9889ef287005f (commit) - Log ----------------------------------------------------------------- commit 2ec8ad1bd8b1ae7a61ae8fe46a5633a1b50c0049 Author: Richard Levitte Date: Thu Feb 28 11:30:19 2019 +0100 apps/ca.c: only output DER with SPKAC input and when -out is chosen So say the docs Fixes #8055 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8368) (cherry picked from commit 69f6b3ceaba493e70e1296880ea6c93e40714f0f) ----------------------------------------------------------------------- Summary of changes: apps/ca.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ca.c b/apps/ca.c index 69207c0..be7e21a 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -722,7 +722,7 @@ end_of_options: /*****************************************************************/ if (req || gencrl) { - if (spkac_file != NULL) { + if (spkac_file != NULL && outfile != NULL) { output_der = 1; batch = 1; } From no-reply at appveyor.com Mon Jun 10 22:45:46 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 10 Jun 2019 22:45:46 +0000 Subject: Build failed: openssl master.25083 Message-ID: <20190610224546.1.F0E83E451AD8E348@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 10 22:50:55 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 10 Jun 2019 22:50:55 +0000 Subject: Build failed: openssl master.25084 Message-ID: <20190610225055.1.CFFD9049AD30363E@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Tue Jun 11 01:02:42 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 11 Jun 2019 01:02:42 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-deprecated Message-ID: <1560214962.340815.5715.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-deprecated Commit log since last time: 3f91ede9ae BIO_lookup_ex: Retry with AI_ADDRCONFIG cleared if getaddrinfo fails 5ded1ca6da Improve the Windows OneCore target support. (Add targets for building libraries for Windows Store apps.) b4d3f203da doc/internal/man3/ossl_method_construct.pod: follow common conventions 2ccb1b4eca EVP fetching: make operation_id part of the method identity From no-reply at appveyor.com Tue Jun 11 01:31:20 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 11 Jun 2019 01:31:20 +0000 Subject: Build completed: openssl master.25085 Message-ID: <20190611013120.1.A71C072348D34DA4@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Tue Jun 11 06:14:50 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 11 Jun 2019 06:14:50 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560233690.313395.15293.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 3f91ede9ae BIO_lookup_ex: Retry with AI_ADDRCONFIG cleared if getaddrinfo fails 5ded1ca6da Improve the Windows OneCore target support. (Add targets for building libraries for Windows Store apps.) b4d3f203da doc/internal/man3/ossl_method_construct.pod: follow common conventions 2ccb1b4eca EVP fetching: make operation_id part of the method identity Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From matt at openssl.org Tue Jun 11 08:52:43 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 11 Jun 2019 08:52:43 +0000 Subject: [openssl] master update Message-ID: <1560243163.443229.5826.nullmailer@dev.openssl.org> The branch master has been updated via 5d120511679ed69669e29b374a3bab1c50ff5134 (commit) from 3f91ede9aea70774d9b5d509bc76d484ebaff6aa (commit) - Log ----------------------------------------------------------------- commit 5d120511679ed69669e29b374a3bab1c50ff5134 Author: Todd Short Date: Fri Apr 5 10:03:29 2019 -0400 Change cipher default strings to a function Making the default cipher strings a function gives the library more control over the defaults. Potentially allowing a change in the future as ciphers become deprecated or dangerous. Also allows third party distributors to change the defaults for their installations. Reviewed-by: Paul Yang Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8686) ----------------------------------------------------------------------- Summary of changes: CHANGES | 4 ++++ doc/man3/SSL_CTX_set_cipher_list.pod | 19 ++++++++++++++++++- include/openssl/ssl.h | 30 +++++++++++++++++++++--------- ssl/ssl_ciph.c | 26 +++++++++++++++++++++++++- ssl/ssl_lib.c | 8 ++++---- util/libssl.num | 2 ++ util/private.num | 2 ++ 7 files changed, 76 insertions(+), 15 deletions(-) diff --git a/CHANGES b/CHANGES index ef2a890..5aec2ce 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,10 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Default cipher lists/suites are now avaialble via a function, the + #defines are deprecated. + [Todd Short] + *) Add target VC-WIN32-UWP, VC-WIN64A-UWP, VC-WIN32-ARM-UWP and VC-WIN64-ARM-UWP in Windows OneCore target for making building libraries for Windows Store apps easier. Also, the "no-uplink" option has been added. diff --git a/doc/man3/SSL_CTX_set_cipher_list.pod b/doc/man3/SSL_CTX_set_cipher_list.pod index eccc811..2780e99 100644 --- a/doc/man3/SSL_CTX_set_cipher_list.pod +++ b/doc/man3/SSL_CTX_set_cipher_list.pod @@ -5,7 +5,9 @@ SSL_CTX_set_cipher_list, SSL_set_cipher_list, SSL_CTX_set_ciphersuites, -SSL_set_ciphersuites +SSL_set_ciphersuites, +OSSL_default_cipher_list, +OSSL_default_ciphersuites - choose list of available SSL_CIPHERs =head1 SYNOPSIS @@ -18,6 +20,9 @@ SSL_set_ciphersuites int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); int SSL_set_ciphersuites(SSL *s, const char *str); + const char *OSSL_default_cipher_list(void); + const char *OSSL_default_ciphersuites(void); + =head1 DESCRIPTION SSL_CTX_set_cipher_list() sets the list of available ciphers (TLSv1.2 and below) @@ -54,6 +59,10 @@ An empty list is permissible. The default value for the this setting is: SSL_set_ciphersuites() is the same as SSL_CTX_set_ciphersuites() except it configures the ciphersuites for B. +OSSL_default_cipher_list() returns the default cipher string for TLSv1.2 +(and earlier) ciphers. OSSL_default_ciphersuites() returns the default +cipher string for TLSv1.3 ciphersuites. + =head1 NOTES The control string B for SSL_CTX_set_cipher_list() and @@ -85,6 +94,10 @@ of 512 bits and the server is not configured to use temporary RSA keys), the "no shared cipher" (SSL_R_NO_SHARED_CIPHER) error is generated and the handshake will fail. +OSSL_default_cipher_list() and OSSL_default_ciphersuites() replace +SSL_DEFAULT_CIPHER_LIST and TLS_DEFAULT_CIPHERSUITES, respectively. The +cipher list defines are deprecated as of 3.0.0. + =head1 RETURN VALUES SSL_CTX_set_cipher_list() and SSL_set_cipher_list() return 1 if any cipher @@ -100,6 +113,10 @@ L, L, L +=head1 HISTORY + +OSSL_default_cipher_list() and OSSL_default_ciphersites() are new in 3.0.0. + =head1 COPYRIGHT Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 3367366..9f500a3 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -169,17 +169,25 @@ extern "C" { * The following cipher list is used by default. It also is substituted when * an application-defined cipher list string starts with 'DEFAULT'. * This applies to ciphersuites for TLSv1.2 and below. + * DEPRECATED IN 3.0.0, in favor of OSSL_default_cipher_list() + * Update both macro and function simultaneously */ -# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" -/* This is the default set of TLSv1.3 ciphersuites */ -# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ - "TLS_CHACHA20_POLY1305_SHA256:" \ - "TLS_AES_128_GCM_SHA256" -# else -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ +# if !OPENSSL_API_3 +# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" +/* + * This is the default set of TLSv1.3 ciphersuites + * DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites() + * Update both macro and function simultaneously + */ +# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_CHACHA20_POLY1305_SHA256:" \ + "TLS_AES_128_GCM_SHA256" +# else +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ "TLS_AES_128_GCM_SHA256" -#endif +# endif +# endif /* * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always * starts with a reasonable order, and all we have to do for DEFAULT is @@ -2443,6 +2451,10 @@ void SSL_set_allow_early_data_cb(SSL *s, SSL_allow_early_data_cb_fn cb, void *arg); +/* store the default cipher strings inside the library */ +const char *OSSL_default_cipher_list(void); +const char *OSSL_default_ciphersuites(void); + # ifdef __cplusplus } # endif diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 968998b..6cb8b33 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -1573,7 +1573,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method, ok = 1; rule_p = rule_str; if (strncmp(rule_str, "DEFAULT", 7) == 0) { - ok = ssl_cipher_process_rulestr(SSL_DEFAULT_CIPHER_LIST, + ok = ssl_cipher_process_rulestr(OSSL_default_cipher_list(), &head, &tail, ca_list, c); rule_p += 7; if (*rule_p == ':') @@ -2168,3 +2168,27 @@ int ssl_cert_is_disabled(size_t idx) return 1; return 0; } + +/* + * Default list of TLSv1.2 (and earlier) ciphers + * SSL_DEFAULT_CIPHER_LIST deprecated in 3.0.0 + * Update both macro and function simultaneously + */ +const char *OSSL_default_cipher_list(void) +{ + return "ALL:!COMPLEMENTOFDEFAULT:!eNULL"; +} + +/* + * Default list of TLSv1.3 (and later) ciphers + * TLS_DEFAULT_CIPHERSUITES deprecated in 3.0.0 + * Update both macro and function simultaneously + */ +const char *OSSL_default_ciphersuites(void) +{ + return "TLS_AES_256_GCM_SHA384:" +#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) + "TLS_CHACHA20_POLY1305_SHA256:" +#endif + "TLS_AES_128_GCM_SHA256"; +} diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 03c7680..cf79ac5 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -655,7 +655,7 @@ int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth) ctx->method = meth; - if (!SSL_CTX_set_ciphersuites(ctx, TLS_DEFAULT_CIPHERSUITES)) { + if (!SSL_CTX_set_ciphersuites(ctx, OSSL_default_ciphersuites())) { SSLerr(SSL_F_SSL_CTX_SET_SSL_VERSION, SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS); return 0; } @@ -663,7 +663,7 @@ int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth) ctx->tls13_ciphersuites, &(ctx->cipher_list), &(ctx->cipher_list_by_id), - SSL_DEFAULT_CIPHER_LIST, ctx->cert); + OSSL_default_cipher_list(), ctx->cert); if ((sk == NULL) || (sk_SSL_CIPHER_num(sk) <= 0)) { SSLerr(SSL_F_SSL_CTX_SET_SSL_VERSION, SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS); return 0; @@ -3078,13 +3078,13 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) goto err; #endif - if (!SSL_CTX_set_ciphersuites(ret, TLS_DEFAULT_CIPHERSUITES)) + if (!SSL_CTX_set_ciphersuites(ret, OSSL_default_ciphersuites())) goto err; if (!ssl_create_cipher_list(ret->method, ret->tls13_ciphersuites, &ret->cipher_list, &ret->cipher_list_by_id, - SSL_DEFAULT_CIPHER_LIST, ret->cert) + OSSL_default_cipher_list(), ret->cert) || sk_SSL_CIPHER_num(ret->cipher_list) <= 0) { SSLerr(SSL_F_SSL_CTX_NEW, SSL_R_LIBRARY_HAS_NO_CIPHERS); goto err2; diff --git a/util/libssl.num b/util/libssl.num index c34200f..25e12ab 100644 --- a/util/libssl.num +++ b/util/libssl.num @@ -504,3 +504,5 @@ SSL_set_async_callback 504 3_0_0 EXIST::FUNCTION: SSL_set_async_callback_arg 505 3_0_0 EXIST::FUNCTION: SSL_get_async_status 506 3_0_0 EXIST::FUNCTION: SSL_sendfile 507 3_0_0 EXIST::FUNCTION: +OSSL_default_cipher_list 508 3_0_0 EXIST::FUNCTION: +OSSL_default_ciphersuites 509 3_0_0 EXIST::FUNCTION: diff --git a/util/private.num b/util/private.num index cf08a83..53edf4a 100644 --- a/util/private.num +++ b/util/private.num @@ -421,6 +421,7 @@ 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_DEFAULT_CIPHER_LIST define deprecated 3.0.0 SSL_add0_chain_cert define SSL_add1_chain_cert define SSL_build_cert_chain define @@ -499,6 +500,7 @@ SSL_want_x509_lookup define SSLv23_client_method define SSLv23_method define SSLv23_server_method define +TLS_DEFAULT_CIPHERSUITES define deprecated 3.0.0 X509_STORE_set_lookup_crls_cb define X509_STORE_set_verify_func define EVP_PKEY_CTX_set1_id define From matt at openssl.org Tue Jun 11 08:54:48 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 11 Jun 2019 08:54:48 +0000 Subject: [openssl] master update Message-ID: <1560243288.081129.2050.nullmailer@dev.openssl.org> The branch master has been updated via 7588660a534a9f154e1e25aa763964d507af8aab (commit) from 5d120511679ed69669e29b374a3bab1c50ff5134 (commit) - Log ----------------------------------------------------------------- commit 7588660a534a9f154e1e25aa763964d507af8aab Author: Shigeki Ohtsu Date: Fri Jun 7 11:49:48 2019 +0900 Fix doc to remove const arg in GEN_SESSION_CB ae3947de095 changed the callback arg not to have a const parameter. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9104) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set_generate_session_id.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/SSL_CTX_set_generate_session_id.pod b/doc/man3/SSL_CTX_set_generate_session_id.pod index 8bf8e15..d90b138 100644 --- a/doc/man3/SSL_CTX_set_generate_session_id.pod +++ b/doc/man3/SSL_CTX_set_generate_session_id.pod @@ -10,7 +10,7 @@ SSL_has_matching_session_id, GEN_SESSION_CB #include - typedef int (*GEN_SESSION_CB)(const SSL *ssl, unsigned char *id, + typedef int (*GEN_SESSION_CB)(SSL *ssl, unsigned char *id, unsigned int *id_len); int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb); @@ -98,7 +98,7 @@ server id given, and will fill the rest with pseudo random bytes: const char session_id_prefix = "www-18"; #define MAX_SESSION_ID_ATTEMPTS 10 - static int generate_session_id(const SSL *ssl, unsigned char *id, + static int generate_session_id(SSL *ssl, unsigned char *id, unsigned int *id_len) { unsigned int count = 0; From matt at openssl.org Tue Jun 11 08:54:57 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 11 Jun 2019 08:54:57 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560243297.581252.5766.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 7f54244863fc3449c8ceb0469e017642b57809ff (commit) from 2ec8ad1bd8b1ae7a61ae8fe46a5633a1b50c0049 (commit) - Log ----------------------------------------------------------------- commit 7f54244863fc3449c8ceb0469e017642b57809ff Author: Shigeki Ohtsu Date: Fri Jun 7 11:49:48 2019 +0900 Fix doc to remove const arg in GEN_SESSION_CB ae3947de095 changed the callback arg not to have a const parameter. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9104) (cherry picked from commit 7588660a534a9f154e1e25aa763964d507af8aab) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_CTX_set_generate_session_id.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/SSL_CTX_set_generate_session_id.pod b/doc/man3/SSL_CTX_set_generate_session_id.pod index dab5637..1735c62 100644 --- a/doc/man3/SSL_CTX_set_generate_session_id.pod +++ b/doc/man3/SSL_CTX_set_generate_session_id.pod @@ -10,7 +10,7 @@ SSL_has_matching_session_id, GEN_SESSION_CB #include - typedef int (*GEN_SESSION_CB)(const SSL *ssl, unsigned char *id, + typedef int (*GEN_SESSION_CB)(SSL *ssl, unsigned char *id, unsigned int *id_len); int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb); @@ -98,7 +98,7 @@ server id given, and will fill the rest with pseudo random bytes: const char session_id_prefix = "www-18"; #define MAX_SESSION_ID_ATTEMPTS 10 - static int generate_session_id(const SSL *ssl, unsigned char *id, + static int generate_session_id(SSL *ssl, unsigned char *id, unsigned int *id_len) { unsigned int count = 0; From builds at travis-ci.org Tue Jun 11 09:12:31 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 09:12:31 +0000 Subject: Still Failing: openssl/openssl#25664 (master - 5d12051) In-Reply-To: Message-ID: <5cff707f5a02e_43fee6da5bd105197b@7988fd08-f8da-4d3f-8907-5ed435f2cb83.mail> Build Update for openssl/openssl ------------------------------------- Build: #25664 Status: Still Failing Duration: 18 mins and 55 secs Commit: 5d12051 (master) Author: Todd Short Message: Change cipher default strings to a function Making the default cipher strings a function gives the library more control over the defaults. Potentially allowing a change in the future as ciphers become deprecated or dangerous. Also allows third party distributors to change the defaults for their installations. Reviewed-by: Paul Yang Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8686) View the changeset: https://github.com/openssl/openssl/compare/3f91ede9aea7...5d120511679e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544116963?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 Jun 11 09:27:45 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 09:27:45 +0000 Subject: Still Failing: openssl/openssl#25665 (master - 7588660) In-Reply-To: Message-ID: <5cff7411af935_43fee6da51f68601d8@7988fd08-f8da-4d3f-8907-5ed435f2cb83.mail> Build Update for openssl/openssl ------------------------------------- Build: #25665 Status: Still Failing Duration: 27 mins and 37 secs Commit: 7588660 (master) Author: Shigeki Ohtsu Message: Fix doc to remove const arg in GEN_SESSION_CB ae3947de095 changed the callback arg not to have a const parameter. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9104) View the changeset: https://github.com/openssl/openssl/compare/5d120511679e...7588660a534a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544117770?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 shane.lontis at oracle.com Tue Jun 11 10:19:17 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 11 Jun 2019 10:19:17 +0000 Subject: [openssl] master update Message-ID: <1560248357.833170.23934.nullmailer@dev.openssl.org> The branch master has been updated via 3d700c3fde15086fcb514ab7c90097f7f0f5d75f (commit) from 7588660a534a9f154e1e25aa763964d507af8aab (commit) - Log ----------------------------------------------------------------- commit 3d700c3fde15086fcb514ab7c90097f7f0f5d75f Author: Shane Lontis Date: Mon Jun 10 12:40:13 2019 +1000 Fix Keccak structure name reference in S390 legacy code Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9120) ----------------------------------------------------------------------- Summary of changes: crypto/evp/m_sha3.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crypto/evp/m_sha3.c b/crypto/evp/m_sha3.c index d80154c..f3266eb 100644 --- a/crypto/evp/m_sha3.c +++ b/crypto/evp/m_sha3.c @@ -118,7 +118,7 @@ static int s390x_sha3_init(EVP_MD_CTX *evp_ctx) } memset(ctx->A, 0, sizeof(ctx->A)); - ctx->num = 0; + ctx->bufsz = 0; ctx->block_size = bsz; ctx->md_size = evp_ctx->digest->md_size; return 1; @@ -145,7 +145,7 @@ static int s390x_shake_init(EVP_MD_CTX *evp_ctx) } memset(ctx->A, 0, sizeof(ctx->A)); - ctx->num = 0; + ctx->bufsz = 0; ctx->block_size = bsz; ctx->md_size = evp_ctx->digest->md_size; return 1; @@ -161,19 +161,19 @@ static int s390x_sha3_update(EVP_MD_CTX *evp_ctx, const void *_inp, size_t len) if (len == 0) return 1; - if ((num = ctx->num) != 0) { + if ((num = ctx->bufsz) != 0) { rem = bsz - num; if (len < rem) { memcpy(ctx->buf + num, inp, len); - ctx->num += len; + ctx->bufsz += len; return 1; } memcpy(ctx->buf + num, inp, rem); inp += rem; len -= rem; s390x_kimd(ctx->buf, bsz, ctx->pad, ctx->A); - ctx->num = 0; + ctx->bufsz = 0; } rem = len % bsz; @@ -181,7 +181,7 @@ static int s390x_sha3_update(EVP_MD_CTX *evp_ctx, const void *_inp, size_t len) if (rem) { memcpy(ctx->buf, inp + len - rem, rem); - ctx->num = rem; + ctx->bufsz = rem; } return 1; } @@ -190,7 +190,7 @@ static int s390x_sha3_final(EVP_MD_CTX *evp_ctx, unsigned char *md) { KECCAK1600_CTX *ctx = evp_ctx->md_data; - s390x_klmd(ctx->buf, ctx->num, NULL, 0, ctx->pad, ctx->A); + s390x_klmd(ctx->buf, ctx->bufsz, NULL, 0, ctx->pad, ctx->A); memcpy(md, ctx->A, ctx->md_size); return 1; } @@ -199,7 +199,7 @@ static int s390x_shake_final(EVP_MD_CTX *evp_ctx, unsigned char *md) { KECCAK1600_CTX *ctx = evp_ctx->md_data; - s390x_klmd(ctx->buf, ctx->num, md, ctx->md_size, ctx->pad, ctx->A); + s390x_klmd(ctx->buf, ctx->bufsz, md, ctx->md_size, ctx->pad, ctx->A); return 1; } From shane.lontis at oracle.com Tue Jun 11 10:31:34 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 11 Jun 2019 10:31:34 +0000 Subject: [openssl] master update Message-ID: <1560249094.867156.10757.nullmailer@dev.openssl.org> The branch master has been updated via 83b4a24384e62ed8cf91f51bf9a303f98017e13e (commit) from 3d700c3fde15086fcb514ab7c90097f7f0f5d75f (commit) - Log ----------------------------------------------------------------- commit 83b4a24384e62ed8cf91f51bf9a303f98017e13e Author: Shane Lontis Date: Fri Jun 7 12:05:23 2019 +1000 Make EVP_MD_CTX_ctrl() work for legacy use cases (ssl3). This is still required currently by engines and digestsign/digestverify. This PR contains merged in code from Richard Levitte's PR #9126. [extended tests] Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9103) ----------------------------------------------------------------------- Summary of changes: crypto/evp/digest.c | 47 ++++++++++++++++--------------- doc/man3/EVP_DigestInit.pod | 2 +- include/openssl/core_names.h | 3 +- include/openssl/evp.h | 2 +- providers/common/digests/sha2_prov.c | 15 ++++------ providers/default/digests/md5_sha1_prov.c | 14 +++------ ssl/s3_enc.c | 13 ++++----- ssl/statem/statem_lib.c | 22 +++++++++------ util/libcrypto.num | 2 +- 9 files changed, 57 insertions(+), 63 deletions(-) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index faa6ccf..604bf7f 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -539,30 +539,34 @@ int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) return 0; } -#if !OPENSSL_API_3 +/* TODO(3.0): Remove legacy code below - only used by engines & DigestSign */ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) { if (ctx->digest != NULL) { - OSSL_PARAM params[2]; - size_t i, sz, n = 0; - - switch (cmd) { - case EVP_MD_CTRL_XOF_LEN: - if (ctx->digest->set_params == NULL) - break; - i = (size_t)p1; - params[n++] = OSSL_PARAM_construct_size_t( - OSSL_DIGEST_PARAM_XOFLEN, &i, &sz); - params[n++] = OSSL_PARAM_construct_end(); - return ctx->digest->set_params(ctx->provctx, params) > 0; - case EVP_MD_CTRL_MICALG: - if (ctx->digest->get_params == NULL) - break; - params[n++] = OSSL_PARAM_construct_utf8_string( - OSSL_DIGEST_PARAM_MICALG, p2, p1 ? p1 : 9999, - &sz); - params[n++] = OSSL_PARAM_construct_end(); - return ctx->digest->get_params(ctx->provctx, params); + if (ctx->digest->prov != NULL) { + OSSL_PARAM params[2]; + size_t i, sz, n = 0; + + switch (cmd) { + case EVP_MD_CTRL_XOF_LEN: + if (ctx->digest->set_params == NULL) + break; + i = (size_t)p1; + params[n++] = + OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, &i, + &sz); + params[n++] = OSSL_PARAM_construct_end(); + return ctx->digest->set_params(ctx->provctx, params); + case EVP_MD_CTRL_MICALG: + if (ctx->digest->get_params == NULL) + break; + params[n++] = + OSSL_PARAM_construct_utf8_string(OSSL_DIGEST_PARAM_MICALG, + p2, p1 ? p1 : 9999, &sz); + params[n++] = OSSL_PARAM_construct_end(); + return ctx->digest->get_params(ctx->provctx, params); + } + return 0; } /* legacy code */ if (ctx->digest->md_ctrl != NULL) { @@ -574,7 +578,6 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) } return 0; } -#endif static void *evp_md_from_dispatch(const OSSL_DISPATCH *fns, OSSL_PROVIDER *prov) diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod index 95ede34..ec8f6cc 100644 --- a/doc/man3/EVP_DigestInit.pod +++ b/doc/man3/EVP_DigestInit.pod @@ -90,7 +90,7 @@ Cleans up digest context B and frees up the space allocated to it. =item EVP_MD_CTX_ctrl() -This is a deprecated function. EVP_MD_CTX_set_params() and EVP_MD_CTX_get_params() +This is a legacy method. EVP_MD_CTX_set_params() and EVP_MD_CTX_get_params() is the mechanism that should be used to set and get parameters that are used by providers. Performs digest-specific control actions on context B. The control command diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h index 52a3f8b..a9a3b44 100644 --- a/include/openssl/core_names.h +++ b/include/openssl/core_names.h @@ -42,8 +42,7 @@ extern "C" { /* digest parameters */ #define OSSL_DIGEST_PARAM_XOFLEN "xoflen" -#define OSSL_DIGEST_PARAM_CMD "cmd" -#define OSSL_DIGEST_PARAM_MSG "msg" +#define OSSL_DIGEST_PARAM_SSL3_MS "ssl3-ms" #define OSSL_DIGEST_PARAM_PAD_TYPE "pad_type" #define OSSL_DIGEST_PARAM_MICALG "micalg" diff --git a/include/openssl/evp.h b/include/openssl/evp.h index afdd17c..5fb04d1 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -542,7 +542,7 @@ void BIO_set_md(BIO *, const EVP_MD *md); int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); -DEPRECATEDIN_3(int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)) +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); EVP_MD_CTX *EVP_MD_CTX_new(void); int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); void EVP_MD_CTX_free(EVP_MD_CTX *ctx); diff --git a/providers/common/digests/sha2_prov.c b/providers/common/digests/sha2_prov.c index 4b5979e..547d1bc 100644 --- a/providers/common/digests/sha2_prov.c +++ b/providers/common/digests/sha2_prov.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include "internal/core_mkdigest.h" @@ -21,20 +22,14 @@ static OSSL_OP_digest_set_params_fn sha1_set_params; /* Special set_params method for SSL3 */ static int sha1_set_params(void *vctx, const OSSL_PARAM params[]) { - int cmd = 0; - size_t msg_len = 0; - const void *msg = NULL; const OSSL_PARAM *p; SHA_CTX *ctx = (SHA_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_CMD); - if (p != NULL && !OSSL_PARAM_get_int(p, &cmd)) - return 0; - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_MSG); - if (p != NULL && !OSSL_PARAM_get_octet_ptr(p, &msg, &msg_len)) - return 0; - return sha1_ctrl(ctx, cmd, msg_len, (void *)msg); + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_SSL3_MS); + if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING) + return sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET, p->data_size, + p->data); } return 0; } diff --git a/providers/default/digests/md5_sha1_prov.c b/providers/default/digests/md5_sha1_prov.c index 59a7df8..e6091bd 100644 --- a/providers/default/digests/md5_sha1_prov.c +++ b/providers/default/digests/md5_sha1_prov.c @@ -22,20 +22,14 @@ static OSSL_OP_digest_set_params_fn md5_sha1_set_params; /* Special set_params method for SSL3 */ static int md5_sha1_set_params(void *vctx, const OSSL_PARAM params[]) { - int cmd = 0; - size_t msg_len = 0; - const void *msg = NULL; const OSSL_PARAM *p; MD5_SHA1_CTX *ctx = (MD5_SHA1_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_CMD); - if (p != NULL && !OSSL_PARAM_get_int(p, &cmd)) - return 0; - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_MSG); - if (p != NULL && !OSSL_PARAM_get_octet_ptr(p, &msg, &msg_len)) - return 0; - return md5_sha1_ctrl(ctx, cmd, msg_len, (void *)msg); + p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_SSL3_MS); + if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING) + return md5_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET, p->data_size, + p->data); } return 0; } diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index c666014..6c3b711 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -415,14 +415,10 @@ void ssl3_digest_master_key_set_params(const SSL_SESSION *session, OSSL_PARAM params[]) { int n = 0; - int cmd = EVP_CTRL_SSL3_MASTER_SECRET; - - params[n++] = OSSL_PARAM_construct_int(OSSL_DIGEST_PARAM_CMD, &cmd, - NULL); - params[n++] = OSSL_PARAM_construct_octet_ptr(OSSL_DIGEST_PARAM_MSG, - (void **)&session->master_key, - session->master_key_length, - NULL); + params[n++] = OSSL_PARAM_construct_octet_string(OSSL_DIGEST_PARAM_SSL3_MS, + (void *)session->master_key, + session->master_key_length, + NULL); params[n++] = OSSL_PARAM_construct_end(); } @@ -468,6 +464,7 @@ size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len, OSSL_PARAM digest_cmd_params[3]; ssl3_digest_master_key_set_params(s->session, digest_cmd_params); + if (EVP_DigestUpdate(ctx, sender, len) <= 0 || EVP_MD_CTX_set_params(ctx, digest_cmd_params) <= 0 || EVP_DigestFinal_ex(ctx, p, NULL) <= 0) { diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index e59b49b..e6d2478 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -285,11 +285,14 @@ int tls_construct_cert_verify(SSL *s, WPACKET *pkt) } } if (s->version == SSL3_VERSION) { - OSSL_PARAM digest_cmd_params[3]; - - ssl3_digest_master_key_set_params(s->session, digest_cmd_params); if (EVP_DigestSignUpdate(mctx, hdata, hdatalen) <= 0 - || EVP_MD_CTX_set_params(mctx, digest_cmd_params) <= 0 + /* + * TODO(3.0) Replace this when EVP_MD_CTX_ctrl() is deprecated + * with a call to ssl3_digest_master_key_set_params() + */ + || EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET, + (int)s->session->master_key_length, + s->session->master_key) <= 0 || EVP_DigestSignFinal(mctx, sig, &siglen) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_CERT_VERIFY, @@ -474,11 +477,14 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) } } if (s->version == SSL3_VERSION) { - OSSL_PARAM digest_cmd_params[3]; - - ssl3_digest_master_key_set_params(s->session, digest_cmd_params); + /* + * TODO(3.0) Replace this when EVP_MD_CTX_ctrl() is deprecated + * with a call to ssl3_digest_master_key_set_params() + */ if (EVP_DigestVerifyUpdate(mctx, hdata, hdatalen) <= 0 - || EVP_MD_CTX_set_params(mctx, digest_cmd_params) <= 0) { + || EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET, + (int)s->session->master_key_length, + s->session->master_key) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY, ERR_R_EVP_LIB); goto err; diff --git a/util/libcrypto.num b/util/libcrypto.num index af17aba..0c2a8f5 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -3562,7 +3562,7 @@ X509_NAME_get_index_by_NID 3515 3_0_0 EXIST::FUNCTION: ENGINE_get_first 3516 3_0_0 EXIST::FUNCTION:ENGINE CERTIFICATEPOLICIES_it 3517 3_0_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: CERTIFICATEPOLICIES_it 3517 3_0_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_MD_CTX_ctrl 3518 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3 +EVP_MD_CTX_ctrl 3518 3_0_0 EXIST::FUNCTION: PKCS7_final 3519 3_0_0 EXIST::FUNCTION: EVP_PKEY_size 3520 3_0_0 EXIST::FUNCTION: EVP_DecryptFinal_ex 3521 3_0_0 EXIST::FUNCTION: From builds at travis-ci.org Tue Jun 11 10:40:06 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 10:40:06 +0000 Subject: Still Failing: openssl/openssl#25672 (master - 3d700c3) In-Reply-To: Message-ID: <5cff850665508_43f9d9003c754339bf@471ccbf5-d831-4d6d-b647-25edfc722211.mail> Build Update for openssl/openssl ------------------------------------- Build: #25672 Status: Still Failing Duration: 20 mins and 11 secs Commit: 3d700c3 (master) Author: Shane Lontis Message: Fix Keccak structure name reference in S390 legacy code Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9120) View the changeset: https://github.com/openssl/openssl/compare/7588660a534a...3d700c3fde15 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544151789?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 Jun 11 10:55:59 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 10:55:59 +0000 Subject: Still Failing: openssl/openssl#25673 (master - 83b4a24) In-Reply-To: Message-ID: <5cff88bf93a48_43fd35b62fc5053065@8fadc669-362b-4078-8c9b-c5ccaa776ffb.mail> Build Update for openssl/openssl ------------------------------------- Build: #25673 Status: Still Failing Duration: 23 mins and 49 secs Commit: 83b4a24 (master) Author: Shane Lontis Message: Make EVP_MD_CTX_ctrl() work for legacy use cases (ssl3). This is still required currently by engines and digestsign/digestverify. This PR contains merged in code from Richard Levitte's PR #9126. [extended tests] Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9103) View the changeset: https://github.com/openssl/openssl/compare/3d700c3fde15...83b4a24384e6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544155600?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 shane.lontis at oracle.com Tue Jun 11 11:15:55 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 11 Jun 2019 11:15:55 +0000 Subject: [openssl] master update Message-ID: <1560251755.861732.3223.nullmailer@dev.openssl.org> The branch master has been updated via f0efeea29eca6e528a976f62ae2422eee34ea0eb (commit) from 83b4a24384e62ed8cf91f51bf9a303f98017e13e (commit) - Log ----------------------------------------------------------------- commit f0efeea29eca6e528a976f62ae2422eee34ea0eb Author: Shane Lontis Date: Fri May 3 13:04:58 2019 +1000 PBKDF2 updates to conform to SP800-132 The existing code used PKCS5 specifications. SP800-132 adds the following additional constraints for: - the range of the key length. - the minimum iteration count (1000 recommended). - salt length (at least 128 bits). These additional constraints may cause errors (in scrypt, and some PKCS5 related test vectors). To disable the new constraints use the new ctrl string "pkcs5". For backwards compatability, the checks are only enabled by default for fips mode. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8868) ----------------------------------------------------------------------- Summary of changes: CHANGES | 11 +++- crypto/err/openssl.txt | 5 ++ crypto/evp/p5_crpt2.c | 3 +- crypto/kdf/kdf_err.c | 6 ++ crypto/kdf/pbkdf2.c | 96 ++++++++++++++++++++++++++------ doc/man7/EVP_KDF_PBKDF2.pod | 41 ++++++++++++-- include/openssl/kdf.h | 47 ++++++++-------- include/openssl/kdferr.h | 5 ++ test/evp_kdf_test.c | 65 +++++++++++++++------ test/recipes/20-test_kdf.t | 4 +- test/recipes/30-test_evp_data/evpkdf.txt | 15 +++++ 11 files changed, 231 insertions(+), 67 deletions(-) diff --git a/CHANGES b/CHANGES index 5aec2ce..4ccc3f3 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,15 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Change PBKDF2 to conform to SP800-132 instead of the older PKCS5 RFC2898. + This checks that the salt length is at least 128 bits, the derived key + length is at least 112 bits, and that the iteration count is at least 1000. + For backwards compatibility these checks are disabled by default in the + default provider, but are enabled by default in the fips provider. + To enable or disable these checks use the control + EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE. + [Shane Lontis] + *) Default cipher lists/suites are now avaialble via a function, the #defines are deprecated. [Todd Short] @@ -30,7 +39,7 @@ *) Added command 'openssl kdf' that uses the EVP_KDF API. [Shane Lontis] - *) Added command 'openssl mac' that uses the EVP_MAC API. + *) Added command 'openssl mac' that uses the EVP_MAC API. [Shane Lontis] *) Added OPENSSL_info() to get diverse built-in OpenSSL data, such diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 3fb8c96..58e1b94 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -895,6 +895,7 @@ KDF_F_KDF_HKDF_DERIVE:113:kdf_hkdf_derive KDF_F_KDF_HKDF_NEW:114:kdf_hkdf_new KDF_F_KDF_HKDF_SIZE:115:kdf_hkdf_size KDF_F_KDF_MD2CTRL:116:kdf_md2ctrl +KDF_F_KDF_PBKDF2_CTRL:140:kdf_pbkdf2_ctrl KDF_F_KDF_PBKDF2_CTRL_STR:117:kdf_pbkdf2_ctrl_str KDF_F_KDF_PBKDF2_DERIVE:118:kdf_pbkdf2_derive KDF_F_KDF_PBKDF2_NEW:119:kdf_pbkdf2_new @@ -910,6 +911,7 @@ KDF_F_KDF_SSHKDF_NEW:133:kdf_sshkdf_new KDF_F_KDF_TLS1_PRF_CTRL_STR:125:kdf_tls1_prf_ctrl_str KDF_F_KDF_TLS1_PRF_DERIVE:126:kdf_tls1_prf_derive KDF_F_KDF_TLS1_PRF_NEW:127:kdf_tls1_prf_new +KDF_F_PBKDF2_DERIVE:141:pbkdf2_derive KDF_F_PBKDF2_SET_MEMBUF:128:pbkdf2_set_membuf KDF_F_PKEY_HKDF_CTRL_STR:103:pkey_hkdf_ctrl_str KDF_F_PKEY_HKDF_DERIVE:102:pkey_hkdf_derive @@ -2458,7 +2460,10 @@ EVP_R_WRONG_FINAL_BLOCK_LENGTH:109:wrong final block length EVP_R_XTS_DATA_UNIT_IS_TOO_LARGE:191:xts data unit is too large EVP_R_XTS_DUPLICATED_KEYS:192:xts duplicated keys KDF_R_INVALID_DIGEST:100:invalid digest +KDF_R_INVALID_ITERATION_COUNT:119:invalid iteration count +KDF_R_INVALID_KEY_LEN:120:invalid key len KDF_R_INVALID_MAC_TYPE:116:invalid mac type +KDF_R_INVALID_SALT_LEN:121:invalid salt len KDF_R_MISSING_ITERATION_COUNT:109:missing iteration count KDF_R_MISSING_KEY:104:missing key KDF_R_MISSING_MESSAGE_DIGEST:105:missing message digest diff --git a/crypto/evp/p5_crpt2.c b/crypto/evp/p5_crpt2.c index c231a32..a7d4caf 100644 --- a/crypto/evp/p5_crpt2.c +++ b/crypto/evp/p5_crpt2.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -40,6 +40,7 @@ int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, if (kctx == NULL) return 0; if (EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PASS, pass, (size_t)passlen) != 1 + || EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE, 1) != 1 || EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_SALT, salt, (size_t)saltlen) != 1 || EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_ITER, iter) != 1 diff --git a/crypto/kdf/kdf_err.c b/crypto/kdf/kdf_err.c index 49028ab..98dc271 100644 --- a/crypto/kdf/kdf_err.c +++ b/crypto/kdf/kdf_err.c @@ -19,6 +19,7 @@ static const ERR_STRING_DATA KDF_str_functs[] = { {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_HKDF_NEW, 0), "kdf_hkdf_new"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_HKDF_SIZE, 0), "kdf_hkdf_size"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_MD2CTRL, 0), "kdf_md2ctrl"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_PBKDF2_CTRL, 0), "kdf_pbkdf2_ctrl"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_PBKDF2_CTRL_STR, 0), "kdf_pbkdf2_ctrl_str"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_PBKDF2_DERIVE, 0), "kdf_pbkdf2_derive"}, @@ -41,6 +42,7 @@ static const ERR_STRING_DATA KDF_str_functs[] = { {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_TLS1_PRF_DERIVE, 0), "kdf_tls1_prf_derive"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_TLS1_PRF_NEW, 0), "kdf_tls1_prf_new"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_PBKDF2_DERIVE, 0), "pbkdf2_derive"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_PBKDF2_SET_MEMBUF, 0), "pbkdf2_set_membuf"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_CTRL_STR, 0), "pkey_hkdf_ctrl_str"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_DERIVE, 0), "pkey_hkdf_derive"}, @@ -71,7 +73,11 @@ static const ERR_STRING_DATA KDF_str_functs[] = { static const ERR_STRING_DATA KDF_str_reasons[] = { {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_DIGEST), "invalid digest"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_ITERATION_COUNT), + "invalid iteration count"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_KEY_LEN), "invalid key len"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_MAC_TYPE), "invalid mac type"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_SALT_LEN), "invalid salt len"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_ITERATION_COUNT), "missing iteration count"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_KEY), "missing key"}, diff --git a/crypto/kdf/pbkdf2.c b/crypto/kdf/pbkdf2.c index 7009dfd..d416897 100644 --- a/crypto/kdf/pbkdf2.c +++ b/crypto/kdf/pbkdf2.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,12 +17,27 @@ #include "internal/evp_int.h" #include "kdf_local.h" +/* Constants specified in SP800-132 */ +#define KDF_PBKDF2_MIN_KEY_LEN_BITS 112 +#define KDF_PBKDF2_MAX_KEY_LEN_DIGEST_RATIO 0xFFFFFFFF +#define KDF_PBKDF2_MIN_ITERATIONS 1000 +#define KDF_PBKDF2_MIN_SALT_LEN (128 / 8) +/* + * For backwards compatibility reasons, + * Extra checks are done by default in fips mode only. + */ +#ifdef FIPS_MODE +# define KDF_PBKDF2_DEFAULT_CHECKS 1 +#else +# define KDF_PBKDF2_DEFAULT_CHECKS 0 +#endif /* FIPS_MODE */ + static void kdf_pbkdf2_reset(EVP_KDF_IMPL *impl); static void kdf_pbkdf2_init(EVP_KDF_IMPL *impl); -static int pkcs5_pbkdf2_alg(const char *pass, size_t passlen, - const unsigned char *salt, int saltlen, int iter, - const EVP_MD *digest, unsigned char *key, - size_t keylen); +static int pbkdf2_derive(const char *pass, size_t passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, unsigned char *key, + size_t keylen, int extra_checks); struct evp_kdf_impl_st { unsigned char *pass; @@ -31,6 +46,7 @@ struct evp_kdf_impl_st { size_t salt_len; int iter; const EVP_MD *md; + int lower_bound_checks; }; static EVP_KDF_IMPL *kdf_pbkdf2_new(void) @@ -64,6 +80,7 @@ static void kdf_pbkdf2_init(EVP_KDF_IMPL *impl) { impl->iter = PKCS5_DEFAULT_ITER; impl->md = EVP_sha1(); + impl->lower_bound_checks = KDF_PBKDF2_DEFAULT_CHECKS; } static int pbkdf2_set_membuf(unsigned char **buffer, size_t *buflen, @@ -91,12 +108,16 @@ static int pbkdf2_set_membuf(unsigned char **buffer, size_t *buflen, static int kdf_pbkdf2_ctrl(EVP_KDF_IMPL *impl, int cmd, va_list args) { - int iter; + int iter, pkcs5, min_iter; const unsigned char *p; size_t len; const EVP_MD *md; switch (cmd) { + case EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE: + pkcs5 = va_arg(args, int); + impl->lower_bound_checks = (pkcs5 == 0) ? 1 : 0; + return 1; case EVP_KDF_CTRL_SET_PASS: p = va_arg(args, const unsigned char *); len = va_arg(args, size_t); @@ -105,20 +126,28 @@ static int kdf_pbkdf2_ctrl(EVP_KDF_IMPL *impl, int cmd, va_list args) case EVP_KDF_CTRL_SET_SALT: p = va_arg(args, const unsigned char *); len = va_arg(args, size_t); + if (impl->lower_bound_checks != 0 && len < KDF_PBKDF2_MIN_SALT_LEN) { + KDFerr(KDF_F_KDF_PBKDF2_CTRL, KDF_R_INVALID_SALT_LEN); + return 0; + } return pbkdf2_set_membuf(&impl->salt, &impl->salt_len, p, len); case EVP_KDF_CTRL_SET_ITER: iter = va_arg(args, int); - if (iter < 1) + min_iter = impl->lower_bound_checks != 0 ? KDF_PBKDF2_MIN_ITERATIONS : 1; + if (iter < min_iter) { + KDFerr(KDF_F_KDF_PBKDF2_CTRL, KDF_R_INVALID_ITERATION_COUNT); return 0; - + } impl->iter = iter; return 1; case EVP_KDF_CTRL_SET_MD: md = va_arg(args, const EVP_MD *); - if (md == NULL) + if (md == NULL) { + KDFerr(KDF_F_KDF_PBKDF2_CTRL, KDF_R_VALUE_MISSING); return 0; + } impl->md = md; return 1; @@ -159,6 +188,9 @@ static int kdf_pbkdf2_ctrl_str(EVP_KDF_IMPL *impl, const char *type, if (strcmp(type, "digest") == 0) return kdf_md2ctrl(impl, kdf_pbkdf2_ctrl, EVP_KDF_CTRL_SET_MD, value); + if (strcmp(type, "pkcs5") == 0) + return kdf_str2ctrl(impl, kdf_pbkdf2_ctrl, + EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE, value); return -2; } @@ -175,9 +207,9 @@ static int kdf_pbkdf2_derive(EVP_KDF_IMPL *impl, unsigned char *key, return 0; } - return pkcs5_pbkdf2_alg((char *)impl->pass, impl->pass_len, - impl->salt, impl->salt_len, impl->iter, - impl->md, key, keylen); + return pbkdf2_derive((char *)impl->pass, impl->pass_len, + impl->salt, impl->salt_len, impl->iter, + impl->md, key, keylen, impl->lower_bound_checks); } const EVP_KDF pbkdf2_kdf_meth = { @@ -195,12 +227,16 @@ const EVP_KDF pbkdf2_kdf_meth = { * This is an implementation of PKCS#5 v2.0 password based encryption key * derivation function PBKDF2. SHA1 version verified against test vectors * posted by Peter Gutmann to the PKCS-TNG mailing list. + * + * The constraints specified by SP800-132 have been added i.e. + * - Check the range of the key length. + * - Minimum iteration count of 1000. + * - Randomly-generated portion of the salt shall be at least 128 bits. */ - -static int pkcs5_pbkdf2_alg(const char *pass, size_t passlen, - const unsigned char *salt, int saltlen, int iter, - const EVP_MD *digest, unsigned char *key, - size_t keylen) +static int pbkdf2_derive(const char *pass, size_t passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, unsigned char *key, + size_t keylen, int lower_bound_checks) { int ret = 0; unsigned char digtmp[EVP_MAX_MD_SIZE], *p, itmp[4]; @@ -209,8 +245,32 @@ static int pkcs5_pbkdf2_alg(const char *pass, size_t passlen, HMAC_CTX *hctx_tpl = NULL, *hctx = NULL; mdlen = EVP_MD_size(digest); - if (mdlen < 0) + if (mdlen <= 0) + return 0; + + /* + * This check should always be done because keylen / mdlen >= (2^32 - 1) + * results in an overflow of the loop counter 'i'. + */ + if ((keylen / mdlen) >= KDF_PBKDF2_MAX_KEY_LEN_DIGEST_RATIO) { + KDFerr(KDF_F_PBKDF2_DERIVE, KDF_R_INVALID_KEY_LEN); return 0; + } + + if (lower_bound_checks) { + if ((keylen * 8) < KDF_PBKDF2_MIN_KEY_LEN_BITS) { + KDFerr(KDF_F_PBKDF2_DERIVE, KDF_R_INVALID_KEY_LEN); + return 0; + } + if (saltlen < KDF_PBKDF2_MIN_SALT_LEN) { + KDFerr(KDF_F_PBKDF2_DERIVE, KDF_R_INVALID_SALT_LEN); + return 0; + } + if (iter < KDF_PBKDF2_MIN_ITERATIONS) { + KDFerr(KDF_F_PBKDF2_DERIVE, KDF_R_INVALID_ITERATION_COUNT); + return 0; + } + } hctx_tpl = HMAC_CTX_new(); if (hctx_tpl == NULL) diff --git a/doc/man7/EVP_KDF_PBKDF2.pod b/doc/man7/EVP_KDF_PBKDF2.pod index ba322d4..c3d3f27 100644 --- a/doc/man7/EVP_KDF_PBKDF2.pod +++ b/doc/man7/EVP_KDF_PBKDF2.pod @@ -10,7 +10,7 @@ Support for computing the B password-based KDF through the B API. The EVP_KDF_PBKDF2 algorithm implements the PBKDF2 password-based key -derivation function, as described in RFC 2898; it derives a key from a password +derivation function, as described in SP800-132; it derives a key from a password using a salt and iteration count. =head2 Numeric identity @@ -30,13 +30,38 @@ The supported controls are: =item B +This control has a default value of 2048. + =item B These controls work as described in L. -B is the iteration count and its value should be greater than or equal to -1. RFC 2898 suggests an iteration count of at least 1000. The default value is -2048. Any B less than 1 is treated as a single iteration. +=item B + +This control expects one argument: C + +This control can be used to enable or disable SP800-132 compliance checks. + +Setting the mode to 0 enables the compliance checks. + +The checks performed are: + +=over 4 + +=item - the iteration count is at least 1000. + +=item - the salt length is at least 128 bits. + +=item - the derived key length is at least 112 bits. + +=back + +The default provider uses a default mode of 1 for backwards compatibility, +and the fips provider uses a default mode of 0. + +EVP_KDF_ctrl_str() type string: "pkcs5" + +The value string is expected to be a decimal number 0 or 1. =back @@ -55,7 +80,7 @@ byte sequence. =head1 CONFORMING TO -RFC 2898 +SP800-132 =head1 SEE ALSO @@ -66,9 +91,13 @@ L, L, L +=head1 HISTORY + +This functionality was added to OpenSSL 3.0.0. + =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/include/openssl/kdf.h b/include/openssl/kdf.h index b13b54c..960098d 100644 --- a/include/openssl/kdf.h +++ b/include/openssl/kdf.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -44,28 +44,29 @@ int EVP_KDF_nid(const EVP_KDF *kdf); # define EVP_KDF_name(o) OBJ_nid2sn(EVP_KDF_nid(o)) const EVP_KDF *EVP_get_kdfbyname(const char *name); -# define EVP_KDF_CTRL_SET_PASS 0x01 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SALT 0x02 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_ITER 0x03 /* int */ -# define EVP_KDF_CTRL_SET_MD 0x04 /* EVP_MD * */ -# define EVP_KDF_CTRL_SET_KEY 0x05 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_MAXMEM_BYTES 0x06 /* uint64_t */ -# define EVP_KDF_CTRL_SET_TLS_SECRET 0x07 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_RESET_TLS_SEED 0x08 -# define EVP_KDF_CTRL_ADD_TLS_SEED 0x09 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_RESET_HKDF_INFO 0x0a -# define EVP_KDF_CTRL_ADD_HKDF_INFO 0x0b /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_HKDF_MODE 0x0c /* int */ -# define EVP_KDF_CTRL_SET_SCRYPT_N 0x0d /* uint64_t */ -# define EVP_KDF_CTRL_SET_SCRYPT_R 0x0e /* uint32_t */ -# define EVP_KDF_CTRL_SET_SCRYPT_P 0x0f /* uint32_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_XCGHASH 0x10 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID 0x11 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_TYPE 0x12 /* int */ -# define EVP_KDF_CTRL_SET_MAC 0x13 /* EVP_MAC * */ -# define EVP_KDF_CTRL_SET_MAC_SIZE 0x14 /* size_t */ -# define EVP_KDF_CTRL_SET_SSKDF_INFO 0x15 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SHARED_INFO EVP_KDF_CTRL_SET_SSKDF_INFO +# define EVP_KDF_CTRL_SET_PASS 0x01 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_SALT 0x02 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_ITER 0x03 /* int */ +# define EVP_KDF_CTRL_SET_MD 0x04 /* EVP_MD * */ +# define EVP_KDF_CTRL_SET_KEY 0x05 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_MAXMEM_BYTES 0x06 /* uint64_t */ +# define EVP_KDF_CTRL_SET_TLS_SECRET 0x07 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_RESET_TLS_SEED 0x08 +# define EVP_KDF_CTRL_ADD_TLS_SEED 0x09 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_RESET_HKDF_INFO 0x0a +# define EVP_KDF_CTRL_ADD_HKDF_INFO 0x0b /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_HKDF_MODE 0x0c /* int */ +# define EVP_KDF_CTRL_SET_SCRYPT_N 0x0d /* uint64_t */ +# define EVP_KDF_CTRL_SET_SCRYPT_R 0x0e /* uint32_t */ +# define EVP_KDF_CTRL_SET_SCRYPT_P 0x0f /* uint32_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_XCGHASH 0x10 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID 0x11 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_TYPE 0x12 /* int */ +# define EVP_KDF_CTRL_SET_MAC 0x13 /* EVP_MAC * */ +# define EVP_KDF_CTRL_SET_MAC_SIZE 0x14 /* size_t */ +# define EVP_KDF_CTRL_SET_SSKDF_INFO 0x15 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE 0x16 /* int */ +# define EVP_KDF_CTRL_SET_SHARED_INFO EVP_KDF_CTRL_SET_SSKDF_INFO # define EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND 0 # define EVP_KDF_HKDF_MODE_EXTRACT_ONLY 1 diff --git a/include/openssl/kdferr.h b/include/openssl/kdferr.h index db87f69..2899955 100644 --- a/include/openssl/kdferr.h +++ b/include/openssl/kdferr.h @@ -28,6 +28,7 @@ int ERR_load_KDF_strings(void); # define KDF_F_KDF_HKDF_NEW 114 # define KDF_F_KDF_HKDF_SIZE 115 # define KDF_F_KDF_MD2CTRL 116 +# define KDF_F_KDF_PBKDF2_CTRL 140 # define KDF_F_KDF_PBKDF2_CTRL_STR 117 # define KDF_F_KDF_PBKDF2_DERIVE 118 # define KDF_F_KDF_PBKDF2_NEW 119 @@ -43,6 +44,7 @@ int ERR_load_KDF_strings(void); # define KDF_F_KDF_TLS1_PRF_CTRL_STR 125 # define KDF_F_KDF_TLS1_PRF_DERIVE 126 # define KDF_F_KDF_TLS1_PRF_NEW 127 +# define KDF_F_PBKDF2_DERIVE 141 # define KDF_F_PBKDF2_SET_MEMBUF 128 # define KDF_F_PKEY_HKDF_CTRL_STR 103 # define KDF_F_PKEY_HKDF_DERIVE 102 @@ -68,7 +70,10 @@ int ERR_load_KDF_strings(void); * KDF reason codes. */ # define KDF_R_INVALID_DIGEST 100 +# define KDF_R_INVALID_ITERATION_COUNT 119 +# define KDF_R_INVALID_KEY_LEN 120 # define KDF_R_INVALID_MAC_TYPE 116 +# define KDF_R_INVALID_SALT_LEN 121 # define KDF_R_MISSING_ITERATION_COUNT 109 # define KDF_R_MISSING_KEY 104 # define KDF_R_MISSING_MESSAGE_DIGEST 105 diff --git a/test/evp_kdf_test.c b/test/evp_kdf_test.c index 79177f9..3b515f9 100644 --- a/test/evp_kdf_test.c +++ b/test/evp_kdf_test.c @@ -74,24 +74,57 @@ static int test_kdf_pbkdf2(void) { int ret; EVP_KDF_CTX *kctx; - unsigned char out[32]; - static const unsigned char expected[sizeof(out)] = { - 0xae, 0x4d, 0x0c, 0x95, 0xaf, 0x6b, 0x46, 0xd3, - 0x2d, 0x0a, 0xdf, 0xf9, 0x28, 0xf0, 0x6d, 0xd0, - 0x2a, 0x30, 0x3f, 0x8e, 0xf3, 0xc2, 0x51, 0xdf, - 0xd6, 0xe2, 0xd8, 0x5a, 0x95, 0x47, 0x4c, 0x43 + unsigned char out[25]; + size_t len = 0; + const unsigned char expected[sizeof(out)] = { + 0x34, 0x8c, 0x89, 0xdb, 0xcb, 0xd3, 0x2b, 0x2f, + 0x32, 0xd8, 0x14, 0xb8, 0x11, 0x6e, 0x84, 0xcf, + 0x2b, 0x17, 0x34, 0x7e, 0xbc, 0x18, 0x00, 0x18, + 0x1c }; - ret = - TEST_ptr(kctx = EVP_KDF_CTX_new_id(EVP_KDF_PBKDF2)) - && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PASS, "password", - (size_t)8), 0) - && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_SALT, "salt", - (size_t)4), 0) - && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_ITER, 2), 0) - && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_MD, EVP_sha256()), 0) - && TEST_int_gt(EVP_KDF_derive(kctx, out, sizeof(out)), 0) - && TEST_mem_eq(out, sizeof(out), expected, sizeof(expected)); + if (sizeof(len) > 32) + len = SIZE_MAX; + + ret = TEST_ptr(kctx = EVP_KDF_CTX_new_id(EVP_KDF_PBKDF2)) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PASS, + "passwordPASSWORDpassword", + (size_t)24), 0) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_SALT, + "saltSALTsaltSALTsaltSALTsaltSALTsalt", + (size_t)36), 0) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_ITER, 4096), 0) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_MD, EVP_sha256()), + 0) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE, + 0), 0) + && TEST_int_gt(EVP_KDF_derive(kctx, out, sizeof(out)), 0) + && TEST_mem_eq(out, sizeof(out), expected, sizeof(expected)) + /* A key length that is too small should fail */ + && TEST_int_eq(EVP_KDF_derive(kctx, out, 112 / 8 - 1), 0) + /* A key length that is too large should fail */ + && (len == 0 || TEST_int_eq(EVP_KDF_derive(kctx, out, len), 0)) + /* Salt length less than 128 bits should fail */ + && TEST_int_eq(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_SALT, + "123456781234567", + (size_t)15), 0) + /* A small iteration count should fail */ + && TEST_int_eq(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_ITER, 1), 0) + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE, + 1), 0) + /* Small salts will pass if the "pkcs5" mode is enabled */ + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_SALT, + "123456781234567", + (size_t)15), 0) + /* A small iteration count will pass if "pkcs5" mode is enabled */ + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_ITER, 1), 0) + /* + * If the "pkcs5" mode is disabled then the small salt and iter will + * fail when the derive gets called. + */ + && TEST_int_gt(EVP_KDF_ctrl(kctx, EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE, + 0), 0) + && TEST_int_eq(EVP_KDF_derive(kctx, out, sizeof(out)), 0); EVP_KDF_CTX_free(kctx); return ret; diff --git a/test/recipes/20-test_kdf.t b/test/recipes/20-test_kdf.t index 0ea484e..39fb485 100755 --- a/test/recipes/20-test_kdf.t +++ b/test/recipes/20-test_kdf.t @@ -25,8 +25,8 @@ my @kdf_tests = ( { cmd => [qw{openssl kdf -keylen 10 -kdfopt digest:SHA256 -kdfopt key:secret -kdfopt salt:salt -kdfopt info:label HKDF}], expected => '2a:c4:36:9f:52:59:96:f8:de:13', desc => 'HKDF SHA256' }, - { cmd => [qw{openssl kdf -keylen 32 -kdfopt digest:SHA256 -kdfopt pass:password -kdfopt salt:salt -kdfopt iter:2 PBKDF2}], - expected => 'ae:4d:0c:95:af:6b:46:d3:2d:0a:df:f9:28:f0:6d:d0:2a:30:3f:8e:f3:c2:51:df:d6:e2:d8:5a:95:47:4c:43', + { cmd => [qw{openssl kdf -keylen 25 -kdfopt digest:SHA256 -kdfopt pass:passwordPASSWORDpassword -kdfopt salt:saltSALTsaltSALTsaltSALTsaltSALTsalt -kdfopt iter:4096 PBKDF2}], + expected => '34:8C:89:DB:CB:D3:2B:2F:32:D8:14:B8:11:6E:84:CF:2B:17:34:7E:BC:18:00:18:1C', desc => 'PBKDF2 SHA256'}, { cmd => [qw{openssl kdf -keylen 64 -kdfopt mac:KMAC128 -kdfopt maclen:20 -kdfopt hexkey:b74a149a161546f8c20b06ac4ed4 -kdfopt hexinfo:348a37a27ef1282f5f020dcc -kdfopt hexsalt:3638271ccd68a25dc24ecddd39ef3f89 SSKDF}], expected => 'e9:c1:84:53:a0:62:b5:3b:db:fc:bb:5a:34:bd:b8:e5:e7:07:ee:bb:5d:d1:34:42:43:d8:cf:c2:c2:e6:33:2f:91:bd:a5:86:f3:7d:e4:8a:65:d4:c5:14:fd:ef:aa:1e:67:54:f3:73:d2:38:e1:95:ae:15:7e:1d:e8:14:98:03', diff --git a/test/recipes/30-test_evp_data/evpkdf.txt b/test/recipes/30-test_evp_data/evpkdf.txt index 7100c21..991c574 100644 --- a/test/recipes/30-test_evp_data/evpkdf.txt +++ b/test/recipes/30-test_evp_data/evpkdf.txt @@ -306,6 +306,7 @@ Result = INTERNAL_ERROR Title = PBKDF2 tests KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:1 @@ -313,6 +314,7 @@ Ctrl.digest = digest:sha1 Output = 0c60c80f961f0e71f3a9b524af6012062fe037a6 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:1 @@ -320,6 +322,7 @@ Ctrl.digest = digest:sha256 Output = 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:1 @@ -327,6 +330,7 @@ Ctrl.digest = digest:sha512 Output = 867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252c02d470a285a0501bad999bfe943c08f050235d7d68b1da55e63f73b60a57fce KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:2 @@ -334,6 +338,7 @@ Ctrl.digest = digest:sha1 Output = ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:2 @@ -341,6 +346,7 @@ Ctrl.digest = digest:sha256 Output = ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:2 @@ -348,6 +354,7 @@ Ctrl.digest = digest:sha512 Output = e1d9c16aa681708a45f5c7c4e215ceb66e011a2e9f0040713f18aefdb866d53cf76cab2868a39b9f7840edce4fef5a82be67335c77a6068e04112754f27ccf4e KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:4096 @@ -355,6 +362,7 @@ Ctrl.digest = digest:sha1 Output = 4b007901b765489abead49d926f721d065a429c1 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:4096 @@ -362,6 +370,7 @@ Ctrl.digest = digest:sha256 Output = c5e478d59288c841aa530db6845c4c8d962893a001ce4e11a4963873aa98134a KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass:password Ctrl.salt = salt:salt Ctrl.iter = iter:4096 @@ -390,6 +399,7 @@ Ctrl.digest = digest:sha512 Output = 8c0511f4c6e597c6ac6315d8f0362e225f3c501495ba23b868c005174dc4ee71115b59f9e60cd9532fa33e0f75aefe30225c583a186cd82bd4daea9724a3d3b8 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.hexpass = hexpass:7061737300776f7264 Ctrl.hexsalt = hexsalt:7361006c74 Ctrl.iter = iter:4096 @@ -397,6 +407,7 @@ Ctrl.digest = digest:sha1 Output = 56fa6aa75548099dcc37d7f03425e0c3 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.hexpass = hexpass:7061737300776f7264 Ctrl.hexsalt = hexsalt:7361006c74 Ctrl.iter = iter:4096 @@ -404,6 +415,7 @@ Ctrl.digest = digest:sha256 Output = 89b69d0516f829893c696226650a8687 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.hexpass = hexpass:7061737300776f7264 Ctrl.hexsalt = hexsalt:7361006c74 Ctrl.iter = iter:4096 @@ -413,6 +425,7 @@ Output = 9d9e9c4cd21fe4be24d5b8244c759665 Title = PBKDF2 tests for empty inputs KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass: Ctrl.salt = salt:salt Ctrl.iter = iter:1 @@ -420,6 +433,7 @@ Ctrl.digest = digest:sha1 Output = a33dddc30478185515311f8752895d36ea4363a2 KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass: Ctrl.salt = salt:salt Ctrl.iter = iter:1 @@ -427,6 +441,7 @@ Ctrl.digest = digest:sha256 Output = f135c27993baf98773c5cdb40a5706ce6a345cde KDF = PBKDF2 +Ctrl.pkcs5 = pkcs5:1 Ctrl.pass = pass: Ctrl.salt = salt:salt Ctrl.iter = iter:1 From shane.lontis at oracle.com Tue Jun 11 11:31:46 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 11 Jun 2019 11:31:46 +0000 Subject: [openssl] master update Message-ID: <1560252706.209217.18581.nullmailer@dev.openssl.org> The branch master has been updated via 53f5469604b5295a93316ec75f5da6aaf299d892 (commit) via a1f0478277cedbbe5e866c046e540b48e8045a28 (commit) via 92bec78a26139185c840a5d516a2aa171b20e269 (commit) from f0efeea29eca6e528a976f62ae2422eee34ea0eb (commit) - Log ----------------------------------------------------------------- commit 53f5469604b5295a93316ec75f5da6aaf299d892 Author: Shane Lontis Date: Tue Jun 11 18:19:20 2019 +1000 Fix app opt compile failure due to missing opt.c uses functions that are only available if inttypes.h exists. It now checks a define which is unavailable if inttypes.h is included. The include is done automagically inside e_os2.h. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8986) commit a1f0478277cedbbe5e866c046e540b48e8045a28 Author: Shane Lontis Date: Tue Jun 11 18:17:52 2019 +1000 Fix Windows Compile failure due to missing Including caused a windows build failure. The test is now skipped if strtoimax & strtoumax are not supported. It does this by checking for a define which is only available if inttypes.h is not included. The include is done automagically inside e_os2.h. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8986) commit 92bec78a26139185c840a5d516a2aa171b20e269 Author: Shane Lontis Date: Tue Jun 11 18:16:51 2019 +1000 Add defines to indicate if intypes.h and stdint.h are unavailable Use the defines OPENSSL_NO_INTTYPES_H & OPENSSL_NO_STDINT_H to determine if the headers are unavailable for a platform. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8986) ----------------------------------------------------------------------- Summary of changes: apps/include/opt.h | 3 ++- apps/opt.c | 3 ++- include/openssl/e_os2.h | 6 ++++++ test/params_conversion_test.c | 15 +++++++++++---- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/apps/include/opt.h b/apps/include/opt.h index ecfa06e..81faf70 100644 --- a/apps/include/opt.h +++ b/apps/include/opt.h @@ -317,7 +317,8 @@ int opt_int(const char *arg, int *result); int opt_ulong(const char *arg, unsigned long *result); int opt_long(const char *arg, long *result); #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ - defined(INTMAX_MAX) && defined(UINTMAX_MAX) + defined(INTMAX_MAX) && defined(UINTMAX_MAX) && \ + !defined(OPENSSL_NO_INTTYPES_H) int opt_imax(const char *arg, intmax_t *result); int opt_umax(const char *arg, uintmax_t *result); #else diff --git a/apps/opt.c b/apps/opt.c index 439f271..f4a4e12 100644 --- a/apps/opt.c +++ b/apps/opt.c @@ -377,7 +377,8 @@ int opt_long(const char *value, long *result) } #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ - defined(INTMAX_MAX) && defined(UINTMAX_MAX) + defined(INTMAX_MAX) && defined(UINTMAX_MAX) && \ + !defined(OPENSSL_NO_INTTYPES_H) /* Parse an intmax_t, put it into *result; return 0 on failure, else 1. */ int opt_imax(const char *value, intmax_t *result) diff --git a/include/openssl/e_os2.h b/include/openssl/e_os2.h index b88abc1..50ce937 100644 --- a/include/openssl/e_os2.h +++ b/include/openssl/e_os2.h @@ -228,6 +228,8 @@ extern "C" { # endif /* Standard integer types */ +# define OPENSSL_NO_INTTYPES_H +# define OPENSSL_NO_STDINT_H # if defined(OPENSSL_SYS_UEFI) typedef INT8 int8_t; typedef UINT8 uint8_t; @@ -241,6 +243,9 @@ typedef UINT64 uint64_t; defined(__osf__) || defined(__sgi) || defined(__hpux) || \ defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__) # include +# undef OPENSSL_NO_INTTYPES_H +/* Because the specs say that inttypes.h includes stdint.h if present */ +# undef OPENSSL_NO_STDINT_H # elif defined(_MSC_VER) && _MSC_VER<=1500 /* * minimally required typdefs for systems not supporting inttypes.h or @@ -256,6 +261,7 @@ typedef __int64 int64_t; typedef unsigned __int64 uint64_t; # else # include +# undef OPENSSL_NO_STDINT_H # endif /* ossl_inline: portable inline definition usable in public headers */ diff --git a/test/params_conversion_test.c b/test/params_conversion_test.c index 96d0aaa..9db5bd8 100644 --- a/test/params_conversion_test.c +++ b/test/params_conversion_test.c @@ -9,13 +9,15 @@ */ #include -#include #include #include "testutil.h" -#ifdef OPENSSL_SYS_WINDOWS -# define strcasecmp _stricmp -#endif +/* On machines that dont support just disable the tests */ +#if !defined(OPENSSL_NO_INTTYPES_H) + +# ifdef OPENSSL_SYS_WINDOWS +# define strcasecmp _stricmp +# endif typedef struct { const OSSL_PARAM *param; @@ -320,6 +322,8 @@ end: return res; } +#endif /* OPENSSL_NO_INTTYPES_H */ + OPT_TEST_DECLARE_USAGE("file...\n") int setup_tests(void) @@ -329,6 +333,9 @@ int setup_tests(void) if (n == 0) return 0; +#if !defined(OPENSSL_NO_INTTYPES_H) ADD_ALL_TESTS(run_param_file_tests, n); +#endif /* OPENSSL_NO_INTTYPES_H */ + return 1; } From builds at travis-ci.org Tue Jun 11 11:39:03 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 11:39:03 +0000 Subject: Still Failing: openssl/openssl#25677 (master - f0efeea) In-Reply-To: Message-ID: <5cff92d74650d_43fd35b418174620fe@8fadc669-362b-4078-8c9b-c5ccaa776ffb.mail> Build Update for openssl/openssl ------------------------------------- Build: #25677 Status: Still Failing Duration: 22 mins and 23 secs Commit: f0efeea (master) Author: Shane Lontis Message: PBKDF2 updates to conform to SP800-132 The existing code used PKCS5 specifications. SP800-132 adds the following additional constraints for: - the range of the key length. - the minimum iteration count (1000 recommended). - salt length (at least 128 bits). These additional constraints may cause errors (in scrypt, and some PKCS5 related test vectors). To disable the new constraints use the new ctrl string "pkcs5". For backwards compatability, the checks are only enabled by default for fips mode. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8868) View the changeset: https://github.com/openssl/openssl/compare/83b4a24384e6...f0efeea29eca View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544172262?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 Tue Jun 11 11:51:05 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Tue, 11 Jun 2019 11:51:05 +0000 Subject: [openssl] master update Message-ID: <1560253865.996603.18457.nullmailer@dev.openssl.org> The branch master has been updated via e98e586b31386af2b2212729da85561a207e7af3 (commit) from 53f5469604b5295a93316ec75f5da6aaf299d892 (commit) - Log ----------------------------------------------------------------- commit e98e586b31386af2b2212729da85561a207e7af3 Author: Bernd Edlinger Date: Mon Jun 10 10:24:35 2019 +0200 Fix a URL to the NMBRTHRY list archive Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9123) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_sqrt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/bn/bn_sqrt.c b/crypto/bn/bn_sqrt.c index 7ed8828..5981cd0 100644 --- a/crypto/bn/bn_sqrt.c +++ b/crypto/bn/bn_sqrt.c @@ -125,7 +125,8 @@ BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) * = a. * * (This is due to A.O.L. Atkin, - * , + * Subject: Square Roots and Cognate Matters modulo p=8n+5. + * URL: https://listserv.nodak.edu/cgi-bin/wa.exe?A2=ind9211&L=NMBRTHRY&P=4026 * November 1992.) */ From bernd.edlinger at hotmail.de Tue Jun 11 11:52:40 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Tue, 11 Jun 2019 11:52:40 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560253960.110071.21655.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via b658421823c997586f16d1edc4351448c90c86a8 (commit) from 7f54244863fc3449c8ceb0469e017642b57809ff (commit) - Log ----------------------------------------------------------------- commit b658421823c997586f16d1edc4351448c90c86a8 Author: Bernd Edlinger Date: Mon Jun 10 10:24:35 2019 +0200 Fix a URL to the NMBRTHRY list archive Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9123) (cherry picked from commit e98e586b31386af2b2212729da85561a207e7af3) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_sqrt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/bn/bn_sqrt.c b/crypto/bn/bn_sqrt.c index b97d8ca..ac8c4b9 100644 --- a/crypto/bn/bn_sqrt.c +++ b/crypto/bn/bn_sqrt.c @@ -125,7 +125,8 @@ BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) * = a. * * (This is due to A.O.L. Atkin, - * , + * Subject: Square Roots and Cognate Matters modulo p=8n+5. + * URL: https://listserv.nodak.edu/cgi-bin/wa.exe?A2=ind9211&L=NMBRTHRY&P=4026 * November 1992.) */ From builds at travis-ci.org Tue Jun 11 11:57:43 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 11:57:43 +0000 Subject: Still Failing: openssl/openssl#25678 (master - 53f5469) In-Reply-To: Message-ID: <5cff97378074e_43fe397fd1e101514ee@ddc78d26-6484-408c-98c8-81ca41ef7666.mail> Build Update for openssl/openssl ------------------------------------- Build: #25678 Status: Still Failing Duration: 25 mins and 17 secs Commit: 53f5469 (master) Author: Shane Lontis Message: Fix app opt compile failure due to missing opt.c uses functions that are only available if inttypes.h exists. It now checks a define which is unavailable if inttypes.h is included. The include is done automagically inside e_os2.h. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8986) View the changeset: https://github.com/openssl/openssl/compare/f0efeea29eca...53f5469604b5 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544177997?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 Jun 11 12:14:26 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 12:14:26 +0000 Subject: Still Failing: openssl/openssl#25679 (master - e98e586) In-Reply-To: Message-ID: <5cff9b21e7a2e_43fe39437d3ec1574a8@ddc78d26-6484-408c-98c8-81ca41ef7666.mail> Build Update for openssl/openssl ------------------------------------- Build: #25679 Status: Still Failing Duration: 22 mins and 48 secs Commit: e98e586 (master) Author: Bernd Edlinger Message: Fix a URL to the NMBRTHRY list archive Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9123) View the changeset: https://github.com/openssl/openssl/compare/53f5469604b5...e98e586b3138 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544185740?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 Tue Jun 11 14:24:10 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 11 Jun 2019 14:24:10 +0000 Subject: [openssl] master update Message-ID: <1560263050.157930.22606.nullmailer@dev.openssl.org> The branch master has been updated via a2e520447e17a58b52cdf41ab1218b020f44e4a6 (commit) from e98e586b31386af2b2212729da85561a207e7af3 (commit) - Log ----------------------------------------------------------------- commit a2e520447e17a58b52cdf41ab1218b020f44e4a6 Author: Matt Caswell Date: Tue Jun 11 13:27:45 2019 +0100 Move a fall through comment When compiling with --strict-warnings using gcc 7.4.0 the compiler complains that a case falls through, even though there is an explicit comment stating this. Moving the comment outside of the conditional compilation section resolves this. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9131) ----------------------------------------------------------------------- Summary of changes: crypto/bio/b_addr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index 261d439..d7fcf2f 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -718,8 +718,8 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, hints.ai_flags &= ~AI_ADDRCONFIG; goto retry; } - /* fall through */ # endif + /* fall through */ default: BIOerr(BIO_F_BIO_LOOKUP_EX, ERR_R_SYS_LIB); ERR_add_error_data(1, gai_strerror(gai_ret)); From matt at openssl.org Tue Jun 11 14:24:20 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 11 Jun 2019 14:24:20 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560263060.569698.23528.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c4376aed029f10b1c6cd0fd26e0c111e55bf3ab0 (commit) from b658421823c997586f16d1edc4351448c90c86a8 (commit) - Log ----------------------------------------------------------------- commit c4376aed029f10b1c6cd0fd26e0c111e55bf3ab0 Author: Matt Caswell Date: Tue Jun 11 13:27:45 2019 +0100 Move a fall through comment When compiling with --strict-warnings using gcc 7.4.0 the compiler complains that a case falls through, even though there is an explicit comment stating this. Moving the comment outside of the conditional compilation section resolves this. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9131) (cherry picked from commit a2e520447e17a58b52cdf41ab1218b020f44e4a6) ----------------------------------------------------------------------- Summary of changes: crypto/bio/b_addr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index 5ce473e..1619ab5 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -718,8 +718,8 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, hints.ai_flags &= ~AI_ADDRCONFIG; goto retry; } - /* fall through */ # endif + /* fall through */ default: BIOerr(BIO_F_BIO_LOOKUP_EX, ERR_R_SYS_LIB); ERR_add_error_data(1, gai_strerror(gai_ret)); From builds at travis-ci.org Tue Jun 11 14:45:19 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 14:45:19 +0000 Subject: Still Failing: openssl/openssl#25685 (master - a2e5204) In-Reply-To: Message-ID: <5cffbe7f26713_43fb7acabce781457c8@b578b378-1637-4c39-af30-8e8d0d0eb214.mail> Build Update for openssl/openssl ------------------------------------- Build: #25685 Status: Still Failing Duration: 20 mins and 30 secs Commit: a2e5204 (master) Author: Matt Caswell Message: Move a fall through comment When compiling with --strict-warnings using gcc 7.4.0 the compiler complains that a case falls through, even though there is an explicit comment stating this. Moving the comment outside of the conditional compilation section resolves this. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9131) View the changeset: https://github.com/openssl/openssl/compare/e98e586b3138...a2e520447e17 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544257975?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 Jun 11 14:55:34 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 11 Jun 2019 14:55:34 +0000 Subject: Errored: openssl/openssl#25686 (OpenSSL_1_1_1-stable - c4376ae) In-Reply-To: Message-ID: <5cffc0e647306_43fe38dcb02cc226298@ddc78d26-6484-408c-98c8-81ca41ef7666.mail> Build Update for openssl/openssl ------------------------------------- Build: #25686 Status: Errored Duration: 24 mins and 16 secs Commit: c4376ae (OpenSSL_1_1_1-stable) Author: Matt Caswell Message: Move a fall through comment When compiling with --strict-warnings using gcc 7.4.0 the compiler complains that a case falls through, even though there is an explicit comment stating this. Moving the comment outside of the conditional compilation section resolves this. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9131) (cherry picked from commit a2e520447e17a58b52cdf41ab1218b020f44e4a6) View the changeset: https://github.com/openssl/openssl/compare/b658421823c9...c4376aed029f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544258124?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 Tue Jun 11 15:49:31 2019 From: nic.tuv at gmail.com (nic.tuv at gmail.com) Date: Tue, 11 Jun 2019 15:49:31 +0000 Subject: [openssl] OpenSSL_1_0_2-stable update Message-ID: <1560268171.116079.22242.nullmailer@dev.openssl.org> The branch OpenSSL_1_0_2-stable has been updated via 7a7afc559ebc0ad88390cc62bfc34c221d595831 (commit) via 3750879c117fddf583ef5d46069bac2b4d6523b8 (commit) from 8479e9e97354add3c562670db66b5f8151dc3b2e (commit) - Log ----------------------------------------------------------------- commit 7a7afc559ebc0ad88390cc62bfc34c221d595831 Author: Bernd Edlinger Date: Thu Apr 19 22:17:24 2018 +0200 Fix a warning about missing prototype on arm (cherry picked from commit 5fc89c1af837026b5812526ef6f519bf7ca42f16) Reviewed-by: Paul Dale Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/8243) commit 3750879c117fddf583ef5d46069bac2b4d6523b8 Author: Bernd Edlinger Date: Thu Apr 19 20:56:46 2018 +0200 Fix building linux-armv4 with --strict-warnings (cherry picked from commit 0e0f8116e247912f5c48f8b3786e543f37fc1f87) Reviewed-by: Paul Dale Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/8243) ----------------------------------------------------------------------- Summary of changes: crypto/arm_arch.h | 2 +- crypto/armcap.c | 1 + crypto/cryptlib.h | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crypto/arm_arch.h b/crypto/arm_arch.h index 9d6e588..de592de 100644 --- a/crypto/arm_arch.h +++ b/crypto/arm_arch.h @@ -64,7 +64,7 @@ # endif # endif -# if !__ASSEMBLER__ +# ifndef __ASSEMBLER__ extern unsigned int OPENSSL_armcap_P; # endif diff --git a/crypto/armcap.c b/crypto/armcap.c index 356fa15..6283e37 100644 --- a/crypto/armcap.c +++ b/crypto/armcap.c @@ -5,6 +5,7 @@ #include #include +#include "cryptlib.h" #include "arm_arch.h" unsigned int OPENSSL_armcap_P = 0; diff --git a/crypto/cryptlib.h b/crypto/cryptlib.h index cdbddf1..2f9eced 100644 --- a/crypto/cryptlib.h +++ b/crypto/cryptlib.h @@ -106,6 +106,8 @@ extern int OPENSSL_NONPIC_relocated; char *ossl_safe_getenv(const char *); +unsigned long OPENSSL_rdtsc(void); + #ifdef __cplusplus } #endif From no-reply at appveyor.com Tue Jun 11 23:19:26 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 11 Jun 2019 23:19:26 +0000 Subject: Build failed: openssl master.25135 Message-ID: <20190611231926.1.7004F62135633080@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 00:34:55 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 00:34:55 +0000 Subject: Build failed: openssl master.25141 Message-ID: <20190612003455.1.EBF5EE0821340CEF@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 01:00:17 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 01:00:17 +0000 Subject: Build failed: openssl master.25143 Message-ID: <20190612010017.1.E9AA9FF041865353@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Wed Jun 12 03:03:28 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 12 Jun 2019 03:03:28 +0000 Subject: [openssl] master update Message-ID: <1560308608.590426.1029.nullmailer@dev.openssl.org> The branch master has been updated via c79b6b874b734c4fc495201256648f5b726ec90c (commit) from a2e520447e17a58b52cdf41ab1218b020f44e4a6 (commit) - Log ----------------------------------------------------------------- commit c79b6b874b734c4fc495201256648f5b726ec90c Author: Pauli Date: Wed Jun 12 09:48:13 2019 +1000 OSSL_PARAM example code bug fix. Technically not a bug since the code worked but the array index shouldn't have been constant after searching for the field. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9136) ----------------------------------------------------------------------- Summary of changes: doc/man3/OSSL_PARAM.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/OSSL_PARAM.pod b/doc/man3/OSSL_PARAM.pod index 50089b4..fb8c6fd 100644 --- a/doc/man3/OSSL_PARAM.pod +++ b/doc/man3/OSSL_PARAM.pod @@ -276,8 +276,8 @@ could fill in the parameters like this: *(char **)params[i].data = "foo value"; *params[i].return_size = 10; /* size of "foo value" */ } else if (strcmp(params[i].key, "bar") == 0) { - memcpy(params[1].data, "bar value", 10); - *params[1].return_size = 10; /* size of "bar value" */ + memcpy(params[i].data, "bar value", 10); + *params[i].return_size = 10; /* size of "bar value" */ } /* Ignore stuff we don't know */ } From pauli at openssl.org Wed Jun 12 03:06:15 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 12 Jun 2019 03:06:15 +0000 Subject: [openssl] master update Message-ID: <1560308775.383105.8863.nullmailer@dev.openssl.org> The branch master has been updated via f35819d1b7e195af9a41d991db00655f6f2c0af3 (commit) from c79b6b874b734c4fc495201256648f5b726ec90c (commit) - Log ----------------------------------------------------------------- commit f35819d1b7e195af9a41d991db00655f6f2c0af3 Author: Acheev Bhagat Date: Tue Jun 11 20:28:04 2019 -0400 Remove redundant include Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9137) ----------------------------------------------------------------------- Summary of changes: include/openssl/bio.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/openssl/bio.h b/include/openssl/bio.h index 66e0b96..a0c9220 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -20,10 +20,6 @@ # include # include -# ifndef OPENSSL_NO_SCTP -# include -# endif - #ifdef __cplusplus extern "C" { #endif From pauli at openssl.org Wed Jun 12 03:10:09 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 12 Jun 2019 03:10:09 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560309009.919789.1662.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 1d238e0514d882dd559e6fd6dc152f1e1bfb8f8a (commit) from c4376aed029f10b1c6cd0fd26e0c111e55bf3ab0 (commit) - Log ----------------------------------------------------------------- commit 1d238e0514d882dd559e6fd6dc152f1e1bfb8f8a Author: Acheev Bhagat Date: Tue Jun 11 20:28:04 2019 -0400 Remove redundant include Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9137) (cherry picked from commit f35819d1b7e195af9a41d991db00655f6f2c0af3) ----------------------------------------------------------------------- Summary of changes: include/openssl/bio.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/openssl/bio.h b/include/openssl/bio.h index 2888b42..d67117a 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -20,10 +20,6 @@ # include # include -# ifndef OPENSSL_NO_SCTP -# include -# endif - #ifdef __cplusplus extern "C" { #endif From builds at travis-ci.org Wed Jun 12 03:24:42 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 03:24:42 +0000 Subject: Still Failing: openssl/openssl#25719 (master - c79b6b8) In-Reply-To: Message-ID: <5d00707a71f60_43fcf5e98b23837792d@a4fa5e7c-e850-4ed3-a02e-dc22754b4479.mail> Build Update for openssl/openssl ------------------------------------- Build: #25719 Status: Still Failing Duration: 20 mins and 31 secs Commit: c79b6b8 (master) Author: Pauli Message: OSSL_PARAM example code bug fix. Technically not a bug since the code worked but the array index shouldn't have been constant after searching for the field. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9136) View the changeset: https://github.com/openssl/openssl/compare/a2e520447e17...c79b6b874b73 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544533987?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 Jun 12 03:38:58 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 03:38:58 +0000 Subject: Still Failing: openssl/openssl#25720 (master - f35819d) In-Reply-To: Message-ID: <5d0073d2a82eb_43fee685c4cd46257a@7988fd08-f8da-4d3f-8907-5ed435f2cb83.mail> Build Update for openssl/openssl ------------------------------------- Build: #25720 Status: Still Failing Duration: 28 mins and 7 secs Commit: f35819d (master) Author: Acheev Bhagat Message: Remove redundant include Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9137) View the changeset: https://github.com/openssl/openssl/compare/c79b6b874b73...f35819d1b7e1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544534407?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 Jun 12 03:52:20 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 03:52:20 +0000 Subject: Passed: openssl/openssl#25721 (OpenSSL_1_1_1-stable - 1d238e0) In-Reply-To: Message-ID: <5d0076f462478_43fee6da39c606301e5@7988fd08-f8da-4d3f-8907-5ed435f2cb83.mail> Build Update for openssl/openssl ------------------------------------- Build: #25721 Status: Passed Duration: 26 mins and 54 secs Commit: 1d238e0 (OpenSSL_1_1_1-stable) Author: Acheev Bhagat Message: Remove redundant include Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9137) (cherry picked from commit f35819d1b7e195af9a41d991db00655f6f2c0af3) View the changeset: https://github.com/openssl/openssl/compare/c4376aed029f...1d238e0514d8 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544535333?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 Jun 12 05:16:32 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 05:16:32 +0000 Subject: Build failed: openssl master.25152 Message-ID: <20190612051632.1.993E23BDFF7E6755@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Jun 12 06:16:08 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 12 Jun 2019 06:16:08 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560320168.040794.622.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: a2e520447e Move a fall through comment e98e586b31 Fix a URL to the NMBRTHRY list archive 53f5469604 Fix app opt compile failure due to missing a1f0478277 Fix Windows Compile failure due to missing 92bec78a26 Add defines to indicate if intypes.h and stdint.h are unavailable f0efeea29e PBKDF2 updates to conform to SP800-132 83b4a24384 Make EVP_MD_CTX_ctrl() work for legacy use cases (ssl3). 3d700c3fde Fix Keccak structure name reference in S390 legacy code 7588660a53 Fix doc to remove const arg in GEN_SESSION_CB 5d12051167 Change cipher default strings to a function Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:165: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:168: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:162: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:172: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x154): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:218: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:227: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:239: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:73: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:78: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:84: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:86: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:87: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:89: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:90: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:93: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:127: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7050: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Wed Jun 12 07:01:40 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 07:01:40 +0000 Subject: Build completed: openssl master.25153 Message-ID: <20190612070140.1.ED47541052B403A7@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Wed Jun 12 08:22:02 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 12 Jun 2019 08:22:02 +0000 Subject: [openssl] master update Message-ID: <1560327722.875181.2774.nullmailer@dev.openssl.org> The branch master has been updated via a8140a42f5ee9e4e1423b5b6b319dc4657659f6f (commit) via 444ab3abb1ff4b28189e7b15dadcebb2e3564fdf (commit) via 636b087e3e3eb3401ac4d1a55bd2da0c15a728d5 (commit) via 4ac6227621255ecde99aff3b11737c912f7a499b (commit) via 9632bd0e1d80ac4d38a3add1de192386fe1a0fd4 (commit) via 7bc081dda349a3473154d31f6094ee34545c4980 (commit) from f35819d1b7e195af9a41d991db00655f6f2c0af3 (commit) - Log ----------------------------------------------------------------- commit a8140a42f5ee9e4e1423b5b6b319dc4657659f6f Author: Matt Caswell Date: Tue Jun 11 13:49:43 2019 +0100 Ensure code is compiled with correct BIGNUM assembler defines Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) commit 444ab3abb1ff4b28189e7b15dadcebb2e3564fdf Author: Matt Caswell Date: Tue Jun 11 12:06:27 2019 +0100 Add some dummy BIGNUM calls from inside the FIPS provider Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) commit 636b087e3e3eb3401ac4d1a55bd2da0c15a728d5 Author: Matt Caswell Date: Wed May 29 17:31:22 2019 +0100 Make BIGNUM code available from within the FIPS module Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) commit 4ac6227621255ecde99aff3b11737c912f7a499b Author: Matt Caswell Date: Thu May 30 15:42:32 2019 +0100 Temporarily disable RAND call in FIPS_MODE until RAND is available Other commits will enable the RAND code in FIPS_MODE. Until those commits are in place we temporarily disable making RAND calls while in FIPS_MODE. Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) commit 9632bd0e1d80ac4d38a3add1de192386fe1a0fd4 Author: Matt Caswell Date: Wed May 29 17:29:34 2019 +0100 Convert bn_rand.c to use EVP Replace the low level SHA512_* function calls with EVP calls. Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) commit 7bc081dda349a3473154d31f6094ee34545c4980 Author: Matt Caswell Date: Wed May 29 17:03:53 2019 +0100 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() These variants of BN_CTX_new() and BN_CTX_secure_new() enable passing an OPENSSL_CTX so that we can access this where needed throughout the BIGNUM sub library. Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) ----------------------------------------------------------------------- Summary of changes: Configure | 30 +++- crypto/bn/{bn_print.c => bn_conv.c} | 66 +-------- crypto/bn/bn_ctx.c | 34 ++++- crypto/bn/bn_err.c | 4 +- crypto/bn/bn_lcl.h | 2 + crypto/bn/bn_print.c | 279 +----------------------------------- crypto/bn/bn_rand.c | 65 +++++++-- crypto/bn/build.info | 21 +-- crypto/build.info | 2 +- crypto/err/openssl.txt | 2 + crypto/ppccap.c | 16 +-- doc/man3/BN_CTX_new.pod | 18 ++- include/openssl/bn.h | 2 + include/openssl/bnerr.h | 2 + providers/fips/fipsprov.c | 19 +++ util/libcrypto.num | 2 + 16 files changed, 183 insertions(+), 381 deletions(-) copy crypto/bn/{bn_print.c => bn_conv.c} (82%) diff --git a/Configure b/Configure index 17de50e..e3c28f9 100755 --- a/Configure +++ b/Configure @@ -1407,13 +1407,31 @@ unless ($disabled{asm}) { $target{bn_asm_src} =~ s/\w+-gf2m.c// if (defined($disabled{ec2m})); # bn-586 is the only one implementing bn_*_part_words - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_PART_WORDS" if ($target{bn_asm_src} =~ /bn-586/); - push @{$config{lib_defines}}, "OPENSSL_IA32_SSE2" if (!$disabled{sse2} && $target{bn_asm_src} =~ /86/); + if ($target{bn_asm_src} =~ /bn-586/) { + push @{$config{lib_defines}}, "OPENSSL_BN_ASM_PART_WORDS"; + push @{$config{module_defines}}, "OPENSSL_BN_ASM_PART_WORDS"; + } + if (!$disabled{sse2} && $target{bn_asm_src} =~ /86/) { + push @{$config{lib_defines}}, "OPENSSL_IA32_SSE2"; + push @{$config{module_defines}}, "OPENSSL_IA32_SSE2"; + } - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT" if ($target{bn_asm_src} =~ /-mont/); - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT5" if ($target{bn_asm_src} =~ /-mont5/); - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_GF2m" if ($target{bn_asm_src} =~ /-gf2m/); - push @{$config{lib_defines}}, "BN_DIV3W" if ($target{bn_asm_src} =~ /-div3w/); + if ($target{bn_asm_src} =~ /-mont/) { + push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT"; + push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT"; + } + if ($target{bn_asm_src} =~ /-mont5/) { + push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT5"; + push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT5"; + } + if ($target{bn_asm_src} =~ /-gf2m/) { + push @{$config{lib_defines}}, "OPENSSL_BN_ASM_GF2m"; + push @{$config{module_defines}}, "OPENSSL_BN_ASM_GF2m"; + } + if ($target{bn_asm_src} =~ /-div3w/) { + push @{$config{lib_defines}}, "BN_DIV3W"; + push @{$config{module_defines}}, "BN_DIV3W"; + } if ($target{sha1_asm_src}) { push @{$config{lib_defines}}, "SHA1_ASM" if ($target{sha1_asm_src} =~ /sx86/ || $target{sha1_asm_src} =~ /sha1/); diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_conv.c similarity index 82% copy from crypto/bn/bn_print.c copy to crypto/bn/bn_conv.c index 6c1e3f6..9219fa4 100644 --- a/crypto/bn/bn_print.c +++ b/crypto/bn/bn_conv.c @@ -7,11 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include +#include #include "internal/ctype.h" -#include -#include "internal/cryptlib.h" -#include #include "bn_lcl.h" static const char Hex[] = "0123456789ABCDEF"; @@ -49,6 +46,8 @@ char *BN_bn2hex(const BIGNUM *a) return buf; } +#ifndef FIPS_MODE +/* No BIO_snprintf in FIPS_MODE */ /* Must 'OPENSSL_free' the returned data */ char *BN_bn2dec(const BIGNUM *a) { @@ -122,6 +121,7 @@ char *BN_bn2dec(const BIGNUM *a) OPENSSL_free(buf); return NULL; } +#endif int BN_hex2bn(BIGNUM **bn, const char *a) { @@ -285,61 +285,3 @@ int BN_asc2bn(BIGNUM **bn, const char *a) (*bn)->neg = 1; return 1; } - -# ifndef OPENSSL_NO_STDIO -int BN_print_fp(FILE *fp, const BIGNUM *a) -{ - BIO *b; - int ret; - - if ((b = BIO_new(BIO_s_file())) == NULL) - return 0; - BIO_set_fp(b, fp, BIO_NOCLOSE); - ret = BN_print(b, a); - BIO_free(b); - return ret; -} -# endif - -int BN_print(BIO *bp, const BIGNUM *a) -{ - int i, j, v, z = 0; - int ret = 0; - - if ((a->neg) && BIO_write(bp, "-", 1) != 1) - goto end; - if (BN_is_zero(a) && BIO_write(bp, "0", 1) != 1) - goto end; - for (i = a->top - 1; i >= 0; i--) { - for (j = BN_BITS2 - 4; j >= 0; j -= 4) { - /* strip leading zeros */ - v = (int)((a->d[i] >> j) & 0x0f); - if (z || v != 0) { - if (BIO_write(bp, &Hex[v], 1) != 1) - goto end; - z = 1; - } - } - } - ret = 1; - end: - return ret; -} - -char *BN_options(void) -{ - static int init = 0; - static char data[16]; - - if (!init) { - init++; -#ifdef BN_LLONG - BIO_snprintf(data, sizeof(data), "bn(%zu,%zu)", - sizeof(BN_ULLONG) * 8, sizeof(BN_ULONG) * 8); -#else - BIO_snprintf(data, sizeof(data), "bn(%zu,%zu)", - sizeof(BN_ULONG) * 8, sizeof(BN_ULONG) * 8); -#endif - } - return data; -} diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index 62e29b5..882f3bc 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -86,8 +86,11 @@ struct bignum_ctx { int too_many; /* Flags. */ int flags; + /* The library context */ + OPENSSL_CTX *libctx; }; +#ifndef FIPS_MODE /* Debugging functionality */ static void ctxdbg(BIO *channel, const char *text, BN_CTX *ctx) { @@ -116,35 +119,49 @@ static void ctxdbg(BIO *channel, const char *text, BN_CTX *ctx) BIO_printf(channel, "\n"); } -#define CTXDBG(str, ctx) \ +# define CTXDBG(str, ctx) \ OSSL_TRACE_BEGIN(BN_CTX) { \ ctxdbg(trc_out, str, ctx); \ } OSSL_TRACE_END(BN_CTX) +#else +/* TODO(3.0): Consider if we want to do this in FIPS mode */ +# define CTXDBG(str, ctx) do {} while(0) +#endif /* FIPS_MODE */ - -BN_CTX *BN_CTX_new(void) +BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx) { BN_CTX *ret; if ((ret = OPENSSL_zalloc(sizeof(*ret))) == NULL) { - BNerr(BN_F_BN_CTX_NEW, ERR_R_MALLOC_FAILURE); + BNerr(BN_F_BN_CTX_NEW_EX, ERR_R_MALLOC_FAILURE); return NULL; } /* Initialise the structure */ BN_POOL_init(&ret->pool); BN_STACK_init(&ret->stack); + ret->libctx = ctx; return ret; } -BN_CTX *BN_CTX_secure_new(void) +BN_CTX *BN_CTX_new(void) +{ + return BN_CTX_new_ex(NULL); +} + +BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx) { - BN_CTX *ret = BN_CTX_new(); + BN_CTX *ret = BN_CTX_new_ex(ctx); if (ret != NULL) ret->flags = BN_FLG_SECURE; return ret; } +BN_CTX *BN_CTX_secure_new(void) +{ + return BN_CTX_secure_new_ex(NULL); +} + void BN_CTX_free(BN_CTX *ctx) { if (ctx == NULL) @@ -226,6 +243,11 @@ BIGNUM *BN_CTX_get(BN_CTX *ctx) return ret; } +OPENSSL_CTX *bn_get_lib_ctx(BN_CTX *ctx) +{ + return ctx->libctx; +} + /************/ /* BN_STACK */ /************/ diff --git a/crypto/bn/bn_err.c b/crypto/bn/bn_err.c index b988646..a28443c 100644 --- a/crypto/bn/bn_err.c +++ b/crypto/bn/bn_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -29,6 +29,7 @@ static const ERR_STRING_DATA BN_str_functs[] = { {ERR_PACK(ERR_LIB_BN, BN_F_BN_COMPUTE_WNAF, 0), "bn_compute_wNAF"}, {ERR_PACK(ERR_LIB_BN, BN_F_BN_CTX_GET, 0), "BN_CTX_get"}, {ERR_PACK(ERR_LIB_BN, BN_F_BN_CTX_NEW, 0), "BN_CTX_new"}, + {ERR_PACK(ERR_LIB_BN, BN_F_BN_CTX_NEW_EX, 0), "BN_CTX_new_ex"}, {ERR_PACK(ERR_LIB_BN, BN_F_BN_CTX_START, 0), "BN_CTX_start"}, {ERR_PACK(ERR_LIB_BN, BN_F_BN_DIV, 0), "BN_div"}, {ERR_PACK(ERR_LIB_BN, BN_F_BN_DIV_RECP, 0), "BN_div_recp"}, @@ -95,6 +96,7 @@ static const ERR_STRING_DATA BN_str_reasons[] = { {ERR_PACK(ERR_LIB_BN, 0, BN_R_NOT_INITIALIZED), "not initialized"}, {ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_INVERSE), "no inverse"}, {ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_SOLUTION), "no solution"}, + {ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_SUITABLE_DIGEST), "no suitable digest"}, {ERR_PACK(ERR_LIB_BN, 0, BN_R_PRIVATE_KEY_TOO_LARGE), "private key too large"}, {ERR_PACK(ERR_LIB_BN, 0, BN_R_P_IS_NOT_PRIME), "p is not prime"}, diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h index 5c0413c..bc52749 100644 --- a/crypto/bn/bn_lcl.h +++ b/crypto/bn/bn_lcl.h @@ -668,4 +668,6 @@ static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits) return bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2); } +OPENSSL_CTX *bn_get_lib_ctx(BN_CTX *ctx); + #endif diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_print.c index 6c1e3f6..2274b85 100644 --- a/crypto/bn/bn_print.c +++ b/crypto/bn/bn_print.c @@ -8,285 +8,12 @@ */ #include -#include "internal/ctype.h" -#include -#include "internal/cryptlib.h" -#include +#include #include "bn_lcl.h" static const char Hex[] = "0123456789ABCDEF"; -/* Must 'OPENSSL_free' the returned data */ -char *BN_bn2hex(const BIGNUM *a) -{ - int i, j, v, z = 0; - char *buf; - char *p; - - if (BN_is_zero(a)) - return OPENSSL_strdup("0"); - buf = OPENSSL_malloc(a->top * BN_BYTES * 2 + 2); - if (buf == NULL) { - BNerr(BN_F_BN_BN2HEX, ERR_R_MALLOC_FAILURE); - goto err; - } - p = buf; - if (a->neg) - *p++ = '-'; - for (i = a->top - 1; i >= 0; i--) { - for (j = BN_BITS2 - 8; j >= 0; j -= 8) { - /* strip leading zeros */ - v = (int)((a->d[i] >> j) & 0xff); - if (z || v != 0) { - *p++ = Hex[v >> 4]; - *p++ = Hex[v & 0x0f]; - z = 1; - } - } - } - *p = '\0'; - err: - return buf; -} - -/* Must 'OPENSSL_free' the returned data */ -char *BN_bn2dec(const BIGNUM *a) -{ - int i = 0, num, ok = 0, n, tbytes; - char *buf = NULL; - char *p; - BIGNUM *t = NULL; - BN_ULONG *bn_data = NULL, *lp; - int bn_data_num; - - /*- - * get an upper bound for the length of the decimal integer - * num <= (BN_num_bits(a) + 1) * log(2) - * <= 3 * BN_num_bits(a) * 0.101 + log(2) + 1 (rounding error) - * <= 3 * BN_num_bits(a) / 10 + 3 * BN_num_bits / 1000 + 1 + 1 - */ - i = BN_num_bits(a) * 3; - num = (i / 10 + i / 1000 + 1) + 1; - tbytes = num + 3; /* negative and terminator and one spare? */ - bn_data_num = num / BN_DEC_NUM + 1; - bn_data = OPENSSL_malloc(bn_data_num * sizeof(BN_ULONG)); - buf = OPENSSL_malloc(tbytes); - if (buf == NULL || bn_data == NULL) { - BNerr(BN_F_BN_BN2DEC, ERR_R_MALLOC_FAILURE); - goto err; - } - if ((t = BN_dup(a)) == NULL) - goto err; - - p = buf; - lp = bn_data; - if (BN_is_zero(t)) { - *p++ = '0'; - *p++ = '\0'; - } else { - if (BN_is_negative(t)) - *p++ = '-'; - - while (!BN_is_zero(t)) { - if (lp - bn_data >= bn_data_num) - goto err; - *lp = BN_div_word(t, BN_DEC_CONV); - if (*lp == (BN_ULONG)-1) - goto err; - lp++; - } - lp--; - /* - * We now have a series of blocks, BN_DEC_NUM chars in length, where - * the last one needs truncation. The blocks need to be reversed in - * order. - */ - n = BIO_snprintf(p, tbytes - (size_t)(p - buf), BN_DEC_FMT1, *lp); - if (n < 0) - goto err; - p += n; - while (lp != bn_data) { - lp--; - n = BIO_snprintf(p, tbytes - (size_t)(p - buf), BN_DEC_FMT2, *lp); - if (n < 0) - goto err; - p += n; - } - } - ok = 1; - err: - OPENSSL_free(bn_data); - BN_free(t); - if (ok) - return buf; - OPENSSL_free(buf); - return NULL; -} - -int BN_hex2bn(BIGNUM **bn, const char *a) -{ - BIGNUM *ret = NULL; - BN_ULONG l = 0; - int neg = 0, h, m, i, j, k, c; - int num; - - if (a == NULL || *a == '\0') - return 0; - - if (*a == '-') { - neg = 1; - a++; - } - - for (i = 0; i <= INT_MAX / 4 && ossl_isxdigit(a[i]); i++) - continue; - - if (i == 0 || i > INT_MAX / 4) - goto err; - - num = i + neg; - if (bn == NULL) - return num; - - /* a is the start of the hex digits, and it is 'i' long */ - if (*bn == NULL) { - if ((ret = BN_new()) == NULL) - return 0; - } else { - ret = *bn; - BN_zero(ret); - } - - /* i is the number of hex digits */ - if (bn_expand(ret, i * 4) == NULL) - goto err; - - j = i; /* least significant 'hex' */ - m = 0; - h = 0; - while (j > 0) { - m = (BN_BYTES * 2 <= j) ? BN_BYTES * 2 : j; - l = 0; - for (;;) { - c = a[j - m]; - k = OPENSSL_hexchar2int(c); - if (k < 0) - k = 0; /* paranoia */ - l = (l << 4) | k; - - if (--m <= 0) { - ret->d[h++] = l; - break; - } - } - j -= BN_BYTES * 2; - } - ret->top = h; - bn_correct_top(ret); - - *bn = ret; - bn_check_top(ret); - /* Don't set the negative flag if it's zero. */ - if (ret->top != 0) - ret->neg = neg; - return num; - err: - if (*bn == NULL) - BN_free(ret); - return 0; -} - -int BN_dec2bn(BIGNUM **bn, const char *a) -{ - BIGNUM *ret = NULL; - BN_ULONG l = 0; - int neg = 0, i, j; - int num; - - if (a == NULL || *a == '\0') - return 0; - if (*a == '-') { - neg = 1; - a++; - } - - for (i = 0; i <= INT_MAX / 4 && ossl_isdigit(a[i]); i++) - continue; - - if (i == 0 || i > INT_MAX / 4) - goto err; - - num = i + neg; - if (bn == NULL) - return num; - - /* - * a is the start of the digits, and it is 'i' long. We chop it into - * BN_DEC_NUM digits at a time - */ - if (*bn == NULL) { - if ((ret = BN_new()) == NULL) - return 0; - } else { - ret = *bn; - BN_zero(ret); - } - - /* i is the number of digits, a bit of an over expand */ - if (bn_expand(ret, i * 4) == NULL) - goto err; - - j = BN_DEC_NUM - i % BN_DEC_NUM; - if (j == BN_DEC_NUM) - j = 0; - l = 0; - while (--i >= 0) { - l *= 10; - l += *a - '0'; - a++; - if (++j == BN_DEC_NUM) { - if (!BN_mul_word(ret, BN_DEC_CONV) - || !BN_add_word(ret, l)) - goto err; - l = 0; - j = 0; - } - } - - bn_correct_top(ret); - *bn = ret; - bn_check_top(ret); - /* Don't set the negative flag if it's zero. */ - if (ret->top != 0) - ret->neg = neg; - return num; - err: - if (*bn == NULL) - BN_free(ret); - return 0; -} - -int BN_asc2bn(BIGNUM **bn, const char *a) -{ - const char *p = a; - - if (*p == '-') - p++; - - if (p[0] == '0' && (p[1] == 'X' || p[1] == 'x')) { - if (!BN_hex2bn(bn, p + 2)) - return 0; - } else { - if (!BN_dec2bn(bn, p)) - return 0; - } - /* Don't set the negative flag if it's zero. */ - if (*a == '-' && (*bn)->top != 0) - (*bn)->neg = 1; - return 1; -} - -# ifndef OPENSSL_NO_STDIO +#ifndef OPENSSL_NO_STDIO int BN_print_fp(FILE *fp, const BIGNUM *a) { BIO *b; @@ -299,7 +26,7 @@ int BN_print_fp(FILE *fp, const BIGNUM *a) BIO_free(b); return ret; } -# endif +#endif int BN_print(BIO *bp, const BIGNUM *a) { diff --git a/crypto/bn/bn_rand.c b/crypto/bn/bn_rand.c index 727c695..6967627 100644 --- a/crypto/bn/bn_rand.c +++ b/crypto/bn/bn_rand.c @@ -12,7 +12,9 @@ #include "internal/cryptlib.h" #include "bn_lcl.h" #include +#include #include +#include typedef enum bnrand_flag_e { NORMAL, TESTING, PRIVATE @@ -43,7 +45,16 @@ static int bnrand(BNRAND_FLAG flag, BIGNUM *rnd, int bits, int top, int bottom) } /* make a random number and set the top and bottom bits */ + /* + * TODO(3.0): Temporarily disable RAND code in the FIPS module until we + * have made it available there. + */ +#if defined(FIPS_MODE) + BNerr(BN_F_BNRAND, ERR_R_INTERNAL_ERROR); + goto err; +#else b = flag == NORMAL ? RAND_bytes(buf, bytes) : RAND_priv_bytes(buf, bytes); +#endif if (b <= 0) goto err; @@ -55,8 +66,14 @@ static int bnrand(BNRAND_FLAG flag, BIGNUM *rnd, int bits, int top, int bottom) unsigned char c; for (i = 0; i < bytes; i++) { + /* + * TODO(3.0): Temporarily disable RAND code in the FIPS module until we + * have made it available there. + */ +#if !defined(FIPS_MODE) if (RAND_bytes(&c, 1) <= 0) goto err; +#endif if (c >= 128 && i > 0) buf[i] = buf[i - 1]; else if (c < 42) @@ -206,7 +223,7 @@ int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, const BIGNUM *priv, const unsigned char *message, size_t message_len, BN_CTX *ctx) { - SHA512_CTX sha; + EVP_MD_CTX *mdctx = EVP_MD_CTX_new(); /* * We use 512 bits of random data per iteration to ensure that we have at * least |range| bits of randomness. @@ -217,8 +234,22 @@ int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, /* We generate |range|+8 bytes of random output. */ const unsigned num_k_bytes = BN_num_bytes(range) + 8; unsigned char private_bytes[96]; - unsigned char *k_bytes; + unsigned char *k_bytes = NULL; int ret = 0; + EVP_MD *md = NULL; + OPENSSL_CTX *libctx = (ctx != NULL) ? bn_get_lib_ctx(ctx) : NULL; + /* + * TODO(3.0): Temporarily disable RAND code in the FIPS module until we + * have made it available there. + */ +#ifdef FIPS_MODE + RAND_DRBG *privdrbg = NULL; +#else + RAND_DRBG *privdrbg = OPENSSL_CTX_get0_private_drbg(libctx); +#endif + + if (mdctx == NULL || privdrbg == NULL) + goto err; k_bytes = OPENSSL_malloc(num_k_bytes); if (k_bytes == NULL) @@ -238,15 +269,29 @@ int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, memcpy(private_bytes, priv->d, todo); memset(private_bytes + todo, 0, sizeof(private_bytes) - todo); + md = EVP_MD_fetch(libctx, "SHA512", NULL); + if (md == NULL) { + BNerr(BN_F_BN_GENERATE_DSA_NONCE, BN_R_NO_SUITABLE_DIGEST); + goto err; + } for (done = 0; done < num_k_bytes;) { - if (RAND_priv_bytes(random_bytes, sizeof(random_bytes)) != 1) + /* + * TODO(3.0): Temporarily disable RAND code in the FIPS module until we + * have made it available there. + */ +#if !defined(FIPS_MODE) + if (!RAND_DRBG_bytes(privdrbg, random_bytes, sizeof(random_bytes))) + goto err; +#endif + + if (!EVP_DigestInit_ex(mdctx, md, NULL) + || !EVP_DigestUpdate(mdctx, &done, sizeof(done)) + || !EVP_DigestUpdate(mdctx, private_bytes, + sizeof(private_bytes)) + || !EVP_DigestUpdate(mdctx, message, message_len) + || !EVP_DigestUpdate(mdctx, random_bytes, sizeof(random_bytes)) + || !EVP_DigestFinal_ex(mdctx, digest, NULL)) goto err; - SHA512_Init(&sha); - SHA512_Update(&sha, &done, sizeof(done)); - SHA512_Update(&sha, private_bytes, sizeof(private_bytes)); - SHA512_Update(&sha, message, message_len); - SHA512_Update(&sha, random_bytes, sizeof(random_bytes)); - SHA512_Final(digest, &sha); todo = num_k_bytes - done; if (todo > SHA512_DIGEST_LENGTH) @@ -262,6 +307,8 @@ int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, ret = 1; err: + EVP_MD_CTX_free(mdctx); + EVP_MD_meth_free(md); OPENSSL_free(k_bytes); OPENSSL_cleanse(private_bytes, sizeof(private_bytes)); return ret; diff --git a/crypto/bn/build.info b/crypto/bn/build.info index 7e34ce4..280fa3d 100644 --- a/crypto/bn/build.info +++ b/crypto/bn/build.info @@ -1,12 +1,17 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c \ - bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \ - bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c \ - {- $target{bn_asm_src} -} \ - bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \ - bn_depr.c bn_const.c bn_x931p.c bn_intern.c bn_dh.c bn_srp.c \ - bn_rsa_fips186_4.c + +{- our @src = ( qw( bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c + bn_mod.c bn_conv.c bn_rand.c bn_shift.c bn_word.c bn_blind.c + bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_sqr.c + bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c + bn_const.c bn_x931p.c bn_intern.c bn_dh.c + bn_rsa_fips186_4.c ), $target{bn_asm_src} ); "" -} + +SOURCE[../../libcrypto]={- join(' ', @src) -} bn_print.c bn_err.c bn_depr.c bn_srp.c + +SOURCE[../../providers/fips]={- join(' ', @src) -} + + INCLUDE[../../libcrypto]=../../crypto/include INCLUDE[bn_exp.o]=.. diff --git a/crypto/build.info b/crypto/build.info index fb8f14e..114a315 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -26,7 +26,7 @@ SOURCE[../libcrypto]=\ # FIPS module SOURCE[../providers/fips]=\ - cryptlib.c mem.c params.c bsearch.c ex_data.c o_str.c \ + cryptlib.c mem.c mem_sec.c params.c bsearch.c ex_data.c o_str.c \ ctype.c threads_pthread.c threads_win.c threads_none.c context.c \ sparse_array.c {- $target{cpuid_asm_src} -} diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 58e1b94..1457bc0 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -196,6 +196,7 @@ BN_F_BN_BN2HEX:105:BN_bn2hex BN_F_BN_COMPUTE_WNAF:142:bn_compute_wNAF BN_F_BN_CTX_GET:116:BN_CTX_get BN_F_BN_CTX_NEW:106:BN_CTX_new +BN_F_BN_CTX_NEW_EX:151:BN_CTX_new_ex BN_F_BN_CTX_START:129:BN_CTX_start BN_F_BN_DIV:107:BN_div BN_F_BN_DIV_RECP:130:BN_div_recp @@ -2060,6 +2061,7 @@ BN_R_NOT_A_SQUARE:111:not a square BN_R_NOT_INITIALIZED:107:not initialized BN_R_NO_INVERSE:108:no inverse BN_R_NO_SOLUTION:116:no solution +BN_R_NO_SUITABLE_DIGEST:120:no suitable digest BN_R_PRIVATE_KEY_TOO_LARGE:117:private key too large BN_R_P_IS_NOT_PRIME:112:p is not prime BN_R_TOO_MANY_ITERATIONS:113:too many iterations diff --git a/crypto/ppccap.c b/crypto/ppccap.c index 3465864..801a2be 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -38,12 +38,8 @@ unsigned int OPENSSL_ppccap_P = 0; static sigset_t all_masked; -/* - * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into - * the FIPS module yet. - */ -#ifndef FIPS_MODE -# ifdef OPENSSL_BN_ASM_MONT + +#ifdef OPENSSL_BN_ASM_MONT int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { @@ -68,8 +64,12 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, return bn_mul_mont_int(rp, ap, bp, np, n0, num); } -# endif - +#endif +/* + * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into + * the FIPS module yet. + */ +#ifndef FIPS_MODE void sha256_block_p8(void *ctx, const void *inp, size_t len); void sha256_block_ppc(void *ctx, const void *inp, size_t len); void sha256_block_data_order(void *ctx, const void *inp, size_t len); diff --git a/doc/man3/BN_CTX_new.pod b/doc/man3/BN_CTX_new.pod index eb8899b..17c53ec 100644 --- a/doc/man3/BN_CTX_new.pod +++ b/doc/man3/BN_CTX_new.pod @@ -2,14 +2,17 @@ =head1 NAME -BN_CTX_new, BN_CTX_secure_new, BN_CTX_free - allocate and free BN_CTX structures +BN_CTX_new_ex, BN_CTX_new, BN_CTX_secure_new_ex, BN_CTX_secure_new, BN_CTX_free +- allocate and free BN_CTX structures =head1 SYNOPSIS #include + BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_new(void); + BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_secure_new(void); void BN_CTX_free(BN_CTX *c); @@ -21,10 +24,17 @@ library functions. Since dynamic memory allocation to create Bs is rather expensive when used in conjunction with repeated subroutine calls, the B structure is used. -BN_CTX_new() allocates and initializes a B structure. -BN_CTX_secure_new() allocates and initializes a B structure +BN_CTX_new_ex() allocates and initializes a B structure for the given +library context B. The value may be NULL in which case the default +library context will be used. BN_CTX_new() is the same as BN_CTX_new_ex() except +that the default library context is always used. + +BN_CTX_secure_new_ex() allocates and initializes a B structure but uses the secure heap (see L) to hold the -Bs. +Bs for the given library context B. The value may be NULL in +which case the default library context will be used. BN_CTX_secure_new() is the +same as BN_CTX_secure_new_ex() except that the default library context is always +used. BN_CTX_free() frees the components of the B and the structure itself. Since BN_CTX_start() is required in order to obtain Bs from the diff --git a/include/openssl/bn.h b/include/openssl/bn.h index 57d2ddd..3770160 100644 --- a/include/openssl/bn.h +++ b/include/openssl/bn.h @@ -198,7 +198,9 @@ void BN_zero_ex(BIGNUM *a); const BIGNUM *BN_value_one(void); char *BN_options(void); +BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_new(void); +BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_secure_new(void); void BN_CTX_free(BN_CTX *c); void BN_CTX_start(BN_CTX *ctx); diff --git a/include/openssl/bnerr.h b/include/openssl/bnerr.h index bcf4f8f..ebbcd9a 100644 --- a/include/openssl/bnerr.h +++ b/include/openssl/bnerr.h @@ -35,6 +35,7 @@ int ERR_load_BN_strings(void); # define BN_F_BN_COMPUTE_WNAF 142 # define BN_F_BN_CTX_GET 116 # define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_NEW_EX 151 # define BN_F_BN_CTX_START 129 # define BN_F_BN_DIV 107 # define BN_F_BN_DIV_RECP 130 @@ -92,6 +93,7 @@ int ERR_load_BN_strings(void); # define BN_R_NOT_INITIALIZED 107 # define BN_R_NO_INVERSE 108 # define BN_R_NO_SOLUTION 116 +# define BN_R_NO_SUITABLE_DIGEST 120 # define BN_R_PRIVATE_KEY_TOO_LARGE 117 # define BN_R_P_IS_NOT_PRIME 112 # define BN_R_TOO_MANY_ITERATIONS 113 diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index ab37d98..bec305b 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -50,6 +50,8 @@ static int dummy_evp_call(OPENSSL_CTX *libctx) unsigned int dgstlen = 0; unsigned char dgst[SHA256_DIGEST_LENGTH]; int ret = 0; + BN_CTX *bnctx = NULL; + BIGNUM *a = NULL, *b = NULL; if (ctx == NULL || sha256 == NULL) goto err; @@ -63,8 +65,25 @@ static int dummy_evp_call(OPENSSL_CTX *libctx) if (dgstlen != sizeof(exptd) || memcmp(dgst, exptd, sizeof(exptd)) != 0) goto err; + bnctx = BN_CTX_new_ex(libctx); + if (bnctx == NULL) + goto err; + BN_CTX_start(bnctx); + a = BN_CTX_get(bnctx); + b = BN_CTX_get(bnctx); + if (b == NULL) + goto err; + BN_zero(a); + if (!BN_one(b) + || !BN_add(a, a, b) + || BN_cmp(a, b) != 0) + goto err; + ret = 1; err: + BN_CTX_end(bnctx); + BN_CTX_free(bnctx); + EVP_MD_CTX_free(ctx); EVP_MD_meth_free(sha256); return ret; diff --git a/util/libcrypto.num b/util/libcrypto.num index 0c2a8f5..7280649 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4829,3 +4829,5 @@ RAND_DRBG_secure_new_ex 4773 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_get0_master_drbg 4774 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_get0_public_drbg 4775 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_get0_private_drbg 4776 3_0_0 EXIST::FUNCTION: +BN_CTX_new_ex 4777 3_0_0 EXIST::FUNCTION: +BN_CTX_secure_new_ex 4778 3_0_0 EXIST::FUNCTION: From no-reply at appveyor.com Wed Jun 12 08:30:35 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 08:30:35 +0000 Subject: Build failed: openssl master.25155 Message-ID: <20190612083035.1.0F7BE674D88DF533@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Jun 12 08:53:57 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 08:53:57 +0000 Subject: Still Failing: openssl/openssl#25727 (master - a8140a4) In-Reply-To: Message-ID: <5d00bda577348_43fee66a1def431702d@1067c9f8-a47a-424e-a6e0-e1b02a8292b1.mail> Build Update for openssl/openssl ------------------------------------- Build: #25727 Status: Still Failing Duration: 29 mins and 41 secs Commit: a8140a4 (master) Author: Matt Caswell Message: Ensure code is compiled with correct BIGNUM assembler defines Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9130) View the changeset: https://github.com/openssl/openssl/compare/f35819d1b7e1...a8140a42f5ee View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544621610?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 Wed Jun 12 09:09:49 2019 From: levitte at openssl.org (Richard Levitte) Date: Wed, 12 Jun 2019 09:09:49 +0000 Subject: [openssl] master update Message-ID: <1560330589.579207.20730.nullmailer@dev.openssl.org> The branch master has been updated via 51583cb8f464b49d2ea33b2be027274ac0d4b1a0 (commit) from a8140a42f5ee9e4e1423b5b6b319dc4657659f6f (commit) - Log ----------------------------------------------------------------- commit 51583cb8f464b49d2ea33b2be027274ac0d4b1a0 Author: Richard Levitte Date: Tue Jun 11 18:11:25 2019 +0200 Configure: count basenames for all library sources Make sure that each basename only appears once. This is due to the static library archiver on Unix, that indexes archived object files by base name only, thereby making base name clashes... interesting. This is a safety net for OpenSSL developer! Reviewed-by: Matt Caswell Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9133) ----------------------------------------------------------------------- Summary of changes: Configure | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Configure b/Configure index e3c28f9..de59b8a 100755 --- a/Configure +++ b/Configure @@ -2209,6 +2209,34 @@ They are ignored and should be replaced with a combination of GENERATE, DEPEND and SHARED_SOURCE. EOF + + # Go through the sources of all libraries and check that the same basename + # doesn't appear more than once. Some static library archivers depend on + # them being unique. + { + my $err = 0; + foreach my $prod (keys %{$unified_info{libraries}}) { + my @prod_sources = + map { keys %{$unified_info{sources}->{$_}} } + keys %{$unified_info{sources}->{$prod}}; + my %srccnt = (); + + # Count how many times a given each source basename + # appears for each product. + foreach my $src (@prod_sources) { + $srccnt{basename $src}++; + } + + foreach my $src (keys %srccnt) { + if ((my $cnt = $srccnt{$src}) > 1) { + print STDERR "$src appears $cnt times for the product $prod\n"; + $err++ + } + } + } + die if $err > 0; + } + # Massage the result # If we depend on a header file or a perl module, add an inclusion of @@ -2319,6 +2347,7 @@ EOF } } } + # At this point, we have a number of sources with the value -1. They # aren't part of the local build and are probably meant for a different # platform, and can therefore be cleaned away. That happens when making From matt at openssl.org Wed Jun 12 09:16:38 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 12 Jun 2019 09:16:38 +0000 Subject: [openssl] master update Message-ID: <1560330998.793472.31496.nullmailer@dev.openssl.org> The branch master has been updated via a03749a8f14c397f57ef956650f5db5da6523595 (commit) via 8caab503ba004abb555d636c1ca9f7bcde79657f (commit) via 4ff4e53f816855b07fc02dc931dd57b2ae324aa1 (commit) via b5283535d52002f892ef17c890a3e1840640a60b (commit) from 51583cb8f464b49d2ea33b2be027274ac0d4b1a0 (commit) - Log ----------------------------------------------------------------- commit a03749a8f14c397f57ef956650f5db5da6523595 Author: Matt Caswell Date: Thu Jun 6 12:35:37 2019 +0100 Enable find-doc-nits to find undocumented symbols since 1.1.1 A previous commit added the ability to find newly undocumented symbols. We extend this capability to check anything that was newly added since 1.1.1 which is undocumented. A new option -o is added to find-doc-nits to amend the behaviour of -v or -e to check symbols that were newly added since the release of 1.1.1. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9094) commit 8caab503ba004abb555d636c1ca9f7bcde79657f Author: Matt Caswell Date: Thu Jun 6 12:14:59 2019 +0100 Fix an incorrect macro A macro was missing a space which was confusing find-doc-nits Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9094) commit 4ff4e53f816855b07fc02dc931dd57b2ae324aa1 Author: Matt Caswell Date: Thu Jun 6 12:14:28 2019 +0100 i2d_PublicKey was listed in 2 different man pages find-doc-nits complains if a symbol is documented in more than one location. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9094) commit b5283535d52002f892ef17c890a3e1840640a60b Author: Matt Caswell Date: Thu Jun 6 12:12:49 2019 +0100 Make find-doc-nits check for newly added undocumented symbols We create lists of undocumented functions and macros as they are now so that find-doc-nits can check for newly introduced functions/macros that are undocumented. This works in a similar way to the -u and -d options to find-doc-nits. These count undocumented symbols and print a detailed list of undocumented symbols repsectively. This commit adds the -v and -e options to restrict the count/detailed list to newly added undocumented symbols only. There is also a new -s option that does the same as -e except that it produces no output if there are no newly undocumented symbols. We also amend "make doc-nits" to add the -s option which should cause travis to fail if a PR adds undocumented symbols. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9094) ----------------------------------------------------------------------- Summary of changes: Configurations/unix-Makefile.tmpl | 2 +- doc/man3/d2i_X509.pod | 1 - include/openssl/ocsp.h | 2 +- util/find-doc-nits | 77 +- util/missingcrypto.txt | 1499 ++++++++++++++++++++++++++++++++++ util/missingcrypto111.txt | 1610 +++++++++++++++++++++++++++++++++++++ util/missingmacro.txt | 217 +++++ util/missingmacro111.txt | 232 ++++++ util/missingssl.txt | 46 ++ util/missingssl111.txt | 60 ++ 10 files changed, 3732 insertions(+), 14 deletions(-) create mode 100644 util/missingcrypto.txt create mode 100644 util/missingcrypto111.txt create mode 100644 util/missingmacro.txt create mode 100644 util/missingmacro111.txt create mode 100644 util/missingssl.txt create mode 100644 util/missingssl111.txt diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 8a1ec49..ce93a4e 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -728,7 +728,7 @@ generate: generate_apps generate_crypto_bn generate_crypto_objects \ .PHONY: doc-nits doc-nits: build_generated - (cd $(SRCDIR); $(PERL) util/find-doc-nits -n -p ) >doc-nits + (cd $(SRCDIR); $(PERL) util/find-doc-nits -n -p -s ) >doc-nits @if [ -s doc-nits ] ; then cat doc-nits ; exit 1; \ else echo 'doc-nits: no errors.'; rm doc-nits ; fi diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index 30e6ad0..e04657f 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -325,7 +325,6 @@ i2d_POLICYQUALINFO, i2d_PROFESSION_INFO, i2d_PROXY_CERT_INFO_EXTENSION, i2d_PROXY_POLICY, -i2d_PublicKey, i2d_RSAPrivateKey, i2d_RSAPrivateKey_bio, i2d_RSAPrivateKey_fp, diff --git a/include/openssl/ocsp.h b/include/openssl/ocsp.h index bce367d..5fdff08 100644 --- a/include/openssl/ocsp.h +++ b/include/openssl/ocsp.h @@ -123,7 +123,7 @@ typedef struct ocsp_service_locator_st OCSP_SERVICELOC; (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \ bp,(char **)(x),cb,NULL) -# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) (OCSP_RESPONSE *)PEM_ASN1_read_bio(\ (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \ bp,(char **)(x),cb,NULL) diff --git a/util/find-doc-nits b/util/find-doc-nits index 25f3d5e..f6a638c 100755 --- a/util/find-doc-nits +++ b/util/find-doc-nits @@ -20,11 +20,15 @@ use OpenSSL::Util::Pod; # Options. our($opt_d); +our($opt_e); +our($opt_s); +our($opt_o); our($opt_h); our($opt_l); our($opt_n); our($opt_p); our($opt_u); +our($opt_v); our($opt_c); sub help() @@ -32,10 +36,14 @@ sub help() print < ) { + chomp; + next if /^#/; + push @missing, $_; + } + close FH; + + return @missing; +} + sub checkmacros() { my $count = 0; my %seen; + my @missing; - print "# Checking macros (approximate)\n"; + if ($opt_o) { + @missing = loadmissing('util/missingmacro111.txt'); + } elsif ($opt_v) { + @missing = loadmissing('util/missingmacro.txt'); + } + + print "# Checking macros (approximate)\n" if !$opt_s; foreach my $f ( glob('include/openssl/*.h') ) { # Skip some internals we don't want to document yet. next if $f eq 'include/openssl/asn1.h'; @@ -312,33 +344,43 @@ sub checkmacros() || $macro =~ /DEPRECATEDIN/ || $macro =~ /IMPLEMENT_/ || $macro =~ /DECLARE_/; - print "$f:$macro\n" if $opt_d; + + # Skip macros known to be missing + next if $opt_v && grep( /^$macro$/, @missing); + + print "$f:$macro\n" if $opt_d || $opt_e; $count++; $seen{$macro} = 1; } close(IN); } - print "# Found $count macros missing (not all should be documented)\n" + print "# Found $count macros missing\n" if !$opt_s || $count > 0; } sub printem() { my $libname = shift; my $numfile = shift; + my $missingfile = shift; my $count = 0; my %seen; + my @missing = loadmissing($missingfile) if ($opt_v); + foreach my $func ( &parsenum($numfile) ) { next if $docced{$func} || defined $seen{$func}; # Skip ASN1 utilities next if $func =~ /^ASN1_/; - print "$libname:$func\n" if $opt_d; + # Skip functions known to be missing + next if $opt_v && grep( /^$func$/, @missing); + + print "$libname:$func\n" if $opt_d || $opt_e; $count++; $seen{$func} = 1; } - print "# Found $count missing from $numfile\n\n"; + print "# Found $count missing from $numfile\n\n" if !$opt_s || $count > 0; } @@ -503,14 +545,22 @@ sub checkflags() { return $ok; } -getopts('cdlnphu'); +getopts('cdesolnphuv'); &help() if $opt_h; + $opt_n = 1 if $opt_p; $opt_u = 1 if $opt_d; +$opt_e = 1 if $opt_s; +$opt_v = 1 if $opt_o || $opt_e; -die "Need one of -[cdlnpu] flags.\n" - unless $opt_c or $opt_l or $opt_n or $opt_u; +die "Cannot use both -u and -v" if $opt_u && $opt_v; +die "Cannot use both -d and -e" if $opt_d && $opt_e; + +# We only need to check c, l, n, u and v. +# Options d, e, s, o and p imply one of the above. +die "Need one of -[cdesolnpuv] flags.\n" + unless $opt_c or $opt_l or $opt_n or $opt_u or $opt_v; if ( $opt_c ) { my $ok = 1; @@ -571,13 +621,18 @@ if ( $opt_n ) { } } -if ( $opt_u ) { +if ( $opt_u || $opt_v) { my %temp = getdocced('doc/man3'); foreach ( keys %temp ) { $docced{$_} = $temp{$_}; } - &printem('crypto', 'util/libcrypto.num'); - &printem('ssl', 'util/libssl.num'); + if ($opt_o) { + &printem('crypto', 'util/libcrypto.num', 'util/missingcrypto111.txt'); + &printem('ssl', 'util/libssl.num', 'util/missingssl111.txt'); + } else { + &printem('crypto', 'util/libcrypto.num', 'util/missingcrypto.txt'); + &printem('ssl', 'util/libssl.num', 'util/missingssl.txt'); + } &checkmacros(); } diff --git a/util/missingcrypto.txt b/util/missingcrypto.txt new file mode 100644 index 0000000..e68ddc8 --- /dev/null +++ b/util/missingcrypto.txt @@ -0,0 +1,1499 @@ +# A list of libcrypto functions that are known to be missing documentation as +# used by the find-doc-nits -v option. The list is as of commit 355b419698. +ACCESS_DESCRIPTION_it +ADMISSIONS_it +ADMISSION_SYNTAX_it +AES_bi_ige_encrypt +AES_cbc_encrypt +AES_cfb128_encrypt +AES_cfb1_encrypt +AES_cfb8_encrypt +AES_decrypt +AES_ecb_encrypt +AES_encrypt +AES_ige_encrypt +AES_ofb128_encrypt +AES_options +AES_set_decrypt_key +AES_set_encrypt_key +AES_unwrap_key +AES_wrap_key +ASIdOrRange_it +ASIdentifierChoice_it +ASIdentifiers_it +ASRange_it +AUTHORITY_INFO_ACCESS_it +AUTHORITY_KEYID_it +BASIC_CONSTRAINTS_it +BIGNUM_it +BIO_accept +BIO_asn1_get_prefix +BIO_asn1_get_suffix +BIO_asn1_set_prefix +BIO_asn1_set_suffix +BIO_clear_flags +BIO_copy_next_retry +BIO_dgram_is_sctp +BIO_dgram_non_fatal_error +BIO_dgram_sctp_msg_waiting +BIO_dgram_sctp_notification_cb +BIO_dgram_sctp_wait_for_dry +BIO_dump +BIO_dump_cb +BIO_dump_fp +BIO_dump_indent +BIO_dump_indent_cb +BIO_dump_indent_fp +BIO_dup_chain +BIO_f_asn1 +BIO_f_linebuffer +BIO_f_nbio_test +BIO_f_reliable +BIO_f_zlib +BIO_fd_non_fatal_error +BIO_fd_should_retry +BIO_get_accept_socket +BIO_get_host_ip +BIO_get_port +BIO_gethostbyname +BIO_hex_string +BIO_indent +BIO_method_name +BIO_new_NDEF +BIO_new_PKCS7 +BIO_new_dgram +BIO_new_dgram_sctp +BIO_nread +BIO_nread0 +BIO_number_read +BIO_number_written +BIO_nwrite +BIO_nwrite0 +BIO_s_datagram +BIO_s_datagram_sctp +BIO_s_log +BIO_set_flags +BIO_set_tcp_ndelay +BIO_sock_error +BIO_sock_info +BIO_sock_init +BIO_sock_non_fatal_error +BIO_sock_should_retry +BIO_socket_ioctl +BIO_socket_nbio +BIO_test_flags +BN_GF2m_add +BN_GF2m_arr2poly +BN_GF2m_mod +BN_GF2m_mod_arr +BN_GF2m_mod_div +BN_GF2m_mod_div_arr +BN_GF2m_mod_exp +BN_GF2m_mod_exp_arr +BN_GF2m_mod_inv +BN_GF2m_mod_inv_arr +BN_GF2m_mod_mul +BN_GF2m_mod_mul_arr +BN_GF2m_mod_solve_quad +BN_GF2m_mod_solve_quad_arr +BN_GF2m_mod_sqr +BN_GF2m_mod_sqr_arr +BN_GF2m_mod_sqrt +BN_GF2m_mod_sqrt_arr +BN_GF2m_poly2arr +BN_MONT_CTX_set_locked +BN_X931_derive_prime_ex +BN_X931_generate_Xpq +BN_X931_generate_prime_ex +BN_abs_is_word +BN_asc2bn +BN_bntest_rand +BN_consttime_swap +BN_generate_dsa_nonce +BN_get_flags +BN_get_params +BN_is_negative +BN_kronecker +BN_mod_add_quick +BN_mod_exp2_mont +BN_mod_exp_mont +BN_mod_exp_mont_consttime +BN_mod_exp_mont_word +BN_mod_exp_recp +BN_mod_exp_simple +BN_mod_lshift +BN_mod_lshift1 +BN_mod_lshift1_quick +BN_mod_lshift_quick +BN_mod_sqrt +BN_mod_sub_quick +BN_nist_mod_192 +BN_nist_mod_224 +BN_nist_mod_256 +BN_nist_mod_384 +BN_nist_mod_521 +BN_nist_mod_func +BN_options +BN_reciprocal +BN_set_flags +BN_set_negative +BN_set_params +BN_uadd +BN_usub +BN_zero_ex +CAST_cbc_encrypt +CAST_cfb64_encrypt +CAST_decrypt +CAST_ecb_encrypt +CAST_encrypt +CAST_ofb64_encrypt +CAST_set_key +CBIGNUM_it +CERTIFICATEPOLICIES_it +CMAC_CTX_cleanup +CMAC_CTX_copy +CMAC_CTX_free +CMAC_CTX_get0_cipher_ctx +CMAC_CTX_new +CMAC_Final +CMAC_Init +CMAC_Update +CMAC_resume +CMS_ContentInfo_it +CMS_EncryptedData_decrypt +CMS_EncryptedData_encrypt +CMS_EncryptedData_set1_key +CMS_EnvelopedData_create +CMS_ReceiptRequest_it +CMS_RecipientEncryptedKey_cert_cmp +CMS_RecipientEncryptedKey_get0_id +CMS_RecipientInfo_get0_pkey_ctx +CMS_RecipientInfo_kari_decrypt +CMS_RecipientInfo_kari_get0_alg +CMS_RecipientInfo_kari_get0_ctx +CMS_RecipientInfo_kari_get0_orig_id +CMS_RecipientInfo_kari_get0_reks +CMS_RecipientInfo_kari_orig_id_cmp +CMS_RecipientInfo_kari_set0_pkey +CMS_RecipientInfo_ktri_get0_algs +CMS_RecipientInfo_set0_password +CMS_SharedInfo_encode +CMS_SignedData_init +CMS_SignerInfo_get0_algs +CMS_SignerInfo_get0_md_ctx +CMS_SignerInfo_get0_pkey_ctx +CMS_SignerInfo_verify +CMS_SignerInfo_verify_content +CMS_add0_CertificateChoices +CMS_add0_RevocationInfoChoice +CMS_add0_recipient_password +CMS_add_simple_smimecap +CMS_add_smimecap +CMS_add_standard_smimecap +CMS_data +CMS_dataFinal +CMS_dataInit +CMS_data_create +CMS_decrypt_set1_key +CMS_decrypt_set1_password +CMS_decrypt_set1_pkey +CMS_digest_create +CMS_digest_verify +CMS_is_detached +CMS_set1_signers_certs +CMS_set_detached +CMS_signed_add1_attr +CMS_signed_add1_attr_by_NID +CMS_signed_add1_attr_by_OBJ +CMS_signed_add1_attr_by_txt +CMS_signed_delete_attr +CMS_signed_get0_data_by_OBJ +CMS_signed_get_attr +CMS_signed_get_attr_by_NID +CMS_signed_get_attr_by_OBJ +CMS_signed_get_attr_count +CMS_stream +CMS_unsigned_add1_attr +CMS_unsigned_add1_attr_by_NID +CMS_unsigned_add1_attr_by_OBJ +CMS_unsigned_add1_attr_by_txt +CMS_unsigned_delete_attr +CMS_unsigned_get0_data_by_OBJ +CMS_unsigned_get_attr +CMS_unsigned_get_attr_by_NID +CMS_unsigned_get_attr_by_OBJ +CMS_unsigned_get_attr_count +COMP_CTX_free +COMP_CTX_get_method +COMP_CTX_get_type +COMP_CTX_new +COMP_compress_block +COMP_expand_block +COMP_get_name +COMP_get_type +COMP_zlib +CONF_dump_bio +CONF_dump_fp +CONF_free +CONF_get1_default_config_file +CONF_get_number +CONF_get_section +CONF_get_string +CONF_imodule_get_flags +CONF_imodule_get_module +CONF_imodule_get_name +CONF_imodule_get_usr_data +CONF_imodule_get_value +CONF_imodule_set_flags +CONF_imodule_set_usr_data +CONF_load +CONF_load_bio +CONF_load_fp +CONF_module_add +CONF_module_get_usr_data +CONF_module_set_usr_data +CONF_parse_list +CONF_set_default_method +CONF_set_nconf +CRL_DIST_POINTS_it +CRYPTO_128_unwrap +CRYPTO_128_unwrap_pad +CRYPTO_128_wrap +CRYPTO_128_wrap_pad +CRYPTO_THREAD_cleanup_local +CRYPTO_THREAD_compare_id +CRYPTO_THREAD_get_current_id +CRYPTO_THREAD_get_local +CRYPTO_THREAD_init_local +CRYPTO_THREAD_set_local +CRYPTO_cbc128_decrypt +CRYPTO_cbc128_encrypt +CRYPTO_ccm128_aad +CRYPTO_ccm128_decrypt +CRYPTO_ccm128_decrypt_ccm64 +CRYPTO_ccm128_encrypt +CRYPTO_ccm128_encrypt_ccm64 +CRYPTO_ccm128_init +CRYPTO_ccm128_setiv +CRYPTO_ccm128_tag +CRYPTO_cfb128_1_encrypt +CRYPTO_cfb128_8_encrypt +CRYPTO_cfb128_encrypt +CRYPTO_ctr128_encrypt +CRYPTO_ctr128_encrypt_ctr32 +CRYPTO_cts128_decrypt +CRYPTO_cts128_decrypt_block +CRYPTO_cts128_encrypt +CRYPTO_cts128_encrypt_block +CRYPTO_dup_ex_data +CRYPTO_gcm128_aad +CRYPTO_gcm128_decrypt +CRYPTO_gcm128_decrypt_ctr32 +CRYPTO_gcm128_encrypt +CRYPTO_gcm128_encrypt_ctr32 +CRYPTO_gcm128_finish +CRYPTO_gcm128_init +CRYPTO_gcm128_new +CRYPTO_gcm128_release +CRYPTO_gcm128_setiv +CRYPTO_gcm128_tag +CRYPTO_mem_debug_free +CRYPTO_mem_debug_malloc +CRYPTO_mem_debug_realloc +CRYPTO_memcmp +CRYPTO_memdup +CRYPTO_nistcts128_decrypt +CRYPTO_nistcts128_decrypt_block +CRYPTO_nistcts128_encrypt +CRYPTO_nistcts128_encrypt_block +CRYPTO_ocb128_aad +CRYPTO_ocb128_cleanup +CRYPTO_ocb128_copy_ctx +CRYPTO_ocb128_decrypt +CRYPTO_ocb128_encrypt +CRYPTO_ocb128_finish +CRYPTO_ocb128_init +CRYPTO_ocb128_new +CRYPTO_ocb128_setiv +CRYPTO_ocb128_tag +CRYPTO_ofb128_encrypt +CRYPTO_secure_actual_size +CRYPTO_secure_allocated +CRYPTO_siv128_aad +CRYPTO_siv128_cleanup +CRYPTO_siv128_copy_ctx +CRYPTO_siv128_decrypt +CRYPTO_siv128_encrypt +CRYPTO_siv128_finish +CRYPTO_siv128_get_tag +CRYPTO_siv128_init +CRYPTO_siv128_new +CRYPTO_siv128_set_tag +CRYPTO_siv128_speed +CRYPTO_xts128_encrypt +Camellia_cbc_encrypt +Camellia_cfb128_encrypt +Camellia_cfb1_encrypt +Camellia_cfb8_encrypt +Camellia_ctr128_encrypt +Camellia_decrypt +Camellia_ecb_encrypt +Camellia_encrypt +Camellia_ofb128_encrypt +Camellia_set_key +DES_cbc_encrypt +DES_check_key_parity +DES_decrypt3 +DES_ede3_cfb_encrypt +DES_encrypt1 +DES_encrypt2 +DES_encrypt3 +DES_options +DH_KDF_X9_42 +DH_check_pub_key +DH_compute_key_padded +DH_up_ref +DHparams_dup +DHparams_it +DIRECTORYSTRING_it +DISPLAYTEXT_it +DIST_POINT_NAME_it +DIST_POINT_it +DIST_POINT_set_dpname +DSA_get_method +DSA_up_ref +DSO_METHOD_openssl +DSO_bind_func +DSO_convert_filename +DSO_ctrl +DSO_dsobyaddr +DSO_flags +DSO_free +DSO_get_filename +DSO_global_lookup +DSO_load +DSO_merge +DSO_new +DSO_pathbyaddr +DSO_set_filename +DSO_up_ref +ECDH_KDF_X9_62 +ECDH_compute_key +ECPARAMETERS_it +ECPKPARAMETERS_it +ECParameters_print +ECParameters_print_fp +EC_GROUP_get_mont_data +EC_KEY_METHOD_free +EC_KEY_METHOD_get_compute_key +EC_KEY_METHOD_get_init +EC_KEY_METHOD_get_keygen +EC_KEY_METHOD_get_sign +EC_KEY_METHOD_get_verify +EC_KEY_METHOD_new +EC_KEY_METHOD_set_compute_key +EC_KEY_METHOD_set_init +EC_KEY_METHOD_set_keygen +EC_KEY_METHOD_set_sign +EC_KEY_METHOD_set_verify +EC_KEY_OpenSSL +EC_KEY_can_sign +EC_KEY_get_default_method +EC_KEY_new_method +EC_KEY_print +EC_KEY_print_fp +EC_KEY_set_default_method +EC_curve_nid2nist +EC_curve_nist2nid +EDIPARTYNAME_it +ENGINE_get_EC +ENGINE_get_default_EC +ENGINE_get_pkey_asn1_meth +ENGINE_get_pkey_asn1_meth_engine +ENGINE_get_pkey_asn1_meth_str +ENGINE_get_pkey_asn1_meths +ENGINE_get_pkey_meth +ENGINE_get_pkey_meth_engine +ENGINE_get_pkey_meths +ENGINE_get_ssl_client_cert_function +ENGINE_get_static_state +ENGINE_load_ssl_client_cert +ENGINE_pkey_asn1_find_str +ENGINE_register_EC +ENGINE_register_all_EC +ENGINE_register_all_pkey_asn1_meths +ENGINE_register_all_pkey_meths +ENGINE_register_pkey_asn1_meths +ENGINE_register_pkey_meths +ENGINE_set_EC +ENGINE_set_default_EC +ENGINE_set_default_pkey_asn1_meths +ENGINE_set_default_pkey_meths +ENGINE_set_load_ssl_client_cert_function +ENGINE_set_pkey_asn1_meths +ENGINE_set_pkey_meths +ENGINE_setup_bsd_cryptodev +ENGINE_unregister_EC +ENGINE_unregister_pkey_asn1_meths +ENGINE_unregister_pkey_meths +ERR_clear_last_mark +ERR_get_state +ERR_load_ASN1_strings +ERR_load_ASYNC_strings +ERR_load_BIO_strings +ERR_load_BN_strings +ERR_load_BUF_strings +ERR_load_CMP_strings +ERR_load_CMS_strings +ERR_load_COMP_strings +ERR_load_CONF_strings +ERR_load_CRMF_strings +ERR_load_CRYPTO_strings +ERR_load_CRYPTOlib_strings +ERR_load_CT_strings +ERR_load_DH_strings +ERR_load_DSA_strings +ERR_load_DSO_strings +ERR_load_EC_strings +ERR_load_ENGINE_strings +ERR_load_ERR_strings +ERR_load_ESS_strings +ERR_load_EVP_strings +ERR_load_KDF_strings +ERR_load_OBJ_strings +ERR_load_OCSP_strings +ERR_load_OSSL_STORE_strings +ERR_load_PEM_strings +ERR_load_PKCS12_strings +ERR_load_PKCS7_strings +ERR_load_RAND_strings +ERR_load_RSA_strings +ERR_load_TS_strings +ERR_load_UI_strings +ERR_load_X509V3_strings +ERR_load_X509_strings +ERR_load_strings_const +ERR_set_error_data +ERR_unload_strings +ESS_CERT_ID_V2_dup +ESS_CERT_ID_V2_free +ESS_CERT_ID_V2_new +ESS_SIGNING_CERT_V2_dup +ESS_SIGNING_CERT_V2_free +ESS_SIGNING_CERT_V2_new +ESS_SIGNING_CERT_V2_new_init +ESS_SIGNING_CERT_new_init +EVP_CIPHER_CTX_buf_noconst +EVP_CIPHER_CTX_clear_flags +EVP_CIPHER_CTX_copy +EVP_CIPHER_CTX_encrypting +EVP_CIPHER_CTX_iv +EVP_CIPHER_CTX_iv_noconst +EVP_CIPHER_CTX_num +EVP_CIPHER_CTX_original_iv +EVP_CIPHER_CTX_rand_key +EVP_CIPHER_CTX_set_flags +EVP_CIPHER_CTX_set_num +EVP_CIPHER_CTX_test_flags +EVP_CIPHER_do_all +EVP_CIPHER_do_all_sorted +EVP_CIPHER_fetch +EVP_CIPHER_get_asn1_iv +EVP_CIPHER_impl_ctx_size +EVP_CIPHER_set_asn1_iv +EVP_CIPHER_upref +EVP_Cipher +EVP_MAC_do_all +EVP_MAC_do_all_sorted +EVP_MD_do_all +EVP_MD_do_all_sorted +EVP_PBE_CipherInit +EVP_PBE_alg_add +EVP_PBE_alg_add_type +EVP_PBE_cleanup +EVP_PBE_find +EVP_PBE_get +EVP_PBE_scrypt +EVP_PKCS82PKEY +EVP_PKEY2PKCS8 +EVP_PKEY_CTX_get0_peerkey +EVP_PKEY_CTX_get0_pkey +EVP_PKEY_CTX_get_data +EVP_PKEY_CTX_get_operation +EVP_PKEY_CTX_hex2ctrl +EVP_PKEY_CTX_set0_keygen_info +EVP_PKEY_CTX_set_data +EVP_PKEY_CTX_str2ctrl +EVP_PKEY_add1_attr +EVP_PKEY_add1_attr_by_NID +EVP_PKEY_add1_attr_by_OBJ +EVP_PKEY_add1_attr_by_txt +EVP_PKEY_assign +EVP_PKEY_bits +EVP_PKEY_decrypt_old +EVP_PKEY_delete_attr +EVP_PKEY_encrypt_old +EVP_PKEY_get0 +EVP_PKEY_get1_tls_encodedpoint +EVP_PKEY_get_attr +EVP_PKEY_get_attr_by_NID +EVP_PKEY_get_attr_by_OBJ +EVP_PKEY_get_attr_count +EVP_PKEY_save_parameters +EVP_PKEY_set1_tls_encodedpoint +EVP_PKEY_set_type +EVP_PKEY_set_type_str +EVP_add_alg_module +EVP_add_cipher +EVP_add_digest +EVP_aes_128_siv +EVP_aes_192_siv +EVP_aes_256_siv +EVP_get_pw_prompt +EVP_hex2ctrl +EVP_read_pw_string +EVP_read_pw_string_min +EVP_set_pw_prompt +EVP_str2ctrl +EXTENDED_KEY_USAGE_it +FIPS_mode +FIPS_mode_set +GENERAL_NAMES_it +GENERAL_NAME_cmp +GENERAL_NAME_get0_otherName +GENERAL_NAME_get0_value +GENERAL_NAME_it +GENERAL_NAME_print +GENERAL_NAME_set0_othername +GENERAL_NAME_set0_value +GENERAL_SUBTREE_it +IDEA_cbc_encrypt +IDEA_cfb64_encrypt +IDEA_ecb_encrypt +IDEA_encrypt +IDEA_ofb64_encrypt +IDEA_options +IDEA_set_decrypt_key +IDEA_set_encrypt_key +INT32_it +INT64_it +IPAddressChoice_it +IPAddressFamily_it +IPAddressOrRange_it +IPAddressRange_it +ISSUING_DIST_POINT_it +LONG_it +MD2_options +MD4_Transform +MD5_Transform +NAME_CONSTRAINTS_check +NAME_CONSTRAINTS_check_CN +NAME_CONSTRAINTS_it +NAMING_AUTHORITY_it +NCONF_WIN32 +NCONF_default +NCONF_dump_bio +NCONF_dump_fp +NCONF_free +NCONF_free_data +NCONF_get_number_e +NCONF_get_section +NCONF_get_string +NCONF_load +NCONF_load_bio +NCONF_load_fp +NCONF_new +NETSCAPE_CERT_SEQUENCE_it +NETSCAPE_SPKAC_it +NETSCAPE_SPKI_b64_decode +NETSCAPE_SPKI_b64_encode +NETSCAPE_SPKI_get_pubkey +NETSCAPE_SPKI_it +NETSCAPE_SPKI_print +NETSCAPE_SPKI_set_pubkey +NETSCAPE_SPKI_sign +NETSCAPE_SPKI_verify +NOTICEREF_it +OBJ_NAME_add +OBJ_NAME_cleanup +OBJ_NAME_do_all +OBJ_NAME_do_all_sorted +OBJ_NAME_get +OBJ_NAME_init +OBJ_NAME_new_index +OBJ_NAME_remove +OBJ_add_object +OBJ_add_sigid +OBJ_bsearch_ +OBJ_bsearch_ex_ +OBJ_create_objects +OBJ_find_sigid_algs +OBJ_find_sigid_by_algs +OBJ_new_nid +OBJ_sigid_free +OCSP_BASICRESP_add1_ext_i2d +OCSP_BASICRESP_add_ext +OCSP_BASICRESP_delete_ext +OCSP_BASICRESP_get1_ext_d2i +OCSP_BASICRESP_get_ext +OCSP_BASICRESP_get_ext_by_NID +OCSP_BASICRESP_get_ext_by_OBJ +OCSP_BASICRESP_get_ext_by_critical +OCSP_BASICRESP_get_ext_count +OCSP_BASICRESP_it +OCSP_CERTID_it +OCSP_CERTSTATUS_it +OCSP_CRLID_it +OCSP_ONEREQ_add1_ext_i2d +OCSP_ONEREQ_add_ext +OCSP_ONEREQ_delete_ext +OCSP_ONEREQ_get1_ext_d2i +OCSP_ONEREQ_get_ext +OCSP_ONEREQ_get_ext_by_NID +OCSP_ONEREQ_get_ext_by_OBJ +OCSP_ONEREQ_get_ext_by_critical +OCSP_ONEREQ_get_ext_count +OCSP_ONEREQ_it +OCSP_REQINFO_it +OCSP_REQUEST_add1_ext_i2d +OCSP_REQUEST_add_ext +OCSP_REQUEST_delete_ext +OCSP_REQUEST_get1_ext_d2i +OCSP_REQUEST_get_ext +OCSP_REQUEST_get_ext_by_NID +OCSP_REQUEST_get_ext_by_OBJ +OCSP_REQUEST_get_ext_by_critical +OCSP_REQUEST_get_ext_count +OCSP_REQUEST_it +OCSP_REQUEST_print +OCSP_REQ_CTX_get0_mem_bio +OCSP_REQ_CTX_http +OCSP_REQ_CTX_i2d +OCSP_REQ_CTX_nbio +OCSP_REQ_CTX_nbio_d2i +OCSP_REQ_CTX_new +OCSP_RESPBYTES_it +OCSP_RESPDATA_it +OCSP_RESPID_it +OCSP_RESPONSE_it +OCSP_RESPONSE_print +OCSP_REVOKEDINFO_it +OCSP_SERVICELOC_it +OCSP_SIGNATURE_it +OCSP_SINGLERESP_add1_ext_i2d +OCSP_SINGLERESP_add_ext +OCSP_SINGLERESP_delete_ext +OCSP_SINGLERESP_get0_id +OCSP_SINGLERESP_get1_ext_d2i +OCSP_SINGLERESP_get_ext +OCSP_SINGLERESP_get_ext_by_NID +OCSP_SINGLERESP_get_ext_by_OBJ +OCSP_SINGLERESP_get_ext_by_critical +OCSP_SINGLERESP_get_ext_count +OCSP_SINGLERESP_it +OCSP_accept_responses_new +OCSP_archive_cutoff_new +OCSP_basic_add1_cert +OCSP_basic_add1_status +OCSP_cert_status_str +OCSP_crlID2_new +OCSP_crlID_new +OCSP_crl_reason_str +OCSP_onereq_get0_id +OCSP_parse_url +OCSP_request_is_signed +OCSP_request_set1_name +OCSP_request_verify +OCSP_response_status_str +OCSP_url_svcloc_new +OPENSSL_DIR_end +OPENSSL_DIR_read +OPENSSL_LH_delete +OPENSSL_LH_doall +OPENSSL_LH_doall_arg +OPENSSL_LH_error +OPENSSL_LH_flush +OPENSSL_LH_free +OPENSSL_LH_get_down_load +OPENSSL_LH_insert +OPENSSL_LH_new +OPENSSL_LH_num_items +OPENSSL_LH_retrieve +OPENSSL_LH_set_down_load +OPENSSL_LH_strhash +OPENSSL_asc2uni +OPENSSL_die +OPENSSL_gmtime +OPENSSL_gmtime_adj +OPENSSL_gmtime_diff +OPENSSL_init +OPENSSL_isservice +OPENSSL_issetugid +OPENSSL_memcmp +OPENSSL_sk_deep_copy +OPENSSL_sk_delete +OPENSSL_sk_delete_ptr +OPENSSL_sk_dup +OPENSSL_sk_find +OPENSSL_sk_find_ex +OPENSSL_sk_free +OPENSSL_sk_insert +OPENSSL_sk_is_sorted +OPENSSL_sk_new +OPENSSL_sk_new_null +OPENSSL_sk_new_reserve +OPENSSL_sk_num +OPENSSL_sk_pop +OPENSSL_sk_pop_free +OPENSSL_sk_push +OPENSSL_sk_reserve +OPENSSL_sk_set +OPENSSL_sk_set_cmp_func +OPENSSL_sk_shift +OPENSSL_sk_sort +OPENSSL_sk_unshift +OPENSSL_sk_value +OPENSSL_sk_zero +OPENSSL_strnlen +OPENSSL_uni2asc +OPENSSL_uni2utf8 +OPENSSL_utf82uni +OSSL_PARAM_construct_double +OSSL_PARAM_construct_int +OSSL_PARAM_construct_int32 +OSSL_PARAM_construct_int64 +OSSL_PARAM_construct_long +OSSL_PARAM_construct_size_t +OSSL_PARAM_construct_uint +OSSL_PARAM_construct_uint32 +OSSL_PARAM_construct_uint64 +OSSL_PARAM_construct_ulong +OSSL_PARAM_get_double +OSSL_PARAM_get_int +OSSL_PARAM_get_int32 +OSSL_PARAM_get_int64 +OSSL_PARAM_get_long +OSSL_PARAM_get_size_t +OSSL_PARAM_get_uint +OSSL_PARAM_get_uint32 +OSSL_PARAM_get_uint64 +OSSL_PARAM_get_ulong +OSSL_PARAM_set_double +OSSL_PARAM_set_int +OSSL_PARAM_set_int32 +OSSL_PARAM_set_int64 +OSSL_PARAM_set_long +OSSL_PARAM_set_size_t +OSSL_PARAM_set_uint +OSSL_PARAM_set_uint32 +OSSL_PARAM_set_uint64 +OSSL_PARAM_set_ulong +OSSL_STORE_do_all_loaders +OSSL_STORE_vctrl +OTHERNAME_cmp +OTHERNAME_it +PBE2PARAM_it +PBEPARAM_it +PBKDF2PARAM_it +PEM_ASN1_read +PEM_ASN1_read_bio +PEM_ASN1_write +PEM_ASN1_write_bio +PEM_SignFinal +PEM_SignInit +PEM_SignUpdate +PEM_X509_INFO_read +PEM_X509_INFO_read_bio +PEM_X509_INFO_write_bio +PEM_def_callback +PEM_dek_info +PEM_proc_type +PEM_read_bio_ECPrivateKey +PEM_read_bio_Parameters +PEM_write_bio_ASN1_stream +PEM_write_bio_Parameters +PKCS12_AUTHSAFES_it +PKCS12_BAGS_it +PKCS12_MAC_DATA_it +PKCS12_PBE_add +PKCS12_PBE_keyivgen +PKCS12_SAFEBAGS_it +PKCS12_SAFEBAG_create0_p8inf +PKCS12_SAFEBAG_create0_pkcs8 +PKCS12_SAFEBAG_create_cert +PKCS12_SAFEBAG_create_crl +PKCS12_SAFEBAG_create_pkcs8_encrypt +PKCS12_SAFEBAG_get0_attr +PKCS12_SAFEBAG_get0_attrs +PKCS12_SAFEBAG_get0_p8inf +PKCS12_SAFEBAG_get0_pkcs8 +PKCS12_SAFEBAG_get0_safes +PKCS12_SAFEBAG_get0_type +PKCS12_SAFEBAG_get1_cert +PKCS12_SAFEBAG_get1_crl +PKCS12_SAFEBAG_get_bag_nid +PKCS12_SAFEBAG_get_nid +PKCS12_SAFEBAG_it +PKCS12_add_CSPName_asc +PKCS12_add_cert +PKCS12_add_friendlyname_asc +PKCS12_add_friendlyname_uni +PKCS12_add_friendlyname_utf8 +PKCS12_add_key +PKCS12_add_localkeyid +PKCS12_add_safe +PKCS12_add_safes +PKCS12_decrypt_skey +PKCS12_gen_mac +PKCS12_get0_mac +PKCS12_get_attr +PKCS12_get_attr_gen +PKCS12_get_friendlyname +PKCS12_init +PKCS12_it +PKCS12_item_decrypt_d2i +PKCS12_item_i2d_encrypt +PKCS12_item_pack_safebag +PKCS12_key_gen_asc +PKCS12_key_gen_uni +PKCS12_key_gen_utf8 +PKCS12_mac_present +PKCS12_pack_authsafes +PKCS12_pack_p7data +PKCS12_pack_p7encdata +PKCS12_pbe_crypt +PKCS12_set_mac +PKCS12_setup_mac +PKCS12_unpack_authsafes +PKCS12_unpack_p7data +PKCS12_unpack_p7encdata +PKCS12_verify_mac +PKCS1_MGF1 +PKCS5_PBE_add +PKCS5_PBE_keyivgen +PKCS5_pbe2_set +PKCS5_pbe2_set_iv +PKCS5_pbe2_set_scrypt +PKCS5_pbe_set +PKCS5_pbe_set0_algor +PKCS5_pbkdf2_set +PKCS5_v2_PBE_keyivgen +PKCS5_v2_scrypt_keyivgen +PKCS7_ATTR_SIGN_it +PKCS7_ATTR_VERIFY_it +PKCS7_DIGEST_it +PKCS7_ENCRYPT_it +PKCS7_ENC_CONTENT_it +PKCS7_ENVELOPE_it +PKCS7_ISSUER_AND_SERIAL_it +PKCS7_RECIP_INFO_get0_alg +PKCS7_RECIP_INFO_it +PKCS7_RECIP_INFO_set +PKCS7_SIGNED_it +PKCS7_SIGNER_INFO_get0_algs +PKCS7_SIGNER_INFO_it +PKCS7_SIGNER_INFO_set +PKCS7_SIGNER_INFO_sign +PKCS7_SIGN_ENVELOPE_it +PKCS7_add0_attrib_signing_time +PKCS7_add1_attrib_digest +PKCS7_add_attrib_content_type +PKCS7_add_attrib_smimecap +PKCS7_add_attribute +PKCS7_add_certificate +PKCS7_add_crl +PKCS7_add_recipient +PKCS7_add_recipient_info +PKCS7_add_signature +PKCS7_add_signed_attribute +PKCS7_add_signer +PKCS7_cert_from_signer_info +PKCS7_content_new +PKCS7_ctrl +PKCS7_dataDecode +PKCS7_dataFinal +PKCS7_dataInit +PKCS7_dataVerify +PKCS7_digest_from_attributes +PKCS7_final +PKCS7_get_attribute +PKCS7_get_issuer_and_serial +PKCS7_get_signed_attribute +PKCS7_get_signer_info +PKCS7_get_smimecap +PKCS7_it +PKCS7_set0_type_other +PKCS7_set_attributes +PKCS7_set_cipher +PKCS7_set_content +PKCS7_set_digest +PKCS7_set_signed_attributes +PKCS7_set_type +PKCS7_signatureVerify +PKCS7_simple_smimecap +PKCS7_stream +PKCS7_to_TS_TST_INFO +PKCS8_PRIV_KEY_INFO_it +PKCS8_add_keyusage +PKCS8_decrypt +PKCS8_encrypt +PKCS8_get_attr +PKCS8_pkey_add1_attr_by_NID +PKCS8_pkey_get0 +PKCS8_pkey_get0_attrs +PKCS8_pkey_set0 +PKCS8_set0_pbe +PKEY_USAGE_PERIOD_it +POLICYINFO_it +POLICYQUALINFO_it +POLICY_CONSTRAINTS_it +POLICY_MAPPINGS_it +POLICY_MAPPING_it +PROFESSION_INFO_it +PROXY_CERT_INFO_EXTENSION_it +PROXY_POLICY_it +RAND_set_rand_engine +RC2_cbc_encrypt +RC2_cfb64_encrypt +RC2_decrypt +RC2_ecb_encrypt +RC2_encrypt +RC2_ofb64_encrypt +RC2_set_key +RC4_options +RC5_32_cbc_encrypt +RC5_32_cfb64_encrypt +RC5_32_decrypt +RC5_32_ecb_encrypt +RC5_32_encrypt +RC5_32_ofb64_encrypt +RC5_32_set_key +RIPEMD160_Transform +RSAPrivateKey_it +RSAPublicKey_it +RSA_OAEP_PARAMS_it +RSA_PSS_PARAMS_it +RSA_X931_derive_ex +RSA_X931_generate_key_ex +RSA_X931_hash_id +RSA_null_method +RSA_padding_add_PKCS1_PSS +RSA_padding_add_PKCS1_PSS_mgf1 +RSA_padding_add_X931 +RSA_padding_check_X931 +RSA_pkey_ctx_ctrl +RSA_setup_blinding +RSA_up_ref +RSA_verify_PKCS1_PSS +RSA_verify_PKCS1_PSS_mgf1 +SCRYPT_PARAMS_it +SEED_cbc_encrypt +SEED_cfb128_encrypt +SEED_decrypt +SEED_ecb_encrypt +SEED_encrypt +SEED_ofb128_encrypt +SEED_set_key +SHA1_Transform +SHA256_Transform +SHA512_Transform +SMIME_crlf_copy +SMIME_read_ASN1 +SMIME_text +SMIME_write_ASN1 +SRP_Calc_A +SRP_Calc_B +SRP_Calc_client_key +SRP_Calc_server_key +SRP_Calc_u +SRP_Calc_x +SRP_Verify_A_mod_N +SRP_Verify_B_mod_N +SXNETID_it +SXNET_add_id_INTEGER +SXNET_add_id_asc +SXNET_add_id_ulong +SXNET_get_id_INTEGER +SXNET_get_id_asc +SXNET_get_id_ulong +SXNET_it +TS_ACCURACY_get_micros +TS_ACCURACY_get_millis +TS_ACCURACY_get_seconds +TS_ACCURACY_set_micros +TS_ACCURACY_set_millis +TS_ACCURACY_set_seconds +TS_ASN1_INTEGER_print_bio +TS_CONF_get_tsa_section +TS_CONF_load_cert +TS_CONF_load_certs +TS_CONF_load_key +TS_CONF_set_accuracy +TS_CONF_set_certs +TS_CONF_set_clock_precision_digits +TS_CONF_set_crypto_device +TS_CONF_set_def_policy +TS_CONF_set_default_engine +TS_CONF_set_digests +TS_CONF_set_ess_cert_id_chain +TS_CONF_set_ess_cert_id_digest +TS_CONF_set_ordering +TS_CONF_set_policies +TS_CONF_set_serial +TS_CONF_set_signer_cert +TS_CONF_set_signer_digest +TS_CONF_set_signer_key +TS_CONF_set_tsa_name +TS_MSG_IMPRINT_get_algo +TS_MSG_IMPRINT_get_msg +TS_MSG_IMPRINT_print_bio +TS_MSG_IMPRINT_set_algo +TS_MSG_IMPRINT_set_msg +TS_OBJ_print_bio +TS_REQ_add_ext +TS_REQ_delete_ext +TS_REQ_ext_free +TS_REQ_get_cert_req +TS_REQ_get_ext +TS_REQ_get_ext_by_NID +TS_REQ_get_ext_by_OBJ +TS_REQ_get_ext_by_critical +TS_REQ_get_ext_count +TS_REQ_get_ext_d2i +TS_REQ_get_exts +TS_REQ_get_msg_imprint +TS_REQ_get_nonce +TS_REQ_get_policy_id +TS_REQ_get_version +TS_REQ_print_bio +TS_REQ_set_cert_req +TS_REQ_set_msg_imprint +TS_REQ_set_nonce +TS_REQ_set_policy_id +TS_REQ_set_version +TS_REQ_to_TS_VERIFY_CTX +TS_RESP_CTX_add_failure_info +TS_RESP_CTX_add_flags +TS_RESP_CTX_add_md +TS_RESP_CTX_add_policy +TS_RESP_CTX_free +TS_RESP_CTX_get_request +TS_RESP_CTX_get_tst_info +TS_RESP_CTX_new +TS_RESP_CTX_set_accuracy +TS_RESP_CTX_set_certs +TS_RESP_CTX_set_clock_precision_digits +TS_RESP_CTX_set_def_policy +TS_RESP_CTX_set_ess_cert_id_digest +TS_RESP_CTX_set_extension_cb +TS_RESP_CTX_set_serial_cb +TS_RESP_CTX_set_signer_cert +TS_RESP_CTX_set_signer_digest +TS_RESP_CTX_set_signer_key +TS_RESP_CTX_set_status_info +TS_RESP_CTX_set_status_info_cond +TS_RESP_CTX_set_time_cb +TS_RESP_create_response +TS_RESP_get_status_info +TS_RESP_get_token +TS_RESP_get_tst_info +TS_RESP_print_bio +TS_RESP_set_status_info +TS_RESP_set_tst_info +TS_RESP_verify_response +TS_RESP_verify_signature +TS_RESP_verify_token +TS_STATUS_INFO_get0_failure_info +TS_STATUS_INFO_get0_status +TS_STATUS_INFO_get0_text +TS_STATUS_INFO_print_bio +TS_STATUS_INFO_set_status +TS_TST_INFO_add_ext +TS_TST_INFO_delete_ext +TS_TST_INFO_ext_free +TS_TST_INFO_get_accuracy +TS_TST_INFO_get_ext +TS_TST_INFO_get_ext_by_NID +TS_TST_INFO_get_ext_by_OBJ +TS_TST_INFO_get_ext_by_critical +TS_TST_INFO_get_ext_count +TS_TST_INFO_get_ext_d2i +TS_TST_INFO_get_exts +TS_TST_INFO_get_msg_imprint +TS_TST_INFO_get_nonce +TS_TST_INFO_get_ordering +TS_TST_INFO_get_policy_id +TS_TST_INFO_get_serial +TS_TST_INFO_get_time +TS_TST_INFO_get_tsa +TS_TST_INFO_get_version +TS_TST_INFO_print_bio +TS_TST_INFO_set_accuracy +TS_TST_INFO_set_msg_imprint +TS_TST_INFO_set_nonce +TS_TST_INFO_set_ordering +TS_TST_INFO_set_policy_id +TS_TST_INFO_set_serial +TS_TST_INFO_set_time +TS_TST_INFO_set_tsa +TS_TST_INFO_set_version +TS_VERIFY_CTS_set_certs +TS_VERIFY_CTX_add_flags +TS_VERIFY_CTX_cleanup +TS_VERIFY_CTX_free +TS_VERIFY_CTX_init +TS_VERIFY_CTX_new +TS_VERIFY_CTX_set_data +TS_VERIFY_CTX_set_flags +TS_VERIFY_CTX_set_imprint +TS_VERIFY_CTX_set_store +TS_X509_ALGOR_print_bio +TS_ext_print_bio +TXT_DB_create_index +TXT_DB_free +TXT_DB_get_by_index +TXT_DB_insert +TXT_DB_read +TXT_DB_write +UINT32_it +UINT64_it +USERNOTICE_it +UTF8_getc +UTF8_putc +WHIRLPOOL +WHIRLPOOL_BitUpdate +WHIRLPOOL_Final +WHIRLPOOL_Init +WHIRLPOOL_Update +X509V3_EXT_CRL_add_conf +X509V3_EXT_CRL_add_nconf +X509V3_EXT_REQ_add_conf +X509V3_EXT_REQ_add_nconf +X509V3_EXT_add +X509V3_EXT_add_alias +X509V3_EXT_add_conf +X509V3_EXT_add_list +X509V3_EXT_add_nconf +X509V3_EXT_add_nconf_sk +X509V3_EXT_cleanup +X509V3_EXT_conf +X509V3_EXT_conf_nid +X509V3_EXT_get +X509V3_EXT_get_nid +X509V3_EXT_nconf +X509V3_EXT_nconf_nid +X509V3_EXT_print +X509V3_EXT_print_fp +X509V3_EXT_val_prn +X509V3_NAME_from_section +X509V3_add_standard_extensions +X509V3_add_value +X509V3_add_value_bool +X509V3_add_value_bool_nf +X509V3_add_value_int +X509V3_add_value_uchar +X509V3_conf_free +X509V3_extensions_print +X509V3_get_section +X509V3_get_string +X509V3_get_value_bool +X509V3_get_value_int +X509V3_parse_list +X509V3_section_free +X509V3_set_conf_lhash +X509V3_set_ctx +X509V3_set_nconf +X509V3_string_free +X509_ALGORS_it +X509_ALGOR_it +X509_ATTRIBUTE_count +X509_ATTRIBUTE_create +X509_ATTRIBUTE_create_by_NID +X509_ATTRIBUTE_create_by_OBJ +X509_ATTRIBUTE_create_by_txt +X509_ATTRIBUTE_get0_data +X509_ATTRIBUTE_get0_object +X509_ATTRIBUTE_get0_type +X509_ATTRIBUTE_it +X509_ATTRIBUTE_set1_data +X509_ATTRIBUTE_set1_object +X509_CERT_AUX_it +X509_CINF_it +X509_CRL_INFO_it +X509_CRL_METHOD_free +X509_CRL_METHOD_new +X509_CRL_check_suiteb +X509_CRL_cmp +X509_CRL_diff +X509_CRL_get_lastUpdate +X509_CRL_get_meth_data +X509_CRL_get_nextUpdate +X509_CRL_http_nbio +X509_CRL_it +X509_CRL_match +X509_CRL_print +X509_CRL_print_ex +X509_CRL_print_fp +X509_CRL_set_default_method +X509_CRL_set_meth_data +X509_CRL_up_ref +X509_EXTENSIONS_it +X509_EXTENSION_it +X509_INFO_free +X509_INFO_new +X509_LOOKUP_by_alias +X509_LOOKUP_by_fingerprint +X509_LOOKUP_by_issuer_serial +X509_LOOKUP_by_subject +X509_LOOKUP_ctrl +X509_LOOKUP_free +X509_LOOKUP_init +X509_LOOKUP_new +X509_LOOKUP_shutdown +X509_NAME_ENTRY_it +X509_NAME_ENTRY_set +X509_NAME_cmp +X509_NAME_hash +X509_NAME_hash_old +X509_NAME_it +X509_NAME_set +X509_OBJECT_free +X509_OBJECT_get0_X509 +X509_OBJECT_get0_X509_CRL +X509_OBJECT_get_type +X509_OBJECT_idx_by_subject +X509_OBJECT_new +X509_OBJECT_retrieve_by_subject +X509_OBJECT_retrieve_match +X509_OBJECT_up_ref_count +X509_PKEY_free +X509_PKEY_new +X509_POLICY_NODE_print +X509_PUBKEY_it +X509_PURPOSE_add +X509_PURPOSE_cleanup +X509_PURPOSE_get0 +X509_PURPOSE_get0_name +X509_PURPOSE_get0_sname +X509_PURPOSE_get_by_id +X509_PURPOSE_get_by_sname +X509_PURPOSE_get_count +X509_PURPOSE_get_id +X509_PURPOSE_get_trust +X509_PURPOSE_set +X509_REQ_INFO_it +X509_REQ_add1_attr +X509_REQ_add1_attr_by_NID +X509_REQ_add1_attr_by_OBJ +X509_REQ_add1_attr_by_txt +X509_REQ_add_extensions +X509_REQ_add_extensions_nid +X509_REQ_delete_attr +X509_REQ_extension_nid +X509_REQ_get1_email +X509_REQ_get_attr +X509_REQ_get_attr_by_NID +X509_REQ_get_attr_by_OBJ +X509_REQ_get_attr_count +X509_REQ_get_extension_nids +X509_REQ_get_extensions +X509_REQ_it +X509_REQ_print +X509_REQ_print_ex +X509_REQ_print_fp +X509_REQ_set_extension_nids +X509_REQ_to_X509 +X509_REVOKED_it +X509_SIG_it +X509_STORE_CTX_get0_current_crl +X509_STORE_CTX_get0_current_issuer +X509_STORE_CTX_get0_parent_ctx +X509_STORE_CTX_get0_policy_tree +X509_STORE_CTX_get0_store +X509_STORE_CTX_get1_certs +X509_STORE_CTX_get1_crls +X509_STORE_CTX_get1_issuer +X509_STORE_CTX_get_by_subject +X509_STORE_CTX_get_explicit_policy +X509_STORE_CTX_get_obj_by_subject +X509_STORE_CTX_purpose_inherit +X509_STORE_CTX_set0_dane +X509_STORE_CTX_set_depth +X509_STORE_CTX_set_flags +X509_STORE_CTX_set_purpose +X509_STORE_CTX_set_time +X509_STORE_CTX_set_trust +X509_STORE_add_lookup +X509_STORE_get_verify +X509_TRUST_add +X509_TRUST_cleanup +X509_TRUST_get0 +X509_TRUST_get0_name +X509_TRUST_get_by_id +X509_TRUST_get_count +X509_TRUST_get_flags +X509_TRUST_get_trust +X509_TRUST_set +X509_TRUST_set_default +X509_VAL_it +X509_VERIFY_PARAM_add0_table +X509_VERIFY_PARAM_free +X509_VERIFY_PARAM_get0 +X509_VERIFY_PARAM_get0_name +X509_VERIFY_PARAM_get_count +X509_VERIFY_PARAM_inherit +X509_VERIFY_PARAM_lookup +X509_VERIFY_PARAM_move_peername +X509_VERIFY_PARAM_new +X509_VERIFY_PARAM_set1 +X509_VERIFY_PARAM_set1_name +X509_VERIFY_PARAM_table_cleanup +X509_add1_reject_object +X509_add1_trust_object +X509_alias_get0 +X509_alias_set1 +X509_aux_print +X509_certificate_type +X509_chain_check_suiteb +X509_check_akid +X509_check_purpose +X509_check_trust +X509_cmp +X509_email_free +X509_find_by_issuer_and_serial +X509_find_by_subject +X509_get0_pubkey_bitstr +X509_get0_reject_objects +X509_get0_trust_objects +X509_get1_email +X509_get1_ocsp +X509_get_default_cert_area +X509_get_default_cert_dir +X509_get_default_cert_dir_env +X509_get_default_cert_file +X509_get_default_cert_file_env +X509_get_default_private_dir +X509_get_pubkey_parameters +X509_get_signature_type +X509_gmtime_adj +X509_http_nbio +X509_issuer_and_serial_cmp +X509_issuer_and_serial_hash +X509_issuer_name_cmp +X509_issuer_name_hash +X509_issuer_name_hash_old +X509_it +X509_keyid_get0 +X509_keyid_set1 +X509_ocspid_print +X509_policy_check +X509_policy_level_get0_node +X509_policy_level_node_count +X509_policy_node_get0_parent +X509_policy_node_get0_policy +X509_policy_node_get0_qualifiers +X509_policy_tree_free +X509_policy_tree_get0_level +X509_policy_tree_get0_policies +X509_policy_tree_get0_user_policies +X509_policy_tree_level_count +X509_print +X509_print_ex +X509_print_ex_fp +X509_print_fp +X509_reject_clear +X509_signature_dump +X509_signature_print +X509_subject_name_cmp +X509_subject_name_hash +X509_subject_name_hash_old +X509_supported_extension +X509_to_X509_REQ +X509_trust_clear +X509_trusted +X509at_add1_attr +X509at_add1_attr_by_NID +X509at_add1_attr_by_OBJ +X509at_add1_attr_by_txt +X509at_delete_attr +X509at_get0_data_by_OBJ +X509at_get_attr +X509at_get_attr_by_NID +X509at_get_attr_by_OBJ +X509at_get_attr_count +X509v3_addr_add_inherit +X509v3_addr_add_prefix +X509v3_addr_add_range +X509v3_addr_canonize +X509v3_addr_get_afi +X509v3_addr_get_range +X509v3_addr_inherits +X509v3_addr_is_canonical +X509v3_addr_subset +X509v3_addr_validate_path +X509v3_addr_validate_resource_set +X509v3_asid_add_id_or_range +X509v3_asid_add_inherit +X509v3_asid_canonize +X509v3_asid_inherits +X509v3_asid_is_canonical +X509v3_asid_subset +X509v3_asid_validate_path +X509v3_asid_validate_resource_set +ZINT32_it +ZINT64_it +ZLONG_it +ZUINT32_it +ZUINT64_it +_shadow_DES_check_key +a2d_ASN1_OBJECT +a2i_ASN1_ENUMERATED +a2i_ASN1_INTEGER +a2i_ASN1_STRING +a2i_GENERAL_NAME +a2i_IPADDRESS +a2i_IPADDRESS_NC +b2i_PVK_bio +b2i_PrivateKey +b2i_PrivateKey_bio +b2i_PublicKey +b2i_PublicKey_bio +conf_ssl_get +conf_ssl_get_cmd +conf_ssl_name_find +d2i_ESS_CERT_ID_V2 +d2i_ESS_SIGNING_CERT_V2 +d2i_X509_bio +d2i_X509_fp +err_free_strings_int +i2a_ACCESS_DESCRIPTION +i2a_ASN1_ENUMERATED +i2a_ASN1_INTEGER +i2a_ASN1_OBJECT +i2a_ASN1_STRING +i2b_PVK_bio +i2b_PrivateKey_bio +i2b_PublicKey_bio +i2d_ESS_CERT_ID_V2 +i2d_ESS_SIGNING_CERT_V2 +i2d_PrivateKey_bio +i2d_PrivateKey_fp +i2d_X509_bio +i2d_X509_fp +i2o_ECPublicKey +i2s_ASN1_ENUMERATED +i2s_ASN1_ENUMERATED_TABLE +i2s_ASN1_IA5STRING +i2s_ASN1_INTEGER +i2s_ASN1_OCTET_STRING +i2v_ASN1_BIT_STRING +i2v_GENERAL_NAME +i2v_GENERAL_NAMES +o2i_ECPublicKey +s2i_ASN1_IA5STRING +s2i_ASN1_INTEGER +s2i_ASN1_OCTET_STRING +v2i_ASN1_BIT_STRING +v2i_GENERAL_NAME +v2i_GENERAL_NAMES +v2i_GENERAL_NAME_ex diff --git a/util/missingcrypto111.txt b/util/missingcrypto111.txt new file mode 100644 index 0000000..0b223af --- /dev/null +++ b/util/missingcrypto111.txt @@ -0,0 +1,1610 @@ +# A list of libcrypto functions that are known to be missing documentation as +# used by the find-doc-nits -v -o option. The list is as of commit 1708e3e85b +# (the release of 1.1.1). +ACCESS_DESCRIPTION_it +ACCESS_DESCRIPTION_it +ADMISSIONS_it +ADMISSIONS_it +ADMISSION_SYNTAX_it +ADMISSION_SYNTAX_it +AES_bi_ige_encrypt +AES_cbc_encrypt +AES_cfb128_encrypt +AES_cfb1_encrypt +AES_cfb8_encrypt +AES_decrypt +AES_ecb_encrypt +AES_encrypt +AES_ige_encrypt +AES_ofb128_encrypt +AES_options +AES_set_decrypt_key +AES_set_encrypt_key +AES_unwrap_key +AES_wrap_key +ASIdOrRange_it +ASIdOrRange_it +ASIdentifierChoice_it +ASIdentifierChoice_it +ASIdentifiers_it +ASIdentifiers_it +ASRange_it +ASRange_it +AUTHORITY_INFO_ACCESS_it +AUTHORITY_INFO_ACCESS_it +AUTHORITY_KEYID_it +AUTHORITY_KEYID_it +BASIC_CONSTRAINTS_it +BASIC_CONSTRAINTS_it +BIGNUM_it +BIGNUM_it +BIO_accept +BIO_asn1_get_prefix +BIO_asn1_get_suffix +BIO_asn1_set_prefix +BIO_asn1_set_suffix +BIO_clear_flags +BIO_copy_next_retry +BIO_dgram_is_sctp +BIO_dgram_non_fatal_error +BIO_dgram_sctp_msg_waiting +BIO_dgram_sctp_notification_cb +BIO_dgram_sctp_wait_for_dry +BIO_dump +BIO_dump_cb +BIO_dump_fp +BIO_dump_indent +BIO_dump_indent_cb +BIO_dump_indent_fp +BIO_dup_chain +BIO_f_asn1 +BIO_f_linebuffer +BIO_f_nbio_test +BIO_f_reliable +BIO_f_zlib +BIO_fd_non_fatal_error +BIO_fd_should_retry +BIO_get_accept_socket +BIO_get_host_ip +BIO_get_port +BIO_gethostbyname +BIO_hex_string +BIO_indent +BIO_method_name +BIO_new_NDEF +BIO_new_PKCS7 +BIO_new_dgram +BIO_new_dgram_sctp +BIO_nread +BIO_nread0 +BIO_number_read +BIO_number_written +BIO_nwrite +BIO_nwrite0 +BIO_s_datagram +BIO_s_datagram_sctp +BIO_s_log +BIO_set_flags +BIO_set_tcp_ndelay +BIO_sock_error +BIO_sock_info +BIO_sock_init +BIO_sock_non_fatal_error +BIO_sock_should_retry +BIO_socket_ioctl +BIO_socket_nbio +BIO_test_flags +BN_GF2m_add +BN_GF2m_arr2poly +BN_GF2m_mod +BN_GF2m_mod_arr +BN_GF2m_mod_div +BN_GF2m_mod_div_arr +BN_GF2m_mod_exp +BN_GF2m_mod_exp_arr +BN_GF2m_mod_inv +BN_GF2m_mod_inv_arr +BN_GF2m_mod_mul +BN_GF2m_mod_mul_arr +BN_GF2m_mod_solve_quad +BN_GF2m_mod_solve_quad_arr +BN_GF2m_mod_sqr +BN_GF2m_mod_sqr_arr +BN_GF2m_mod_sqrt +BN_GF2m_mod_sqrt_arr +BN_GF2m_poly2arr +BN_MONT_CTX_set_locked +BN_X931_derive_prime_ex +BN_X931_generate_Xpq +BN_X931_generate_prime_ex +BN_abs_is_word +BN_asc2bn +BN_bntest_rand +BN_consttime_swap +BN_generate_dsa_nonce +BN_get_flags +BN_get_params +BN_is_negative +BN_kronecker +BN_mod_add_quick +BN_mod_exp2_mont +BN_mod_exp_mont +BN_mod_exp_mont_consttime +BN_mod_exp_mont_word +BN_mod_exp_recp +BN_mod_exp_simple +BN_mod_lshift +BN_mod_lshift1 +BN_mod_lshift1_quick +BN_mod_lshift_quick +BN_mod_sqrt +BN_mod_sub_quick +BN_nist_mod_192 +BN_nist_mod_224 +BN_nist_mod_256 +BN_nist_mod_384 +BN_nist_mod_521 +BN_nist_mod_func +BN_options +BN_reciprocal +BN_set_flags +BN_set_negative +BN_set_params +BN_uadd +BN_usub +BN_zero_ex +CAST_cbc_encrypt +CAST_cfb64_encrypt +CAST_decrypt +CAST_ecb_encrypt +CAST_encrypt +CAST_ofb64_encrypt +CAST_set_key +CBIGNUM_it +CBIGNUM_it +CERTIFICATEPOLICIES_it +CERTIFICATEPOLICIES_it +CMAC_CTX_cleanup +CMAC_CTX_copy +CMAC_CTX_free +CMAC_CTX_get0_cipher_ctx +CMAC_CTX_new +CMAC_Final +CMAC_Init +CMAC_Update +CMAC_resume +CMS_ContentInfo_it +CMS_ContentInfo_it +CMS_EncryptedData_decrypt +CMS_EncryptedData_encrypt +CMS_EncryptedData_set1_key +CMS_EnvelopedData_create +CMS_ReceiptRequest_it +CMS_ReceiptRequest_it +CMS_RecipientEncryptedKey_cert_cmp +CMS_RecipientEncryptedKey_get0_id +CMS_RecipientInfo_get0_pkey_ctx +CMS_RecipientInfo_kari_decrypt +CMS_RecipientInfo_kari_get0_alg +CMS_RecipientInfo_kari_get0_ctx +CMS_RecipientInfo_kari_get0_orig_id +CMS_RecipientInfo_kari_get0_reks +CMS_RecipientInfo_kari_orig_id_cmp +CMS_RecipientInfo_kari_set0_pkey +CMS_RecipientInfo_ktri_get0_algs +CMS_RecipientInfo_set0_password +CMS_SharedInfo_encode +CMS_SignedData_init +CMS_SignerInfo_get0_algs +CMS_SignerInfo_get0_md_ctx +CMS_SignerInfo_get0_pkey_ctx +CMS_SignerInfo_verify +CMS_SignerInfo_verify_content +CMS_add0_CertificateChoices +CMS_add0_RevocationInfoChoice +CMS_add0_recipient_password +CMS_add_simple_smimecap +CMS_add_smimecap +CMS_add_standard_smimecap +CMS_data +CMS_dataFinal +CMS_dataInit +CMS_data_create +CMS_decrypt_set1_key +CMS_decrypt_set1_password +CMS_decrypt_set1_pkey +CMS_digest_create +CMS_digest_verify +CMS_is_detached +CMS_set1_signers_certs +CMS_set_detached +CMS_signed_add1_attr +CMS_signed_add1_attr_by_NID +CMS_signed_add1_attr_by_OBJ +CMS_signed_add1_attr_by_txt +CMS_signed_delete_attr +CMS_signed_get0_data_by_OBJ +CMS_signed_get_attr +CMS_signed_get_attr_by_NID +CMS_signed_get_attr_by_OBJ +CMS_signed_get_attr_count +CMS_stream +CMS_unsigned_add1_attr +CMS_unsigned_add1_attr_by_NID +CMS_unsigned_add1_attr_by_OBJ +CMS_unsigned_add1_attr_by_txt +CMS_unsigned_delete_attr +CMS_unsigned_get0_data_by_OBJ +CMS_unsigned_get_attr +CMS_unsigned_get_attr_by_NID +CMS_unsigned_get_attr_by_OBJ +CMS_unsigned_get_attr_count +COMP_CTX_free +COMP_CTX_get_method +COMP_CTX_get_type +COMP_CTX_new +COMP_compress_block +COMP_expand_block +COMP_get_name +COMP_get_type +COMP_zlib +CONF_dump_bio +CONF_dump_fp +CONF_free +CONF_get1_default_config_file +CONF_get_number +CONF_get_section +CONF_get_string +CONF_imodule_get_flags +CONF_imodule_get_module +CONF_imodule_get_name +CONF_imodule_get_usr_data +CONF_imodule_get_value +CONF_imodule_set_flags +CONF_imodule_set_usr_data +CONF_load +CONF_load_bio +CONF_load_fp +CONF_module_add +CONF_module_get_usr_data +CONF_module_set_usr_data +CONF_parse_list +CONF_set_default_method +CONF_set_nconf +CRL_DIST_POINTS_it +CRL_DIST_POINTS_it +CRYPTO_128_unwrap +CRYPTO_128_unwrap_pad +CRYPTO_128_wrap +CRYPTO_128_wrap_pad +CRYPTO_THREAD_cleanup_local +CRYPTO_THREAD_compare_id +CRYPTO_THREAD_get_current_id +CRYPTO_THREAD_get_local +CRYPTO_THREAD_init_local +CRYPTO_THREAD_set_local +CRYPTO_cbc128_decrypt +CRYPTO_cbc128_encrypt +CRYPTO_ccm128_aad +CRYPTO_ccm128_decrypt +CRYPTO_ccm128_decrypt_ccm64 +CRYPTO_ccm128_encrypt +CRYPTO_ccm128_encrypt_ccm64 +CRYPTO_ccm128_init +CRYPTO_ccm128_setiv +CRYPTO_ccm128_tag +CRYPTO_cfb128_1_encrypt +CRYPTO_cfb128_8_encrypt +CRYPTO_cfb128_encrypt +CRYPTO_ctr128_encrypt +CRYPTO_ctr128_encrypt_ctr32 +CRYPTO_cts128_decrypt +CRYPTO_cts128_decrypt_block +CRYPTO_cts128_encrypt +CRYPTO_cts128_encrypt_block +CRYPTO_dup_ex_data +CRYPTO_gcm128_aad +CRYPTO_gcm128_decrypt +CRYPTO_gcm128_decrypt_ctr32 +CRYPTO_gcm128_encrypt +CRYPTO_gcm128_encrypt_ctr32 +CRYPTO_gcm128_finish +CRYPTO_gcm128_init +CRYPTO_gcm128_new +CRYPTO_gcm128_release +CRYPTO_gcm128_setiv +CRYPTO_gcm128_tag +CRYPTO_mem_debug_free +CRYPTO_mem_debug_malloc +CRYPTO_mem_debug_realloc +CRYPTO_memcmp +CRYPTO_memdup +CRYPTO_nistcts128_decrypt +CRYPTO_nistcts128_decrypt_block +CRYPTO_nistcts128_encrypt +CRYPTO_nistcts128_encrypt_block +CRYPTO_ocb128_aad +CRYPTO_ocb128_cleanup +CRYPTO_ocb128_copy_ctx +CRYPTO_ocb128_decrypt +CRYPTO_ocb128_encrypt +CRYPTO_ocb128_finish +CRYPTO_ocb128_init +CRYPTO_ocb128_new +CRYPTO_ocb128_setiv +CRYPTO_ocb128_tag +CRYPTO_ofb128_encrypt +CRYPTO_secure_actual_size +CRYPTO_secure_allocated +CRYPTO_xts128_encrypt +Camellia_cbc_encrypt +Camellia_cfb128_encrypt +Camellia_cfb1_encrypt +Camellia_cfb8_encrypt +Camellia_ctr128_encrypt +Camellia_decrypt +Camellia_ecb_encrypt +Camellia_encrypt +Camellia_ofb128_encrypt +Camellia_set_key +DES_cbc_encrypt +DES_check_key_parity +DES_decrypt3 +DES_ede3_cfb_encrypt +DES_encrypt1 +DES_encrypt2 +DES_encrypt3 +DES_options +DH_KDF_X9_42 +DH_check_pub_key +DH_compute_key_padded +DH_up_ref +DHparams_dup +DHparams_it +DHparams_it +DIRECTORYSTRING_it +DIRECTORYSTRING_it +DISPLAYTEXT_it +DISPLAYTEXT_it +DIST_POINT_NAME_it +DIST_POINT_NAME_it +DIST_POINT_it +DIST_POINT_it +DIST_POINT_set_dpname +DSA_get_method +DSA_up_ref +DSO_METHOD_openssl +DSO_bind_func +DSO_convert_filename +DSO_ctrl +DSO_dsobyaddr +DSO_flags +DSO_free +DSO_get_filename +DSO_global_lookup +DSO_load +DSO_merge +DSO_new +DSO_pathbyaddr +DSO_set_filename +DSO_up_ref +ECDH_KDF_X9_62 +ECDH_compute_key +ECPARAMETERS_it +ECPARAMETERS_it +ECPKPARAMETERS_it +ECPKPARAMETERS_it +ECParameters_print +ECParameters_print_fp +EC_GROUP_get_mont_data +EC_KEY_METHOD_free +EC_KEY_METHOD_get_compute_key +EC_KEY_METHOD_get_init +EC_KEY_METHOD_get_keygen +EC_KEY_METHOD_get_sign +EC_KEY_METHOD_get_verify +EC_KEY_METHOD_new +EC_KEY_METHOD_set_compute_key +EC_KEY_METHOD_set_init +EC_KEY_METHOD_set_keygen +EC_KEY_METHOD_set_sign +EC_KEY_METHOD_set_verify +EC_KEY_OpenSSL +EC_KEY_can_sign +EC_KEY_get_default_method +EC_KEY_new_method +EC_KEY_print +EC_KEY_print_fp +EC_KEY_set_default_method +EC_curve_nid2nist +EC_curve_nist2nid +EDIPARTYNAME_it +EDIPARTYNAME_it +ENGINE_get_EC +ENGINE_get_default_EC +ENGINE_get_pkey_asn1_meth +ENGINE_get_pkey_asn1_meth_engine +ENGINE_get_pkey_asn1_meth_str +ENGINE_get_pkey_asn1_meths +ENGINE_get_pkey_meth +ENGINE_get_pkey_meth_engine +ENGINE_get_pkey_meths +ENGINE_get_ssl_client_cert_function +ENGINE_get_static_state +ENGINE_load_ssl_client_cert +ENGINE_pkey_asn1_find_str +ENGINE_register_EC +ENGINE_register_all_EC +ENGINE_register_all_pkey_asn1_meths +ENGINE_register_all_pkey_meths +ENGINE_register_pkey_asn1_meths +ENGINE_register_pkey_meths +ENGINE_set_EC +ENGINE_set_default_EC +ENGINE_set_default_pkey_asn1_meths +ENGINE_set_default_pkey_meths +ENGINE_set_load_ssl_client_cert_function +ENGINE_set_pkey_asn1_meths +ENGINE_set_pkey_meths +ENGINE_setup_bsd_cryptodev +ENGINE_unregister_EC +ENGINE_unregister_pkey_asn1_meths +ENGINE_unregister_pkey_meths +ERR_clear_last_mark +ERR_get_state +ERR_load_ASN1_strings +ERR_load_ASYNC_strings +ERR_load_BIO_strings +ERR_load_BN_strings +ERR_load_BUF_strings +ERR_load_CMS_strings +ERR_load_COMP_strings +ERR_load_CONF_strings +ERR_load_CRYPTO_strings +ERR_load_CRYPTOlib_strings +ERR_load_CT_strings +ERR_load_DH_strings +ERR_load_DSA_strings +ERR_load_DSO_strings +ERR_load_EC_strings +ERR_load_ENGINE_strings +ERR_load_ERR_strings +ERR_load_EVP_strings +ERR_load_KDF_strings +ERR_load_OBJ_strings +ERR_load_OCSP_strings +ERR_load_OSSL_STORE_strings +ERR_load_PEM_strings +ERR_load_PKCS12_strings +ERR_load_PKCS7_strings +ERR_load_RAND_strings +ERR_load_RSA_strings +ERR_load_TS_strings +ERR_load_UI_strings +ERR_load_X509V3_strings +ERR_load_X509_strings +ERR_load_strings_const +ERR_set_error_data +ERR_unload_strings +ESS_CERT_ID_V2_dup +ESS_CERT_ID_V2_free +ESS_CERT_ID_V2_new +ESS_SIGNING_CERT_V2_dup +ESS_SIGNING_CERT_V2_free +ESS_SIGNING_CERT_V2_new +EVP_CIPHER_CTX_buf_noconst +EVP_CIPHER_CTX_clear_flags +EVP_CIPHER_CTX_copy +EVP_CIPHER_CTX_encrypting +EVP_CIPHER_CTX_iv +EVP_CIPHER_CTX_iv_noconst +EVP_CIPHER_CTX_num +EVP_CIPHER_CTX_original_iv +EVP_CIPHER_CTX_rand_key +EVP_CIPHER_CTX_set_flags +EVP_CIPHER_CTX_set_num +EVP_CIPHER_CTX_test_flags +EVP_CIPHER_do_all +EVP_CIPHER_do_all_sorted +EVP_CIPHER_get_asn1_iv +EVP_CIPHER_impl_ctx_size +EVP_CIPHER_set_asn1_iv +EVP_Cipher +EVP_Digest +EVP_MD_CTX_pkey_ctx +EVP_MD_CTX_set_update_fn +EVP_MD_CTX_update_fn +EVP_MD_do_all +EVP_MD_do_all_sorted +EVP_MD_flags +EVP_PBE_CipherInit +EVP_PBE_alg_add +EVP_PBE_alg_add_type +EVP_PBE_cleanup +EVP_PBE_find +EVP_PBE_get +EVP_PBE_scrypt +EVP_PKCS82PKEY +EVP_PKEY2PKCS8 +EVP_PKEY_CTX_ctrl_uint64 +EVP_PKEY_CTX_get0_peerkey +EVP_PKEY_CTX_get0_pkey +EVP_PKEY_CTX_get_data +EVP_PKEY_CTX_get_operation +EVP_PKEY_CTX_hex2ctrl +EVP_PKEY_CTX_md +EVP_PKEY_CTX_set0_keygen_info +EVP_PKEY_CTX_set_data +EVP_PKEY_CTX_str2ctrl +EVP_PKEY_add1_attr +EVP_PKEY_add1_attr_by_NID +EVP_PKEY_add1_attr_by_OBJ +EVP_PKEY_add1_attr_by_txt +EVP_PKEY_assign +EVP_PKEY_bits +EVP_PKEY_decrypt_old +EVP_PKEY_delete_attr +EVP_PKEY_encrypt_old +EVP_PKEY_get0 +EVP_PKEY_get0_poly1305 +EVP_PKEY_get0_siphash +EVP_PKEY_get1_tls_encodedpoint +EVP_PKEY_get_attr +EVP_PKEY_get_attr_by_NID +EVP_PKEY_get_attr_by_OBJ +EVP_PKEY_get_attr_count +EVP_PKEY_save_parameters +EVP_PKEY_set1_tls_encodedpoint +EVP_PKEY_set_type +EVP_PKEY_set_type_str +EVP_add_alg_module +EVP_add_cipher +EVP_add_digest +EVP_aes_128_cfb128 +EVP_aes_192_cfb128 +EVP_aes_256_cfb128 +EVP_aria_128_cfb128 +EVP_aria_192_cfb128 +EVP_aria_256_cfb128 +EVP_bf_cfb64 +EVP_camellia_128_cfb128 +EVP_camellia_192_cfb128 +EVP_camellia_256_cfb128 +EVP_cast5_cfb64 +EVP_des_cfb64 +EVP_des_ede3_cfb64 +EVP_des_ede3_ecb +EVP_des_ede_cfb64 +EVP_des_ede_ecb +EVP_get_pw_prompt +EVP_idea_cfb64 +EVP_md5_sha1 +EVP_rc2_cfb64 +EVP_rc5_32_12_16_cfb64 +EVP_read_pw_string +EVP_read_pw_string_min +EVP_seed_cfb128 +EVP_set_pw_prompt +EVP_sm4_cfb128 +EXTENDED_KEY_USAGE_it +EXTENDED_KEY_USAGE_it +FIPS_mode +FIPS_mode_set +GENERAL_NAMES_it +GENERAL_NAMES_it +GENERAL_NAME_cmp +GENERAL_NAME_get0_otherName +GENERAL_NAME_get0_value +GENERAL_NAME_it +GENERAL_NAME_it +GENERAL_NAME_print +GENERAL_NAME_set0_othername +GENERAL_NAME_set0_value +GENERAL_SUBTREE_it +GENERAL_SUBTREE_it +IDEA_cbc_encrypt +IDEA_cfb64_encrypt +IDEA_ecb_encrypt +IDEA_encrypt +IDEA_ofb64_encrypt +IDEA_options +IDEA_set_decrypt_key +IDEA_set_encrypt_key +INT32_it +INT32_it +INT64_it +INT64_it +IPAddressChoice_it +IPAddressChoice_it +IPAddressFamily_it +IPAddressFamily_it +IPAddressOrRange_it +IPAddressOrRange_it +IPAddressRange_it +IPAddressRange_it +ISSUING_DIST_POINT_it +ISSUING_DIST_POINT_it +LONG_it +LONG_it +MD2_options +MD4_Transform +MD5_Transform +NAME_CONSTRAINTS_check +NAME_CONSTRAINTS_check_CN +NAME_CONSTRAINTS_it +NAME_CONSTRAINTS_it +NAMING_AUTHORITY_it +NAMING_AUTHORITY_it +NCONF_WIN32 +NCONF_default +NCONF_dump_bio +NCONF_dump_fp +NCONF_free +NCONF_free_data +NCONF_get_number_e +NCONF_get_section +NCONF_get_string +NCONF_load +NCONF_load_bio +NCONF_load_fp +NCONF_new +NETSCAPE_CERT_SEQUENCE_it +NETSCAPE_CERT_SEQUENCE_it +NETSCAPE_SPKAC_it +NETSCAPE_SPKAC_it +NETSCAPE_SPKI_b64_decode +NETSCAPE_SPKI_b64_encode +NETSCAPE_SPKI_get_pubkey +NETSCAPE_SPKI_it +NETSCAPE_SPKI_it +NETSCAPE_SPKI_print +NETSCAPE_SPKI_set_pubkey +NETSCAPE_SPKI_sign +NETSCAPE_SPKI_verify +NOTICEREF_it +NOTICEREF_it +OBJ_NAME_add +OBJ_NAME_cleanup +OBJ_NAME_do_all +OBJ_NAME_do_all_sorted +OBJ_NAME_get +OBJ_NAME_init +OBJ_NAME_new_index +OBJ_NAME_remove +OBJ_add_object +OBJ_add_sigid +OBJ_bsearch_ +OBJ_bsearch_ex_ +OBJ_create_objects +OBJ_find_sigid_algs +OBJ_find_sigid_by_algs +OBJ_new_nid +OBJ_sigid_free +OCSP_BASICRESP_add1_ext_i2d +OCSP_BASICRESP_add_ext +OCSP_BASICRESP_delete_ext +OCSP_BASICRESP_get1_ext_d2i +OCSP_BASICRESP_get_ext +OCSP_BASICRESP_get_ext_by_NID +OCSP_BASICRESP_get_ext_by_OBJ +OCSP_BASICRESP_get_ext_by_critical +OCSP_BASICRESP_get_ext_count +OCSP_BASICRESP_it +OCSP_BASICRESP_it +OCSP_CERTID_it +OCSP_CERTID_it +OCSP_CERTSTATUS_it +OCSP_CERTSTATUS_it +OCSP_CRLID_it +OCSP_CRLID_it +OCSP_ONEREQ_add1_ext_i2d +OCSP_ONEREQ_add_ext +OCSP_ONEREQ_delete_ext +OCSP_ONEREQ_get1_ext_d2i +OCSP_ONEREQ_get_ext +OCSP_ONEREQ_get_ext_by_NID +OCSP_ONEREQ_get_ext_by_OBJ +OCSP_ONEREQ_get_ext_by_critical +OCSP_ONEREQ_get_ext_count +OCSP_ONEREQ_it +OCSP_ONEREQ_it +OCSP_REQINFO_it +OCSP_REQINFO_it +OCSP_REQUEST_add1_ext_i2d +OCSP_REQUEST_add_ext +OCSP_REQUEST_delete_ext +OCSP_REQUEST_get1_ext_d2i +OCSP_REQUEST_get_ext +OCSP_REQUEST_get_ext_by_NID +OCSP_REQUEST_get_ext_by_OBJ +OCSP_REQUEST_get_ext_by_critical +OCSP_REQUEST_get_ext_count +OCSP_REQUEST_it +OCSP_REQUEST_it +OCSP_REQUEST_print +OCSP_REQ_CTX_get0_mem_bio +OCSP_REQ_CTX_http +OCSP_REQ_CTX_i2d +OCSP_REQ_CTX_nbio +OCSP_REQ_CTX_nbio_d2i +OCSP_REQ_CTX_new +OCSP_RESPBYTES_it +OCSP_RESPBYTES_it +OCSP_RESPDATA_it +OCSP_RESPDATA_it +OCSP_RESPID_it +OCSP_RESPID_it +OCSP_RESPONSE_it +OCSP_RESPONSE_it +OCSP_RESPONSE_print +OCSP_REVOKEDINFO_it +OCSP_REVOKEDINFO_it +OCSP_SERVICELOC_it +OCSP_SERVICELOC_it +OCSP_SIGNATURE_it +OCSP_SIGNATURE_it +OCSP_SINGLERESP_add1_ext_i2d +OCSP_SINGLERESP_add_ext +OCSP_SINGLERESP_delete_ext +OCSP_SINGLERESP_get0_id +OCSP_SINGLERESP_get1_ext_d2i +OCSP_SINGLERESP_get_ext +OCSP_SINGLERESP_get_ext_by_NID +OCSP_SINGLERESP_get_ext_by_OBJ +OCSP_SINGLERESP_get_ext_by_critical +OCSP_SINGLERESP_get_ext_count +OCSP_SINGLERESP_it +OCSP_SINGLERESP_it +OCSP_accept_responses_new +OCSP_archive_cutoff_new +OCSP_basic_add1_cert +OCSP_basic_add1_status +OCSP_cert_status_str +OCSP_crlID2_new +OCSP_crlID_new +OCSP_crl_reason_str +OCSP_onereq_get0_id +OCSP_parse_url +OCSP_request_is_signed +OCSP_request_set1_name +OCSP_request_verify +OCSP_response_status_str +OCSP_url_svcloc_new +OPENSSL_DIR_end +OPENSSL_DIR_read +OPENSSL_LH_delete +OPENSSL_LH_doall +OPENSSL_LH_doall_arg +OPENSSL_LH_error +OPENSSL_LH_free +OPENSSL_LH_get_down_load +OPENSSL_LH_insert +OPENSSL_LH_new +OPENSSL_LH_num_items +OPENSSL_LH_retrieve +OPENSSL_LH_set_down_load +OPENSSL_LH_strhash +OPENSSL_asc2uni +OPENSSL_die +OPENSSL_gmtime +OPENSSL_gmtime_adj +OPENSSL_gmtime_diff +OPENSSL_init +OPENSSL_isservice +OPENSSL_issetugid +OPENSSL_memcmp +OPENSSL_sk_deep_copy +OPENSSL_sk_delete +OPENSSL_sk_delete_ptr +OPENSSL_sk_dup +OPENSSL_sk_find +OPENSSL_sk_find_ex +OPENSSL_sk_free +OPENSSL_sk_insert +OPENSSL_sk_is_sorted +OPENSSL_sk_new +OPENSSL_sk_new_null +OPENSSL_sk_new_reserve +OPENSSL_sk_num +OPENSSL_sk_pop +OPENSSL_sk_pop_free +OPENSSL_sk_push +OPENSSL_sk_reserve +OPENSSL_sk_set +OPENSSL_sk_set_cmp_func +OPENSSL_sk_shift +OPENSSL_sk_sort +OPENSSL_sk_unshift +OPENSSL_sk_value +OPENSSL_sk_zero +OPENSSL_strnlen +OPENSSL_uni2asc +OPENSSL_uni2utf8 +OPENSSL_utf82uni +OSSL_STORE_do_all_loaders +OSSL_STORE_vctrl +OTHERNAME_cmp +OTHERNAME_it +OTHERNAME_it +PBE2PARAM_it +PBE2PARAM_it +PBEPARAM_it +PBEPARAM_it +PBKDF2PARAM_it +PBKDF2PARAM_it +PEM_ASN1_read +PEM_ASN1_read_bio +PEM_ASN1_write +PEM_ASN1_write_bio +PEM_SignFinal +PEM_SignInit +PEM_SignUpdate +PEM_X509_INFO_read +PEM_X509_INFO_read_bio +PEM_X509_INFO_write_bio +PEM_def_callback +PEM_dek_info +PEM_proc_type +PEM_read_bio_ECPrivateKey +PEM_read_bio_Parameters +PEM_write_bio_ASN1_stream +PEM_write_bio_Parameters +PKCS12_AUTHSAFES_it +PKCS12_AUTHSAFES_it +PKCS12_BAGS_it +PKCS12_BAGS_it +PKCS12_MAC_DATA_it +PKCS12_MAC_DATA_it +PKCS12_PBE_add +PKCS12_PBE_keyivgen +PKCS12_SAFEBAGS_it +PKCS12_SAFEBAGS_it +PKCS12_SAFEBAG_create0_p8inf +PKCS12_SAFEBAG_create0_pkcs8 +PKCS12_SAFEBAG_create_cert +PKCS12_SAFEBAG_create_crl +PKCS12_SAFEBAG_create_pkcs8_encrypt +PKCS12_SAFEBAG_get0_attr +PKCS12_SAFEBAG_get0_attrs +PKCS12_SAFEBAG_get0_p8inf +PKCS12_SAFEBAG_get0_pkcs8 +PKCS12_SAFEBAG_get0_safes +PKCS12_SAFEBAG_get0_type +PKCS12_SAFEBAG_get1_cert +PKCS12_SAFEBAG_get1_crl +PKCS12_SAFEBAG_get_bag_nid +PKCS12_SAFEBAG_get_nid +PKCS12_SAFEBAG_it +PKCS12_SAFEBAG_it +PKCS12_add_CSPName_asc +PKCS12_add_cert +PKCS12_add_friendlyname_asc +PKCS12_add_friendlyname_uni +PKCS12_add_friendlyname_utf8 +PKCS12_add_key +PKCS12_add_localkeyid +PKCS12_add_safe +PKCS12_add_safes +PKCS12_decrypt_skey +PKCS12_gen_mac +PKCS12_get0_mac +PKCS12_get_attr +PKCS12_get_attr_gen +PKCS12_get_friendlyname +PKCS12_init +PKCS12_it +PKCS12_it +PKCS12_item_decrypt_d2i +PKCS12_item_i2d_encrypt +PKCS12_item_pack_safebag +PKCS12_key_gen_asc +PKCS12_key_gen_uni +PKCS12_key_gen_utf8 +PKCS12_mac_present +PKCS12_pack_authsafes +PKCS12_pack_p7data +PKCS12_pack_p7encdata +PKCS12_pbe_crypt +PKCS12_set_mac +PKCS12_setup_mac +PKCS12_unpack_authsafes +PKCS12_unpack_p7data +PKCS12_unpack_p7encdata +PKCS12_verify_mac +PKCS1_MGF1 +PKCS5_PBE_add +PKCS5_PBE_keyivgen +PKCS5_pbe2_set +PKCS5_pbe2_set_iv +PKCS5_pbe2_set_scrypt +PKCS5_pbe_set +PKCS5_pbe_set0_algor +PKCS5_pbkdf2_set +PKCS5_v2_PBE_keyivgen +PKCS5_v2_scrypt_keyivgen +PKCS7_ATTR_SIGN_it +PKCS7_ATTR_SIGN_it +PKCS7_ATTR_VERIFY_it +PKCS7_ATTR_VERIFY_it +PKCS7_DIGEST_it +PKCS7_DIGEST_it +PKCS7_ENCRYPT_it +PKCS7_ENCRYPT_it +PKCS7_ENC_CONTENT_it +PKCS7_ENC_CONTENT_it +PKCS7_ENVELOPE_it +PKCS7_ENVELOPE_it +PKCS7_ISSUER_AND_SERIAL_it +PKCS7_ISSUER_AND_SERIAL_it +PKCS7_RECIP_INFO_get0_alg +PKCS7_RECIP_INFO_it +PKCS7_RECIP_INFO_it +PKCS7_RECIP_INFO_set +PKCS7_SIGNED_it +PKCS7_SIGNED_it +PKCS7_SIGNER_INFO_get0_algs +PKCS7_SIGNER_INFO_it +PKCS7_SIGNER_INFO_it +PKCS7_SIGNER_INFO_set +PKCS7_SIGNER_INFO_sign +PKCS7_SIGN_ENVELOPE_it +PKCS7_SIGN_ENVELOPE_it +PKCS7_add0_attrib_signing_time +PKCS7_add1_attrib_digest +PKCS7_add_attrib_content_type +PKCS7_add_attrib_smimecap +PKCS7_add_attribute +PKCS7_add_certificate +PKCS7_add_crl +PKCS7_add_recipient +PKCS7_add_recipient_info +PKCS7_add_signature +PKCS7_add_signed_attribute +PKCS7_add_signer +PKCS7_cert_from_signer_info +PKCS7_content_new +PKCS7_ctrl +PKCS7_dataDecode +PKCS7_dataFinal +PKCS7_dataInit +PKCS7_dataVerify +PKCS7_digest_from_attributes +PKCS7_final +PKCS7_get_attribute +PKCS7_get_issuer_and_serial +PKCS7_get_signed_attribute +PKCS7_get_signer_info +PKCS7_get_smimecap +PKCS7_it +PKCS7_it +PKCS7_set0_type_other +PKCS7_set_attributes +PKCS7_set_cipher +PKCS7_set_content +PKCS7_set_digest +PKCS7_set_signed_attributes +PKCS7_set_type +PKCS7_signatureVerify +PKCS7_simple_smimecap +PKCS7_stream +PKCS7_to_TS_TST_INFO +PKCS8_PRIV_KEY_INFO_it +PKCS8_PRIV_KEY_INFO_it +PKCS8_add_keyusage +PKCS8_decrypt +PKCS8_encrypt +PKCS8_get_attr +PKCS8_pkey_add1_attr_by_NID +PKCS8_pkey_get0 +PKCS8_pkey_get0_attrs +PKCS8_pkey_set0 +PKCS8_set0_pbe +PKEY_USAGE_PERIOD_it +PKEY_USAGE_PERIOD_it +POLICYINFO_it +POLICYINFO_it +POLICYQUALINFO_it +POLICYQUALINFO_it +POLICY_CONSTRAINTS_it +POLICY_CONSTRAINTS_it +POLICY_MAPPINGS_it +POLICY_MAPPINGS_it +POLICY_MAPPING_it +POLICY_MAPPING_it +PROFESSION_INFO_it +PROFESSION_INFO_it +PROXY_CERT_INFO_EXTENSION_it +PROXY_CERT_INFO_EXTENSION_it +PROXY_POLICY_it +PROXY_POLICY_it +RAND_set_rand_engine +RC2_cbc_encrypt +RC2_cfb64_encrypt +RC2_decrypt +RC2_ecb_encrypt +RC2_encrypt +RC2_ofb64_encrypt +RC2_set_key +RC4_options +RC5_32_cbc_encrypt +RC5_32_cfb64_encrypt +RC5_32_decrypt +RC5_32_ecb_encrypt +RC5_32_encrypt +RC5_32_ofb64_encrypt +RC5_32_set_key +RIPEMD160_Transform +RSAPrivateKey_it +RSAPrivateKey_it +RSAPublicKey_it +RSAPublicKey_it +RSA_OAEP_PARAMS_it +RSA_OAEP_PARAMS_it +RSA_PSS_PARAMS_it +RSA_PSS_PARAMS_it +RSA_X931_derive_ex +RSA_X931_generate_key_ex +RSA_X931_hash_id +RSA_null_method +RSA_padding_add_PKCS1_OAEP_mgf1 +RSA_padding_add_PKCS1_PSS +RSA_padding_add_PKCS1_PSS_mgf1 +RSA_padding_add_X931 +RSA_padding_check_PKCS1_OAEP_mgf1 +RSA_padding_check_X931 +RSA_pkey_ctx_ctrl +RSA_setup_blinding +RSA_up_ref +RSA_verify_PKCS1_PSS +RSA_verify_PKCS1_PSS_mgf1 +SCRYPT_PARAMS_it +SCRYPT_PARAMS_it +SEED_cbc_encrypt +SEED_cfb128_encrypt +SEED_decrypt +SEED_ecb_encrypt +SEED_encrypt +SEED_ofb128_encrypt +SEED_set_key +SHA1_Transform +SHA256_Transform +SHA512_Transform +SMIME_crlf_copy +SMIME_read_ASN1 +SMIME_text +SMIME_write_ASN1 +SRP_Calc_A +SRP_Calc_B +SRP_Calc_client_key +SRP_Calc_server_key +SRP_Calc_u +SRP_Calc_x +SRP_VBASE_free +SRP_VBASE_get1_by_user +SRP_VBASE_get_by_user +SRP_VBASE_init +SRP_VBASE_new +SRP_Verify_A_mod_N +SRP_Verify_B_mod_N +SRP_check_known_gN_param +SRP_create_verifier +SRP_create_verifier_BN +SRP_get_default_gN +SRP_user_pwd_free +SXNETID_it +SXNETID_it +SXNET_add_id_INTEGER +SXNET_add_id_asc +SXNET_add_id_ulong +SXNET_get_id_INTEGER +SXNET_get_id_asc +SXNET_get_id_ulong +SXNET_it +SXNET_it +TS_ACCURACY_get_micros +TS_ACCURACY_get_millis +TS_ACCURACY_get_seconds +TS_ACCURACY_set_micros +TS_ACCURACY_set_millis +TS_ACCURACY_set_seconds +TS_ASN1_INTEGER_print_bio +TS_CONF_get_tsa_section +TS_CONF_load_cert +TS_CONF_load_certs +TS_CONF_load_key +TS_CONF_set_accuracy +TS_CONF_set_certs +TS_CONF_set_clock_precision_digits +TS_CONF_set_crypto_device +TS_CONF_set_def_policy +TS_CONF_set_default_engine +TS_CONF_set_digests +TS_CONF_set_ess_cert_id_chain +TS_CONF_set_ess_cert_id_digest +TS_CONF_set_ordering +TS_CONF_set_policies +TS_CONF_set_serial +TS_CONF_set_signer_cert +TS_CONF_set_signer_digest +TS_CONF_set_signer_key +TS_CONF_set_tsa_name +TS_MSG_IMPRINT_get_algo +TS_MSG_IMPRINT_get_msg +TS_MSG_IMPRINT_print_bio +TS_MSG_IMPRINT_set_algo +TS_MSG_IMPRINT_set_msg +TS_OBJ_print_bio +TS_REQ_add_ext +TS_REQ_delete_ext +TS_REQ_ext_free +TS_REQ_get_cert_req +TS_REQ_get_ext +TS_REQ_get_ext_by_NID +TS_REQ_get_ext_by_OBJ +TS_REQ_get_ext_by_critical +TS_REQ_get_ext_count +TS_REQ_get_ext_d2i +TS_REQ_get_exts +TS_REQ_get_msg_imprint +TS_REQ_get_nonce +TS_REQ_get_policy_id +TS_REQ_get_version +TS_REQ_print_bio +TS_REQ_set_cert_req +TS_REQ_set_msg_imprint +TS_REQ_set_nonce +TS_REQ_set_policy_id +TS_REQ_set_version +TS_REQ_to_TS_VERIFY_CTX +TS_RESP_CTX_add_failure_info +TS_RESP_CTX_add_flags +TS_RESP_CTX_add_md +TS_RESP_CTX_add_policy +TS_RESP_CTX_free +TS_RESP_CTX_get_request +TS_RESP_CTX_get_tst_info +TS_RESP_CTX_new +TS_RESP_CTX_set_accuracy +TS_RESP_CTX_set_certs +TS_RESP_CTX_set_clock_precision_digits +TS_RESP_CTX_set_def_policy +TS_RESP_CTX_set_ess_cert_id_digest +TS_RESP_CTX_set_extension_cb +TS_RESP_CTX_set_serial_cb +TS_RESP_CTX_set_signer_cert +TS_RESP_CTX_set_signer_digest +TS_RESP_CTX_set_signer_key +TS_RESP_CTX_set_status_info +TS_RESP_CTX_set_status_info_cond +TS_RESP_CTX_set_time_cb +TS_RESP_create_response +TS_RESP_get_status_info +TS_RESP_get_token +TS_RESP_get_tst_info +TS_RESP_print_bio +TS_RESP_set_status_info +TS_RESP_set_tst_info +TS_RESP_verify_response +TS_RESP_verify_signature +TS_RESP_verify_token +TS_STATUS_INFO_get0_failure_info +TS_STATUS_INFO_get0_status +TS_STATUS_INFO_get0_text +TS_STATUS_INFO_print_bio +TS_STATUS_INFO_set_status +TS_TST_INFO_add_ext +TS_TST_INFO_delete_ext +TS_TST_INFO_ext_free +TS_TST_INFO_get_accuracy +TS_TST_INFO_get_ext +TS_TST_INFO_get_ext_by_NID +TS_TST_INFO_get_ext_by_OBJ +TS_TST_INFO_get_ext_by_critical +TS_TST_INFO_get_ext_count +TS_TST_INFO_get_ext_d2i +TS_TST_INFO_get_exts +TS_TST_INFO_get_msg_imprint +TS_TST_INFO_get_nonce +TS_TST_INFO_get_ordering +TS_TST_INFO_get_policy_id +TS_TST_INFO_get_serial +TS_TST_INFO_get_time +TS_TST_INFO_get_tsa +TS_TST_INFO_get_version +TS_TST_INFO_print_bio +TS_TST_INFO_set_accuracy +TS_TST_INFO_set_msg_imprint +TS_TST_INFO_set_nonce +TS_TST_INFO_set_ordering +TS_TST_INFO_set_policy_id +TS_TST_INFO_set_serial +TS_TST_INFO_set_time +TS_TST_INFO_set_tsa +TS_TST_INFO_set_version +TS_VERIFY_CTS_set_certs +TS_VERIFY_CTX_add_flags +TS_VERIFY_CTX_cleanup +TS_VERIFY_CTX_free +TS_VERIFY_CTX_init +TS_VERIFY_CTX_new +TS_VERIFY_CTX_set_data +TS_VERIFY_CTX_set_flags +TS_VERIFY_CTX_set_imprint +TS_VERIFY_CTX_set_store +TS_X509_ALGOR_print_bio +TS_ext_print_bio +TXT_DB_create_index +TXT_DB_free +TXT_DB_get_by_index +TXT_DB_insert +TXT_DB_read +TXT_DB_write +UINT32_it +UINT32_it +UINT64_it +UINT64_it +USERNOTICE_it +USERNOTICE_it +UTF8_getc +UTF8_putc +WHIRLPOOL +WHIRLPOOL_BitUpdate +WHIRLPOOL_Final +WHIRLPOOL_Init +WHIRLPOOL_Update +X509V3_EXT_CRL_add_conf +X509V3_EXT_CRL_add_nconf +X509V3_EXT_REQ_add_conf +X509V3_EXT_REQ_add_nconf +X509V3_EXT_add +X509V3_EXT_add_alias +X509V3_EXT_add_conf +X509V3_EXT_add_list +X509V3_EXT_add_nconf +X509V3_EXT_add_nconf_sk +X509V3_EXT_cleanup +X509V3_EXT_conf +X509V3_EXT_conf_nid +X509V3_EXT_get +X509V3_EXT_get_nid +X509V3_EXT_nconf +X509V3_EXT_nconf_nid +X509V3_EXT_print +X509V3_EXT_print_fp +X509V3_EXT_val_prn +X509V3_NAME_from_section +X509V3_add_standard_extensions +X509V3_add_value +X509V3_add_value_bool +X509V3_add_value_bool_nf +X509V3_add_value_int +X509V3_add_value_uchar +X509V3_conf_free +X509V3_extensions_print +X509V3_get_section +X509V3_get_string +X509V3_get_value_bool +X509V3_get_value_int +X509V3_parse_list +X509V3_section_free +X509V3_set_conf_lhash +X509V3_set_ctx +X509V3_set_nconf +X509V3_string_free +X509_ALGORS_it +X509_ALGORS_it +X509_ALGOR_it +X509_ALGOR_it +X509_ATTRIBUTE_count +X509_ATTRIBUTE_create +X509_ATTRIBUTE_create_by_NID +X509_ATTRIBUTE_create_by_OBJ +X509_ATTRIBUTE_create_by_txt +X509_ATTRIBUTE_get0_data +X509_ATTRIBUTE_get0_object +X509_ATTRIBUTE_get0_type +X509_ATTRIBUTE_it +X509_ATTRIBUTE_it +X509_ATTRIBUTE_set1_data +X509_ATTRIBUTE_set1_object +X509_CERT_AUX_it +X509_CERT_AUX_it +X509_CINF_it +X509_CINF_it +X509_CRL_INFO_it +X509_CRL_INFO_it +X509_CRL_METHOD_free +X509_CRL_METHOD_new +X509_CRL_check_suiteb +X509_CRL_cmp +X509_CRL_diff +X509_CRL_get_lastUpdate +X509_CRL_get_meth_data +X509_CRL_get_nextUpdate +X509_CRL_http_nbio +X509_CRL_it +X509_CRL_it +X509_CRL_match +X509_CRL_print +X509_CRL_print_ex +X509_CRL_print_fp +X509_CRL_set_default_method +X509_CRL_set_meth_data +X509_CRL_up_ref +X509_EXTENSIONS_it +X509_EXTENSIONS_it +X509_EXTENSION_it +X509_EXTENSION_it +X509_INFO_free +X509_INFO_new +X509_LOOKUP_by_alias +X509_LOOKUP_by_fingerprint +X509_LOOKUP_by_issuer_serial +X509_LOOKUP_by_subject +X509_LOOKUP_ctrl +X509_LOOKUP_free +X509_LOOKUP_init +X509_LOOKUP_new +X509_LOOKUP_shutdown +X509_NAME_ENTRY_it +X509_NAME_ENTRY_it +X509_NAME_ENTRY_set +X509_NAME_cmp +X509_NAME_hash +X509_NAME_hash_old +X509_NAME_it +X509_NAME_it +X509_NAME_set +X509_OBJECT_free +X509_OBJECT_get0_X509 +X509_OBJECT_get0_X509_CRL +X509_OBJECT_get_type +X509_OBJECT_idx_by_subject +X509_OBJECT_new +X509_OBJECT_retrieve_by_subject +X509_OBJECT_retrieve_match +X509_OBJECT_up_ref_count +X509_PKEY_free +X509_PKEY_new +X509_POLICY_NODE_print +X509_PUBKEY_it +X509_PUBKEY_it +X509_PURPOSE_add +X509_PURPOSE_cleanup +X509_PURPOSE_get0 +X509_PURPOSE_get0_name +X509_PURPOSE_get0_sname +X509_PURPOSE_get_by_id +X509_PURPOSE_get_by_sname +X509_PURPOSE_get_count +X509_PURPOSE_get_id +X509_PURPOSE_get_trust +X509_PURPOSE_set +X509_REQ_INFO_it +X509_REQ_INFO_it +X509_REQ_add1_attr +X509_REQ_add1_attr_by_NID +X509_REQ_add1_attr_by_OBJ +X509_REQ_add1_attr_by_txt +X509_REQ_add_extensions +X509_REQ_add_extensions_nid +X509_REQ_delete_attr +X509_REQ_extension_nid +X509_REQ_get1_email +X509_REQ_get_attr +X509_REQ_get_attr_by_NID +X509_REQ_get_attr_by_OBJ +X509_REQ_get_attr_count +X509_REQ_get_extension_nids +X509_REQ_get_extensions +X509_REQ_it +X509_REQ_it +X509_REQ_print +X509_REQ_print_ex +X509_REQ_print_fp +X509_REQ_set_extension_nids +X509_REQ_to_X509 +X509_REVOKED_it +X509_REVOKED_it +X509_SIG_it +X509_SIG_it +X509_STORE_CTX_get0_current_crl +X509_STORE_CTX_get0_current_issuer +X509_STORE_CTX_get0_parent_ctx +X509_STORE_CTX_get0_policy_tree +X509_STORE_CTX_get0_store +X509_STORE_CTX_get1_certs +X509_STORE_CTX_get1_crls +X509_STORE_CTX_get1_issuer +X509_STORE_CTX_get_by_subject +X509_STORE_CTX_get_explicit_policy +X509_STORE_CTX_get_obj_by_subject +X509_STORE_CTX_purpose_inherit +X509_STORE_CTX_set0_dane +X509_STORE_CTX_set_depth +X509_STORE_CTX_set_flags +X509_STORE_CTX_set_purpose +X509_STORE_CTX_set_time +X509_STORE_CTX_set_trust +X509_STORE_add_lookup +X509_STORE_get_verify +X509_TRUST_add +X509_TRUST_cleanup +X509_TRUST_get0 +X509_TRUST_get0_name +X509_TRUST_get_by_id +X509_TRUST_get_count +X509_TRUST_get_flags +X509_TRUST_get_trust +X509_TRUST_set +X509_TRUST_set_default +X509_VAL_it +X509_VAL_it +X509_VERIFY_PARAM_add0_table +X509_VERIFY_PARAM_free +X509_VERIFY_PARAM_get0 +X509_VERIFY_PARAM_get0_name +X509_VERIFY_PARAM_get_count +X509_VERIFY_PARAM_inherit +X509_VERIFY_PARAM_lookup +X509_VERIFY_PARAM_move_peername +X509_VERIFY_PARAM_new +X509_VERIFY_PARAM_set1 +X509_VERIFY_PARAM_set1_name +X509_VERIFY_PARAM_table_cleanup +X509_add1_reject_object +X509_add1_trust_object +X509_alias_get0 +X509_alias_set1 +X509_aux_print +X509_certificate_type +X509_chain_check_suiteb +X509_check_akid +X509_check_purpose +X509_check_trust +X509_cmp +X509_email_free +X509_find_by_issuer_and_serial +X509_find_by_subject +X509_get0_pubkey_bitstr +X509_get0_reject_objects +X509_get0_trust_objects +X509_get1_email +X509_get1_ocsp +X509_get_default_cert_area +X509_get_default_cert_dir +X509_get_default_cert_dir_env +X509_get_default_cert_file +X509_get_default_cert_file_env +X509_get_default_private_dir +X509_get_pubkey_parameters +X509_get_signature_type +X509_gmtime_adj +X509_http_nbio +X509_issuer_and_serial_cmp +X509_issuer_and_serial_hash +X509_issuer_name_cmp +X509_issuer_name_hash +X509_issuer_name_hash_old +X509_it +X509_it +X509_keyid_get0 +X509_keyid_set1 +X509_ocspid_print +X509_policy_check +X509_policy_level_get0_node +X509_policy_level_node_count +X509_policy_node_get0_parent +X509_policy_node_get0_policy +X509_policy_node_get0_qualifiers +X509_policy_tree_free +X509_policy_tree_get0_level +X509_policy_tree_get0_policies +X509_policy_tree_get0_user_policies +X509_policy_tree_level_count +X509_print +X509_print_ex +X509_print_ex_fp +X509_print_fp +X509_reject_clear +X509_signature_dump +X509_signature_print +X509_subject_name_cmp +X509_subject_name_hash +X509_subject_name_hash_old +X509_supported_extension +X509_to_X509_REQ +X509_trust_clear +X509_trusted +X509at_add1_attr +X509at_add1_attr_by_NID +X509at_add1_attr_by_OBJ +X509at_add1_attr_by_txt +X509at_delete_attr +X509at_get0_data_by_OBJ +X509at_get_attr +X509at_get_attr_by_NID +X509at_get_attr_by_OBJ +X509at_get_attr_count +X509v3_addr_add_inherit +X509v3_addr_add_prefix +X509v3_addr_add_range +X509v3_addr_canonize +X509v3_addr_get_afi +X509v3_addr_get_range +X509v3_addr_inherits +X509v3_addr_is_canonical +X509v3_addr_subset +X509v3_addr_validate_path +X509v3_addr_validate_resource_set +X509v3_asid_add_id_or_range +X509v3_asid_add_inherit +X509v3_asid_canonize +X509v3_asid_inherits +X509v3_asid_is_canonical +X509v3_asid_subset +X509v3_asid_validate_path +X509v3_asid_validate_resource_set +ZINT32_it +ZINT32_it +ZINT64_it +ZINT64_it +ZLONG_it +ZLONG_it +ZUINT32_it +ZUINT32_it +ZUINT64_it +ZUINT64_it +_shadow_DES_check_key +_shadow_DES_check_key +a2d_ASN1_OBJECT +a2i_ASN1_ENUMERATED +a2i_ASN1_INTEGER +a2i_ASN1_STRING +a2i_GENERAL_NAME +a2i_IPADDRESS +a2i_IPADDRESS_NC +b2i_PVK_bio +b2i_PrivateKey +b2i_PrivateKey_bio +b2i_PublicKey +b2i_PublicKey_bio +conf_ssl_get +conf_ssl_get_cmd +conf_ssl_name_find +d2i_ESS_CERT_ID_V2 +d2i_ESS_SIGNING_CERT_V2 +d2i_X509_bio +d2i_X509_fp +err_free_strings_int +i2a_ACCESS_DESCRIPTION +i2a_ASN1_ENUMERATED +i2a_ASN1_INTEGER +i2a_ASN1_OBJECT +i2a_ASN1_STRING +i2b_PVK_bio +i2b_PrivateKey_bio +i2b_PublicKey_bio +i2d_ESS_CERT_ID_V2 +i2d_ESS_SIGNING_CERT_V2 +i2d_PrivateKey_bio +i2d_PrivateKey_fp +i2d_X509_bio +i2d_X509_fp +i2o_ECPublicKey +i2s_ASN1_ENUMERATED +i2s_ASN1_ENUMERATED_TABLE +i2s_ASN1_IA5STRING +i2s_ASN1_INTEGER +i2s_ASN1_OCTET_STRING +i2v_ASN1_BIT_STRING +i2v_GENERAL_NAME +i2v_GENERAL_NAMES +o2i_ECPublicKey +s2i_ASN1_IA5STRING +s2i_ASN1_INTEGER +s2i_ASN1_OCTET_STRING +v2i_ASN1_BIT_STRING +v2i_GENERAL_NAME +v2i_GENERAL_NAMES +v2i_GENERAL_NAME_ex diff --git a/util/missingmacro.txt b/util/missingmacro.txt new file mode 100644 index 0000000..ef429c6 --- /dev/null +++ b/util/missingmacro.txt @@ -0,0 +1,217 @@ +# A list of macros that are known to be missing documentation as used by the +# find-doc-nits -v option. The list is as of commit 355b419698. +BIO_get_flags +BIO_set_retry_special +BIO_set_retry_read +BIO_set_retry_write +BIO_clear_retry_flags +BIO_get_retry_flags +BIO_CB_return +BIO_cb_pre +BIO_cb_post +BIO_set_app_data +BIO_get_app_data +BIO_set_conn_mode +BIO_dup_state +BIO_buffer_get_num_lines +BIO_buffer_peek +BIO_ctrl_dgram_connect +BIO_ctrl_set_connected +BIO_dgram_recv_timedout +BIO_dgram_send_timedout +BIO_dgram_get_peer +BIO_dgram_set_peer +BIO_dgram_get_mtu_overhead +BIO_sock_cleanup +ossl_bio__attr__ +BN_prime_checks_for_size +BN_GF2m_sub +BN_GF2m_cmp +BUF_strdup +BUF_strndup +BUF_memdup +BUF_strlcpy +BUF_strlcat +BUF_strnlen +COMP_zlib_cleanup +NCONF_get_number +OSSL_CORE_MAKE_FUNC +OPENSSL_MALLOC_MAX_NELEMS +CRYPTO_cleanup_all_ex_data +CRYPTO_num_locks +CRYPTO_set_locking_callback +CRYPTO_get_locking_callback +CRYPTO_set_add_lock_callback +CRYPTO_get_add_lock_callback +CRYPTO_THREADID_set_numeric +CRYPTO_THREADID_set_pointer +CRYPTO_THREADID_set_callback +CRYPTO_THREADID_get_callback +CRYPTO_THREADID_current +CRYPTO_THREADID_cmp +CRYPTO_THREADID_cpy +CRYPTO_THREADID_hash +CRYPTO_set_id_callback +CRYPTO_get_id_callback +CRYPTO_thread_id +CRYPTO_set_dynlock_create_callback +CRYPTO_set_dynlock_lock_callback +CRYPTO_set_dynlock_destroy_callback +CRYPTO_get_dynlock_create_callback +CRYPTO_get_dynlock_lock_callback +CRYPTO_get_dynlock_destroy_callback +OpenSSLDie +OPENSSL_assert +DSA_is_prime +OPENSSL_GLOBAL_REF +ECParameters_dup +ENGINE_load_openssl +ENGINE_load_dynamic +ENGINE_load_padlock +ENGINE_load_capi +ENGINE_load_afalg +ENGINE_load_cryptodev +ENGINE_load_rdrand +EVP_MD_nid +EVP_MD_name +EVP_CIPHER_name +EVP_ENCODE_LENGTH +EVP_DECODE_LENGTH +BIO_set_md_ctx +EVP_add_cipher_alias +EVP_add_digest_alias +EVP_delete_cipher_alias +EVP_delete_digest_alias +EVP_MD_CTX_create +EVP_MD_CTX_init +EVP_MD_CTX_destroy +EVP_CIPHER_CTX_init +EVP_CIPHER_CTX_cleanup +OPENSSL_add_all_algorithms_conf +OPENSSL_add_all_algorithms_noconf +LHASH_HASH_FN +LHASH_COMP_FN +LHASH_DOALL_ARG_FN +LHASH_OF +DEFINE_LHASH_OF +int_implement_lhash_doall +OBJ_create_and_add_object +OBJ_bsearch +OBJ_bsearch_ex +PEM_read_bio_OCSP_REQUEST +PEM_read_bio_OCSP_RESPONSE +PEM_write_bio_OCSP_REQUEST +PEM_write_bio_OCSP_RESPONSE +ASN1_BIT_STRING_digest +OCSP_CERTSTATUS_dup +OPENSSL_VERSION_PREREQ +OPENSSL_MSTR_HELPER +OPENSSL_MSTR +OSSL_PARAM_DEFN +OSSL_PARAM_int +OSSL_PARAM_uint +OSSL_PARAM_long +OSSL_PARAM_ulong +OSSL_PARAM_int32 +OSSL_PARAM_uint32 +OSSL_PARAM_int64 +OSSL_PARAM_uint64 +OSSL_PARAM_size_t +OSSL_PARAM_double +OSSL_PARAM_SIZED_int +OSSL_PARAM_SIZED_uint +OSSL_PARAM_SIZED_long +OSSL_PARAM_SIZED_ulong +OSSL_PARAM_SIZED_int32 +OSSL_PARAM_SIZED_uint32 +OSSL_PARAM_SIZED_int64 +OSSL_PARAM_SIZED_uint64 +OSSL_PARAM_SIZED_size_t +OSSL_PARAM_SIZED_double +PKCS7_get_signed_attributes +PKCS7_get_attributes +PKCS7_type_is_signed +PKCS7_type_is_encrypted +PKCS7_type_is_enveloped +PKCS7_type_is_signedAndEnveloped +PKCS7_type_is_data +PKCS7_type_is_digest +PKCS7_set_detached +PKCS7_get_detached +PKCS7_is_detached +RSA_set_app_data +RSA_get_app_data +STACK_OF +SKM_DEFINE_STACK_OF +U64 +SSL_set_mtu +DTLS_set_link_mtu +DTLS_get_link_min_mtu +SSL_CTX_set_cert_flags +SSL_set_cert_flags +SSL_CTX_clear_cert_flags +SSL_clear_cert_flags +SSL_set_app_data +SSL_get_app_data +SSL_SESSION_set_app_data +SSL_SESSION_get_app_data +SSL_CTX_get_app_data +SSL_CTX_set_app_data +SSLeay_add_ssl_algorithms +DTLSv1_get_timeout +DTLSv1_handle_timeout +SSL_num_renegotiations +SSL_clear_num_renegotiations +SSL_total_renegotiations +SSL_CTX_set_dh_auto +SSL_set_dh_auto +SSL_get0_certificate_types +SSL_CTX_set1_client_certificate_types +SSL_set1_client_certificate_types +SSL_get0_raw_cipherlist +SSL_get0_ec_point_formats +SSL_CTX_need_tmp_RSA +SSL_CTX_set_tmp_rsa +SSL_need_tmp_RSA +SSL_set_tmp_rsa +SSL_CTX_set_tmp_rsa_callback +SSL_set_tmp_rsa_callback +SSL_get_ex_new_index +SSL_SESSION_get_ex_new_index +SSL_CTX_get_ex_new_index +SSL_CTX_set_default_read_ahead +SSL_cache_hit +TLS1_get_version +TLS1_get_client_version +SSL_set_tlsext_debug_callback +SSL_set_tlsext_debug_arg +SSL_get_tlsext_status_exts +SSL_set_tlsext_status_exts +SSL_get_tlsext_status_ids +SSL_set_tlsext_status_ids +SSL_CTX_get_tlsext_ticket_keys +SSL_CTX_set_tlsext_ticket_keys +OSSL_TRACE_CANCEL +OSSL_TRACE_ENABLED +OSSL_TRACEV +OSSL_TRACE +OSSL_TRACE3 +OSSL_TRACE4 +OSSL_TRACE5 +OSSL_TRACE6 +OSSL_TRACE7 +OSSL_TRACE8 +UI_set_app_data +UI_get_app_data +X509_extract_key +X509_REQ_extract_key +X509_name_cmp +X509_STORE_CTX_set_app_data +X509_STORE_CTX_get_app_data +X509_LOOKUP_load_file +X509_LOOKUP_add_dir +X509V3_conf_err +X509V3_set_ctx_test +X509V3_set_ctx_nodb +EXT_BITSTRING +EXT_IA5STRING diff --git a/util/missingmacro111.txt b/util/missingmacro111.txt new file mode 100644 index 0000000..f429459 --- /dev/null +++ b/util/missingmacro111.txt @@ -0,0 +1,232 @@ +# A list of macros that are known to be missing documentation as used by the +# find-doc-nits -v -o option. The list is as of commit 1708e3e85b (the release +# of 1.1.1). +BIO_get_flags +BIO_set_retry_special +BIO_set_retry_read +BIO_set_retry_write +BIO_clear_retry_flags +BIO_get_retry_flags +BIO_CB_return +BIO_cb_pre +BIO_cb_post +BIO_set_app_data +BIO_get_app_data +BIO_set_conn_mode +BIO_dup_state +BIO_buffer_get_num_lines +BIO_buffer_peek +BIO_ctrl_dgram_connect +BIO_ctrl_set_connected +BIO_dgram_recv_timedout +BIO_dgram_send_timedout +BIO_dgram_get_peer +BIO_dgram_set_peer +BIO_dgram_get_mtu_overhead +BIO_sock_cleanup +ossl_bio__attr__ +BN_prime_checks_for_size +BN_GF2m_sub +BN_GF2m_cmp +BUF_strdup +BUF_strndup +BUF_memdup +BUF_strlcpy +BUF_strlcat +BUF_strnlen +COMP_zlib_cleanup +NCONF_get_number +OPENSSL_MALLOC_MAX_NELEMS +CRYPTO_cleanup_all_ex_data +CRYPTO_num_locks +CRYPTO_set_locking_callback +CRYPTO_get_locking_callback +CRYPTO_set_add_lock_callback +CRYPTO_get_add_lock_callback +CRYPTO_THREADID_set_numeric +CRYPTO_THREADID_set_pointer +CRYPTO_THREADID_set_callback +CRYPTO_THREADID_get_callback +CRYPTO_THREADID_current +CRYPTO_THREADID_cmp +CRYPTO_THREADID_cpy +CRYPTO_THREADID_hash +CRYPTO_set_id_callback +CRYPTO_get_id_callback +CRYPTO_thread_id +CRYPTO_set_dynlock_create_callback +CRYPTO_set_dynlock_lock_callback +CRYPTO_set_dynlock_destroy_callback +CRYPTO_get_dynlock_create_callback +CRYPTO_get_dynlock_lock_callback +CRYPTO_get_dynlock_destroy_callback +OpenSSLDie +OPENSSL_assert +EVP_PKEY_CTX_set_dh_paramgen_subprime_len +EVP_PKEY_CTX_set_dh_paramgen_type +EVP_PKEY_CTX_set_dh_rfc5114 +EVP_PKEY_CTX_set_dhx_rfc5114 +EVP_PKEY_CTX_set_dh_kdf_type +EVP_PKEY_CTX_get_dh_kdf_type +EVP_PKEY_CTX_set0_dh_kdf_oid +EVP_PKEY_CTX_get0_dh_kdf_oid +EVP_PKEY_CTX_set_dh_kdf_md +EVP_PKEY_CTX_get_dh_kdf_md +EVP_PKEY_CTX_set_dh_kdf_outlen +EVP_PKEY_CTX_get_dh_kdf_outlen +EVP_PKEY_CTX_set0_dh_kdf_ukm +EVP_PKEY_CTX_get0_dh_kdf_ukm +DSA_is_prime +OPENSSL_GLOBAL_REF +OPENSSL_GLOBAL_REF +ECParameters_dup +EVP_PKEY_CTX_set_ecdh_cofactor_mode +EVP_PKEY_CTX_get_ecdh_cofactor_mode +EVP_PKEY_CTX_set_ecdh_kdf_type +EVP_PKEY_CTX_get_ecdh_kdf_type +EVP_PKEY_CTX_set_ecdh_kdf_md +EVP_PKEY_CTX_get_ecdh_kdf_md +EVP_PKEY_CTX_set_ecdh_kdf_outlen +EVP_PKEY_CTX_get_ecdh_kdf_outlen +EVP_PKEY_CTX_set0_ecdh_kdf_ukm +EVP_PKEY_CTX_get0_ecdh_kdf_ukm +ENGINE_load_openssl +ENGINE_load_dynamic +ENGINE_load_padlock +ENGINE_load_capi +ENGINE_load_afalg +ENGINE_load_cryptodev +ENGINE_load_rdrand +EVP_PKEY_assign_SIPHASH +EVP_PKEY_assign_POLY1305 +EVP_MD_nid +EVP_MD_name +EVP_CIPHER_name +EVP_ENCODE_LENGTH +EVP_DECODE_LENGTH +BIO_set_md_ctx +EVP_add_cipher_alias +EVP_add_digest_alias +EVP_delete_cipher_alias +EVP_delete_digest_alias +EVP_MD_CTX_create +EVP_MD_CTX_init +EVP_MD_CTX_destroy +EVP_CIPHER_CTX_init +EVP_CIPHER_CTX_cleanup +OPENSSL_add_all_algorithms_conf +OPENSSL_add_all_algorithms_noconf +LHASH_HASH_FN +LHASH_COMP_FN +LHASH_DOALL_ARG_FN +LHASH_OF +DEFINE_LHASH_OF +int_implement_lhash_doall +OBJ_create_and_add_object +OBJ_bsearch +OBJ_bsearch_ex +PEM_read_bio_OCSP_REQUEST +PEM_read_bio_OCSP_RESPONSE +PEM_write_bio_OCSP_REQUEST +PEM_write_bio_OCSP_RESPONSE +ASN1_BIT_STRING_digest +OCSP_CERTSTATUS_dup +PKCS7_get_signed_attributes +PKCS7_get_attributes +PKCS7_type_is_signed +PKCS7_type_is_encrypted +PKCS7_type_is_enveloped +PKCS7_type_is_signedAndEnveloped +PKCS7_type_is_data +PKCS7_type_is_digest +PKCS7_set_detached +PKCS7_get_detached +PKCS7_is_detached +EVP_PKEY_CTX_get_rsa_padding +EVP_PKEY_CTX_get_rsa_pss_saltlen +EVP_PKEY_CTX_set_rsa_keygen_primes +EVP_PKEY_CTX_set_rsa_mgf1_md +EVP_PKEY_CTX_set_rsa_oaep_md +EVP_PKEY_CTX_get_rsa_mgf1_md +EVP_PKEY_CTX_get_rsa_oaep_md +EVP_PKEY_CTX_set0_rsa_oaep_label +EVP_PKEY_CTX_get0_rsa_oaep_label +RSA_set_app_data +RSA_get_app_data +STACK_OF +SKM_DEFINE_STACK_OF +U64 +U64 +U64 +SSL_set_mtu +DTLS_set_link_mtu +DTLS_get_link_min_mtu +SSL_heartbeat +SSL_CTX_set_cert_flags +SSL_set_cert_flags +SSL_CTX_clear_cert_flags +SSL_clear_cert_flags +SSL_set_app_data +SSL_get_app_data +SSL_SESSION_set_app_data +SSL_SESSION_get_app_data +SSL_CTX_get_app_data +SSL_CTX_set_app_data +SSLeay_add_ssl_algorithms +DTLSv1_get_timeout +DTLSv1_handle_timeout +SSL_num_renegotiations +SSL_clear_num_renegotiations +SSL_total_renegotiations +SSL_CTX_set_tmp_ecdh +SSL_CTX_set_dh_auto +SSL_set_dh_auto +SSL_set_tmp_ecdh +SSL_CTX_get_extra_chain_certs +SSL_CTX_get_extra_chain_certs_only +SSL_get0_certificate_types +SSL_CTX_set1_client_certificate_types +SSL_set1_client_certificate_types +SSL_get0_raw_cipherlist +SSL_get0_ec_point_formats +SSL_CTX_need_tmp_RSA +SSL_CTX_set_tmp_rsa +SSL_need_tmp_RSA +SSL_set_tmp_rsa +SSL_CTX_set_ecdh_auto +SSL_set_ecdh_auto +SSL_CTX_set_tmp_rsa_callback +SSL_set_tmp_rsa_callback +SSL_get_ex_new_index +SSL_SESSION_get_ex_new_index +SSL_CTX_get_ex_new_index +SSL_CTX_set_default_read_ahead +SSL_cache_hit +TLS1_get_version +TLS1_get_client_version +SSL_set_tlsext_debug_callback +SSL_set_tlsext_debug_arg +SSL_get_tlsext_status_exts +SSL_set_tlsext_status_exts +SSL_get_tlsext_status_ids +SSL_set_tlsext_status_ids +SSL_CTX_get_tlsext_ticket_keys +SSL_CTX_set_tlsext_ticket_keys +SSL_get_dtlsext_heartbeat_pending +SSL_set_dtlsext_heartbeat_no_requests +SSL_get_tlsext_heartbeat_pending +SSL_set_tlsext_heartbeat_no_requests +UI_set_app_data +UI_get_app_data +X509_extract_key +X509_REQ_extract_key +X509_name_cmp +X509_STORE_CTX_set_app_data +X509_STORE_CTX_get_app_data +X509_LOOKUP_load_file +X509_LOOKUP_add_dir +X509V3_conf_err +X509V3_set_ctx_test +X509V3_set_ctx_nodb +EXT_BITSTRING +EXT_IA5STRING diff --git a/util/missingssl.txt b/util/missingssl.txt new file mode 100644 index 0000000..07ba2b3 --- /dev/null +++ b/util/missingssl.txt @@ -0,0 +1,46 @@ +# A list of libssl functions that are known to be missing documentation as +# used by the find-doc-nits -v option. The list is as of commit 355b419698. +ERR_load_SSL_strings +SRP_Calc_A_param +SSL_COMP_get_name +SSL_COMP_set0_compression_methods +SSL_CONF_CTX_finish +SSL_CTX_SRP_CTX_free +SSL_CTX_SRP_CTX_init +SSL_CTX_get0_certificate +SSL_CTX_get0_ctlog_store +SSL_CTX_get0_privatekey +SSL_CTX_get_ssl_method +SSL_CTX_set0_ctlog_store +SSL_CTX_set_client_cert_engine +SSL_CTX_set_cookie_generate_cb +SSL_CTX_set_cookie_verify_cb +SSL_CTX_set_not_resumable_session_callback +SSL_CTX_set_purpose +SSL_CTX_set_trust +SSL_SRP_CTX_free +SSL_SRP_CTX_init +SSL_add_dir_cert_subjects_to_stack +SSL_add_file_cert_subjects_to_stack +SSL_add_ssl_module +SSL_certs_clear +SSL_copy_session_id +SSL_dup_CA_list +SSL_get0_dane +SSL_get_certificate +SSL_get_current_compression +SSL_get_current_expansion +SSL_get_finished +SSL_get_peer_finished +SSL_get_privatekey +SSL_set_SSL_CTX +SSL_set_debug +SSL_set_not_resumable_session_callback +SSL_set_purpose +SSL_set_session_secret_cb +SSL_set_session_ticket_ext +SSL_set_session_ticket_ext_cb +SSL_set_trust +SSL_srp_server_param_with_username +SSL_test_functions +SSL_trace diff --git a/util/missingssl111.txt b/util/missingssl111.txt new file mode 100644 index 0000000..c3459c6 --- /dev/null +++ b/util/missingssl111.txt @@ -0,0 +1,60 @@ +# A list of libssl functions that are known to be missing documentation as +# used by the find-doc-nits -v -o option. The list is as of commit 1708e3e85b +# (the release of 1.1.1). +ERR_load_SSL_strings +SRP_Calc_A_param +SSL_COMP_get_name +SSL_COMP_set0_compression_methods +SSL_CONF_CTX_finish +SSL_CTX_SRP_CTX_free +SSL_CTX_SRP_CTX_init +SSL_CTX_get0_certificate +SSL_CTX_get0_ctlog_store +SSL_CTX_get0_privatekey +SSL_CTX_get_ssl_method +SSL_CTX_set0_ctlog_store +SSL_CTX_set_client_cert_engine +SSL_CTX_set_cookie_generate_cb +SSL_CTX_set_cookie_verify_cb +SSL_CTX_set_not_resumable_session_callback +SSL_CTX_set_purpose +SSL_CTX_set_srp_cb_arg +SSL_CTX_set_srp_client_pwd_callback +SSL_CTX_set_srp_password +SSL_CTX_set_srp_strength +SSL_CTX_set_srp_username +SSL_CTX_set_srp_username_callback +SSL_CTX_set_srp_verify_param_callback +SSL_CTX_set_trust +SSL_SRP_CTX_free +SSL_SRP_CTX_init +SSL_add_dir_cert_subjects_to_stack +SSL_add_file_cert_subjects_to_stack +SSL_add_ssl_module +SSL_certs_clear +SSL_copy_session_id +SSL_dup_CA_list +SSL_get0_dane +SSL_get_certificate +SSL_get_current_compression +SSL_get_current_expansion +SSL_get_finished +SSL_get_peer_finished +SSL_get_privatekey +SSL_get_srp_N +SSL_get_srp_g +SSL_get_srp_userinfo +SSL_get_srp_username +SSL_set_SSL_CTX +SSL_set_debug +SSL_set_not_resumable_session_callback +SSL_set_purpose +SSL_set_session_secret_cb +SSL_set_session_ticket_ext +SSL_set_session_ticket_ext_cb +SSL_set_srp_server_param +SSL_set_srp_server_param_pw +SSL_set_trust +SSL_srp_server_param_with_username +SSL_test_functions +SSL_trace From matt at openssl.org Wed Jun 12 09:23:18 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 12 Jun 2019 09:23:18 +0000 Subject: [openssl] master update Message-ID: <1560331398.311246.30428.nullmailer@dev.openssl.org> The branch master has been updated via dfa1f5476e86f330f708c1396f577c01d10c545c (commit) via 8e63900a71df38ff204871006ab0851c8ed73744 (commit) via 9aaecbfc98eb89a03f72b35d343e08f377e7803a (commit) from a03749a8f14c397f57ef956650f5db5da6523595 (commit) - Log ----------------------------------------------------------------- commit dfa1f5476e86f330f708c1396f577c01d10c545c Author: raja-ashok Date: Sat May 11 23:28:26 2019 +0530 Update docs for TLS1.3 FFDHE Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8178) commit 8e63900a71df38ff204871006ab0851c8ed73744 Author: raja-ashok Date: Thu Feb 7 18:33:49 2019 +0530 Add testcase for TLS1.3 FFDHE Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8178) commit 9aaecbfc98eb89a03f72b35d343e08f377e7803a Author: raja-ashok Date: Fri Jan 25 21:04:49 2019 +0530 TLS1.3 FFDHE Support Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8178) ----------------------------------------------------------------------- Summary of changes: crypto/dh/dh_ameth.c | 16 ++++- crypto/dh/dh_err.c | 4 +- crypto/dh/dh_key.c | 63 ++++++++++++++++++ crypto/dh/dh_locl.h | 3 + crypto/err/openssl.txt | 2 + doc/man3/SSL_CONF_cmd.pod | 20 ++++-- doc/man3/SSL_CTX_set1_curves.pod | 9 ++- include/openssl/dherr.h | 2 + ssl/s3_lib.c | 92 +++++++++++++++++++++----- ssl/ssl_locl.h | 16 +++-- ssl/statem/extensions_clnt.c | 27 +++++--- ssl/statem/extensions_srvr.c | 3 +- ssl/t1_lib.c | 136 ++++++++++++++++++++++++--------------- test/sslapitest.c | 104 ++++++++++++++++++++++++++++++ 14 files changed, 404 insertions(+), 93 deletions(-) diff --git a/crypto/dh/dh_ameth.c b/crypto/dh/dh_ameth.c index 1424c41..524cac5 100644 --- a/crypto/dh/dh_ameth.c +++ b/crypto/dh/dh_ameth.c @@ -490,6 +490,18 @@ static int dh_cms_encrypt(CMS_RecipientInfo *ri); static int dh_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) { switch (op) { + case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: + return dh_buf2key(EVP_PKEY_get0_DH(pkey), arg2, arg1); + case ASN1_PKEY_CTRL_GET1_TLS_ENCPT: + return dh_key2buf(EVP_PKEY_get0_DH(pkey), arg2); + default: + return -2; + } +} + +static int dhx_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) +{ + switch (op) { #ifndef OPENSSL_NO_CMS case ASN1_PKEY_CTRL_CMS_ENVELOPE: @@ -558,7 +570,7 @@ const EVP_PKEY_ASN1_METHOD dh_asn1_meth = { 0, int_dh_free, - 0, + dh_pkey_ctrl, 0, 0, 0, 0, 0, @@ -597,7 +609,7 @@ const EVP_PKEY_ASN1_METHOD dhx_asn1_meth = { 0, int_dh_free, - dh_pkey_ctrl, + dhx_pkey_ctrl, 0, 0, 0, 0, 0, diff --git a/crypto/dh/dh_err.c b/crypto/dh/dh_err.c index 66bf6b5..a78a6a9 100644 --- a/crypto/dh/dh_err.c +++ b/crypto/dh/dh_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,6 +16,7 @@ static const ERR_STRING_DATA DH_str_functs[] = { {ERR_PACK(ERR_LIB_DH, DH_F_COMPUTE_KEY, 0), "compute_key"}, {ERR_PACK(ERR_LIB_DH, DH_F_DHPARAMS_PRINT_FP, 0), "DHparams_print_fp"}, + {ERR_PACK(ERR_LIB_DH, DH_F_DH_BUF2KEY, 0), "dh_buf2key"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_BUILTIN_GENPARAMS, 0), "dh_builtin_genparams"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_CHECK_EX, 0), "DH_check_ex"}, @@ -25,6 +26,7 @@ static const ERR_STRING_DATA DH_str_functs[] = { {ERR_PACK(ERR_LIB_DH, DH_F_DH_CMS_SET_PEERKEY, 0), "dh_cms_set_peerkey"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_CMS_SET_SHARED_INFO, 0), "dh_cms_set_shared_info"}, + {ERR_PACK(ERR_LIB_DH, DH_F_DH_KEY2BUF, 0), "dh_key2buf"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_METH_DUP, 0), "DH_meth_dup"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_METH_NEW, 0), "DH_meth_new"}, {ERR_PACK(ERR_LIB_DH, DH_F_DH_METH_SET1_NAME, 0), "DH_meth_set1_name"}, diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c index 4b0b1f3..6b3a124 100644 --- a/crypto/dh/dh_key.c +++ b/crypto/dh/dh_key.c @@ -228,3 +228,66 @@ static int dh_finish(DH *dh) BN_MONT_CTX_free(dh->method_mont_p); return 1; } + +int dh_buf2key(DH *dh, const unsigned char *buf, size_t len) +{ + int err_reason = DH_R_BN_ERROR; + BIGNUM *pubkey = NULL; + const BIGNUM *p; + size_t p_size; + + if ((pubkey = BN_bin2bn(buf, len, NULL)) == NULL) + goto err; + DH_get0_pqg(dh, &p, NULL, NULL); + if (p == NULL || (p_size = BN_num_bytes(p)) == 0) { + err_reason = DH_R_NO_PARAMETERS_SET; + goto err; + } + /* + * As per Section 4.2.8.1 of RFC 8446 fail if DHE's + * public key is of size not equal to size of p + */ + if (BN_is_zero(pubkey) || p_size != len) { + err_reason = DH_R_INVALID_PUBKEY; + goto err; + } + if (DH_set0_key(dh, pubkey, NULL) != 1) + goto err; + return 1; +err: + DHerr(DH_F_DH_BUF2KEY, err_reason); + BN_free(pubkey); + return 0; +} + +size_t dh_key2buf(const DH *dh, unsigned char **pbuf_out) +{ + const BIGNUM *pubkey; + unsigned char *pbuf; + const BIGNUM *p; + int p_size; + + DH_get0_pqg(dh, &p, NULL, NULL); + DH_get0_key(dh, &pubkey, NULL); + if (p == NULL || pubkey == NULL + || (p_size = BN_num_bytes(p)) == 0 + || BN_num_bytes(pubkey) == 0) { + DHerr(DH_F_DH_KEY2BUF, DH_R_INVALID_PUBKEY); + return 0; + } + if ((pbuf = OPENSSL_malloc(p_size)) == NULL) { + DHerr(DH_F_DH_KEY2BUF, ERR_R_MALLOC_FAILURE); + return 0; + } + /* + * As per Section 4.2.8.1 of RFC 8446 left pad public + * key with zeros to the size of p + */ + if (BN_bn2binpad(pubkey, pbuf, p_size) < 0) { + OPENSSL_free(pbuf); + DHerr(DH_F_DH_KEY2BUF, DH_R_BN_ERROR); + return 0; + } + *pbuf_out = pbuf; + return p_size; +} diff --git a/crypto/dh/dh_locl.h b/crypto/dh/dh_locl.h index 6186901..bb64cde 100644 --- a/crypto/dh/dh_locl.h +++ b/crypto/dh/dh_locl.h @@ -55,3 +55,6 @@ struct dh_method { int (*generate_params) (DH *dh, int prime_len, int generator, BN_GENCB *cb); }; + +int dh_buf2key(DH *key, const unsigned char *buf, size_t len); +size_t dh_key2buf(const DH *dh, unsigned char **pbuf); diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 1457bc0..23c0dda 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -439,6 +439,7 @@ CT_F_SCT_SET_SIGNATURE_NID:103:SCT_set_signature_nid CT_F_SCT_SET_VERSION:104:SCT_set_version DH_F_COMPUTE_KEY:102:compute_key DH_F_DHPARAMS_PRINT_FP:101:DHparams_print_fp +DH_F_DH_BUF2KEY:126:dh_buf2key DH_F_DH_BUILTIN_GENPARAMS:106:dh_builtin_genparams DH_F_DH_CHECK_EX:121:DH_check_ex DH_F_DH_CHECK_PARAMS_EX:122:DH_check_params_ex @@ -446,6 +447,7 @@ DH_F_DH_CHECK_PUB_KEY_EX:123:DH_check_pub_key_ex DH_F_DH_CMS_DECRYPT:114:dh_cms_decrypt DH_F_DH_CMS_SET_PEERKEY:115:dh_cms_set_peerkey DH_F_DH_CMS_SET_SHARED_INFO:116:dh_cms_set_shared_info +DH_F_DH_KEY2BUF:127:dh_key2buf DH_F_DH_METH_DUP:117:DH_meth_dup DH_F_DH_METH_NEW:118:DH_meth_new DH_F_DH_METH_SET1_NAME:119:DH_meth_set1_name diff --git a/doc/man3/SSL_CONF_cmd.pod b/doc/man3/SSL_CONF_cmd.pod index 5c58268..227d9de 100644 --- a/doc/man3/SSL_CONF_cmd.pod +++ b/doc/man3/SSL_CONF_cmd.pod @@ -79,9 +79,13 @@ B. The B argument is a colon separated list of groups. The group can be either the B name (e.g. B), some other commonly used name where -applicable (e.g. B) or an OpenSSL OID name (e.g B). Group -names are case sensitive. The list should be in order of preference with the -most preferred group first. +applicable (e.g. B, B) or an OpenSSL OID name +(e.g B). Group names are case sensitive. The list should be in +order of preference with the most preferred group first. + +Currently supported groups for B are B, B, B, +B, B, B, B, B, B, +B. =item B<-curves> @@ -356,9 +360,13 @@ B. The B argument is a colon separated list of groups. The group can be either the B name (e.g. B), some other commonly used name where -applicable (e.g. B) or an OpenSSL OID name (e.g B). Group -names are case sensitive. The list should be in order of preference with the -most preferred group first. +applicable (e.g. B, B) or an OpenSSL OID name +(e.g B). Group names are case sensitive. The list should be in +order of preference with the most preferred group first. + +Currently supported groups for B are B, B, B, +B, B, B, B, B, B, +B. =item B diff --git a/doc/man3/SSL_CTX_set1_curves.pod b/doc/man3/SSL_CTX_set1_curves.pod index b6f647e..bb58a4d 100644 --- a/doc/man3/SSL_CTX_set1_curves.pod +++ b/doc/man3/SSL_CTX_set1_curves.pod @@ -39,11 +39,16 @@ 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 supported groups extension. For a TLS server the groups are used to -determine the set of shared groups. +determine the set of shared groups. Currently supported groups for +B are B, B, B, +B, B, B, B, +B, B and B. SSL_CTX_set1_groups_list() sets the supported groups for B to string B. The string is a colon separated list of group NIDs or -names, for example "P-521:P-384:P-256". +names, for example "P-521:P-384:P-256:X25519:ffdhe2048". Currently supported +groups for B are B, B, B, B, B, +B, B, B, B, B. SSL_set1_groups() and SSL_set1_groups_list() are similar except they set supported groups for the SSL structure B. diff --git a/include/openssl/dherr.h b/include/openssl/dherr.h index 2203554..83f0e59 100644 --- a/include/openssl/dherr.h +++ b/include/openssl/dherr.h @@ -29,6 +29,7 @@ int ERR_load_DH_strings(void); */ # define DH_F_COMPUTE_KEY 102 # define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUF2KEY 126 # define DH_F_DH_BUILTIN_GENPARAMS 106 # define DH_F_DH_CHECK_EX 121 # define DH_F_DH_CHECK_PARAMS_EX 122 @@ -36,6 +37,7 @@ int ERR_load_DH_strings(void); # define DH_F_DH_CMS_DECRYPT 114 # define DH_F_DH_CMS_SET_PEERKEY 115 # define DH_F_DH_CMS_SET_SHARED_INFO 116 +# define DH_F_DH_KEY2BUF 127 # define DH_F_DH_METH_DUP 117 # define DH_F_DH_METH_NEW 118 # define DH_F_DH_METH_SET1_NAME 119 diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 5ea2c2d..a75a158 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -4678,25 +4678,39 @@ EVP_PKEY *ssl_generate_pkey(EVP_PKEY *pm) EVP_PKEY_CTX_free(pctx); return pkey; } -#ifndef OPENSSL_NO_EC + /* Generate a private key from a group ID */ EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) { + const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); EVP_PKEY_CTX *pctx = NULL; EVP_PKEY *pkey = NULL; - const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); uint16_t gtype; +# ifndef OPENSSL_NO_DH + DH *dh = NULL; +# endif if (ginf == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, ERR_R_INTERNAL_ERROR); goto err; } - gtype = ginf->flags & TLS_CURVE_TYPE; - if (gtype == TLS_CURVE_CUSTOM) - pctx = EVP_PKEY_CTX_new_id(ginf->nid, NULL); + gtype = ginf->flags & TLS_GROUP_TYPE; +# ifndef OPENSSL_NO_DH + if (gtype == TLS_GROUP_FFDHE) + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_DH, NULL); +# ifndef OPENSSL_NO_EC else - pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL); +# endif +# endif +# ifndef OPENSSL_NO_EC + { + if (gtype == TLS_GROUP_CURVE_CUSTOM) + pctx = EVP_PKEY_CTX_new_id(ginf->nid, NULL); + else + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL); + } +# endif if (pctx == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, ERR_R_MALLOC_FAILURE); @@ -4707,12 +4721,40 @@ EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) ERR_R_EVP_LIB); goto err; } - if (gtype != TLS_CURVE_CUSTOM - && EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, ginf->nid) <= 0) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, - ERR_R_EVP_LIB); - goto err; +# ifndef OPENSSL_NO_DH + if (gtype == TLS_GROUP_FFDHE) { + if ((pkey = EVP_PKEY_new()) == NULL + || (dh = DH_new_by_nid(ginf->nid)) == NULL + || !EVP_PKEY_assign(pkey, EVP_PKEY_DH, dh)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, + ERR_R_EVP_LIB); + DH_free(dh); + EVP_PKEY_free(pkey); + pkey = NULL; + goto err; + } + if (EVP_PKEY_CTX_set_dh_nid(pctx, ginf->nid) <= 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, + ERR_R_EVP_LIB); + EVP_PKEY_free(pkey); + pkey = NULL; + goto err; + } + } +# ifndef OPENSSL_NO_EC + else +# endif +# endif +# ifndef OPENSSL_NO_EC + { + if (gtype != TLS_GROUP_CURVE_CUSTOM + && EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, ginf->nid) <= 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, + ERR_R_EVP_LIB); + goto err; + } } +# endif if (EVP_PKEY_keygen(pctx, &pkey) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, ERR_R_EVP_LIB); @@ -4733,11 +4775,12 @@ EVP_PKEY *ssl_generate_param_group(uint16_t id) EVP_PKEY_CTX *pctx = NULL; EVP_PKEY *pkey = NULL; const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); + int pkey_ctx_id; if (ginf == NULL) goto err; - if ((ginf->flags & TLS_CURVE_TYPE) == TLS_CURVE_CUSTOM) { + if ((ginf->flags & TLS_GROUP_TYPE) == TLS_GROUP_CURVE_CUSTOM) { pkey = EVP_PKEY_new(); if (pkey != NULL && EVP_PKEY_set_type(pkey, ginf->nid)) return pkey; @@ -4745,13 +4788,28 @@ EVP_PKEY *ssl_generate_param_group(uint16_t id) return NULL; } - pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL); + pkey_ctx_id = (ginf->flags & TLS_GROUP_FFDHE) + ? EVP_PKEY_DH : EVP_PKEY_EC; + pctx = EVP_PKEY_CTX_new_id(pkey_ctx_id, NULL); if (pctx == NULL) goto err; if (EVP_PKEY_paramgen_init(pctx) <= 0) goto err; - if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, ginf->nid) <= 0) - goto err; +# ifndef OPENSSl_NO_DH + if (ginf->flags & TLS_GROUP_FFDHE) { + if (EVP_PKEY_CTX_set_dh_nid(pctx, ginf->nid) <= 0) + goto err; + } +# ifndef OPENSSL_NO_EC + else +# endif +# endif +# ifndef OPENSSL_NO_EC + { + if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, ginf->nid) <= 0) + goto err; + } +# endif if (EVP_PKEY_paramgen(pctx, &pkey) <= 0) { EVP_PKEY_free(pkey); pkey = NULL; @@ -4761,7 +4819,6 @@ EVP_PKEY *ssl_generate_param_group(uint16_t id) EVP_PKEY_CTX_free(pctx); return pkey; } -#endif /* Derive secrets for ECDH/DH */ int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gensecret) @@ -4787,6 +4844,9 @@ int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gensecret) goto err; } + if (SSL_IS_TLS13(s) && EVP_PKEY_id(privkey) == EVP_PKEY_DH) + EVP_PKEY_CTX_set_dh_pad(pctx, 1); + pms = OPENSSL_malloc(pmslen); if (pms == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_DERIVE, diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 79b78f0..0e661d0 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -1685,14 +1685,19 @@ typedef struct sigalg_lookup_st { typedef struct tls_group_info_st { int nid; /* Curve NID */ int secbits; /* Bits of security (from SP800-57) */ - uint16_t flags; /* Flags: currently just group type */ + uint32_t flags; /* For group type and applicable TLS versions */ + uint16_t group_id; /* Group ID */ } TLS_GROUP_INFO; /* flags values */ -# define TLS_CURVE_TYPE 0x3 /* Mask for group type */ -# define TLS_CURVE_PRIME 0x0 -# define TLS_CURVE_CHAR2 0x1 -# define TLS_CURVE_CUSTOM 0x2 +# define TLS_GROUP_TYPE 0x0000000FU /* Mask for group type */ +# define TLS_GROUP_CURVE_PRIME 0x00000001U +# define TLS_GROUP_CURVE_CHAR2 0x00000002U +# define TLS_GROUP_CURVE_CUSTOM 0x00000004U +# define TLS_GROUP_FFDHE 0x00000008U +# define TLS_GROUP_ONLY_FOR_TLS1_3 0x00000010U + +# define TLS_GROUP_FFDHE_FOR_TLS1_3 (TLS_GROUP_FFDHE|TLS_GROUP_ONLY_FOR_TLS1_3) /* * Structure containing table entry of certificate info corresponding to @@ -2533,6 +2538,7 @@ void tls1_get_formatlist(SSL *s, const unsigned char **pformats, size_t *num_formats); __owur int tls1_check_ec_tmp_key(SSL *s, unsigned long id); __owur EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id); +__owur int tls_valid_group(SSL *s, uint16_t group_id, int version); __owur EVP_PKEY *ssl_generate_param_group(uint16_t id); # endif /* OPENSSL_NO_EC */ diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index 979954f..a29b7c0 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -174,36 +174,45 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, { const uint16_t *pgroups = NULL; size_t num_groups = 0, i; + int min_version, max_version, reason; if (!use_ecc(s)) return EXT_RETURN_NOT_SENT; + reason = ssl_get_min_max_version(s, &min_version, &max_version, NULL); + if (reason != 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS, reason); + return EXT_RETURN_FAIL; + } + /* * Add TLS extension supported_groups to the ClientHello message */ - /* TODO(TLS1.3): Add support for DHE groups */ tls1_get_supported_groups(s, &pgroups, &num_groups); if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_supported_groups) /* Sub-packet for supported_groups extension */ || !WPACKET_start_sub_packet_u16(pkt) - || !WPACKET_start_sub_packet_u16(pkt)) { + || !WPACKET_start_sub_packet_u16(pkt) + || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS, ERR_R_INTERNAL_ERROR); return EXT_RETURN_FAIL; } - /* Copy curve ID if supported */ + /* Copy group ID if supported */ for (i = 0; i < num_groups; i++) { uint16_t ctmp = pgroups[i]; - if (tls_curve_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) { + if (tls_valid_group(s, ctmp, max_version) + && tls_curve_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) { if (!WPACKET_put_bytes_u16(pkt, ctmp)) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, - SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS, - ERR_R_INTERNAL_ERROR); - return EXT_RETURN_FAIL; - } + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS, + ERR_R_INTERNAL_ERROR); + return EXT_RETURN_FAIL; + } } } if (!WPACKET_close(pkt) || !WPACKET_close(pkt)) { diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index d107af3..37f5819 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -1424,7 +1424,8 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL *s, WPACKET *pkt, for (i = 0; i < numgroups; i++) { uint16_t group = groups[i]; - if (tls_curve_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) { + if (tls_valid_group(s, group, SSL_version(s)) + && tls_curve_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) { if (first) { /* * Check if the client is already using our preferred group. If diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 8fad1f2..52e6d54 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -132,40 +132,44 @@ int tls1_clear(SSL *s) /* * Table of curve information. - * Do not delete entries or reorder this array! It is used as a lookup - * table: the index of each entry is one less than the TLS curve id. */ static const TLS_GROUP_INFO nid_list[] = { - {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */ - {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */ - {NID_sect163r2, 80, TLS_CURVE_CHAR2}, /* sect163r2 (3) */ - {NID_sect193r1, 80, TLS_CURVE_CHAR2}, /* sect193r1 (4) */ - {NID_sect193r2, 80, TLS_CURVE_CHAR2}, /* sect193r2 (5) */ - {NID_sect233k1, 112, TLS_CURVE_CHAR2}, /* sect233k1 (6) */ - {NID_sect233r1, 112, TLS_CURVE_CHAR2}, /* sect233r1 (7) */ - {NID_sect239k1, 112, TLS_CURVE_CHAR2}, /* sect239k1 (8) */ - {NID_sect283k1, 128, TLS_CURVE_CHAR2}, /* sect283k1 (9) */ - {NID_sect283r1, 128, TLS_CURVE_CHAR2}, /* sect283r1 (10) */ - {NID_sect409k1, 192, TLS_CURVE_CHAR2}, /* sect409k1 (11) */ - {NID_sect409r1, 192, TLS_CURVE_CHAR2}, /* sect409r1 (12) */ - {NID_sect571k1, 256, TLS_CURVE_CHAR2}, /* sect571k1 (13) */ - {NID_sect571r1, 256, TLS_CURVE_CHAR2}, /* sect571r1 (14) */ - {NID_secp160k1, 80, TLS_CURVE_PRIME}, /* secp160k1 (15) */ - {NID_secp160r1, 80, TLS_CURVE_PRIME}, /* secp160r1 (16) */ - {NID_secp160r2, 80, TLS_CURVE_PRIME}, /* secp160r2 (17) */ - {NID_secp192k1, 80, TLS_CURVE_PRIME}, /* secp192k1 (18) */ - {NID_X9_62_prime192v1, 80, TLS_CURVE_PRIME}, /* secp192r1 (19) */ - {NID_secp224k1, 112, TLS_CURVE_PRIME}, /* secp224k1 (20) */ - {NID_secp224r1, 112, TLS_CURVE_PRIME}, /* secp224r1 (21) */ - {NID_secp256k1, 128, TLS_CURVE_PRIME}, /* secp256k1 (22) */ - {NID_X9_62_prime256v1, 128, TLS_CURVE_PRIME}, /* secp256r1 (23) */ - {NID_secp384r1, 192, TLS_CURVE_PRIME}, /* secp384r1 (24) */ - {NID_secp521r1, 256, TLS_CURVE_PRIME}, /* secp521r1 (25) */ - {NID_brainpoolP256r1, 128, TLS_CURVE_PRIME}, /* brainpoolP256r1 (26) */ - {NID_brainpoolP384r1, 192, TLS_CURVE_PRIME}, /* brainpoolP384r1 (27) */ - {NID_brainpoolP512r1, 256, TLS_CURVE_PRIME}, /* brainpool512r1 (28) */ - {EVP_PKEY_X25519, 128, TLS_CURVE_CUSTOM}, /* X25519 (29) */ - {EVP_PKEY_X448, 224, TLS_CURVE_CUSTOM}, /* X448 (30) */ + {NID_sect163k1, 80, TLS_GROUP_CURVE_CHAR2, 0x0001}, /* sect163k1 (1) */ + {NID_sect163r1, 80, TLS_GROUP_CURVE_CHAR2, 0x0002}, /* sect163r1 (2) */ + {NID_sect163r2, 80, TLS_GROUP_CURVE_CHAR2, 0x0003}, /* sect163r2 (3) */ + {NID_sect193r1, 80, TLS_GROUP_CURVE_CHAR2, 0x0004}, /* sect193r1 (4) */ + {NID_sect193r2, 80, TLS_GROUP_CURVE_CHAR2, 0x0005}, /* sect193r2 (5) */ + {NID_sect233k1, 112, TLS_GROUP_CURVE_CHAR2, 0x0006}, /* sect233k1 (6) */ + {NID_sect233r1, 112, TLS_GROUP_CURVE_CHAR2, 0x0007}, /* sect233r1 (7) */ + {NID_sect239k1, 112, TLS_GROUP_CURVE_CHAR2, 0x0008}, /* sect239k1 (8) */ + {NID_sect283k1, 128, TLS_GROUP_CURVE_CHAR2, 0x0009}, /* sect283k1 (9) */ + {NID_sect283r1, 128, TLS_GROUP_CURVE_CHAR2, 0x000A}, /* sect283r1 (10) */ + {NID_sect409k1, 192, TLS_GROUP_CURVE_CHAR2, 0x000B}, /* sect409k1 (11) */ + {NID_sect409r1, 192, TLS_GROUP_CURVE_CHAR2, 0x000C}, /* sect409r1 (12) */ + {NID_sect571k1, 256, TLS_GROUP_CURVE_CHAR2, 0x000D}, /* sect571k1 (13) */ + {NID_sect571r1, 256, TLS_GROUP_CURVE_CHAR2, 0x000E}, /* sect571r1 (14) */ + {NID_secp160k1, 80, TLS_GROUP_CURVE_PRIME, 0x000F}, /* secp160k1 (15) */ + {NID_secp160r1, 80, TLS_GROUP_CURVE_PRIME, 0x0010}, /* secp160r1 (16) */ + {NID_secp160r2, 80, TLS_GROUP_CURVE_PRIME, 0x0011}, /* secp160r2 (17) */ + {NID_secp192k1, 80, TLS_GROUP_CURVE_PRIME, 0x0012}, /* secp192k1 (18) */ + {NID_X9_62_prime192v1, 80, TLS_GROUP_CURVE_PRIME, 0x0013}, /* secp192r1 (19) */ + {NID_secp224k1, 112, TLS_GROUP_CURVE_PRIME, 0x0014}, /* secp224k1 (20) */ + {NID_secp224r1, 112, TLS_GROUP_CURVE_PRIME, 0x0015}, /* secp224r1 (21) */ + {NID_secp256k1, 128, TLS_GROUP_CURVE_PRIME, 0x0016}, /* secp256k1 (22) */ + {NID_X9_62_prime256v1, 128, TLS_GROUP_CURVE_PRIME, 0x0017}, /* secp256r1 (23) */ + {NID_secp384r1, 192, TLS_GROUP_CURVE_PRIME, 0x0018}, /* secp384r1 (24) */ + {NID_secp521r1, 256, TLS_GROUP_CURVE_PRIME, 0x0019}, /* secp521r1 (25) */ + {NID_brainpoolP256r1, 128, TLS_GROUP_CURVE_PRIME, 0x001A}, /* brainpoolP256r1 (26) */ + {NID_brainpoolP384r1, 192, TLS_GROUP_CURVE_PRIME, 0x001B}, /* brainpoolP384r1 (27) */ + {NID_brainpoolP512r1, 256, TLS_GROUP_CURVE_PRIME, 0x001C}, /* brainpool512r1 (28) */ + {EVP_PKEY_X25519, 128, TLS_GROUP_CURVE_CUSTOM, 0x001D}, /* X25519 (29) */ + {EVP_PKEY_X448, 224, TLS_GROUP_CURVE_CUSTOM, 0x001E}, /* X448 (30) */ + /* Security bit values for FFDHE groups are updated as per RFC 7919 */ + {NID_ffdhe2048, 103, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0100}, /* ffdhe2048 (0x0100) */ + {NID_ffdhe3072, 125, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0101}, /* ffdhe3072 (0x0101) */ + {NID_ffdhe4096, 150, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0102}, /* ffdhe4096 (0x0102) */ + {NID_ffdhe6144, 175, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0103}, /* ffdhe6144 (0x0103) */ + {NID_ffdhe8192, 192, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0104}, /* ffdhe8192 (0x0104) */ }; static const unsigned char ecformats_default[] = { @@ -175,12 +179,17 @@ static const unsigned char ecformats_default[] = { }; /* The default curves */ -static const uint16_t eccurves_default[] = { +static const uint16_t supported_groups_default[] = { 29, /* X25519 (29) */ 23, /* secp256r1 (23) */ 30, /* X448 (30) */ 25, /* secp521r1 (25) */ 24, /* secp384r1 (24) */ + 0x100, /* ffdhe2048 (0x100) */ + 0x101, /* ffdhe3072 (0x101) */ + 0x102, /* ffdhe4096 (0x102) */ + 0x103, /* ffdhe6144 (0x103) */ + 0x104, /* ffdhe8192 (0x104) */ }; static const uint16_t suiteb_curves[] = { @@ -190,18 +199,23 @@ static const uint16_t suiteb_curves[] = { const TLS_GROUP_INFO *tls1_group_id_lookup(uint16_t group_id) { - /* ECC curves from RFC 4492 and RFC 7027 */ - if (group_id < 1 || group_id > OSSL_NELEM(nid_list)) - return NULL; - return &nid_list[group_id - 1]; + size_t i; + + /* ECC curves from RFC 4492 and RFC 7027 FFDHE group from RFC 8446 */ + for (i = 0; i < OSSL_NELEM(nid_list); i++) { + if (nid_list[i].group_id == group_id) + return &nid_list[i]; + } + return NULL; } static uint16_t tls1_nid2group_id(int nid) { size_t i; + for (i = 0; i < OSSL_NELEM(nid_list); i++) { if (nid_list[i].nid == nid) - return (uint16_t)(i + 1); + return nid_list[i].group_id; } return 0; } @@ -233,8 +247,8 @@ void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, default: if (s->ext.supportedgroups == NULL) { - *pgroups = eccurves_default; - *pgroupslen = OSSL_NELEM(eccurves_default); + *pgroups = supported_groups_default; + *pgroupslen = OSSL_NELEM(supported_groups_default); } else { *pgroups = s->ext.supportedgroups; *pgroupslen = s->ext.supportedgroups_len; @@ -243,6 +257,17 @@ void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, } } +int tls_valid_group(SSL *s, uint16_t group_id, int version) +{ + const TLS_GROUP_INFO *ginfo = tls1_group_id_lookup(group_id); + + if (version < TLS1_3_VERSION) { + if ((ginfo->flags & TLS_GROUP_ONLY_FOR_TLS1_3) != 0) + return 0; + } + return 1; +} + /* See if curve is allowed by security callback */ int tls_curve_allowed(SSL *s, uint16_t curve, int op) { @@ -252,7 +277,11 @@ int tls_curve_allowed(SSL *s, uint16_t curve, int op) if (cinfo == NULL) return 0; # ifdef OPENSSL_NO_EC2M - if (cinfo->flags & TLS_CURVE_CHAR2) + if (cinfo->flags & TLS_GROUP_CURVE_CHAR2) + return 0; +# endif +# ifdef OPENSSL_NO_DH + if (cinfo->flags & TLS_GROUP_FFDHE) return 0; # endif ctmp[0] = curve >> 8; @@ -338,10 +367,12 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen, uint16_t *glist; size_t i; /* - * Bitmap of groups included to detect duplicates: only works while group - * ids < 32 + * Bitmap of groups included to detect duplicates: two variables are added + * to detect duplicates as some values are more than 32. */ - unsigned long dup_list = 0; + unsigned long *dup_list = NULL; + unsigned long dup_list_egrp = 0; + unsigned long dup_list_dhgrp = 0; if (ngroups == 0) { SSLerr(SSL_F_TLS1_SET_GROUPS, SSL_R_BAD_LENGTH); @@ -354,20 +385,23 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen, for (i = 0; i < ngroups; i++) { unsigned long idmask; uint16_t id; - /* TODO(TLS1.3): Convert for DH groups */ id = tls1_nid2group_id(groups[i]); - idmask = 1L << id; - if (!id || (dup_list & idmask)) { - OPENSSL_free(glist); - return 0; - } - dup_list |= idmask; + if ((id & 0x00FF) >= (sizeof(unsigned long) * 8)) + goto err; + idmask = 1L << (id & 0x00FF); + dup_list = (id < 0x100) ? &dup_list_egrp : &dup_list_dhgrp; + if (!id || ((*dup_list) & idmask)) + goto err; + *dup_list |= idmask; glist[i] = id; } OPENSSL_free(*pext); *pext = glist; *pextlen = ngroups; return 1; +err: + OPENSSL_free(glist); + return 0; } # define MAX_CURVELIST OSSL_NELEM(nid_list) diff --git a/test/sslapitest.c b/test/sslapitest.c index 47c5be9..8190517 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -3736,6 +3736,109 @@ static int test_ciphersuite_change(void) } /* + * Test TLSv1.3 Key exchange + * Test 0 = Test ECDHE Key exchange + * Test 1 = Test FFDHE Key exchange + * Test 2 = Test ECDHE with TLSv1.2 client and TLSv1.2 server + * Test 3 = Test FFDHE with TLSv1.2 client and TLSv1.2 server + */ +static int test_tls13_key_exchange(int idx) +{ + SSL_CTX *sctx = NULL, *cctx = NULL; + SSL *serverssl = NULL, *clientssl = NULL; + int testresult = 0; + int ecdhe_kexch_groups[] = {NID_X9_62_prime256v1, NID_secp384r1, NID_secp521r1, + NID_X25519, NID_X448}; + int ffdhe_kexch_groups[] = {NID_ffdhe2048, NID_ffdhe3072, NID_ffdhe4096, + NID_ffdhe6144, NID_ffdhe8192}; + int *kexch_groups = NULL; + int kexch_groups_size = 0; + int max_version = TLS1_3_VERSION; + int want_err = SSL_ERROR_NONE; + int expected_err_func = 0; + int expected_err_reason = 0; + + switch (idx) { + case 0: + kexch_groups = ecdhe_kexch_groups; + kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); + break; + case 1: + kexch_groups = ffdhe_kexch_groups; + kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); + break; + case 2: + kexch_groups = ecdhe_kexch_groups; + kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); + max_version = TLS1_2_VERSION; + expected_err_func = SSL_F_TLS_POST_PROCESS_CLIENT_HELLO; + expected_err_reason = SSL_R_NO_SHARED_CIPHER; + want_err = SSL_ERROR_SSL; + break; + case 3: + kexch_groups = ffdhe_kexch_groups; + kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); + max_version = TLS1_2_VERSION; + want_err = SSL_ERROR_SSL; + expected_err_func = SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS; + expected_err_reason = ERR_R_INTERNAL_ERROR; + break; + } + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + TLS1_VERSION, max_version, + &sctx, &cctx, cert, privkey))) + goto end; + + if (!TEST_true(SSL_CTX_set_ciphersuites(sctx, TLS1_3_RFC_AES_128_GCM_SHA256))) + goto end; + + if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, TLS1_3_RFC_AES_128_GCM_SHA256))) + goto end; + + if (!TEST_true(SSL_CTX_set_cipher_list(sctx, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM))) + goto end; + + if (!TEST_true(SSL_CTX_set_cipher_list(cctx, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM))) + goto end; + + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL))) + goto end; + + if (!TEST_true(SSL_set1_groups(serverssl, kexch_groups, kexch_groups_size)) + || !TEST_true(SSL_set1_groups(clientssl, kexch_groups, kexch_groups_size))) + goto end; + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, want_err))) { + /* Fail only if no error is expected in handshake */ + if (expected_err_func == 0) + goto end; + } + + /* Fail if expected error is not happening for failure testcases */ + if (expected_err_func) { + unsigned long err_code = ERR_get_error(); + if (TEST_int_eq(ERR_GET_FUNC(err_code), expected_err_func) + && TEST_int_eq(ERR_GET_REASON(err_code), expected_err_reason)) + testresult = 1; + goto end; + } + + /* If Handshake succeeds the negotiated kexch alg should the first one in configured */ + if (!TEST_int_eq(SSL_get_shared_group(serverssl, 0), kexch_groups[0])) + goto end; + + testresult = 1; + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + return testresult; +} + +/* * Test TLSv1.3 PSKs * Test 0 = Test new style callbacks * Test 1 = Test both new and old style callbacks @@ -6536,6 +6639,7 @@ int setup_tests(void) #else ADD_ALL_TESTS(test_tls13_psk, 4); #endif /* OPENSSL_NO_PSK */ + ADD_ALL_TESTS(test_tls13_key_exchange, 4); ADD_ALL_TESTS(test_custom_exts, 5); ADD_TEST(test_stateless); ADD_TEST(test_pha_key_update); From builds at travis-ci.org Wed Jun 12 09:28:26 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 09:28:26 +0000 Subject: Still Failing: openssl/openssl#25731 (master - 51583cb) In-Reply-To: Message-ID: <5d00c5baaaec_43fbb73ee0db8375551@64720dd3-1db6-444a-9561-9cf67252ec87.mail> Build Update for openssl/openssl ------------------------------------- Build: #25731 Status: Still Failing Duration: 18 mins and 4 secs Commit: 51583cb (master) Author: Richard Levitte Message: Configure: count basenames for all library sources Make sure that each basename only appears once. This is due to the static library archiver on Unix, that indexes archived object files by base name only, thereby making base name clashes... interesting. This is a safety net for OpenSSL developer! Reviewed-by: Matt Caswell Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9133) View the changeset: https://github.com/openssl/openssl/compare/a8140a42f5ee...51583cb8f464 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544639472?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 Jun 12 09:34:18 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 12 Jun 2019 09:34:18 +0000 Subject: [openssl] master update Message-ID: <1560332058.290617.2673.nullmailer@dev.openssl.org> The branch master has been updated via c162c126be342b8cd97996346598ecf7db56130f (commit) from dfa1f5476e86f330f708c1396f577c01d10c545c (commit) - Log ----------------------------------------------------------------- commit c162c126be342b8cd97996346598ecf7db56130f Author: raja-ashok Date: Tue Jun 11 20:29:08 2019 +0530 Fix typo mistake on calls to SSL_ctrl in ssl.h Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9140) ----------------------------------------------------------------------- Summary of changes: include/openssl/ssl.h | 60 +++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 9f500a3..7219d83 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1377,24 +1377,24 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) # define SSL_CTX_set1_chain_cert_store(ctx,st) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_set0_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) -# define SSL_set1_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) -# define SSL_add0_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) -# define SSL_add1_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) -# define SSL_get0_chain_certs(ctx,px509) \ - SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_clear_chain_certs(ctx) \ - SSL_set0_chain(ctx,NULL) +# define SSL_set0_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_set1_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_add0_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_add1_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_get0_chain_certs(s,px509) \ + SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(s) \ + SSL_set0_chain(s,NULL) # define SSL_build_cert_chain(s, flags) \ SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_select_current_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) -# define SSL_set_current_cert(ctx,op) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_select_current_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_set_current_cert(s,op) \ + SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL) # define SSL_set0_verify_cert_store(s,st) \ SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) # define SSL_set1_verify_cert_store(s,st) \ @@ -1403,34 +1403,34 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) # define SSL_set1_chain_cert_store(s,st) \ SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_get1_groups(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_GET_GROUPS,0,(char *)(s)) +# define SSL_get1_groups(s, glist) \ + SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist)) # define SSL_CTX_set1_groups(ctx, glist, glistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) # define SSL_CTX_set1_groups_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) -# define SSL_set1_groups(ctx, glist, glistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) -# define SSL_set1_groups_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# define SSL_set1_groups(s, glist, glistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_set1_groups_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str)) # define SSL_get_shared_group(s, n) \ SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) # define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) # define SSL_CTX_set1_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str)) # define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_client_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_client_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_client_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str)) # define SSL_get0_certificate_types(s, clist) \ SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist)) # define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ From pauli at openssl.org Wed Jun 12 09:34:51 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 12 Jun 2019 09:34:51 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560332091.925873.4255.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 58b582a722ced5e7713a6be49cec979e47a2b425 (commit) from 1d238e0514d882dd559e6fd6dc152f1e1bfb8f8a (commit) - Log ----------------------------------------------------------------- commit 58b582a722ced5e7713a6be49cec979e47a2b425 Author: raja-ashok Date: Tue Jun 11 20:29:08 2019 +0530 Fix typo mistake on calls to SSL_ctrl in ssl.h Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9140) (cherry picked from commit c162c126be342b8cd97996346598ecf7db56130f) ----------------------------------------------------------------------- Summary of changes: include/openssl/ssl.h | 60 +++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 5833547..6724ccf 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1364,24 +1364,24 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) # define SSL_CTX_set1_chain_cert_store(ctx,st) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_set0_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) -# define SSL_set1_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) -# define SSL_add0_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) -# define SSL_add1_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) -# define SSL_get0_chain_certs(ctx,px509) \ - SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_clear_chain_certs(ctx) \ - SSL_set0_chain(ctx,NULL) +# define SSL_set0_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_set1_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_add0_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_add1_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_get0_chain_certs(s,px509) \ + SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(s) \ + SSL_set0_chain(s,NULL) # define SSL_build_cert_chain(s, flags) \ SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_select_current_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) -# define SSL_set_current_cert(ctx,op) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_select_current_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_set_current_cert(s,op) \ + SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL) # define SSL_set0_verify_cert_store(s,st) \ SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) # define SSL_set1_verify_cert_store(s,st) \ @@ -1390,34 +1390,34 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) # define SSL_set1_chain_cert_store(s,st) \ SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_get1_groups(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_GET_GROUPS,0,(char *)(s)) +# define SSL_get1_groups(s, glist) \ + SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist)) # define SSL_CTX_set1_groups(ctx, glist, glistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) # define SSL_CTX_set1_groups_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) -# define SSL_set1_groups(ctx, glist, glistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) -# define SSL_set1_groups_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# define SSL_set1_groups(s, glist, glistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_set1_groups_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str)) # define SSL_get_shared_group(s, n) \ SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) # define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) # define SSL_CTX_set1_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str)) # define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_client_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_client_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_client_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str)) # define SSL_get0_certificate_types(s, clist) \ SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist)) # define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ From builds at travis-ci.org Wed Jun 12 09:44:20 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 09:44:20 +0000 Subject: Still Failing: openssl/openssl#25732 (master - a03749a) In-Reply-To: Message-ID: <5d00c97463701_43fad7e13cca06348d@f36b7e6b-7190-4b6d-bc07-7d92e632e5e1.mail> Build Update for openssl/openssl ------------------------------------- Build: #25732 Status: Still Failing Duration: 27 mins and 2 secs Commit: a03749a (master) Author: Matt Caswell Message: Enable find-doc-nits to find undocumented symbols since 1.1.1 A previous commit added the ability to find newly undocumented symbols. We extend this capability to check anything that was newly added since 1.1.1 which is undocumented. A new option -o is added to find-doc-nits to amend the behaviour of -v or -e to check symbols that were newly added since the release of 1.1.1. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9094) View the changeset: https://github.com/openssl/openssl/compare/51583cb8f464...a03749a8f14c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544641892?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 tmraz at fedoraproject.org Wed Jun 12 09:46:47 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 12 Jun 2019 09:46:47 +0000 Subject: [openssl] master update Message-ID: <1560332807.391078.20539.nullmailer@dev.openssl.org> The branch master has been updated via a6dfa188204f81231a9d25cd007d0753657bcc1a (commit) from c162c126be342b8cd97996346598ecf7db56130f (commit) - Log ----------------------------------------------------------------- commit a6dfa188204f81231a9d25cd007d0753657bcc1a Author: Tomas Mraz Date: Fri Dec 14 12:10:58 2018 +0100 ts: Use sha256 as default digest for TS query Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/7900) ----------------------------------------------------------------------- Summary of changes: CHANGES | 3 +++ apps/ts.c | 2 +- doc/man1/ts.pod | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 4ccc3f3..0b9add5 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,9 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Use SHA256 as the default digest for TS query in the ts app. + [Tomas Mraz] + *) Change PBKDF2 to conform to SP800-132 instead of the older PKCS5 RFC2898. This checks that the salt length is at least 128 bits, the derived key length is at least 112 bits, and that the iteration count is at least 1000. diff --git a/apps/ts.c b/apps/ts.c index 63c5210..4ef8a72 100644 --- a/apps/ts.c +++ b/apps/ts.c @@ -425,7 +425,7 @@ static TS_REQ *create_query(BIO *data_bio, const char *digest, const EVP_MD *md, ASN1_OBJECT *policy_obj = NULL; ASN1_INTEGER *nonce_asn1 = NULL; - if (md == NULL && (md = EVP_get_digestbyname("sha1")) == NULL) + if (md == NULL && (md = EVP_get_digestbyname("sha256")) == NULL) goto err; if ((ts_req = TS_REQ_new()) == NULL) goto err; diff --git a/doc/man1/ts.pod b/doc/man1/ts.pod index 38ecffc..66b8295 100644 --- a/doc/man1/ts.pod +++ b/doc/man1/ts.pod @@ -518,7 +518,7 @@ included. Default is no. (Optional) =item B This option specifies the hash function to be used to calculate the TSA's -public key certificate identifier. Default is sha1. (Optional) +public key certificate identifier. Default is sha256. (Optional) =back @@ -530,7 +530,7 @@ openssl/apps/openssl.cnf will do. =head2 Time Stamp Request -To create a time stamp request for design1.txt with SHA-1 +To create a time stamp request for design1.txt with SHA-256 without nonce and policy and no certificate is required in the response: openssl ts -query -data design1.txt -no_nonce \ @@ -546,12 +546,12 @@ To print the content of the previous request in human readable format: openssl ts -query -in design1.tsq -text -To create a time stamp request which includes the MD-5 digest +To create a time stamp request which includes the SHA-512 digest of design2.txt, requests the signer certificate and nonce, specifies a policy id (assuming the tsa_policy1 name is defined in the OID section of the config file): - openssl ts -query -data design2.txt -md5 \ + openssl ts -query -data design2.txt -sha512 \ -tspolicy tsa_policy1 -cert -out design2.tsq =head2 Time Stamp Response From builds at travis-ci.org Wed Jun 12 10:04:08 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 10:04:08 +0000 Subject: Still Failing: openssl/openssl#25734 (master - dfa1f54) In-Reply-To: Message-ID: <5d00ce182b562_43fa5c002d53c96843@5186d8bb-5746-4673-9846-a4fd182d2ead.mail> Build Update for openssl/openssl ------------------------------------- Build: #25734 Status: Still Failing Duration: 21 mins and 37 secs Commit: dfa1f54 (master) Author: raja-ashok Message: Update docs for TLS1.3 FFDHE Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8178) View the changeset: https://github.com/openssl/openssl/compare/a03749a8f14c...dfa1f5476e86 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544644528?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 Jun 12 10:19:14 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 10:19:14 +0000 Subject: Still Failing: openssl/openssl#25735 (master - c162c12) In-Reply-To: Message-ID: <5d00d1a1e2104_43ff62b5552c443826@ff0a93f9-fd9a-49dd-a935-734bedb6f16f.mail> Build Update for openssl/openssl ------------------------------------- Build: #25735 Status: Still Failing Duration: 26 mins and 47 secs Commit: c162c12 (master) Author: raja-ashok Message: Fix typo mistake on calls to SSL_ctrl in ssl.h Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9140) View the changeset: https://github.com/openssl/openssl/compare/dfa1f5476e86...c162c126be34 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544648701?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 Jun 12 10:50:38 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 10:50:38 +0000 Subject: Still Failing: openssl/openssl#25738 (master - a6dfa18) In-Reply-To: Message-ID: <5d00d8feb1890_43ff63e43aebc1068f0@e81b45bd-b5d5-453b-a473-13d99cb7baea.mail> Build Update for openssl/openssl ------------------------------------- Build: #25738 Status: Still Failing Duration: 21 mins and 50 secs Commit: a6dfa18 (master) Author: Tomas Mraz Message: ts: Use sha256 as default digest for TS query Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/7900) View the changeset: https://github.com/openssl/openssl/compare/c162c126be34...a6dfa188204f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544654253?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 tmraz at fedoraproject.org Wed Jun 12 11:57:28 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 12 Jun 2019 11:57:28 +0000 Subject: [openssl] master update Message-ID: <1560340648.495101.13770.nullmailer@dev.openssl.org> The branch master has been updated via 02f209bb47bdf6a03489d57ac1ba6ae5f2ed8c78 (commit) from a6dfa188204f81231a9d25cd007d0753657bcc1a (commit) - Log ----------------------------------------------------------------- commit 02f209bb47bdf6a03489d57ac1ba6ae5f2ed8c78 Author: Tomas Mraz Date: Wed Jun 12 12:01:19 2019 +0200 ts: Fix awkward sentences in the documentation and the default digest Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9143) ----------------------------------------------------------------------- Summary of changes: doc/man1/ts.pod | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/man1/ts.pod b/doc/man1/ts.pod index 66b8295..ade077a 100644 --- a/doc/man1/ts.pod +++ b/doc/man1/ts.pod @@ -170,7 +170,7 @@ in use. (Optional) The message digest to apply to the data file. Any digest supported by the OpenSSL B command can be used. -The default is SHA-1. (Optional) +The default is SHA-256. (Optional) =item B<-tspolicy> object_id @@ -530,8 +530,9 @@ openssl/apps/openssl.cnf will do. =head2 Time Stamp Request -To create a time stamp request for design1.txt with SHA-256 -without nonce and policy and no certificate is required in the response: +To create a time stamp request for design1.txt with SHA-256 digest, +without nonce and policy, and without requirement for a certificate +in the response: openssl ts -query -data design1.txt -no_nonce \ -out design1.tsq @@ -547,7 +548,7 @@ To print the content of the previous request in human readable format: openssl ts -query -in design1.tsq -text To create a time stamp request which includes the SHA-512 digest -of design2.txt, requests the signer certificate and nonce, +of design2.txt, requests the signer certificate and nonce, and specifies a policy id (assuming the tsa_policy1 name is defined in the OID section of the config file): From builds at travis-ci.org Wed Jun 12 12:17:05 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 12 Jun 2019 12:17:05 +0000 Subject: Still Failing: openssl/openssl#25745 (master - 02f209b) In-Reply-To: Message-ID: <5d00ed413d6fd_43ffc588bff58134949@f3047744-077c-44d1-91e0-fdc95bc39609.mail> Build Update for openssl/openssl ------------------------------------- Build: #25745 Status: Still Failing Duration: 18 mins and 58 secs Commit: 02f209b (master) Author: Tomas Mraz Message: ts: Fix awkward sentences in the documentation and the default digest Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9143) View the changeset: https://github.com/openssl/openssl/compare/a6dfa188204f...02f209bb47bd View the full build log and details: https://travis-ci.org/openssl/openssl/builds/544703481?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 Jun 12 16:12:41 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 16:12:41 +0000 Subject: Build failed: openssl master.25177 Message-ID: <20190612161241.1.6CF1785A39E0F2DF@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 16:42:26 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 16:42:26 +0000 Subject: Build completed: openssl master.25178 Message-ID: <20190612164226.1.6AC5878B2F9CDD0A@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 19:35:44 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 19:35:44 +0000 Subject: Build failed: openssl master.25183 Message-ID: <20190612193544.1.CE28983E6699C87F@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 20:07:14 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 20:07:14 +0000 Subject: Build completed: openssl master.25184 Message-ID: <20190612200714.1.FD58C41C2B84B2A5@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 20:57:59 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 20:57:59 +0000 Subject: Build failed: openssl master.25186 Message-ID: <20190612205759.1.77742A578205CBF7@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 12 22:35:48 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 12 Jun 2019 22:35:48 +0000 Subject: Build completed: openssl master.25187 Message-ID: <20190612223548.1.2A4BAA786372B1F1@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Thu Jun 13 01:24:17 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 13 Jun 2019 01:24:17 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-dh Message-ID: <1560389057.544114.12767.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-dh Commit log since last time: 02f209bb47 ts: Fix awkward sentences in the documentation and the default digest a6dfa18820 ts: Use sha256 as default digest for TS query c162c126be Fix typo mistake on calls to SSL_ctrl in ssl.h dfa1f5476e Update docs for TLS1.3 FFDHE 8e63900a71 Add testcase for TLS1.3 FFDHE 9aaecbfc98 TLS1.3 FFDHE Support a03749a8f1 Enable find-doc-nits to find undocumented symbols since 1.1.1 8caab503ba Fix an incorrect macro 4ff4e53f81 i2d_PublicKey was listed in 2 different man pages b5283535d5 Make find-doc-nits check for newly added undocumented symbols 51583cb8f4 Configure: count basenames for all library sources a8140a42f5 Ensure code is compiled with correct BIGNUM assembler defines 444ab3abb1 Add some dummy BIGNUM calls from inside the FIPS provider 636b087e3e Make BIGNUM code available from within the FIPS module 4ac6227621 Temporarily disable RAND call in FIPS_MODE until RAND is available 9632bd0e1d Convert bn_rand.c to use EVP 7bc081dda3 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() f35819d1b7 Remove redundant include c79b6b874b OSSL_PARAM example code bug fix. Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509/libcrypto-lib-v3_lib.o -c -o crypto/x509/libcrypto-lib-v3_lib.o ../openssl/crypto/x509/v3_lib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509/libcrypto-lib-v3_ncons.o -c -o crypto/x509/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509/v3_ncons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509/libcrypto-lib-v3_pci.o -c -o crypto/x509/libcrypto-lib-v3_pci.o ../openssl/crypto/x509/v3_pci.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcia.o -c -o crypto/x509/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509/v3_pcia.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcons.o -c -o crypto/x509/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509/v3_pcons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509/libcrypto-lib-v3_pku.o -c -o crypto/x509/libcrypto-lib-v3_pku.o ../openssl/crypto/x509/v3_pku.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509/libcrypto-lib-v3_pmaps.o -c -o crypto/x509/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509/libcrypto-lib-v3_prn.o -c -o crypto/x509/libcrypto-lib-v3_prn.o ../openssl/crypto/x509/v3_prn.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509/libcrypto-lib-v3_purp.o -c -o crypto/x509/libcrypto-lib-v3_purp.o ../openssl/crypto/x509/v3_purp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509/libcrypto-lib-v3_skey.o -c -o crypto/x509/libcrypto-lib-v3_skey.o ../openssl/crypto/x509/v3_skey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509/libcrypto-lib-v3_sxnet.o -c -o crypto/x509/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509/libcrypto-lib-v3_tlsf.o -c -o crypto/x509/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509/libcrypto-lib-v3_utl.o -c -o crypto/x509/libcrypto-lib-v3_utl.o ../openssl/crypto/x509/v3_utl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3err.d.tmp -MT crypto/x509/libcrypto-lib-v3err.o -c -o crypto/x509/libcrypto-lib-v3err.o ../openssl/crypto/x509/v3err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_att.d.tmp -MT crypto/x509/libcrypto-lib-x509_att.o -c -o crypto/x509/libcrypto-lib-x509_att.o ../openssl/crypto/x509/x509_att.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_cmp.d.tmp -MT crypto/x509/libcrypto-lib-x509_cmp.o -c -o crypto/x509/libcrypto-lib-x509_cmp.o ../openssl/crypto/x509/x509_cmp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_d2.d.tmp -MT crypto/x509/libcrypto-lib-x509_d2.o -c -o crypto/x509/libcrypto-lib-x509_d2.o ../openssl/crypto/x509/x509_d2.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_def.d.tmp -MT crypto/x509/libcrypto-lib-x509_def.o -c -o crypto/x509/libcrypto-lib-x509_def.o ../openssl/crypto/x509/x509_def.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_err.d.tmp -MT crypto/x509/libcrypto-lib-x509_err.o -c -o crypto/x509/libcrypto-lib-x509_err.o ../openssl/crypto/x509/x509_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_ext.d.tmp -MT crypto/x509/libcrypto-lib-x509_ext.o -c -o crypto/x509/libcrypto-lib-x509_ext.o ../openssl/crypto/x509/x509_ext.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_lu.d.tmp -MT crypto/x509/libcrypto-lib-x509_lu.o -c -o crypto/x509/libcrypto-lib-x509_lu.o ../openssl/crypto/x509/x509_lu.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_meth.d.tmp -MT crypto/x509/libcrypto-lib-x509_meth.o -c -o crypto/x509/libcrypto-lib-x509_meth.o ../openssl/crypto/x509/x509_meth.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_obj.d.tmp -MT crypto/x509/libcrypto-lib-x509_obj.o -c -o crypto/x509/libcrypto-lib-x509_obj.o ../openssl/crypto/x509/x509_obj.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_r2x.d.tmp -MT crypto/x509/libcrypto-lib-x509_r2x.o -c -o crypto/x509/libcrypto-lib-x509_r2x.o ../openssl/crypto/x509/x509_r2x.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_req.d.tmp -MT crypto/x509/libcrypto-lib-x509_req.o -c -o crypto/x509/libcrypto-lib-x509_req.o ../openssl/crypto/x509/x509_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_set.d.tmp -MT crypto/x509/libcrypto-lib-x509_set.o -c -o crypto/x509/libcrypto-lib-x509_set.o ../openssl/crypto/x509/x509_set.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_trs.d.tmp -MT crypto/x509/libcrypto-lib-x509_trs.o -c -o crypto/x509/libcrypto-lib-x509_trs.o ../openssl/crypto/x509/x509_trs.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_txt.d.tmp -MT crypto/x509/libcrypto-lib-x509_txt.o -c -o crypto/x509/libcrypto-lib-x509_txt.o ../openssl/crypto/x509/x509_txt.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_v3.d.tmp -MT crypto/x509/libcrypto-lib-x509_v3.o -c -o crypto/x509/libcrypto-lib-x509_v3.o ../openssl/crypto/x509/x509_v3.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vfy.d.tmp -MT crypto/x509/libcrypto-lib-x509_vfy.o -c -o crypto/x509/libcrypto-lib-x509_vfy.o ../openssl/crypto/x509/x509_vfy.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vpm.d.tmp -MT crypto/x509/libcrypto-lib-x509_vpm.o -c -o crypto/x509/libcrypto-lib-x509_vpm.o ../openssl/crypto/x509/x509_vpm.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509cset.d.tmp -MT crypto/x509/libcrypto-lib-x509cset.o -c -o crypto/x509/libcrypto-lib-x509cset.o ../openssl/crypto/x509/x509cset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509name.d.tmp -MT crypto/x509/libcrypto-lib-x509name.o -c -o crypto/x509/libcrypto-lib-x509name.o ../openssl/crypto/x509/x509name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509rset.d.tmp -MT crypto/x509/libcrypto-lib-x509rset.o -c -o crypto/x509/libcrypto-lib-x509rset.o ../openssl/crypto/x509/x509rset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509spki.d.tmp -MT crypto/x509/libcrypto-lib-x509spki.o -c -o crypto/x509/libcrypto-lib-x509spki.o ../openssl/crypto/x509/x509spki.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509type.d.tmp -MT crypto/x509/libcrypto-lib-x509type.o -c -o crypto/x509/libcrypto-lib-x509type.o ../openssl/crypto/x509/x509type.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_all.d.tmp -MT crypto/x509/libcrypto-lib-x_all.o -c -o crypto/x509/libcrypto-lib-x_all.o ../openssl/crypto/x509/x_all.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_attrib.d.tmp -MT crypto/x509/libcrypto-lib-x_attrib.o -c -o crypto/x509/libcrypto-lib-x_attrib.o ../openssl/crypto/x509/x_attrib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_crl.d.tmp -MT crypto/x509/libcrypto-lib-x_crl.o -c -o crypto/x509/libcrypto-lib-x_crl.o ../openssl/crypto/x509/x_crl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_exten.d.tmp -MT crypto/x509/libcrypto-lib-x_exten.o -c -o crypto/x509/libcrypto-lib-x_exten.o ../openssl/crypto/x509/x_exten.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_name.d.tmp -MT crypto/x509/libcrypto-lib-x_name.o -c -o crypto/x509/libcrypto-lib-x_name.o ../openssl/crypto/x509/x_name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_pubkey.d.tmp -MT crypto/x509/libcrypto-lib-x_pubkey.o -c -o crypto/x509/libcrypto-lib-x_pubkey.o ../openssl/crypto/x509/x_pubkey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_req.d.tmp -MT crypto/x509/libcrypto-lib-x_req.o -c -o crypto/x509/libcrypto-lib-x_req.o ../openssl/crypto/x509/x_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509.d.tmp -MT crypto/x509/libcrypto-lib-x_x509.o -c -o crypto/x509/libcrypto-lib-x_x509.o ../openssl/crypto/x509/x_x509.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509a.d.tmp -MT crypto/x509/libcrypto-lib-x_x509a.o -c -o crypto/x509/libcrypto-lib-x_x509a.o ../openssl/crypto/x509/x_x509a.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes.o -c -o providers/common/ciphers/libcrypto-lib-aes.o ../openssl/providers/common/ciphers/aes.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes_basic.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes_basic.o -c -o providers/common/ciphers/libcrypto-lib-aes_basic.o ../openssl/providers/common/ciphers/aes_basic.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-block.d.tmp -MT providers/common/ciphers/libcrypto-lib-block.o -c -o providers/common/ciphers/libcrypto-lib-block.o ../openssl/providers/common/ciphers/block.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha2_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha2_prov.o -c -o providers/common/digests/libcrypto-lib-sha2_prov.o ../openssl/providers/common/digests/sha2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha3_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha3_prov.o -c -o providers/common/digests/libcrypto-lib-sha3_prov.o ../openssl/providers/common/digests/sha3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/libcrypto-lib-provider_err.d.tmp -MT providers/common/libcrypto-lib-provider_err.o -c -o providers/common/libcrypto-lib-provider_err.o ../openssl/providers/common/provider_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2_prov.o -c -o providers/default/digests/libcrypto-lib-blake2_prov.o ../openssl/providers/default/digests/blake2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2b_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2b_prov.o -c -o providers/default/digests/libcrypto-lib-blake2b_prov.o ../openssl/providers/default/digests/blake2b_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2s_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2s_prov.o -c -o providers/default/digests/libcrypto-lib-blake2s_prov.o ../openssl/providers/default/digests/blake2s_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_prov.o -c -o providers/default/digests/libcrypto-lib-md5_prov.o ../openssl/providers/default/digests/md5_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_sha1_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_sha1_prov.o -c -o providers/default/digests/libcrypto-lib-md5_sha1_prov.o ../openssl/providers/default/digests/md5_sha1_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-null_prov.d.tmp -MT providers/default/digests/libcrypto-lib-null_prov.o -c -o providers/default/digests/libcrypto-lib-null_prov.o ../openssl/providers/default/digests/null_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-sm3_prov.d.tmp -MT providers/default/digests/libcrypto-lib-sm3_prov.o -c -o providers/default/digests/libcrypto-lib-sm3_prov.o ../openssl/providers/default/digests/sm3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/libcrypto-lib-defltprov.d.tmp -MT providers/default/libcrypto-lib-defltprov.o -c -o providers/default/libcrypto-lib-defltprov.o ../openssl/providers/default/defltprov.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 ../openssl/ssl/s3_lib.c:4800:13: error: implicit declaration of function 'EVP_PKEY_CTX_set_dh_nid' is invalid in C99 [-Werror,-Wimplicit-function-declaration] if (EVP_PKEY_CTX_set_dh_nid(pctx, ginf->nid) <= 0) ^ ../openssl/ssl/s3_lib.c:4800:13: note: did you mean 'EVP_PKEY_CTX_set_data'? ../openssl/include/openssl/evp.h:1450:6: note: 'EVP_PKEY_CTX_set_data' declared here void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); ^ ../openssl/ssl/s3_lib.c:4800:13: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] if (EVP_PKEY_CTX_set_dh_nid(pctx, ginf->nid) <= 0) ^ ../openssl/ssl/s3_lib.c:4848:9: error: implicit declaration of function 'EVP_PKEY_CTX_set_dh_pad' is invalid in C99 [-Werror,-Wimplicit-function-declaration] EVP_PKEY_CTX_set_dh_pad(pctx, 1); ^ clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 ../openssl/ssl/s3_lib.c:4848:9: note: did you mean 'EVP_PKEY_CTX_set_data'? ../openssl/include/openssl/evp.h:1450:6: note: 'EVP_PKEY_CTX_set_data' declared here void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); ^ ../openssl/ssl/s3_lib.c:4848:9: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] EVP_PKEY_CTX_set_dh_pad(pctx, 1); ^ 4 errors generated. Makefile:12418: recipe for target 'ssl/libssl-lib-s3_lib.o' failed make[1]: *** [ssl/libssl-lib-s3_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-dh' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Thu Jun 13 01:48:03 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 13 Jun 2019 01:48:03 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1560390483.875460.9278.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 02f209bb47 ts: Fix awkward sentences in the documentation and the default digest a6dfa18820 ts: Use sha256 as default digest for TS query c162c126be Fix typo mistake on calls to SSL_ctrl in ssl.h dfa1f5476e Update docs for TLS1.3 FFDHE 8e63900a71 Add testcase for TLS1.3 FFDHE 9aaecbfc98 TLS1.3 FFDHE Support a03749a8f1 Enable find-doc-nits to find undocumented symbols since 1.1.1 8caab503ba Fix an incorrect macro 4ff4e53f81 i2d_PublicKey was listed in 2 different man pages b5283535d5 Make find-doc-nits check for newly added undocumented symbols 51583cb8f4 Configure: count basenames for all library sources a8140a42f5 Ensure code is compiled with correct BIGNUM assembler defines 444ab3abb1 Add some dummy BIGNUM calls from inside the FIPS provider 636b087e3e Make BIGNUM code available from within the FIPS module 4ac6227621 Temporarily disable RAND call in FIPS_MODE until RAND is available 9632bd0e1d Convert bn_rand.c to use EVP 7bc081dda3 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() f35819d1b7 Remove redundant include c79b6b874b OSSL_PARAM example code bug fix. Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_info.d.tmp -MT crypto/x509/libcrypto-lib-v3_info.o -c -o crypto/x509/libcrypto-lib-v3_info.o ../openssl/crypto/x509/v3_info.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_int.d.tmp -MT crypto/x509/libcrypto-lib-v3_int.o -c -o crypto/x509/libcrypto-lib-v3_int.o ../openssl/crypto/x509/v3_int.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509/libcrypto-lib-v3_lib.o -c -o crypto/x509/libcrypto-lib-v3_lib.o ../openssl/crypto/x509/v3_lib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509/libcrypto-lib-v3_ncons.o -c -o crypto/x509/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509/v3_ncons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509/libcrypto-lib-v3_pci.o -c -o crypto/x509/libcrypto-lib-v3_pci.o ../openssl/crypto/x509/v3_pci.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcia.o -c -o crypto/x509/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509/v3_pcia.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcons.o -c -o crypto/x509/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509/v3_pcons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509/libcrypto-lib-v3_pku.o -c -o crypto/x509/libcrypto-lib-v3_pku.o ../openssl/crypto/x509/v3_pku.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509/libcrypto-lib-v3_pmaps.o -c -o crypto/x509/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509/libcrypto-lib-v3_prn.o -c -o crypto/x509/libcrypto-lib-v3_prn.o ../openssl/crypto/x509/v3_prn.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509/libcrypto-lib-v3_purp.o -c -o crypto/x509/libcrypto-lib-v3_purp.o ../openssl/crypto/x509/v3_purp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509/libcrypto-lib-v3_skey.o -c -o crypto/x509/libcrypto-lib-v3_skey.o ../openssl/crypto/x509/v3_skey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509/libcrypto-lib-v3_sxnet.o -c -o crypto/x509/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509/libcrypto-lib-v3_tlsf.o -c -o crypto/x509/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509/libcrypto-lib-v3_utl.o -c -o crypto/x509/libcrypto-lib-v3_utl.o ../openssl/crypto/x509/v3_utl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3err.d.tmp -MT crypto/x509/libcrypto-lib-v3err.o -c -o crypto/x509/libcrypto-lib-v3err.o ../openssl/crypto/x509/v3err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_att.d.tmp -MT crypto/x509/libcrypto-lib-x509_att.o -c -o crypto/x509/libcrypto-lib-x509_att.o ../openssl/crypto/x509/x509_att.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_cmp.d.tmp -MT crypto/x509/libcrypto-lib-x509_cmp.o -c -o crypto/x509/libcrypto-lib-x509_cmp.o ../openssl/crypto/x509/x509_cmp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_d2.d.tmp -MT crypto/x509/libcrypto-lib-x509_d2.o -c -o crypto/x509/libcrypto-lib-x509_d2.o ../openssl/crypto/x509/x509_d2.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_def.d.tmp -MT crypto/x509/libcrypto-lib-x509_def.o -c -o crypto/x509/libcrypto-lib-x509_def.o ../openssl/crypto/x509/x509_def.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_err.d.tmp -MT crypto/x509/libcrypto-lib-x509_err.o -c -o crypto/x509/libcrypto-lib-x509_err.o ../openssl/crypto/x509/x509_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_ext.d.tmp -MT crypto/x509/libcrypto-lib-x509_ext.o -c -o crypto/x509/libcrypto-lib-x509_ext.o ../openssl/crypto/x509/x509_ext.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_lu.d.tmp -MT crypto/x509/libcrypto-lib-x509_lu.o -c -o crypto/x509/libcrypto-lib-x509_lu.o ../openssl/crypto/x509/x509_lu.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_meth.d.tmp -MT crypto/x509/libcrypto-lib-x509_meth.o -c -o crypto/x509/libcrypto-lib-x509_meth.o ../openssl/crypto/x509/x509_meth.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_obj.d.tmp -MT crypto/x509/libcrypto-lib-x509_obj.o -c -o crypto/x509/libcrypto-lib-x509_obj.o ../openssl/crypto/x509/x509_obj.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_r2x.d.tmp -MT crypto/x509/libcrypto-lib-x509_r2x.o -c -o crypto/x509/libcrypto-lib-x509_r2x.o ../openssl/crypto/x509/x509_r2x.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_req.d.tmp -MT crypto/x509/libcrypto-lib-x509_req.o -c -o crypto/x509/libcrypto-lib-x509_req.o ../openssl/crypto/x509/x509_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_set.d.tmp -MT crypto/x509/libcrypto-lib-x509_set.o -c -o crypto/x509/libcrypto-lib-x509_set.o ../openssl/crypto/x509/x509_set.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_trs.d.tmp -MT crypto/x509/libcrypto-lib-x509_trs.o -c -o crypto/x509/libcrypto-lib-x509_trs.o ../openssl/crypto/x509/x509_trs.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_txt.d.tmp -MT crypto/x509/libcrypto-lib-x509_txt.o -c -o crypto/x509/libcrypto-lib-x509_txt.o ../openssl/crypto/x509/x509_txt.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_v3.d.tmp -MT crypto/x509/libcrypto-lib-x509_v3.o -c -o crypto/x509/libcrypto-lib-x509_v3.o ../openssl/crypto/x509/x509_v3.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vfy.d.tmp -MT crypto/x509/libcrypto-lib-x509_vfy.o -c -o crypto/x509/libcrypto-lib-x509_vfy.o ../openssl/crypto/x509/x509_vfy.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vpm.d.tmp -MT crypto/x509/libcrypto-lib-x509_vpm.o -c -o crypto/x509/libcrypto-lib-x509_vpm.o ../openssl/crypto/x509/x509_vpm.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509cset.d.tmp -MT crypto/x509/libcrypto-lib-x509cset.o -c -o crypto/x509/libcrypto-lib-x509cset.o ../openssl/crypto/x509/x509cset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509name.d.tmp -MT crypto/x509/libcrypto-lib-x509name.o -c -o crypto/x509/libcrypto-lib-x509name.o ../openssl/crypto/x509/x509name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509rset.d.tmp -MT crypto/x509/libcrypto-lib-x509rset.o -c -o crypto/x509/libcrypto-lib-x509rset.o ../openssl/crypto/x509/x509rset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509spki.d.tmp -MT crypto/x509/libcrypto-lib-x509spki.o -c -o crypto/x509/libcrypto-lib-x509spki.o ../openssl/crypto/x509/x509spki.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509type.d.tmp -MT crypto/x509/libcrypto-lib-x509type.o -c -o crypto/x509/libcrypto-lib-x509type.o ../openssl/crypto/x509/x509type.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_all.d.tmp -MT crypto/x509/libcrypto-lib-x_all.o -c -o crypto/x509/libcrypto-lib-x_all.o ../openssl/crypto/x509/x_all.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_attrib.d.tmp -MT crypto/x509/libcrypto-lib-x_attrib.o -c -o crypto/x509/libcrypto-lib-x_attrib.o ../openssl/crypto/x509/x_attrib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_crl.d.tmp -MT crypto/x509/libcrypto-lib-x_crl.o -c -o crypto/x509/libcrypto-lib-x_crl.o ../openssl/crypto/x509/x_crl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_exten.d.tmp -MT crypto/x509/libcrypto-lib-x_exten.o -c -o crypto/x509/libcrypto-lib-x_exten.o ../openssl/crypto/x509/x_exten.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_name.d.tmp -MT crypto/x509/libcrypto-lib-x_name.o -c -o crypto/x509/libcrypto-lib-x_name.o ../openssl/crypto/x509/x_name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_pubkey.d.tmp -MT crypto/x509/libcrypto-lib-x_pubkey.o -c -o crypto/x509/libcrypto-lib-x_pubkey.o ../openssl/crypto/x509/x_pubkey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_req.d.tmp -MT crypto/x509/libcrypto-lib-x_req.o -c -o crypto/x509/libcrypto-lib-x_req.o ../openssl/crypto/x509/x_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509.d.tmp -MT crypto/x509/libcrypto-lib-x_x509.o -c -o crypto/x509/libcrypto-lib-x_x509.o ../openssl/crypto/x509/x_x509.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509a.d.tmp -MT crypto/x509/libcrypto-lib-x_x509a.o -c -o crypto/x509/libcrypto-lib-x_x509a.o ../openssl/crypto/x509/x_x509a.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes.o -c -o providers/common/ciphers/libcrypto-lib-aes.o ../openssl/providers/common/ciphers/aes.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes_basic.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes_basic.o -c -o providers/common/ciphers/libcrypto-lib-aes_basic.o ../openssl/providers/common/ciphers/aes_basic.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-block.d.tmp -MT providers/common/ciphers/libcrypto-lib-block.o -c -o providers/common/ciphers/libcrypto-lib-block.o ../openssl/providers/common/ciphers/block.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha2_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha2_prov.o -c -o providers/common/digests/libcrypto-lib-sha2_prov.o ../openssl/providers/common/digests/sha2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha3_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha3_prov.o -c -o providers/common/digests/libcrypto-lib-sha3_prov.o ../openssl/providers/common/digests/sha3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/libcrypto-lib-provider_err.d.tmp -MT providers/common/libcrypto-lib-provider_err.o -c -o providers/common/libcrypto-lib-provider_err.o ../openssl/providers/common/provider_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2_prov.o -c -o providers/default/digests/libcrypto-lib-blake2_prov.o ../openssl/providers/default/digests/blake2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2b_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2b_prov.o -c -o providers/default/digests/libcrypto-lib-blake2b_prov.o ../openssl/providers/default/digests/blake2b_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2s_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2s_prov.o -c -o providers/default/digests/libcrypto-lib-blake2s_prov.o ../openssl/providers/default/digests/blake2s_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_prov.o -c -o providers/default/digests/libcrypto-lib-md5_prov.o ../openssl/providers/default/digests/md5_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_sha1_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_sha1_prov.o -c -o providers/default/digests/libcrypto-lib-md5_sha1_prov.o ../openssl/providers/default/digests/md5_sha1_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-null_prov.d.tmp -MT providers/default/digests/libcrypto-lib-null_prov.o -c -o providers/default/digests/libcrypto-lib-null_prov.o ../openssl/providers/default/digests/null_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-sm3_prov.d.tmp -MT providers/default/digests/libcrypto-lib-sm3_prov.o -c -o providers/default/digests/libcrypto-lib-sm3_prov.o ../openssl/providers/default/digests/sm3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/libcrypto-lib-defltprov.d.tmp -MT providers/default/libcrypto-lib-defltprov.o -c -o providers/default/libcrypto-lib-defltprov.o ../openssl/providers/default/defltprov.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 ../openssl/ssl/s3_lib.c:4685:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4685:34: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/s3_lib.c:4685:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4683:11: error: no previous prototype for function 'ssl_generate_pkey_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) ^ ../openssl/ssl/s3_lib.c:4777:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4777:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4773:11: error: no previous prototype for function 'ssl_generate_param_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_param_group(uint16_t id) ^ 7 errors generated. Makefile:11958: recipe for target 'ssl/libssl-lib-s3_lib.o' failed make[1]: *** [ssl/libssl-lib-s3_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Thu Jun 13 06:11:22 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 13 Jun 2019 06:11:22 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560406282.108978.17946.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 02f209bb47 ts: Fix awkward sentences in the documentation and the default digest a6dfa18820 ts: Use sha256 as default digest for TS query c162c126be Fix typo mistake on calls to SSL_ctrl in ssl.h dfa1f5476e Update docs for TLS1.3 FFDHE 8e63900a71 Add testcase for TLS1.3 FFDHE 9aaecbfc98 TLS1.3 FFDHE Support a03749a8f1 Enable find-doc-nits to find undocumented symbols since 1.1.1 8caab503ba Fix an incorrect macro 4ff4e53f81 i2d_PublicKey was listed in 2 different man pages b5283535d5 Make find-doc-nits check for newly added undocumented symbols 51583cb8f4 Configure: count basenames for all library sources a8140a42f5 Ensure code is compiled with correct BIGNUM assembler defines 444ab3abb1 Add some dummy BIGNUM calls from inside the FIPS provider 636b087e3e Make BIGNUM code available from within the FIPS module 4ac6227621 Temporarily disable RAND call in FIPS_MODE until RAND is available 9632bd0e1d Convert bn_rand.c to use EVP 7bc081dda3 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() f35819d1b7 Remove redundant include c79b6b874b OSSL_PARAM example code bug fix. Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:187: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:191: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:197: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:200: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x159): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:105: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:106: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:108: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:109: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:112: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:146: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7058: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From matt at openssl.org Thu Jun 13 09:24:46 2019 From: matt at openssl.org (Matt Caswell) Date: Thu, 13 Jun 2019 09:24:46 +0000 Subject: [openssl] master update Message-ID: <1560417886.782473.15468.nullmailer@dev.openssl.org> The branch master has been updated via b1d14c412a0ff06d191ef5640bd90bbcd590035c (commit) from 02f209bb47bdf6a03489d57ac1ba6ae5f2ed8c78 (commit) - Log ----------------------------------------------------------------- commit b1d14c412a0ff06d191ef5640bd90bbcd590035c Author: Matt Caswell Date: Wed Jun 12 12:12:07 2019 +0100 Update the d2i docs to reflect reality The d2i docs state that if an error occurs then |*a| is not freed. This is not correct. On error it is freed and set to NULL. We update the docs to say this, and also discuss the fact that this behaviour was inconsistent prior to OpenSSL 1.1.0. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9146) ----------------------------------------------------------------------- Summary of changes: doc/man3/d2i_X509.pod | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index e04657f..36a5e8f 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -522,8 +522,8 @@ Represents the B structure defined in PKCS#1 and PKCS#7. d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid B structure or B if an error occurs. If the "reuse" capability has been used with -a valid structure being passed in via B, then the object is not freed in -the event of error but may be in a potentially invalid or inconsistent state. +a valid structure being passed in via B, then the object is freed in +the event of error and B<*a> is set to NULL. i2d_TYPE() returns the number of bytes successfully encoded or a negative value if an error occurs. @@ -604,9 +604,13 @@ happen. =head1 BUGS In some versions of OpenSSL the "reuse" behaviour of d2i_TYPE() when -B<*px> is valid is broken and some parts of the reused structure may -persist if they are not present in the new one. As a result the use -of this "reuse" behaviour is strongly discouraged. +B<*a> is valid is broken and some parts of the reused structure may +persist if they are not present in the new one. Additionally, in versions of +OpenSSL prior to 1.1.0, when the "reuse" behaviour is used and an error occurs +the behaviour is inconsistent. Some functions behaved as described here, while +some did not free B<*a> on error and did not set B<*a> to NULL. + +As a result of the above issues the "reuse" behaviour is strongly discouraged. i2d_TYPE() will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error From matt at openssl.org Thu Jun 13 09:24:59 2019 From: matt at openssl.org (Matt Caswell) Date: Thu, 13 Jun 2019 09:24:59 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560417899.313751.16781.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via ed29a5f72e0d43526e9e5e7e9ff7de478ee99a50 (commit) from 58b582a722ced5e7713a6be49cec979e47a2b425 (commit) - Log ----------------------------------------------------------------- commit ed29a5f72e0d43526e9e5e7e9ff7de478ee99a50 Author: Matt Caswell Date: Wed Jun 12 12:12:07 2019 +0100 Update the d2i docs to reflect reality The d2i docs state that if an error occurs then |*a| is not freed. This is not correct. On error it is freed and set to NULL. We update the docs to say this, and also discuss the fact that this behaviour was inconsistent prior to OpenSSL 1.1.0. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9146) (cherry picked from commit b1d14c412a0ff06d191ef5640bd90bbcd590035c) ----------------------------------------------------------------------- Summary of changes: doc/man3/d2i_X509.pod | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index 3d50f5d..747be16 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -500,8 +500,8 @@ Represents the B structure defined in PKCS#1 and PKCS#7. d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid B structure or B if an error occurs. If the "reuse" capability has been used with -a valid structure being passed in via B, then the object is not freed in -the event of error but may be in a potentially invalid or inconsistent state. +a valid structure being passed in via B, then the object is freed in +the event of error and B<*a> is set to NULL. i2d_TYPE() returns the number of bytes successfully encoded or a negative value if an error occurs. @@ -582,9 +582,13 @@ happen. =head1 BUGS In some versions of OpenSSL the "reuse" behaviour of d2i_TYPE() when -B<*px> is valid is broken and some parts of the reused structure may -persist if they are not present in the new one. As a result the use -of this "reuse" behaviour is strongly discouraged. +B<*a> is valid is broken and some parts of the reused structure may +persist if they are not present in the new one. Additionally, in versions of +OpenSSL prior to 1.1.0, when the "reuse" behaviour is used and an error occurs +the behaviour is inconsistent. Some functions behaved as described here, while +some did not free B<*a> on error and did not set B<*a> to NULL. + +As a result of the above issues the "reuse" behaviour is strongly discouraged. i2d_TYPE() will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error From matt at openssl.org Thu Jun 13 10:11:38 2019 From: matt at openssl.org (Matt Caswell) Date: Thu, 13 Jun 2019 10:11:38 +0000 Subject: [openssl] master update Message-ID: <1560420698.962419.30711.nullmailer@dev.openssl.org> The branch master has been updated via 6597d62b8b95046370212bfd3c0767c970798085 (commit) from b1d14c412a0ff06d191ef5640bd90bbcd590035c (commit) - Log ----------------------------------------------------------------- commit 6597d62b8b95046370212bfd3c0767c970798085 Author: Matt Caswell Date: Thu Jun 13 10:21:46 2019 +0100 Fix no-dh The recent TLSv1.3 FFDHE support missed a few OPENSSL_NO_DH guards. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9153) ----------------------------------------------------------------------- Summary of changes: ssl/s3_lib.c | 4 +++- test/sslapitest.c | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index a75a158..358142e 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -4795,7 +4795,7 @@ EVP_PKEY *ssl_generate_param_group(uint16_t id) goto err; if (EVP_PKEY_paramgen_init(pctx) <= 0) goto err; -# ifndef OPENSSl_NO_DH +# ifndef OPENSSL_NO_DH if (ginf->flags & TLS_GROUP_FFDHE) { if (EVP_PKEY_CTX_set_dh_nid(pctx, ginf->nid) <= 0) goto err; @@ -4844,8 +4844,10 @@ int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gensecret) goto err; } +#ifndef OPENSSL_NO_DH if (SSL_IS_TLS13(s) && EVP_PKEY_id(privkey) == EVP_PKEY_DH) EVP_PKEY_CTX_set_dh_pad(pctx, 1); +#endif pms = OPENSSL_malloc(pmslen); if (pms == NULL) { diff --git a/test/sslapitest.c b/test/sslapitest.c index 8190517..efa42a0 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -3749,8 +3749,10 @@ static int test_tls13_key_exchange(int idx) int testresult = 0; int ecdhe_kexch_groups[] = {NID_X9_62_prime256v1, NID_secp384r1, NID_secp521r1, NID_X25519, NID_X448}; +#ifndef OPENSSL_NO_DH int ffdhe_kexch_groups[] = {NID_ffdhe2048, NID_ffdhe3072, NID_ffdhe4096, NID_ffdhe6144, NID_ffdhe8192}; +#endif int *kexch_groups = NULL; int kexch_groups_size = 0; int max_version = TLS1_3_VERSION; @@ -3763,10 +3765,12 @@ static int test_tls13_key_exchange(int idx) kexch_groups = ecdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); break; +#ifndef OPENSSL_NO_DH case 1: kexch_groups = ffdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); break; +#endif case 2: kexch_groups = ecdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); @@ -3775,6 +3779,7 @@ static int test_tls13_key_exchange(int idx) expected_err_reason = SSL_R_NO_SHARED_CIPHER; want_err = SSL_ERROR_SSL; break; +#ifndef OPENSSL_NO_DH case 3: kexch_groups = ffdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); @@ -3783,6 +3788,10 @@ static int test_tls13_key_exchange(int idx) expected_err_func = SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS; expected_err_reason = ERR_R_INTERNAL_ERROR; break; +#endif + default: + /* We're skipping this test */ + return 1; } if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), From builds at travis-ci.org Thu Jun 13 10:00:36 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 13 Jun 2019 10:00:36 +0000 Subject: Still Failing: openssl/openssl#25765 (master - b1d14c4) In-Reply-To: Message-ID: <5d021ec41ac62_43f8a0b4212b852889e@18dfa96f-0afa-4648-ba81-02e7480a5dbe.mail> Build Update for openssl/openssl ------------------------------------- Build: #25765 Status: Still Failing Duration: 34 mins and 38 secs Commit: b1d14c4 (master) Author: Matt Caswell Message: Update the d2i docs to reflect reality The d2i docs state that if an error occurs then |*a| is not freed. This is not correct. On error it is freed and set to NULL. We update the docs to say this, and also discuss the fact that this behaviour was inconsistent prior to OpenSSL 1.1.0. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9146) View the changeset: https://github.com/openssl/openssl/compare/02f209bb47bd...b1d14c412a0f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/545150687?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 Jun 13 10:30:56 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 13 Jun 2019 10:30:56 +0000 Subject: Still Failing: openssl/openssl#25767 (master - 6597d62) In-Reply-To: Message-ID: <5d0225e06157d_43fc5e8713a48410117@d8d23b8b-bbc5-43f7-80db-c8ddf859e79a.mail> Build Update for openssl/openssl ------------------------------------- Build: #25767 Status: Still Failing Duration: 18 mins and 45 secs Commit: 6597d62 (master) Author: Matt Caswell Message: Fix no-dh The recent TLSv1.3 FFDHE support missed a few OPENSSL_NO_DH guards. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9153) View the changeset: https://github.com/openssl/openssl/compare/b1d14c412a0f...6597d62b8b95 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/545168721?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 Thu Jun 13 13:15:08 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 13 Jun 2019 13:15:08 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1560431708.316598.2932.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 02f209bb47 ts: Fix awkward sentences in the documentation and the default digest a6dfa18820 ts: Use sha256 as default digest for TS query c162c126be Fix typo mistake on calls to SSL_ctrl in ssl.h dfa1f5476e Update docs for TLS1.3 FFDHE 8e63900a71 Add testcase for TLS1.3 FFDHE 9aaecbfc98 TLS1.3 FFDHE Support a03749a8f1 Enable find-doc-nits to find undocumented symbols since 1.1.1 8caab503ba Fix an incorrect macro 4ff4e53f81 i2d_PublicKey was listed in 2 different man pages b5283535d5 Make find-doc-nits check for newly added undocumented symbols 51583cb8f4 Configure: count basenames for all library sources a8140a42f5 Ensure code is compiled with correct BIGNUM assembler defines 444ab3abb1 Add some dummy BIGNUM calls from inside the FIPS provider 636b087e3e Make BIGNUM code available from within the FIPS module 4ac6227621 Temporarily disable RAND call in FIPS_MODE until RAND is available 9632bd0e1d Convert bn_rand.c to use EVP 7bc081dda3 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() f35819d1b7 Remove redundant include c79b6b874b OSSL_PARAM example code bug fix. Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 227 wallclock secs ( 1.60 usr 0.30 sys + 221.81 cusr 17.85 csys = 241.56 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Thu Jun 13 14:02:01 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 13 Jun 2019 14:02:01 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1560434521.890992.26042.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 02f209bb47 ts: Fix awkward sentences in the documentation and the default digest a6dfa18820 ts: Use sha256 as default digest for TS query c162c126be Fix typo mistake on calls to SSL_ctrl in ssl.h dfa1f5476e Update docs for TLS1.3 FFDHE 8e63900a71 Add testcase for TLS1.3 FFDHE 9aaecbfc98 TLS1.3 FFDHE Support a03749a8f1 Enable find-doc-nits to find undocumented symbols since 1.1.1 8caab503ba Fix an incorrect macro 4ff4e53f81 i2d_PublicKey was listed in 2 different man pages b5283535d5 Make find-doc-nits check for newly added undocumented symbols 51583cb8f4 Configure: count basenames for all library sources a8140a42f5 Ensure code is compiled with correct BIGNUM assembler defines 444ab3abb1 Add some dummy BIGNUM calls from inside the FIPS provider 636b087e3e Make BIGNUM code available from within the FIPS module 4ac6227621 Temporarily disable RAND call in FIPS_MODE until RAND is available 9632bd0e1d Convert bn_rand.c to use EVP 7bc081dda3 Create BN_CTX_new_ex() and BN_CTX_secure_new_ex() f35819d1b7 Remove redundant include c79b6b874b OSSL_PARAM example code bug fix. Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 230 wallclock secs ( 1.68 usr 0.29 sys + 222.48 cusr 18.31 csys = 242.76 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Thu Jun 13 22:08:19 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 13 Jun 2019 22:08:19 +0000 Subject: Build failed: openssl master.25205 Message-ID: <20190613220819.1.7D5DEF0A61F43CEF@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Fri Jun 14 01:30:49 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 14 Jun 2019 01:30:49 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-dh Message-ID: <1560475849.071407.4740.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-dh Commit log since last time: 6597d62b8b Fix no-dh b1d14c412a Update the d2i docs to reflect reality From openssl at openssl.org Fri Jun 14 01:55:34 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 14 Jun 2019 01:55:34 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1560477334.426751.1247.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 6597d62b8b Fix no-dh b1d14c412a Update the d2i docs to reflect reality Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_int.d.tmp -MT crypto/x509/libcrypto-lib-v3_int.o -c -o crypto/x509/libcrypto-lib-v3_int.o ../openssl/crypto/x509/v3_int.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509/libcrypto-lib-v3_lib.o -c -o crypto/x509/libcrypto-lib-v3_lib.o ../openssl/crypto/x509/v3_lib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509/libcrypto-lib-v3_ncons.o -c -o crypto/x509/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509/v3_ncons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509/libcrypto-lib-v3_pci.o -c -o crypto/x509/libcrypto-lib-v3_pci.o ../openssl/crypto/x509/v3_pci.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcia.o -c -o crypto/x509/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509/v3_pcia.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcons.o -c -o crypto/x509/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509/v3_pcons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509/libcrypto-lib-v3_pku.o -c -o crypto/x509/libcrypto-lib-v3_pku.o ../openssl/crypto/x509/v3_pku.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509/libcrypto-lib-v3_pmaps.o -c -o crypto/x509/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509/libcrypto-lib-v3_prn.o -c -o crypto/x509/libcrypto-lib-v3_prn.o ../openssl/crypto/x509/v3_prn.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509/libcrypto-lib-v3_purp.o -c -o crypto/x509/libcrypto-lib-v3_purp.o ../openssl/crypto/x509/v3_purp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509/libcrypto-lib-v3_skey.o -c -o crypto/x509/libcrypto-lib-v3_skey.o ../openssl/crypto/x509/v3_skey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509/libcrypto-lib-v3_sxnet.o -c -o crypto/x509/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509/libcrypto-lib-v3_tlsf.o -c -o crypto/x509/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509/libcrypto-lib-v3_utl.o -c -o crypto/x509/libcrypto-lib-v3_utl.o ../openssl/crypto/x509/v3_utl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3err.d.tmp -MT crypto/x509/libcrypto-lib-v3err.o -c -o crypto/x509/libcrypto-lib-v3err.o ../openssl/crypto/x509/v3err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_att.d.tmp -MT crypto/x509/libcrypto-lib-x509_att.o -c -o crypto/x509/libcrypto-lib-x509_att.o ../openssl/crypto/x509/x509_att.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_cmp.d.tmp -MT crypto/x509/libcrypto-lib-x509_cmp.o -c -o crypto/x509/libcrypto-lib-x509_cmp.o ../openssl/crypto/x509/x509_cmp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_d2.d.tmp -MT crypto/x509/libcrypto-lib-x509_d2.o -c -o crypto/x509/libcrypto-lib-x509_d2.o ../openssl/crypto/x509/x509_d2.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_def.d.tmp -MT crypto/x509/libcrypto-lib-x509_def.o -c -o crypto/x509/libcrypto-lib-x509_def.o ../openssl/crypto/x509/x509_def.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_err.d.tmp -MT crypto/x509/libcrypto-lib-x509_err.o -c -o crypto/x509/libcrypto-lib-x509_err.o ../openssl/crypto/x509/x509_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_ext.d.tmp -MT crypto/x509/libcrypto-lib-x509_ext.o -c -o crypto/x509/libcrypto-lib-x509_ext.o ../openssl/crypto/x509/x509_ext.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_lu.d.tmp -MT crypto/x509/libcrypto-lib-x509_lu.o -c -o crypto/x509/libcrypto-lib-x509_lu.o ../openssl/crypto/x509/x509_lu.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_meth.d.tmp -MT crypto/x509/libcrypto-lib-x509_meth.o -c -o crypto/x509/libcrypto-lib-x509_meth.o ../openssl/crypto/x509/x509_meth.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_obj.d.tmp -MT crypto/x509/libcrypto-lib-x509_obj.o -c -o crypto/x509/libcrypto-lib-x509_obj.o ../openssl/crypto/x509/x509_obj.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_r2x.d.tmp -MT crypto/x509/libcrypto-lib-x509_r2x.o -c -o crypto/x509/libcrypto-lib-x509_r2x.o ../openssl/crypto/x509/x509_r2x.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_req.d.tmp -MT crypto/x509/libcrypto-lib-x509_req.o -c -o crypto/x509/libcrypto-lib-x509_req.o ../openssl/crypto/x509/x509_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_set.d.tmp -MT crypto/x509/libcrypto-lib-x509_set.o -c -o crypto/x509/libcrypto-lib-x509_set.o ../openssl/crypto/x509/x509_set.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_trs.d.tmp -MT crypto/x509/libcrypto-lib-x509_trs.o -c -o crypto/x509/libcrypto-lib-x509_trs.o ../openssl/crypto/x509/x509_trs.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_txt.d.tmp -MT crypto/x509/libcrypto-lib-x509_txt.o -c -o crypto/x509/libcrypto-lib-x509_txt.o ../openssl/crypto/x509/x509_txt.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_v3.d.tmp -MT crypto/x509/libcrypto-lib-x509_v3.o -c -o crypto/x509/libcrypto-lib-x509_v3.o ../openssl/crypto/x509/x509_v3.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vfy.d.tmp -MT crypto/x509/libcrypto-lib-x509_vfy.o -c -o crypto/x509/libcrypto-lib-x509_vfy.o ../openssl/crypto/x509/x509_vfy.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vpm.d.tmp -MT crypto/x509/libcrypto-lib-x509_vpm.o -c -o crypto/x509/libcrypto-lib-x509_vpm.o ../openssl/crypto/x509/x509_vpm.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509cset.d.tmp -MT crypto/x509/libcrypto-lib-x509cset.o -c -o crypto/x509/libcrypto-lib-x509cset.o ../openssl/crypto/x509/x509cset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509name.d.tmp -MT crypto/x509/libcrypto-lib-x509name.o -c -o crypto/x509/libcrypto-lib-x509name.o ../openssl/crypto/x509/x509name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509rset.d.tmp -MT crypto/x509/libcrypto-lib-x509rset.o -c -o crypto/x509/libcrypto-lib-x509rset.o ../openssl/crypto/x509/x509rset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509spki.d.tmp -MT crypto/x509/libcrypto-lib-x509spki.o -c -o crypto/x509/libcrypto-lib-x509spki.o ../openssl/crypto/x509/x509spki.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509type.d.tmp -MT crypto/x509/libcrypto-lib-x509type.o -c -o crypto/x509/libcrypto-lib-x509type.o ../openssl/crypto/x509/x509type.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_all.d.tmp -MT crypto/x509/libcrypto-lib-x_all.o -c -o crypto/x509/libcrypto-lib-x_all.o ../openssl/crypto/x509/x_all.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_attrib.d.tmp -MT crypto/x509/libcrypto-lib-x_attrib.o -c -o crypto/x509/libcrypto-lib-x_attrib.o ../openssl/crypto/x509/x_attrib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_crl.d.tmp -MT crypto/x509/libcrypto-lib-x_crl.o -c -o crypto/x509/libcrypto-lib-x_crl.o ../openssl/crypto/x509/x_crl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_exten.d.tmp -MT crypto/x509/libcrypto-lib-x_exten.o -c -o crypto/x509/libcrypto-lib-x_exten.o ../openssl/crypto/x509/x_exten.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_name.d.tmp -MT crypto/x509/libcrypto-lib-x_name.o -c -o crypto/x509/libcrypto-lib-x_name.o ../openssl/crypto/x509/x_name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_pubkey.d.tmp -MT crypto/x509/libcrypto-lib-x_pubkey.o -c -o crypto/x509/libcrypto-lib-x_pubkey.o ../openssl/crypto/x509/x_pubkey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_req.d.tmp -MT crypto/x509/libcrypto-lib-x_req.o -c -o crypto/x509/libcrypto-lib-x_req.o ../openssl/crypto/x509/x_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509.d.tmp -MT crypto/x509/libcrypto-lib-x_x509.o -c -o crypto/x509/libcrypto-lib-x_x509.o ../openssl/crypto/x509/x_x509.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509a.d.tmp -MT crypto/x509/libcrypto-lib-x_x509a.o -c -o crypto/x509/libcrypto-lib-x_x509a.o ../openssl/crypto/x509/x_x509a.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes.o -c -o providers/common/ciphers/libcrypto-lib-aes.o ../openssl/providers/common/ciphers/aes.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes_basic.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes_basic.o -c -o providers/common/ciphers/libcrypto-lib-aes_basic.o ../openssl/providers/common/ciphers/aes_basic.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-block.d.tmp -MT providers/common/ciphers/libcrypto-lib-block.o -c -o providers/common/ciphers/libcrypto-lib-block.o ../openssl/providers/common/ciphers/block.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha2_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha2_prov.o -c -o providers/common/digests/libcrypto-lib-sha2_prov.o ../openssl/providers/common/digests/sha2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha3_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha3_prov.o -c -o providers/common/digests/libcrypto-lib-sha3_prov.o ../openssl/providers/common/digests/sha3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/libcrypto-lib-provider_err.d.tmp -MT providers/common/libcrypto-lib-provider_err.o -c -o providers/common/libcrypto-lib-provider_err.o ../openssl/providers/common/provider_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2_prov.o -c -o providers/default/digests/libcrypto-lib-blake2_prov.o ../openssl/providers/default/digests/blake2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2b_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2b_prov.o -c -o providers/default/digests/libcrypto-lib-blake2b_prov.o ../openssl/providers/default/digests/blake2b_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2s_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2s_prov.o -c -o providers/default/digests/libcrypto-lib-blake2s_prov.o ../openssl/providers/default/digests/blake2s_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_prov.o -c -o providers/default/digests/libcrypto-lib-md5_prov.o ../openssl/providers/default/digests/md5_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_sha1_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_sha1_prov.o -c -o providers/default/digests/libcrypto-lib-md5_sha1_prov.o ../openssl/providers/default/digests/md5_sha1_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-null_prov.d.tmp -MT providers/default/digests/libcrypto-lib-null_prov.o -c -o providers/default/digests/libcrypto-lib-null_prov.o ../openssl/providers/default/digests/null_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-sm3_prov.d.tmp -MT providers/default/digests/libcrypto-lib-sm3_prov.o -c -o providers/default/digests/libcrypto-lib-sm3_prov.o ../openssl/providers/default/digests/sm3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/libcrypto-lib-defltprov.d.tmp -MT providers/default/libcrypto-lib-defltprov.o -c -o providers/default/libcrypto-lib-defltprov.o ../openssl/providers/default/defltprov.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 ../openssl/ssl/s3_lib.c:4685:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4685:34: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/s3_lib.c:4685:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4683:11: error: no previous prototype for function 'ssl_generate_pkey_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) ^ ../openssl/ssl/s3_lib.c:4777:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4777:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4773:11: error: no previous prototype for function 'ssl_generate_param_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_param_group(uint16_t id) ^ 7 errors generated. Makefile:11958: recipe for target 'ssl/libssl-lib-s3_lib.o' failed make[1]: *** [ssl/libssl-lib-s3_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Fri Jun 14 06:24:16 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 14 Jun 2019 06:24:16 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560493456.063412.10062.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 6597d62b8b Fix no-dh b1d14c412a Update the d2i docs to reflect reality Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:187: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:191: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:197: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:200: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x159): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:105: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:106: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:108: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:109: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:112: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:146: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7058: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Fri Jun 14 08:59:01 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 14 Jun 2019 08:59:01 +0000 Subject: Build failed: openssl master.25214 Message-ID: <20190614085901.1.DBF5ADBF1E605B85@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Fri Jun 14 13:33:23 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 14 Jun 2019 13:33:23 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1560519203.190337.28142.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 6597d62b8b Fix no-dh b1d14c412a Update the d2i docs to reflect reality Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 235 wallclock secs ( 1.75 usr 0.36 sys + 228.29 cusr 18.80 csys = 249.20 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Fri Jun 14 14:20:51 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 14 Jun 2019 14:20:51 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1560522051.811858.19320.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 6597d62b8b Fix no-dh b1d14c412a Update the d2i docs to reflect reality Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 229 wallclock secs ( 1.78 usr 0.37 sys + 222.48 cusr 19.62 csys = 244.25 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Fri Jun 14 21:07:20 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 14 Jun 2019 21:07:20 +0000 Subject: Build failed: openssl master.25226 Message-ID: <20190614210720.1.E54D06BCBF2E48FA@appveyor.com> An HTML attachment was scrubbed... URL: From shane.lontis at oracle.com Fri Jun 14 21:54:34 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Fri, 14 Jun 2019 21:54:34 +0000 Subject: [openssl] master update Message-ID: <1560549274.686036.6070.nullmailer@dev.openssl.org> The branch master has been updated via aff96597363766402ada4291d31a7e84b22fb1e0 (commit) from 6597d62b8b95046370212bfd3c0767c970798085 (commit) - Log ----------------------------------------------------------------- commit aff96597363766402ada4291d31a7e84b22fb1e0 Author: Matt Caswell Date: Fri Jun 14 09:07:29 2019 +0100 Fix building with enable-trace Tracing doesn't work in the FIPS module. Ensure we switch it off there. Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9159) ----------------------------------------------------------------------- Summary of changes: crypto/bn/bn_ctx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index 882f3bc..4762114 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -166,6 +166,7 @@ void BN_CTX_free(BN_CTX *ctx) { if (ctx == NULL) return; +#ifndef FIPS_MODE OSSL_TRACE_BEGIN(BN_CTX) { BN_POOL_ITEM *pool = ctx->pool.head; BIO_printf(trc_out, @@ -180,6 +181,7 @@ void BN_CTX_free(BN_CTX *ctx) } BIO_printf(trc_out, "\n"); } OSSL_TRACE_END(BN_CTX); +#endif BN_STACK_finish(&ctx->stack); BN_POOL_finish(&ctx->pool); OPENSSL_free(ctx); From builds at travis-ci.org Fri Jun 14 22:13:57 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 14 Jun 2019 22:13:57 +0000 Subject: Still Failing: openssl/openssl#25797 (master - aff9659) In-Reply-To: Message-ID: <5d041c2464b7c_43fed12e7abb42238f4@8f5e0322-6268-4ae1-8ff3-4a46ab9f72d6.mail> Build Update for openssl/openssl ------------------------------------- Build: #25797 Status: Still Failing Duration: 18 mins and 41 secs Commit: aff9659 (master) Author: Matt Caswell Message: Fix building with enable-trace Tracing doesn't work in the FIPS module. Ensure we switch it off there. Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9159) View the changeset: https://github.com/openssl/openssl/compare/6597d62b8b95...aff965973637 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/545949428?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 Jun 14 22:34:10 2019 From: levitte at openssl.org (Richard Levitte) Date: Fri, 14 Jun 2019 22:34:10 +0000 Subject: [openssl] master update Message-ID: <1560551650.118177.12026.nullmailer@dev.openssl.org> The branch master has been updated via 07c244f0cdb0dc47611b95e3f89f52b75b90a814 (commit) via 26fe9b07d8b77a937002c699fd2323d614ee5349 (commit) from aff96597363766402ada4291d31a7e84b22fb1e0 (commit) - Log ----------------------------------------------------------------- commit 07c244f0cdb0dc47611b95e3f89f52b75b90a814 Author: Richard Levitte Date: Wed Jun 12 12:10:00 2019 +0200 Use variables in build.info files where it's worth the while Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9144) commit 26fe9b07d8b77a937002c699fd2323d614ee5349 Author: Richard Levitte Date: Wed Jun 12 12:03:31 2019 +0200 Configure: Add support for variables in build.info files Variables have the syntax defined with this regular expression: \$([[:alpha:]_][[:alnum:]_]*) They are always local to the build.info they are defined in, and are defined like this: $VAR=text Expansion is done very simply, any reference to the variable (with the exact same variable syntax) is replaced with its defined value. Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9144) ----------------------------------------------------------------------- Summary of changes: Configure | 47 +++++++++++++++++++++++++++++++++++----------- crypto/aes/build.info | 10 ++++------ crypto/bn/build.info | 18 ++++++++---------- crypto/build.info | 25 +++++++++++------------- crypto/evp/build.info | 18 ++++++------------ crypto/modes/build.info | 11 ++++------- crypto/property/build.info | 7 +++---- crypto/sha/build.info | 9 ++++----- 8 files changed, 76 insertions(+), 69 deletions(-) diff --git a/Configure b/Configure index de59b8a..69a06d6 100755 --- a/Configure +++ b/Configure @@ -1826,6 +1826,24 @@ if ($builder eq "unified") { my %depends = (); my %generate = (); + # Support for $variablename in build.info files. + # Embedded perl code is the ultimate master, still. If its output + # contains a dollar sign, it had better be escaped, or it will be + # taken for a variable name prefix. + my %variables = (); + my $variable_re = qr/\$([[:alpha:]][[:alnum:]_]*)/; + my $expand_variables = sub { + my $value = ''; + my $value_rest = shift; + + while ($value_rest =~ /(? sub { die "ENDIF out of scope" if ! @skip; pop @skip; }, + qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/ + => sub { + if (!@skip || $skip[$#skip] > 0) { + $variables{$1} = $2; + } + }, qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/ => sub { if (!@skip || $skip[$#skip] > 0) { - foreach (tokenize($1)) { + foreach (tokenize($expand_variables->($1))) { push @build_dirs, [ @curd, splitdir($_, 1) ]; } } @@ -1893,7 +1917,7 @@ if ($builder eq "unified") { => sub { if (!@skip || $skip[$#skip] > 0) { my @a = tokenize($1, qr|\s*,\s*|); - my @p = tokenize($2); + my @p = tokenize($expand_variables->($2)); push @programs, @p; foreach my $a (@a) { my $ak = $a; @@ -1912,7 +1936,7 @@ if ($builder eq "unified") { => sub { if (!@skip || $skip[$#skip] > 0) { my @a = tokenize($1, qr|\s*,\s*|); - my @l = tokenize($2); + my @l = tokenize($expand_variables->($2)); push @libraries, @l; foreach my $a (@a) { my $ak = $a; @@ -1931,7 +1955,7 @@ if ($builder eq "unified") { => sub { if (!@skip || $skip[$#skip] > 0) { my @a = tokenize($1, qr|\s*,\s*|); - my @m = tokenize($2); + my @m = tokenize($expand_variables->($2)); push @modules, @m; foreach my $a (@a) { my $ak = $a; @@ -1950,7 +1974,7 @@ if ($builder eq "unified") { => sub { if (!@skip || $skip[$#skip] > 0) { my @a = tokenize($1, qr|\s*,\s*|); - my @s = tokenize($2); + my @s = tokenize($expand_variables->($2)); push @scripts, @s; foreach my $a (@a) { my $ak = $a; @@ -1967,22 +1991,23 @@ if ($builder eq "unified") { }, qr/^\s*ORDINALS\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/, - => sub { push @{$ordinals{$1}}, tokenize($2) + => sub { push @{$ordinals{$1}}, tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*SOURCE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ - => sub { push @{$sources{$1}}, tokenize($2) + => sub { push @{$sources{$1}}, tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*SHARED_SOURCE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ - => sub { push @{$shared_sources{$1}}, tokenize($2) + => sub { push @{$shared_sources{$1}}, + tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*INCLUDE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ - => sub { push @{$includes{$1}}, tokenize($2) + => sub { push @{$includes{$1}}, tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*DEFINE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ - => sub { push @{$defines{$1}}, tokenize($2) + => sub { push @{$defines{$1}}, tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*DEPEND\[((?:\\.|[^\\\]])*)\]\s*=\s*(.*)\s*$/ - => sub { push @{$depends{$1}}, tokenize($2) + => sub { push @{$depends{$1}}, tokenize($expand_variables->($2)) if !@skip || $skip[$#skip] > 0 }, qr/^\s*GENERATE\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/ => sub { push @{$generate{$1}}, $2 diff --git a/crypto/aes/build.info b/crypto/aes/build.info index d0801de..3a27d17 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -1,11 +1,9 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - aes_misc.c aes_ecb.c aes_cfb.c aes_ofb.c \ - aes_ige.c aes_wrap.c {- $target{aes_asm_src} -} -SOURCE[../../providers/fips]=\ - aes_misc.c aes_ecb.c \ - {- $target{aes_asm_src} -} +$COMMON=aes_misc.c aes_ecb.c {- $target{aes_asm_src} -} +SOURCE[../../libcrypto]=$COMMON \ + aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c +SOURCE[../../providers/fips]=$COMMON GENERATE[aes-ia64.s]=asm/aes-ia64.S diff --git a/crypto/bn/build.info b/crypto/bn/build.info index 280fa3d..362a2da 100644 --- a/crypto/bn/build.info +++ b/crypto/bn/build.info @@ -1,15 +1,13 @@ LIBS=../../libcrypto -{- our @src = ( qw( bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c - bn_mod.c bn_conv.c bn_rand.c bn_shift.c bn_word.c bn_blind.c - bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_sqr.c - bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c - bn_const.c bn_x931p.c bn_intern.c bn_dh.c - bn_rsa_fips186_4.c ), $target{bn_asm_src} ); "" -} - -SOURCE[../../libcrypto]={- join(' ', @src) -} bn_print.c bn_err.c bn_depr.c bn_srp.c - -SOURCE[../../providers/fips]={- join(' ', @src) -} +$COMMON=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c \ + bn_mod.c bn_conv.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \ + bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_sqr.c \ + bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \ + bn_const.c bn_x931p.c bn_intern.c bn_dh.c \ + bn_rsa_fips186_4.c {- $target{bn_asm_src} -} +SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_depr.c bn_srp.c +SOURCE[../../providers/fips]=$COMMON INCLUDE[../../libcrypto]=../../crypto/include diff --git a/crypto/build.info b/crypto/build.info index 114a315..849d468 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -9,27 +9,24 @@ SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \ LIBS=../libcrypto # The Core -SOURCE[../libcrypto]=provider_core.c provider_predefined.c provider_conf.c \ - core_fetch.c core_namemap.c +$CORE_COMMON=provider_core.c provider_predefined.c core_fetch.c core_namemap.c -SOURCE[../providers/fips]=provider_core.c provider_predefined.c \ - core_fetch.c core_namemap.c +SOURCE[../libcrypto]=$CORE_COMMON provider_conf.c +SOURCE[../providers/fips]=$CORE_COMMON # Central utilities -SOURCE[../libcrypto]=\ - cryptlib.c mem.c mem_dbg.c cversion.c info.c ex_data.c cpt_err.c \ - ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fopen.c ctype.c \ - threads_pthread.c threads_win.c threads_none.c getenv.c \ - o_init.c o_fips.c mem_sec.c init.c context.c sparse_array.c \ - trace.c provider.c params.c bsearch.c \ - {- $target{cpuid_asm_src} -} {- $target{uplink_aux_src} -} - -# FIPS module -SOURCE[../providers/fips]=\ +$UTIL_COMMON=\ cryptlib.c mem.c mem_sec.c params.c bsearch.c ex_data.c o_str.c \ ctype.c threads_pthread.c threads_win.c threads_none.c context.c \ sparse_array.c {- $target{cpuid_asm_src} -} +SOURCE[../libcrypto]=$UTIL_COMMON \ + mem_dbg.c cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \ + o_fopen.c getenv.c o_init.c o_fips.c init.c trace.c provider.c \ + {- $target{uplink_aux_src} -} +SOURCE[../providers/fips]=$UTIL_COMMON + + DEPEND[cversion.o]=buildinf.h GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" diff --git a/crypto/evp/build.info b/crypto/evp/build.info index 61e8880..26be4d9 100644 --- a/crypto/evp/build.info +++ b/crypto/evp/build.info @@ -1,6 +1,7 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - encode.c digest.c evp_enc.c evp_key.c evp_cnf.c \ +$COMMON=digest.c evp_enc.c evp_lib.c evp_fetch.c cmeth_lib.c +SOURCE[../../libcrypto]=$COMMON\ + encode.c evp_key.c evp_cnf.c \ e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ e_rc4.c e_aes.c names.c e_seed.c e_aria.c e_sm4.c \ e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \ @@ -8,21 +9,14 @@ SOURCE[../../libcrypto]=\ m_md5_sha1.c m_mdc2.c m_ripemd.c m_sha3.c \ p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c \ bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c \ - c_allc.c c_alld.c evp_lib.c bio_ok.c \ + c_allc.c c_alld.c bio_ok.c \ evp_pkey.c kdf_lib.c evp_pbe.c p5_crpt.c p5_crpt2.c pbe_scrypt.c \ pkey_kdf.c c_allkdf.c \ e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c \ e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c \ - e_chacha20_poly1305.c cmeth_lib.c \ + e_chacha20_poly1305.c \ mac_lib.c c_allm.c pkey_mac.c - -# New design -SOURCE[../../libcrypto]=\ - evp_fetch.c - -# FIPS Module -SOURCE[../../providers/fips]=\ - digest.c evp_enc.c evp_lib.c evp_fetch.c cmeth_lib.c +SOURCE[../../providers/fips]=$COMMON INCLUDE[e_aes.o]=.. ../modes INCLUDE[e_aes_cbc_hmac_sha1.o]=../modes diff --git a/crypto/modes/build.info b/crypto/modes/build.info index d0a8e69..4157af3 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -1,12 +1,9 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c \ - ccm128.c xts128.c wrap128.c ocb128.c siv128.c \ - {- $target{modes_asm_src} -} -SOURCE[../../providers/fips]=\ - cbc128.c ctr128.c cfb128.c ofb128.c \ - {- $target{modes_asm_src} -} +$COMMON=cbc128.c ctr128.c cfb128.c ofb128.c {- $target{modes_asm_src} -} +SOURCE[../../libcrypto]=$COMMON \ + cts128.c gcm128.c ccm128.c xts128.c wrap128.c ocb128.c siv128.c +SOURCE[../../providers/fips]=$COMMON INCLUDE[gcm128.o]=.. diff --git a/crypto/property/build.info b/crypto/property/build.info index 3bdf307..db3c944 100644 --- a/crypto/property/build.info +++ b/crypto/property/build.info @@ -1,5 +1,4 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=property_string.c property_parse.c property.c \ - property_err.c defn_cache.c -SOURCE[../../providers/fips]=\ - property_string.c property_parse.c property.c defn_cache.c +$COMMON=property_string.c property_parse.c property.c defn_cache.c +SOURCE[../../libcrypto]=$COMMON property_err.c +SOURCE[../../providers/fips]=$COMMON diff --git a/crypto/sha/build.info b/crypto/sha/build.info index 70b4233..fa2ec9b 100644 --- a/crypto/sha/build.info +++ b/crypto/sha/build.info @@ -1,10 +1,9 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - sha1dgst.c sha1_one.c sha256.c sha512.c sha3.c \ - {- $target{sha1_asm_src} -} {- $target{keccak1600_asm_src} -} -SOURCE[../../providers/fips]= sha1dgst.c sha256.c sha512.c sha3.c \ - {- $target{keccak1600_asm_src} -} {- $target{sha1_asm_src} -} +$COMMON=sha1dgst.c sha256.c sha512.c sha3.c \ + {- $target{sha1_asm_src} -} {- $target{keccak1600_asm_src} -} +SOURCE[../../libcrypto]=$COMMON sha1_one.c +SOURCE[../../providers/fips]= $COMMON GENERATE[sha1-586.s]=asm/sha1-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) From builds at travis-ci.org Fri Jun 14 22:55:17 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 14 Jun 2019 22:55:17 +0000 Subject: Errored: openssl/openssl#25800 (master - 07c244f) In-Reply-To: Message-ID: <5d0425d59fdf6_43feaec95736c1879f8@d671e60f-4748-45ef-af7a-99097b5b3c6b.mail> Build Update for openssl/openssl ------------------------------------- Build: #25800 Status: Errored Duration: 20 mins and 30 secs Commit: 07c244f (master) Author: Richard Levitte Message: Use variables in build.info files where it's worth the while Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9144) View the changeset: https://github.com/openssl/openssl/compare/aff965973637...07c244f0cdb0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/545961902?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 Fri Jun 14 23:19:38 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 14 Jun 2019 23:19:38 +0000 Subject: Build failed: openssl master.25229 Message-ID: <20190614231938.1.BE641E9732C80316@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 15 00:08:26 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 15 Jun 2019 00:08:26 +0000 Subject: Build completed: openssl master.25230 Message-ID: <20190615000826.1.1996F3E115B699E6@appveyor.com> An HTML attachment was scrubbed... URL: From yang.yang at baishancloud.com Sat Jun 15 12:35:05 2019 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Sat, 15 Jun 2019 12:35:05 +0000 Subject: [openssl] master update Message-ID: <1560602105.347130.6143.nullmailer@dev.openssl.org> The branch master has been updated via 4bfe304ea85ed4b2b00dd0857ccf9bdeba4ce7b5 (commit) from 07c244f0cdb0dc47611b95e3f89f52b75b90a814 (commit) - Log ----------------------------------------------------------------- commit 4bfe304ea85ed4b2b00dd0857ccf9bdeba4ce7b5 Author: Paul Yang Date: Thu Jun 6 11:42:02 2019 +0800 Add documentation for X509_cmp and related APIs Fixes: #9088 Functions documented in this commit: X509_cmp, X509_NAME_cmp, X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, X509_CRL_cmp, X509_CRL_match Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9091) ----------------------------------------------------------------------- Summary of changes: doc/man3/X509_cmp.pod | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 doc/man3/X509_cmp.pod diff --git a/doc/man3/X509_cmp.pod b/doc/man3/X509_cmp.pod new file mode 100644 index 0000000..3cb16b2 --- /dev/null +++ b/doc/man3/X509_cmp.pod @@ -0,0 +1,80 @@ +=pod + +=head1 NAME + +X509_cmp, X509_NAME_cmp, +X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, +X509_CRL_cmp, X509_CRL_match +- compare X509 certificates and related values + +=head1 SYNOPSIS + + #include + + int X509_cmp(const X509 *a, const X509 *b); + int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); + int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); + int X509_issuer_name_cmp(const X509 *a, const X509 *b); + int X509_subject_name_cmp(const X509 *a, const X509 *b); + int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); + int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); + +=head1 DESCRIPTION + +This set of functions are used to compare X509 objects, including X509 +certificates, X509 CRL objects and various values in an X509 certificate. + +The X509_cmp() function compares two B objects indicated by parameters +B and B. The comparison is based on the B result of the hash +values of two B objects and the canonical (DER) encoding values. + +The X509_NAME_cmp() function compares two B objects indicated by +parameters B and B. The comparison is based on the B result of +the canonical (DER) encoding values of the two objects. L +has a more detailed description of the DER encoding of the B structure. + +The X509_issuer_and_serial_cmp() function compares the serial number and issuer +values in the given B objects B and B. + +The X509_issuer_name_cmp(), X509_subject_name_cmp() and X509_CRL_cmp() functions +are effectively wrappers of the X509_NAME_cmp() function. These functions compare +issuer names and subject names of the X<509> objects, or issuers of B +objects, respectively. + +The X509_CRL_match() function compares two B objects. Unlike the +X509_CRL_cmp() function, this function compares the whole CRL content instead +of just the issuer name. + +=head1 RETURN VALUES + +Like common memory comparison functions, the B comparison functions return +an integer less than, equal to, or greater than zero if object B is found to +be less than, to match, or be greater than object B, respectively. + +X509_NAME_cmp(), X509_issuer_and_serial_cmp(), X509_issuer_name_cmp(), +X509_subject_name_cmp() and X509_CRL_cmp() may return B<-2> to indicate an error. + +=head1 NOTES + +These functions in fact utilize the underlying B of the C library to do +the comparison job. Data to be compared varies from DER encoding data, hash +value or B. The sign of the comparison can be used to order the +objects but it does not have a special meaning in some cases. + +X509_NAME_cmp() and wrappers utilize the value B<-2> to indicate errors in some +circumstances, which could cause confusion for the applications. + +=head1 SEE ALSO + +L, L + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 From yang.yang at baishancloud.com Sat Jun 15 12:35:23 2019 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Sat, 15 Jun 2019 12:35:23 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560602123.622182.7088.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via ea5d4b89cc6f0273d5085f5902b68fc4aa32cb80 (commit) from ed29a5f72e0d43526e9e5e7e9ff7de478ee99a50 (commit) - Log ----------------------------------------------------------------- commit ea5d4b89cc6f0273d5085f5902b68fc4aa32cb80 Author: Paul Yang Date: Thu Jun 6 11:42:02 2019 +0800 Add documentation for X509_cmp and related APIs Fixes: #9088 Functions documented in this commit: X509_cmp, X509_NAME_cmp, X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, X509_CRL_cmp, X509_CRL_match Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9091) (cherry picked from commit 4bfe304ea85ed4b2b00dd0857ccf9bdeba4ce7b5) ----------------------------------------------------------------------- Summary of changes: doc/man3/X509_cmp.pod | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 doc/man3/X509_cmp.pod diff --git a/doc/man3/X509_cmp.pod b/doc/man3/X509_cmp.pod new file mode 100644 index 0000000..3cb16b2 --- /dev/null +++ b/doc/man3/X509_cmp.pod @@ -0,0 +1,80 @@ +=pod + +=head1 NAME + +X509_cmp, X509_NAME_cmp, +X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, +X509_CRL_cmp, X509_CRL_match +- compare X509 certificates and related values + +=head1 SYNOPSIS + + #include + + int X509_cmp(const X509 *a, const X509 *b); + int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); + int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); + int X509_issuer_name_cmp(const X509 *a, const X509 *b); + int X509_subject_name_cmp(const X509 *a, const X509 *b); + int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); + int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); + +=head1 DESCRIPTION + +This set of functions are used to compare X509 objects, including X509 +certificates, X509 CRL objects and various values in an X509 certificate. + +The X509_cmp() function compares two B objects indicated by parameters +B and B. The comparison is based on the B result of the hash +values of two B objects and the canonical (DER) encoding values. + +The X509_NAME_cmp() function compares two B objects indicated by +parameters B and B. The comparison is based on the B result of +the canonical (DER) encoding values of the two objects. L +has a more detailed description of the DER encoding of the B structure. + +The X509_issuer_and_serial_cmp() function compares the serial number and issuer +values in the given B objects B and B. + +The X509_issuer_name_cmp(), X509_subject_name_cmp() and X509_CRL_cmp() functions +are effectively wrappers of the X509_NAME_cmp() function. These functions compare +issuer names and subject names of the X<509> objects, or issuers of B +objects, respectively. + +The X509_CRL_match() function compares two B objects. Unlike the +X509_CRL_cmp() function, this function compares the whole CRL content instead +of just the issuer name. + +=head1 RETURN VALUES + +Like common memory comparison functions, the B comparison functions return +an integer less than, equal to, or greater than zero if object B is found to +be less than, to match, or be greater than object B, respectively. + +X509_NAME_cmp(), X509_issuer_and_serial_cmp(), X509_issuer_name_cmp(), +X509_subject_name_cmp() and X509_CRL_cmp() may return B<-2> to indicate an error. + +=head1 NOTES + +These functions in fact utilize the underlying B of the C library to do +the comparison job. Data to be compared varies from DER encoding data, hash +value or B. The sign of the comparison can be used to order the +objects but it does not have a special meaning in some cases. + +X509_NAME_cmp() and wrappers utilize the value B<-2> to indicate errors in some +circumstances, which could cause confusion for the applications. + +=head1 SEE ALSO + +L, L + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 From builds at travis-ci.org Sat Jun 15 12:55:40 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 15 Jun 2019 12:55:40 +0000 Subject: Failed: openssl/openssl#25804 (master - 4bfe304) In-Reply-To: Message-ID: <5d04eacc33c3c_43fcbb22b901823791f@296bed08-b0ba-4132-97e4-95283179a1e0.mail> Build Update for openssl/openssl ------------------------------------- Build: #25804 Status: Failed Duration: 19 mins and 57 secs Commit: 4bfe304 (master) Author: Paul Yang Message: Add documentation for X509_cmp and related APIs Fixes: #9088 Functions documented in this commit: X509_cmp, X509_NAME_cmp, X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, X509_CRL_cmp, X509_CRL_match Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9091) View the changeset: https://github.com/openssl/openssl/compare/07c244f0cdb0...4bfe304ea85e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546105053?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 scan-admin at coverity.com Sun Jun 16 07:31:05 2019 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 16 Jun 2019 07:31:05 +0000 (UTC) Subject: Coverity Scan: Analysis completed for openssl/openssl Message-ID: <5d05f038ad03c_2502afa497f2f60763b@appnode-2.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-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEvyxzJHSwEoiXkZglM3WeHA-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3EjCLZIxAlHzo5mJ73M9D-2BN5kNTLGA5SRbnohOlCus8pFWeABQp-2BOmEw-2BfwuY6g47z5f4Mx8HnVifW4BNoaSr2AHK-2FelR80T4fd7G1OCVDjWRjWH0kxFGR1HySB1WmfNQqR1Z7Gicgc-2BtoGr4Ij9GB4MdWTFVSWccEN5CBIWHC-2BlVjXjea3GmgD88TnyN-2FLRk-3D Build ID: 260922 Analysis Summary: New defects found: 3 Defects eliminated: 2 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-2BukuZt9UUdRZhgmgzAKchwAzH1nH3073xDEXNRgHN6zzUI-2FRfbrE6mNOeeukHUQw-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3EjCLZIxAlHzo5mJ73M9D-2BN5kNTLGA5SRbnohOlCus8qVCL-2BpmQ9nd7ceN46SV-2B5kxG3x-2BRAayYhiety-2Brlg0-2BGM0n-2FgZgdwe7k5rgwRuApytvaOSeJ3vAJFrXbuiGhPmqry5JAy5Abz80GbjZIYbIdgRsIwp7QaEfS7SB8RMAMFHbEnfSmh3clfEEjRglZ4U-3D From scan-admin at coverity.com Sun Jun 16 07:47:49 2019 From: scan-admin at coverity.com (scan-admin at coverity.com) Date: Sun, 16 Jun 2019 07:47:49 +0000 (UTC) Subject: Coverity Scan: Analysis completed for OpenSSL-1.0.2 Message-ID: <5d05f424bc90b_be42afa497f2f6076db@appnode-2.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-2Bd2MGckcRakUl6QyjujEohY7rPpoYUEOo3rtGjiQZqYPGgcjfkiXQ-3D-3D_19DGMz38yO7VfzGQuXkecdlEmzBoDG4v8Dvyanv-2F1I3KNgqnrueGD5pJbYcy-2F0HMN1cBuEcwnX85oRjeD8Wj-2BZPmzAwkYmIyFOPaUyh6eoEYoIwY9kE4Gt9ggf9asvVp4QFC-2FSnM8q2NXSSE-2F0xV-2FICsSAOaMlXNN-2FEIq8rK-2BQCyrXwEziM082fjJaPHo2rIydZK1WEYKx3t-2F6nr-2FBgyQV6eNJ95S1tnWoz956cT5u0-3D Build ID: 260924 Analysis Summary: New defects found: 0 Defects eliminated: 0 From no-reply at appveyor.com Sun Jun 16 21:52:57 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 16 Jun 2019 21:52:57 +0000 Subject: Build failed: openssl master.25239 Message-ID: <20190616215257.1.32672562B8E1F4E1@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 16 22:33:20 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 16 Jun 2019 22:33:20 +0000 Subject: Build failed: openssl master.25240 Message-ID: <20190616223320.1.4E1C06B7331C6049@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 16 23:16:37 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 16 Jun 2019 23:16:37 +0000 Subject: Build failed: openssl master.25241 Message-ID: <20190616231637.1.7516432EE8A782B1@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Mon Jun 17 01:41:15 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 17 Jun 2019 01:41:15 +0000 Subject: [openssl] master update Message-ID: <1560735675.436078.23809.nullmailer@dev.openssl.org> The branch master has been updated via 1313e37ab97c0b24eedf67b343b93a7c964b9767 (commit) from 4bfe304ea85ed4b2b00dd0857ccf9bdeba4ce7b5 (commit) - Log ----------------------------------------------------------------- commit 1313e37ab97c0b24eedf67b343b93a7c964b9767 Author: Pauli Date: Mon Jun 17 11:34:09 2019 +1000 Better document specific OSSL_PARAM symbols. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9114) ----------------------------------------------------------------------- Summary of changes: .../{OSSL_PARAM_TYPE.pod => OSSL_PARAM_int.pod} | 38 ++++++++++++++++------ util/private.num | 15 ++++----- 2 files changed, 34 insertions(+), 19 deletions(-) rename doc/man3/{OSSL_PARAM_TYPE.pod => OSSL_PARAM_int.pod} (88%) diff --git a/doc/man3/OSSL_PARAM_TYPE.pod b/doc/man3/OSSL_PARAM_int.pod similarity index 88% rename from doc/man3/OSSL_PARAM_TYPE.pod rename to doc/man3/OSSL_PARAM_int.pod index 1b750b2..f8d8c50 100644 --- a/doc/man3/OSSL_PARAM_TYPE.pod +++ b/doc/man3/OSSL_PARAM_int.pod @@ -2,17 +2,31 @@ =head1 NAME -OSSL_PARAM_TYPE, OSSL_PARAM_utf8_string, OSSL_PARAM_octet_string, -OSSL_PARAM_utf8_ptr, OSSL_PARAM_octet_ptr, OSSL_PARAM_SIZED_TYPE, -OSSL_PARAM_SIZED_BN, OSSL_PARAM_SIZED_utf8_string, +OSSL_PARAM_double, OSSL_PARAM_int, OSSL_PARAM_int32, OSSL_PARAM_int64, +OSSL_PARAM_long, OSSL_PARAM_size_t, OSSL_PARAM_uint, OSSL_PARAM_uint32, +OSSL_PARAM_uint64, OSSL_PARAM_ulong, OSSL_PARAM_utf8_string, +OSSL_PARAM_octet_string, OSSL_PARAM_utf8_ptr, OSSL_PARAM_octet_ptr, +OSSL_PARAM_SIZED_double, OSSL_PARAM_SIZED_int, OSSL_PARAM_SIZED_int32, +OSSL_PARAM_SIZED_int64, OSSL_PARAM_SIZED_long, OSSL_PARAM_SIZED_size_t, +OSSL_PARAM_SIZED_uint, OSSL_PARAM_SIZED_uint32, OSSL_PARAM_SIZED_uint64, +OSSL_PARAM_SIZED_ulong, OSSL_PARAM_SIZED_BN, OSSL_PARAM_SIZED_utf8_string, OSSL_PARAM_SIZED_octet_string, OSSL_PARAM_SIZED_utf8_ptr, -OSSL_PARAM_SIZED_octet_ptr, OSSL_PARAM_END, OSSL_PARAM_construct_TYPE, -OSSL_PARAM_END, -OSSL_PARAM_construct_BN, OSSL_PARAM_construct_utf8_string, -OSSL_PARAM_construct_utf8_ptr, OSSL_PARAM_construct_octet_string, -OSSL_PARAM_construct_octet_ptr, OSSL_PARAM_construct_end, -OSSL_PARAM_locate, OSSL_PARAM_get_TYPE, -OSSL_PARAM_set_TYPE, OSSL_PARAM_get_BN, OSSL_PARAM_set_BN, +OSSL_PARAM_SIZED_octet_ptr, OSSL_PARAM_END, OSSL_PARAM_construct_double, +OSSL_PARAM_construct_int, OSSL_PARAM_construct_int32, +OSSL_PARAM_construct_int64, OSSL_PARAM_construct_long, +OSSL_PARAM_construct_size_t, OSSL_PARAM_construct_uint, +OSSL_PARAM_construct_uint32, OSSL_PARAM_construct_uint64, +OSSL_PARAM_construct_ulong, OSSL_PARAM_END, OSSL_PARAM_construct_BN, +OSSL_PARAM_construct_utf8_string, OSSL_PARAM_construct_utf8_ptr, +OSSL_PARAM_construct_octet_string, OSSL_PARAM_construct_octet_ptr, +OSSL_PARAM_construct_end, OSSL_PARAM_locate, OSSL_PARAM_get_double, +OSSL_PARAM_get_int, OSSL_PARAM_get_int32, OSSL_PARAM_get_int64, +OSSL_PARAM_get_long, OSSL_PARAM_get_size_t, OSSL_PARAM_get_uint, +OSSL_PARAM_get_uint32, OSSL_PARAM_get_uint64, OSSL_PARAM_get_ulong, +OSSL_PARAM_set_double, OSSL_PARAM_set_int, OSSL_PARAM_set_int32, +OSSL_PARAM_set_int64, OSSL_PARAM_set_long, OSSL_PARAM_set_size_t, +OSSL_PARAM_set_uint, OSSL_PARAM_set_uint32, OSSL_PARAM_set_uint64, +OSSL_PARAM_set_ulong, OSSL_PARAM_get_BN, OSSL_PARAM_set_BN, OSSL_PARAM_get_utf8_string, OSSL_PARAM_set_utf8_string, OSSL_PARAM_get_octet_string, OSSL_PARAM_set_octet_string, OSSL_PARAM_get_utf8_ptr, OSSL_PARAM_set_utf8_ptr, OSSL_PARAM_get_octet_ptr, @@ -21,6 +35,8 @@ OSSL_PARAM_set_octet_ptr =head1 SYNOPSIS +=for comment generic + #include #define OSSL_PARAM_TYPE(key, address) @@ -28,12 +44,14 @@ OSSL_PARAM_set_octet_ptr #define OSSL_PARAM_octet_string(key, address, size) #define OSSL_PARAM_utf8_ptr(key, address, size) #define OSSL_PARAM_octet_ptr(key, address, size) + #define OSSL_PARAM_SIZED_TYPE(key, address, return_size) #define OSSL_PARAM_SIZED_BN(key, address, size, return_size) #define OSSL_PARAM_SIZED_utf8_string(key, address, size, return_size) #define OSSL_PARAM_SIZED_octet_string(key, address, size, return_size) #define OSSL_PARAM_SIZED_utf8_ptr(key, address, size, return_size) #define OSSL_PARAM_SIZED_octet_ptr(key, address, size, return_size) + #define OSSL_PARAM_END OSSL_PARAM OSSL_PARAM_construct_TYPE(const char *key, TYPE *buf, size_t *ret); diff --git a/util/private.num b/util/private.num index 53edf4a..7f4bf90 100644 --- a/util/private.num +++ b/util/private.num @@ -328,21 +328,18 @@ OpenSSL_add_all_algorithms define deprecated 1.1.0 OpenSSL_add_all_ciphers define deprecated 1.1.0 OpenSSL_add_all_digests define deprecated 1.1.0 OpenSSL_add_ssl_algorithms define +OSSL_PARAM_TYPE define +OSSL_PARAM_octet_ptr define +OSSL_PARAM_octet_string define OSSL_PARAM_utf8_ptr define +OSSL_PARAM_utf8_string define OSSL_PARAM_SIZED_BN define -OSSL_PARAM_TYPE generic -OSSL_PARAM_construct_TYPE generic -OSSL_PARAM_octet_string define +OSSL_PARAM_SIZED_TYPE define OSSL_PARAM_SIZED_octet_ptr define -OSSL_PARAM_utf8_string define -OSSL_PARAM_octet_ptr define +OSSL_PARAM_SIZED_octet_string define OSSL_PARAM_SIZED_utf8_ptr define OSSL_PARAM_SIZED_utf8_string define -OSSL_PARAM_SIZED_TYPE generic -OSSL_PARAM_get_TYPE generic OSSL_PARAM_END define -OSSL_PARAM_set_TYPE generic -OSSL_PARAM_SIZED_octet_string define PEM_FLAG_EAY_COMPATIBLE define PEM_FLAG_ONLY_B64 define PEM_FLAG_SECURE define From openssl at openssl.org Mon Jun 17 02:01:56 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 17 Jun 2019 02:01:56 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1560736916.329838.32062.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 4bfe304ea8 Add documentation for X509_cmp and related APIs 07c244f0cd Use variables in build.info files where it's worth the while 26fe9b07d8 Configure: Add support for variables in build.info files aff9659736 Fix building with enable-trace Build log ended with (last 100 lines): clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_info.d.tmp -MT crypto/x509/libcrypto-lib-v3_info.o -c -o crypto/x509/libcrypto-lib-v3_info.o ../openssl/crypto/x509/v3_info.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_int.d.tmp -MT crypto/x509/libcrypto-lib-v3_int.o -c -o crypto/x509/libcrypto-lib-v3_int.o ../openssl/crypto/x509/v3_int.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_lib.d.tmp -MT crypto/x509/libcrypto-lib-v3_lib.o -c -o crypto/x509/libcrypto-lib-v3_lib.o ../openssl/crypto/x509/v3_lib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_ncons.d.tmp -MT crypto/x509/libcrypto-lib-v3_ncons.o -c -o crypto/x509/libcrypto-lib-v3_ncons.o ../openssl/crypto/x509/v3_ncons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pci.d.tmp -MT crypto/x509/libcrypto-lib-v3_pci.o -c -o crypto/x509/libcrypto-lib-v3_pci.o ../openssl/crypto/x509/v3_pci.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcia.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcia.o -c -o crypto/x509/libcrypto-lib-v3_pcia.o ../openssl/crypto/x509/v3_pcia.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pcons.d.tmp -MT crypto/x509/libcrypto-lib-v3_pcons.o -c -o crypto/x509/libcrypto-lib-v3_pcons.o ../openssl/crypto/x509/v3_pcons.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pku.d.tmp -MT crypto/x509/libcrypto-lib-v3_pku.o -c -o crypto/x509/libcrypto-lib-v3_pku.o ../openssl/crypto/x509/v3_pku.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_pmaps.d.tmp -MT crypto/x509/libcrypto-lib-v3_pmaps.o -c -o crypto/x509/libcrypto-lib-v3_pmaps.o ../openssl/crypto/x509/v3_pmaps.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_prn.d.tmp -MT crypto/x509/libcrypto-lib-v3_prn.o -c -o crypto/x509/libcrypto-lib-v3_prn.o ../openssl/crypto/x509/v3_prn.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_purp.d.tmp -MT crypto/x509/libcrypto-lib-v3_purp.o -c -o crypto/x509/libcrypto-lib-v3_purp.o ../openssl/crypto/x509/v3_purp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_skey.d.tmp -MT crypto/x509/libcrypto-lib-v3_skey.o -c -o crypto/x509/libcrypto-lib-v3_skey.o ../openssl/crypto/x509/v3_skey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_sxnet.d.tmp -MT crypto/x509/libcrypto-lib-v3_sxnet.o -c -o crypto/x509/libcrypto-lib-v3_sxnet.o ../openssl/crypto/x509/v3_sxnet.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_tlsf.d.tmp -MT crypto/x509/libcrypto-lib-v3_tlsf.o -c -o crypto/x509/libcrypto-lib-v3_tlsf.o ../openssl/crypto/x509/v3_tlsf.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3_utl.d.tmp -MT crypto/x509/libcrypto-lib-v3_utl.o -c -o crypto/x509/libcrypto-lib-v3_utl.o ../openssl/crypto/x509/v3_utl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-v3err.d.tmp -MT crypto/x509/libcrypto-lib-v3err.o -c -o crypto/x509/libcrypto-lib-v3err.o ../openssl/crypto/x509/v3err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_att.d.tmp -MT crypto/x509/libcrypto-lib-x509_att.o -c -o crypto/x509/libcrypto-lib-x509_att.o ../openssl/crypto/x509/x509_att.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_cmp.d.tmp -MT crypto/x509/libcrypto-lib-x509_cmp.o -c -o crypto/x509/libcrypto-lib-x509_cmp.o ../openssl/crypto/x509/x509_cmp.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_d2.d.tmp -MT crypto/x509/libcrypto-lib-x509_d2.o -c -o crypto/x509/libcrypto-lib-x509_d2.o ../openssl/crypto/x509/x509_d2.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_def.d.tmp -MT crypto/x509/libcrypto-lib-x509_def.o -c -o crypto/x509/libcrypto-lib-x509_def.o ../openssl/crypto/x509/x509_def.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_err.d.tmp -MT crypto/x509/libcrypto-lib-x509_err.o -c -o crypto/x509/libcrypto-lib-x509_err.o ../openssl/crypto/x509/x509_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_ext.d.tmp -MT crypto/x509/libcrypto-lib-x509_ext.o -c -o crypto/x509/libcrypto-lib-x509_ext.o ../openssl/crypto/x509/x509_ext.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_lu.d.tmp -MT crypto/x509/libcrypto-lib-x509_lu.o -c -o crypto/x509/libcrypto-lib-x509_lu.o ../openssl/crypto/x509/x509_lu.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_meth.d.tmp -MT crypto/x509/libcrypto-lib-x509_meth.o -c -o crypto/x509/libcrypto-lib-x509_meth.o ../openssl/crypto/x509/x509_meth.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_obj.d.tmp -MT crypto/x509/libcrypto-lib-x509_obj.o -c -o crypto/x509/libcrypto-lib-x509_obj.o ../openssl/crypto/x509/x509_obj.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_r2x.d.tmp -MT crypto/x509/libcrypto-lib-x509_r2x.o -c -o crypto/x509/libcrypto-lib-x509_r2x.o ../openssl/crypto/x509/x509_r2x.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_req.d.tmp -MT crypto/x509/libcrypto-lib-x509_req.o -c -o crypto/x509/libcrypto-lib-x509_req.o ../openssl/crypto/x509/x509_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_set.d.tmp -MT crypto/x509/libcrypto-lib-x509_set.o -c -o crypto/x509/libcrypto-lib-x509_set.o ../openssl/crypto/x509/x509_set.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_trs.d.tmp -MT crypto/x509/libcrypto-lib-x509_trs.o -c -o crypto/x509/libcrypto-lib-x509_trs.o ../openssl/crypto/x509/x509_trs.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_txt.d.tmp -MT crypto/x509/libcrypto-lib-x509_txt.o -c -o crypto/x509/libcrypto-lib-x509_txt.o ../openssl/crypto/x509/x509_txt.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_v3.d.tmp -MT crypto/x509/libcrypto-lib-x509_v3.o -c -o crypto/x509/libcrypto-lib-x509_v3.o ../openssl/crypto/x509/x509_v3.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vfy.d.tmp -MT crypto/x509/libcrypto-lib-x509_vfy.o -c -o crypto/x509/libcrypto-lib-x509_vfy.o ../openssl/crypto/x509/x509_vfy.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509_vpm.d.tmp -MT crypto/x509/libcrypto-lib-x509_vpm.o -c -o crypto/x509/libcrypto-lib-x509_vpm.o ../openssl/crypto/x509/x509_vpm.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509cset.d.tmp -MT crypto/x509/libcrypto-lib-x509cset.o -c -o crypto/x509/libcrypto-lib-x509cset.o ../openssl/crypto/x509/x509cset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509name.d.tmp -MT crypto/x509/libcrypto-lib-x509name.o -c -o crypto/x509/libcrypto-lib-x509name.o ../openssl/crypto/x509/x509name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509rset.d.tmp -MT crypto/x509/libcrypto-lib-x509rset.o -c -o crypto/x509/libcrypto-lib-x509rset.o ../openssl/crypto/x509/x509rset.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509spki.d.tmp -MT crypto/x509/libcrypto-lib-x509spki.o -c -o crypto/x509/libcrypto-lib-x509spki.o ../openssl/crypto/x509/x509spki.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x509type.d.tmp -MT crypto/x509/libcrypto-lib-x509type.o -c -o crypto/x509/libcrypto-lib-x509type.o ../openssl/crypto/x509/x509type.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_all.d.tmp -MT crypto/x509/libcrypto-lib-x_all.o -c -o crypto/x509/libcrypto-lib-x_all.o ../openssl/crypto/x509/x_all.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_attrib.d.tmp -MT crypto/x509/libcrypto-lib-x_attrib.o -c -o crypto/x509/libcrypto-lib-x_attrib.o ../openssl/crypto/x509/x_attrib.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_crl.d.tmp -MT crypto/x509/libcrypto-lib-x_crl.o -c -o crypto/x509/libcrypto-lib-x_crl.o ../openssl/crypto/x509/x_crl.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_exten.d.tmp -MT crypto/x509/libcrypto-lib-x_exten.o -c -o crypto/x509/libcrypto-lib-x_exten.o ../openssl/crypto/x509/x_exten.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_name.d.tmp -MT crypto/x509/libcrypto-lib-x_name.o -c -o crypto/x509/libcrypto-lib-x_name.o ../openssl/crypto/x509/x_name.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_pubkey.d.tmp -MT crypto/x509/libcrypto-lib-x_pubkey.o -c -o crypto/x509/libcrypto-lib-x_pubkey.o ../openssl/crypto/x509/x_pubkey.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_req.d.tmp -MT crypto/x509/libcrypto-lib-x_req.o -c -o crypto/x509/libcrypto-lib-x_req.o ../openssl/crypto/x509/x_req.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509.d.tmp -MT crypto/x509/libcrypto-lib-x_x509.o -c -o crypto/x509/libcrypto-lib-x_x509.o ../openssl/crypto/x509/x_x509.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/x509/libcrypto-lib-x_x509a.d.tmp -MT crypto/x509/libcrypto-lib-x_x509a.o -c -o crypto/x509/libcrypto-lib-x_x509a.o ../openssl/crypto/x509/x_x509a.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes.o -c -o providers/common/ciphers/libcrypto-lib-aes.o ../openssl/providers/common/ciphers/aes.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-aes_basic.d.tmp -MT providers/common/ciphers/libcrypto-lib-aes_basic.o -c -o providers/common/ciphers/libcrypto-lib-aes_basic.o ../openssl/providers/common/ciphers/aes_basic.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/ciphers/libcrypto-lib-block.d.tmp -MT providers/common/ciphers/libcrypto-lib-block.o -c -o providers/common/ciphers/libcrypto-lib-block.o ../openssl/providers/common/ciphers/block.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha2_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha2_prov.o -c -o providers/common/digests/libcrypto-lib-sha2_prov.o ../openssl/providers/common/digests/sha2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/digests/libcrypto-lib-sha3_prov.d.tmp -MT providers/common/digests/libcrypto-lib-sha3_prov.o -c -o providers/common/digests/libcrypto-lib-sha3_prov.o ../openssl/providers/common/digests/sha3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/common/libcrypto-lib-provider_err.d.tmp -MT providers/common/libcrypto-lib-provider_err.o -c -o providers/common/libcrypto-lib-provider_err.o ../openssl/providers/common/provider_err.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2_prov.o -c -o providers/default/digests/libcrypto-lib-blake2_prov.o ../openssl/providers/default/digests/blake2_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2b_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2b_prov.o -c -o providers/default/digests/libcrypto-lib-blake2b_prov.o ../openssl/providers/default/digests/blake2b_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-blake2s_prov.d.tmp -MT providers/default/digests/libcrypto-lib-blake2s_prov.o -c -o providers/default/digests/libcrypto-lib-blake2s_prov.o ../openssl/providers/default/digests/blake2s_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_prov.o -c -o providers/default/digests/libcrypto-lib-md5_prov.o ../openssl/providers/default/digests/md5_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-md5_sha1_prov.d.tmp -MT providers/default/digests/libcrypto-lib-md5_sha1_prov.o -c -o providers/default/digests/libcrypto-lib-md5_sha1_prov.o ../openssl/providers/default/digests/md5_sha1_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-null_prov.d.tmp -MT providers/default/digests/libcrypto-lib-null_prov.o -c -o providers/default/digests/libcrypto-lib-null_prov.o ../openssl/providers/default/digests/null_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/digests/libcrypto-lib-sm3_prov.d.tmp -MT providers/default/digests/libcrypto-lib-sm3_prov.o -c -o providers/default/digests/libcrypto-lib-sm3_prov.o ../openssl/providers/default/digests/sm3_prov.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF providers/default/libcrypto-lib-defltprov.d.tmp -MT providers/default/libcrypto-lib-defltprov.o -c -o providers/default/libcrypto-lib-defltprov.o ../openssl/providers/default/defltprov.c clang -I. -Iinclude -I../openssl -I../openssl/include -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -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 -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -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 ../openssl/ssl/s3_lib.c:4685:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4685:34: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] ../openssl/ssl/s3_lib.c:4685:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4683:11: error: no previous prototype for function 'ssl_generate_pkey_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) ^ ../openssl/ssl/s3_lib.c:4777:34: error: implicit declaration of function 'tls1_group_id_lookup' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ../openssl/ssl/s3_lib.c:4777:27: error: incompatible integer to pointer conversion initializing 'const TLS_GROUP_INFO *' (aka 'const struct tls_group_info_st *') with an expression of type 'int' [-Werror,-Wint-conversion] const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../openssl/ssl/s3_lib.c:4773:11: error: no previous prototype for function 'ssl_generate_param_group' [-Werror,-Wmissing-prototypes] EVP_PKEY *ssl_generate_param_group(uint16_t id) ^ 7 errors generated. Makefile:11958: recipe for target 'ssl/libssl-lib-s3_lib.o' failed make[1]: *** [ssl/libssl-lib-s3_lib.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-ec' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From builds at travis-ci.org Mon Jun 17 02:00:12 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 02:00:12 +0000 Subject: Still Failing: openssl/openssl#25812 (master - 1313e37) In-Reply-To: Message-ID: <5d06f42c1af66_43f906cd42ec015329e@22e8dc10-3557-4c34-b42b-c41856073651.mail> Build Update for openssl/openssl ------------------------------------- Build: #25812 Status: Still Failing Duration: 18 mins and 18 secs Commit: 1313e37 (master) Author: Pauli Message: Better document specific OSSL_PARAM symbols. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9114) View the changeset: https://github.com/openssl/openssl/compare/4bfe304ea85e...1313e37ab97c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546539845?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 Jun 17 02:28:10 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 02:28:10 +0000 Subject: Build completed: openssl master.25242 Message-ID: <20190617022810.1.81910F793C2E8710@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 05:16:31 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 05:16:31 +0000 Subject: Build failed: openssl master.25245 Message-ID: <20190617051631.1.74036533106A8341@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 05:46:24 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 05:46:24 +0000 Subject: Build failed: openssl master.25246 Message-ID: <20190617054624.1.DB4412FF55352FA8@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Jun 17 06:55:53 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 17 Jun 2019 06:55:53 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560754553.492831.8912.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 4bfe304ea8 Add documentation for X509_cmp and related APIs 07c244f0cd Use variables in build.info files where it's worth the while 26fe9b07d8 Configure: Add support for variables in build.info files aff9659736 Fix building with enable-trace Build log ended with (last 100 lines): providers/common/digests/fips-dso-sha3_prov.o: In function `sha3_512_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:273: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:274: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_set_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:243: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:249: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:184: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:187: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:181: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:191: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:197: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:200: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:(.text+0x159): more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:246: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:258: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:265: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:92: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:97: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:105: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:106: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:108: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:109: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:112: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:146: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7058: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Mon Jun 17 07:03:13 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 07:03:13 +0000 Subject: Build completed: openssl master.25247 Message-ID: <20190617070313.1.71F2506984B67D31@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 07:17:40 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 07:17:40 +0000 Subject: Build failed: openssl master.25249 Message-ID: <20190617071740.1.26EFAB195159D337@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Mon Jun 17 07:44:00 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 17 Jun 2019 07:44:00 +0000 Subject: [openssl] master update Message-ID: <1560757440.290907.21768.nullmailer@dev.openssl.org> The branch master has been updated via 55a9ca5cc5e14d0018015de31baa28f2a711adaa (commit) from 1313e37ab97c0b24eedf67b343b93a7c964b9767 (commit) - Log ----------------------------------------------------------------- commit 55a9ca5cc5e14d0018015de31baa28f2a711adaa Author: Richard Levitte Date: Mon Jun 17 08:14:57 2019 +0200 crypto/ppccap.c: Fix FIPS build on PPC Some code was temporarly disabled in the FIPS module because SHA other SHA1 hadn't been ported. Now that they have, we must enable this code again. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9168) ----------------------------------------------------------------------- Summary of changes: crypto/ppccap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crypto/ppccap.c b/crypto/ppccap.c index 801a2be..9109c4d 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -65,11 +65,6 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, return bn_mul_mont_int(rp, ap, bp, np, n0, num); } #endif -/* - * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into - * the FIPS module yet. - */ -#ifndef FIPS_MODE void sha256_block_p8(void *ctx, const void *inp, size_t len); void sha256_block_ppc(void *ctx, const void *inp, size_t len); void sha256_block_data_order(void *ctx, const void *inp, size_t len); @@ -88,6 +83,11 @@ void sha512_block_data_order(void *ctx, const void *inp, size_t len) sha512_block_ppc(ctx, inp, len); } +/* + * TODO(3.0): Temporarily disabled some assembler that hasn't been brought into + * the FIPS module yet. + */ +#ifndef FIPS_MODE # ifndef OPENSSL_NO_CHACHA void ChaCha20_ctr32_int(unsigned char *out, const unsigned char *inp, size_t len, const unsigned int key[8], From builds at travis-ci.org Mon Jun 17 08:08:15 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 08:08:15 +0000 Subject: Still Failing: openssl/openssl#25821 (master - 55a9ca5) In-Reply-To: Message-ID: <5d074a6f2eb3c_43fbe7af5f514249210@fb9abe73-02aa-4c8b-9ad3-4fed1a27e279.mail> Build Update for openssl/openssl ------------------------------------- Build: #25821 Status: Still Failing Duration: 23 mins and 39 secs Commit: 55a9ca5 (master) Author: Richard Levitte Message: crypto/ppccap.c: Fix FIPS build on PPC Some code was temporarly disabled in the FIPS module because SHA other SHA1 hadn't been ported. Now that they have, we must enable this code again. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9168) View the changeset: https://github.com/openssl/openssl/compare/1313e37ab97c...55a9ca5cc5e1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546616901?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 Jun 17 09:39:00 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 17 Jun 2019 09:39:00 +0000 Subject: [openssl] master update Message-ID: <1560764340.265307.6644.nullmailer@dev.openssl.org> The branch master has been updated via 8013a933dacc80096e2bfca06c00f9ec29adb35b (commit) via bb751e1108675d5ac30af9047b182905b8cc232b (commit) via e7706e63e6226c26699062a6d68fc97bed528a6f (commit) from 55a9ca5cc5e14d0018015de31baa28f2a711adaa (commit) - Log ----------------------------------------------------------------- commit 8013a933dacc80096e2bfca06c00f9ec29adb35b Author: Richard Levitte Date: Fri Jun 14 11:41:32 2019 +0200 Replumbing: Adapt the default and legacy providers to use library context upcall Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9160) commit bb751e1108675d5ac30af9047b182905b8cc232b Author: Richard Levitte Date: Fri Jun 14 10:27:30 2019 +0200 Replumbing: Adapt the FIPS module to use the library context upcall Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9160) commit e7706e63e6226c26699062a6d68fc97bed528a6f Author: Richard Levitte Date: Fri Jun 14 10:19:56 2019 +0200 Replumbing: offer a core upcall to get the provider object's library context The FIPS module currently has "magic" support to have the library context become the provider context within the core code, for the FIPS module's inner provider. We replace that with a core upcall that returns the library context associated with a provider object. That way, the FIPS module can handle the assignment of the inner provider context itself. This allows the FIPS module (and any other provider module that wishes to use a similar mechanism) to define for itself what the provider context is. It's currently simply a pointer to a library context, but may contain other stuff as well in the future. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9160) ----------------------------------------------------------------------- Summary of changes: crypto/provider_core.c | 41 +++++++----------- include/openssl/core_numbers.h | 3 ++ .../common/include/internal/provider_ctx.h | 15 +++---- providers/default/defltprov.c | 15 +++++++ providers/fips/fipsprov.c | 48 ++++++++++++++++------ providers/legacy/legacyprov.c | 15 +++++++ 6 files changed, 89 insertions(+), 48 deletions(-) copy test/testutil/apps_mem.c => providers/common/include/internal/provider_ctx.h (65%) diff --git a/crypto/provider_core.c b/crypto/provider_core.c index bcf6aa9..62b5bd4 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -47,6 +47,7 @@ struct ossl_provider_st { DSO *module; OSSL_provider_init_fn *init_function; STACK_OF(INFOPAIR) *parameters; + OPENSSL_CTX *libctx; /* The library context this instance is in */ struct provider_store_st *store; /* The store this instance belongs to */ /* Provider side functions */ @@ -120,6 +121,7 @@ static void *provider_store_new(OPENSSL_CTX *ctx) CRYPTOerr(CRYPTO_F_PROVIDER_STORE_NEW, ERR_R_INTERNAL_ERROR); return NULL; } + prov->libctx = ctx; prov->store = store; if(p->is_fallback) ossl_provider_set_fallback(prov); @@ -229,6 +231,7 @@ OSSL_PROVIDER *ossl_provider_new(OPENSSL_CTX *libctx, const char *name, ossl_provider_free(prov); /* -1 Reference that was to be returned */ prov = NULL; } else { + prov->libctx = libctx; prov->store = store; } CRYPTO_THREAD_unlock(store->lock); @@ -341,11 +344,9 @@ static const OSSL_DISPATCH *core_dispatch; /* Define further down */ /* * Internal version that doesn't affect the store flags, and thereby avoid * locking. Direct callers must remember to set the store flags when - * appropriate. The libctx parameter is only necessary when FIPS_MODE is set - * (i.e. we are being called from inside the FIPS module) - it is ignored for - * other uses. + * appropriate. */ -static int provider_activate(OSSL_PROVIDER *prov, OPENSSL_CTX *libctx) +static int provider_activate(OSSL_PROVIDER *prov) { const OSSL_DISPATCH *provider_dispatch = NULL; @@ -400,26 +401,7 @@ static int provider_activate(OSSL_PROVIDER *prov, OPENSSL_CTX *libctx) #endif } - /* - * We call the initialise function for the provider. - * - * If FIPS_MODE is defined then we are inside the FIPS module and are about - * to recursively initialise ourselves. We need to do this so that we can - * get all the provider callback functions set up in order for us to be able - * to make EVP calls from within the FIPS module itself. Only algorithms - * from the FIPS module itself are available via the FIPS module EVP - * interface, i.e. we only ever have one provider available inside the FIPS - * module - the FIPS provider itself. - * - * For modules in general we cannot know what value will be used for the - * provctx - it is a "black box". But for the FIPS module we know that the - * provctx is really a library context. We default the provctx value to the - * same library context as was used for the EVP call that caused this call - * to "provider_activate". - */ -#ifdef FIPS_MODE - prov->provctx = libctx; -#endif + /* Call the initialise function for the provider. */ if (prov->init_function == NULL || !prov->init_function(prov, core_dispatch, &provider_dispatch, &prov->provctx)) { @@ -461,7 +443,7 @@ static int provider_activate(OSSL_PROVIDER *prov, OPENSSL_CTX *libctx) int ossl_provider_activate(OSSL_PROVIDER *prov) { - if (provider_activate(prov, NULL)) { + if (provider_activate(prov)) { CRYPTO_THREAD_write_lock(prov->store->lock); prov->store->use_fallbacks = 0; CRYPTO_THREAD_unlock(prov->store->lock); @@ -538,7 +520,7 @@ int ossl_provider_forall_loaded(OPENSSL_CTX *ctx, */ if (prov->flag_fallback) { activated_fallback_count++; - provider_activate(prov, ctx); + provider_activate(prov); } } @@ -679,9 +661,16 @@ static int core_get_params(const OSSL_PROVIDER *prov, const OSSL_PARAM params[]) return 1; } +static OSSL_core_get_library_context_fn core_get_libctx; /* Check */ +static OPENSSL_CTX *core_get_libctx(const OSSL_PROVIDER *prov) +{ + return prov->libctx; +} + static const OSSL_DISPATCH core_dispatch_[] = { { OSSL_FUNC_CORE_GET_PARAM_TYPES, (void (*)(void))core_get_param_types }, { OSSL_FUNC_CORE_GET_PARAMS, (void (*)(void))core_get_params }, + { OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT, (void (*)(void))core_get_libctx }, { OSSL_FUNC_CORE_PUT_ERROR, (void (*)(void))ERR_put_error }, { OSSL_FUNC_CORE_ADD_ERROR_VDATA, (void (*)(void))ERR_add_error_vdata }, { 0, NULL } diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index 03a918d..370e059 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -63,6 +63,9 @@ OSSL_CORE_MAKE_FUNC(void,core_put_error,(int lib, int func, int reason, const char *file, int line)) # define OSSL_FUNC_CORE_ADD_ERROR_VDATA 4 OSSL_CORE_MAKE_FUNC(void,core_add_error_vdata,(int num, va_list args)) +# define OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT 5 +OSSL_CORE_MAKE_FUNC(OPENSSL_CTX *,core_get_library_context, + (const OSSL_PROVIDER *prov)) /* Functions provided by the provider to the Core, reserved numbers 1024-1535 */ diff --git a/test/testutil/apps_mem.c b/providers/common/include/internal/provider_ctx.h similarity index 65% copy from test/testutil/apps_mem.c copy to providers/common/include/internal/provider_ctx.h index fa60bc6..365667d 100644 --- a/test/testutil/apps_mem.c +++ b/providers/common/include/internal/provider_ctx.h @@ -7,13 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include "apps.h" - -/* shim that avoids sucking in too much from apps/apps.c */ - -void* app_malloc(int sz, const char *what) -{ - void *vp = OPENSSL_malloc(sz); - - return vp; -} +/* + * To be used anywhere the library context needs to be passed, such as to + * fetching functions. + */ +#define PROV_LIBRARY_CONTEXT_OF(provctx) (provctx) diff --git a/providers/default/defltprov.c b/providers/default/defltprov.c index 9899940..b9c8c36 100644 --- a/providers/default/defltprov.c +++ b/providers/default/defltprov.c @@ -144,6 +144,8 @@ int ossl_default_provider_init(const OSSL_PROVIDER *provider, const OSSL_DISPATCH **out, void **provctx) { + OSSL_core_get_library_context_fn *c_get_libctx = NULL; + for (; in->function_id != 0; in++) { switch (in->function_id) { case OSSL_FUNC_CORE_GET_PARAM_TYPES: @@ -152,12 +154,25 @@ int ossl_default_provider_init(const OSSL_PROVIDER *provider, case OSSL_FUNC_CORE_GET_PARAMS: c_get_params = OSSL_get_core_get_params(in); break; + case OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT: + c_get_libctx = OSSL_get_core_get_library_context(in); + break; default: /* Just ignore anything we don't understand */ break; } } + if (c_get_libctx == NULL) + return 0; + *out = deflt_dispatch_table; + + /* + * We want to make sure that all calls from this provider that requires + * a library context use the same context as the one used to call our + * functions. We do that by passing it along as the provider context. + */ + *provctx = c_get_libctx(provider); return 1; } diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index bec305b..51246d5 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -21,6 +21,7 @@ #include "internal/property.h" #include "internal/evp_int.h" #include "internal/provider_algs.h" +#include "internal/provider_ctx.h" /* Functions provided by the core */ static OSSL_core_get_param_types_fn *c_get_param_types = NULL; @@ -37,8 +38,9 @@ static const OSSL_ITEM fips_param_types[] = { }; /* TODO(3.0): To be removed */ -static int dummy_evp_call(OPENSSL_CTX *libctx) +static int dummy_evp_call(void *provctx) { + OPENSSL_CTX *libctx = PROV_LIBRARY_CONTEXT_OF(provctx); EVP_MD_CTX *ctx = EVP_MD_CTX_new(); EVP_MD *sha256 = EVP_MD_fetch(libctx, "SHA256", NULL); char msg[] = "Hello World!"; @@ -208,30 +210,28 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, if (ctx == NULL) return 0; + *out = fips_dispatch_table; + *provctx = ctx; + /* * TODO(3.0): Remove me. This is just a dummy call to demonstrate making * EVP calls from within the FIPS module. */ - if (!dummy_evp_call(ctx)) { - OPENSSL_CTX_free(ctx); + if (!dummy_evp_call(*provctx)) { + OPENSSL_CTX_free(*provctx); + *provctx = NULL; return 0; } - *out = fips_dispatch_table; - *provctx = ctx; return 1; } /* * The internal init function used when the FIPS module uses EVP to call * another algorithm also in the FIPS module. This is a recursive call that has - * been made from within the FIPS module itself. Normally we are responsible for - * providing our own provctx value, but in this recursive case it has been - * pre-populated for us with the same library context that was used in the EVP - * call that initiated this recursive call - so we don't need to do anything - * further with that parameter. This only works because we *know* in the core - * code that the FIPS module uses a library context for its provctx. This is - * not generally true for all providers. + * been made from within the FIPS module itself. To make this work, we populate + * the provider context of this inner instance with the same library context + * that was used in the EVP call that initiated this recursive call. */ OSSL_provider_init_fn fips_intern_provider_init; int fips_intern_provider_init(const OSSL_PROVIDER *provider, @@ -239,6 +239,30 @@ int fips_intern_provider_init(const OSSL_PROVIDER *provider, const OSSL_DISPATCH **out, void **provctx) { + OSSL_core_get_library_context_fn *c_get_libctx = NULL; + + for (; in->function_id != 0; in++) { + switch (in->function_id) { + case OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT: + c_get_libctx = OSSL_get_core_get_library_context(in); + break; + default: + break; + } + } + + if (c_get_libctx == NULL) + return 0; + + *provctx = c_get_libctx(provider); + + /* + * Safety measure... we should get the library context that was + * created up in OSSL_provider_init(). + */ + if (*provctx == NULL) + return 0; + *out = intern_dispatch_table; return 1; } diff --git a/providers/legacy/legacyprov.c b/providers/legacy/legacyprov.c index 9ca4e14..9b55337 100644 --- a/providers/legacy/legacyprov.c +++ b/providers/legacy/legacyprov.c @@ -99,6 +99,8 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, const OSSL_DISPATCH **out, void **provctx) { + OSSL_core_get_library_context_fn *c_get_libctx = NULL; + for (; in->function_id != 0; in++) { switch (in->function_id) { case OSSL_FUNC_CORE_GET_PARAM_TYPES: @@ -107,12 +109,25 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, case OSSL_FUNC_CORE_GET_PARAMS: c_get_params = OSSL_get_core_get_params(in); break; + case OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT: + c_get_libctx = OSSL_get_core_get_library_context(in); + break; /* Just ignore anything we don't understand */ default: break; } } + if (c_get_libctx == NULL) + return 0; + *out = legacy_dispatch_table; + + /* + * We want to make sure that all calls from this provider that requires + * a library context use the same context as the one used to call our + * functions. We do that by passing it along as the provider context. + */ + *provctx = c_get_libctx(provider); return 1; } From matt at openssl.org Mon Jun 17 10:02:47 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 17 Jun 2019 10:02:47 +0000 Subject: [openssl] master update Message-ID: <1560765767.363953.11361.nullmailer@dev.openssl.org> The branch master has been updated via 65dc5c3cc10af7c6f24ecd922adb7b6d17a9fe65 (commit) via dbc6268f68e50b2e49d7c5b1157b4f6bcea5d6f9 (commit) from 8013a933dacc80096e2bfca06c00f9ec29adb35b (commit) - Log ----------------------------------------------------------------- commit 65dc5c3cc10af7c6f24ecd922adb7b6d17a9fe65 Author: Matt Caswell Date: Thu Jun 13 19:34:37 2019 +0100 Fix no-ec with no-dh Make sure that the combination of no-ec with no-dh builds successfully. If neither ec or dh are available then TLSv1.3 is not possible. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9156) commit dbc6268f68e50b2e49d7c5b1157b4f6bcea5d6f9 Author: Matt Caswell Date: Thu Jun 13 11:06:12 2019 +0100 Allow TLSv1.3 in a no-ec build Now that we have TLSv1.3 FFDHE support there is no reason why we should not allow TLSv1.3 to be used in a no-ec build. This commit enables that to happen. It also fixes no-ec which was previously broken. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9156) ----------------------------------------------------------------------- Summary of changes: Configure | 6 +- ssl/s3_lib.c | 12 ++- ssl/ssl_lib.c | 3 +- ssl/ssl_locl.h | 14 +-- ssl/statem/extensions.c | 14 ++- ssl/statem/extensions_clnt.c | 48 +++++++-- ssl/statem/extensions_srvr.c | 6 +- ssl/statem/statem_lib.c | 4 +- ssl/statem/statem_locl.h | 5 +- ssl/t1_lib.c | 200 +++++++++++++++++++++-------------- test/recipes/70-test_clienthello.t | 4 + test/recipes/70-test_key_share.t | 92 ++++++++++++---- test/recipes/70-test_sslextension.t | 5 +- test/recipes/70-test_tls13cookie.t | 18 +++- test/recipes/70-test_tls13hrr.t | 12 ++- test/recipes/70-test_tls13kexmodes.t | 3 + test/recipes/70-test_tls13messages.t | 3 + test/recipes/70-test_tls13psk.t | 12 ++- test/recipes/80-test_ssl_new.t | 2 +- test/recipes/90-test_gost.t | 4 + test/ssl-tests/protocol_version.pm | 2 +- test/sslapitest.c | 64 ++++++----- test/tls13ccstest.c | 7 ++ 23 files changed, 363 insertions(+), 177 deletions(-) diff --git a/Configure b/Configure index 69a06d6..c3f4f99 100755 --- a/Configure +++ b/Configure @@ -482,8 +482,9 @@ my @disable_cascades = ( "ssl3-method" => [ "ssl3" ], "zlib" => [ "zlib-dynamic" ], "des" => [ "mdc2" ], - "ec" => [ "ecdsa", "ecdh" ], - + "ec" => [ "ecdsa", "ecdh", "sm2" ], + sub { $disabled{"ec"} && $disabled{"dh"} } + => [ "tls1_3" ], "dgram" => [ "dtls", "sctp" ], "sock" => [ "dgram" ], "dtls" => [ @dtls ], @@ -526,7 +527,6 @@ my @disable_cascades = ( "apps" => [ "tests" ], "tests" => [ "external-tests" ], "comp" => [ "zlib" ], - "ec" => [ "tls1_3", "sm2" ], "sm3" => [ "sm2" ], sub { !$disabled{"unit-test"} } => [ "heartbeats" ], diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 358142e..6c3f04d 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3578,7 +3578,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) } return ssl_cert_set_current(s->cert, larg); -#ifndef OPENSSL_NO_EC +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) case SSL_CTRL_GET_GROUPS: { uint16_t *clist; @@ -3623,7 +3623,8 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) } return id; } -#endif +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ + case SSL_CTRL_SET_SIGALGS: return tls1_set_sigalgs(s->cert, parg, larg, 0); @@ -3899,7 +3900,7 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) break; #endif -#ifndef OPENSSL_NO_EC +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) case SSL_CTRL_SET_GROUPS: return tls1_set_groups(&ctx->ext.supportedgroups, &ctx->ext.supportedgroups_len, @@ -3909,7 +3910,8 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) return tls1_set_groups_list(&ctx->ext.supportedgroups, &ctx->ext.supportedgroups_len, parg); -#endif +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ + case SSL_CTRL_SET_SIGALGS: return tls1_set_sigalgs(ctx->cert, parg, larg, 0); @@ -4680,6 +4682,7 @@ EVP_PKEY *ssl_generate_pkey(EVP_PKEY *pm) } /* Generate a private key from a group ID */ +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) { const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); @@ -4766,6 +4769,7 @@ EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) EVP_PKEY_CTX_free(pctx); return pkey; } +#endif /* * Generate parameters from a group ID diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index cf79ac5..4e4477d 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -780,6 +780,7 @@ SSL *SSL_new(SSL_CTX *ctx) s->ext.ecpointformats_len = ctx->ext.ecpointformats_len; } +#endif if (ctx->ext.supportedgroups) { s->ext.supportedgroups = OPENSSL_memdup(ctx->ext.supportedgroups, @@ -789,7 +790,7 @@ SSL *SSL_new(SSL_CTX *ctx) goto err; s->ext.supportedgroups_len = ctx->ext.supportedgroups_len; } -#endif + #ifndef OPENSSL_NO_NEXTPROTONEG s->ext.npn = NULL; #endif diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 0e661d0..e521152 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -959,9 +959,10 @@ struct ssl_ctx_st { /* EC extension values inherited by SSL structure */ size_t ecpointformats_len; unsigned char *ecpointformats; +# endif /* OPENSSL_NO_EC */ + size_t supportedgroups_len; uint16_t *supportedgroups; -# endif /* OPENSSL_NO_EC */ /* * ALPN information (we are in the process of transitioning from NPN to @@ -2525,8 +2526,6 @@ __owur int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s); SSL_COMP *ssl3_comp_find(STACK_OF(SSL_COMP) *sk, int n); -# ifndef OPENSSL_NO_EC - __owur const TLS_GROUP_INFO *tls1_group_id_lookup(uint16_t curve_id); __owur int tls1_check_group_id(SSL *s, uint16_t group_id, int check_own_curves); __owur uint16_t tls1_shared_group(SSL *s, int nmatch); @@ -2534,15 +2533,16 @@ __owur int tls1_set_groups(uint16_t **pext, size_t *pextlen, int *curves, size_t ncurves); __owur int tls1_set_groups_list(uint16_t **pext, size_t *pextlen, const char *str); -void tls1_get_formatlist(SSL *s, const unsigned char **pformats, - size_t *num_formats); -__owur int tls1_check_ec_tmp_key(SSL *s, unsigned long id); __owur EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id); __owur int tls_valid_group(SSL *s, uint16_t group_id, int version); __owur EVP_PKEY *ssl_generate_param_group(uint16_t id); +# ifndef OPENSSL_NO_EC +void tls1_get_formatlist(SSL *s, const unsigned char **pformats, + size_t *num_formats); +__owur int tls1_check_ec_tmp_key(SSL *s, unsigned long id); # endif /* OPENSSL_NO_EC */ -__owur int tls_curve_allowed(SSL *s, uint16_t curve, int op); +__owur int tls_group_allowed(SSL *s, uint16_t curve, int op); void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, size_t *pgroupslen); diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 2e51aab..eacc721 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -46,9 +46,7 @@ static int init_etm(SSL *s, unsigned int context); static int init_ems(SSL *s, unsigned int context); static int final_ems(SSL *s, unsigned int context, int sent); static int init_psk_kex_modes(SSL *s, unsigned int context); -#ifndef OPENSSL_NO_EC static int final_key_share(SSL *s, unsigned int context, int sent); -#endif #ifndef OPENSSL_NO_SRTP static int init_srtp(SSL *s, unsigned int context); #endif @@ -162,6 +160,10 @@ static const EXTENSION_DEFINITION ext_defs[] = { tls_construct_stoc_ec_pt_formats, tls_construct_ctos_ec_pt_formats, final_ec_pt_formats }, +#else + INVALID_EXTENSION, +#endif +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) { /* * "supported_groups" is spread across several specifications. @@ -197,7 +199,6 @@ static const EXTENSION_DEFINITION ext_defs[] = { }, #else INVALID_EXTENSION, - INVALID_EXTENSION, #endif { TLSEXT_TYPE_session_ticket, @@ -322,7 +323,6 @@ static const EXTENSION_DEFINITION ext_defs[] = { init_psk_kex_modes, tls_parse_ctos_psk_kex_modes, NULL, NULL, tls_construct_ctos_psk_kex_modes, NULL }, -#ifndef OPENSSL_NO_EC { /* * Must be in this list after supported_groups. We need that to have @@ -336,7 +336,6 @@ static const EXTENSION_DEFINITION ext_defs[] = { tls_construct_stoc_key_share, tls_construct_ctos_key_share, final_key_share }, -#endif { /* Must be after key_share */ TLSEXT_TYPE_cookie, @@ -1266,9 +1265,9 @@ static int final_sig_algs(SSL *s, unsigned int context, int sent) return 1; } -#ifndef OPENSSL_NO_EC static int final_key_share(SSL *s, unsigned int context, int sent) { +#if !defined(OPENSSL_NO_TLS1_3) if (!SSL_IS_TLS13(s)) return 1; @@ -1426,10 +1425,9 @@ static int final_key_share(SSL *s, unsigned int context, int sent) return 0; } } - +#endif /* !defined(OPENSSL_NO_TLS1_3) */ return 1; } -#endif static int init_psk_kex_modes(SSL *s, unsigned int context) { diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index a29b7c0..b12361f 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -113,11 +113,13 @@ EXT_RETURN tls_construct_ctos_srp(SSL *s, WPACKET *pkt, unsigned int context, #endif #ifndef OPENSSL_NO_EC -static int use_ecc(SSL *s) +static int use_ecc(SSL *s, int max_version) { int i, end, ret = 0; unsigned long alg_k, alg_a; STACK_OF(SSL_CIPHER) *cipher_stack = NULL; + const uint16_t *pgroups = NULL; + size_t num_groups, j; /* See if we support any ECC ciphersuites */ if (s->version == SSL3_VERSION) @@ -137,9 +139,21 @@ static int use_ecc(SSL *s) break; } } - sk_SSL_CIPHER_free(cipher_stack); - return ret; + if (!ret) + return 0; + + /* Check we have at least one EC supported group */ + tls1_get_supported_groups(s, &pgroups, &num_groups); + for (j = 0; j < num_groups; j++) { + uint16_t ctmp = pgroups[j]; + + if (tls_valid_group(s, ctmp, max_version) + && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) + return 1; + } + + return 0; } EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, @@ -148,8 +162,15 @@ EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, { const unsigned char *pformats; size_t num_formats; + int reason, min_version, max_version; - if (!use_ecc(s)) + reason = ssl_get_min_max_version(s, &min_version, &max_version, NULL); + if (reason != 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS, reason); + return EXT_RETURN_FAIL; + } + if (!use_ecc(s, max_version)) return EXT_RETURN_NOT_SENT; /* Add TLS extension ECPointFormats to the ClientHello message */ @@ -167,7 +188,9 @@ EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, return EXT_RETURN_SENT; } +#endif +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx) @@ -176,9 +199,6 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, size_t num_groups = 0, i; int min_version, max_version, reason; - if (!use_ecc(s)) - return EXT_RETURN_NOT_SENT; - reason = ssl_get_min_max_version(s, &min_version, &max_version, NULL); if (reason != 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, @@ -186,6 +206,14 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, return EXT_RETURN_FAIL; } +#if defined(OPENSSL_NO_EC) + if (max_version < TLS1_3_VERSION) + return EXT_RETURN_NOT_SENT; +#else + if (!use_ecc(s, max_version) && max_version < TLS1_3_VERSION) + return EXT_RETURN_NOT_SENT; +#endif + /* * Add TLS extension supported_groups to the ClientHello message */ @@ -206,7 +234,7 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, uint16_t ctmp = pgroups[i]; if (tls_valid_group(s, ctmp, max_version) - && tls_curve_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) { + && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) { if (!WPACKET_put_bytes_u16(pkt, ctmp)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS, @@ -683,7 +711,7 @@ EXT_RETURN tls_construct_ctos_key_share(SSL *s, WPACKET *pkt, } else { for (i = 0; i < num_groups; i++) { - if (!tls_curve_allowed(s, pgroups[i], SSL_SECOP_CURVE_SUPPORTED)) + if (!tls_group_allowed(s, pgroups[i], SSL_SECOP_CURVE_SUPPORTED)) continue; curve_id = pgroups[i]; @@ -1843,7 +1871,7 @@ int tls_parse_stoc_key_share(SSL *s, PACKET *pkt, unsigned int context, X509 *x, break; } if (i >= num_groups - || !tls_curve_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)) { + || !tls_group_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)) { SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_TLS_PARSE_STOC_KEY_SHARE, SSL_R_BAD_KEY_SHARE); return 0; diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 37f5819..6181f3f 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -946,7 +946,7 @@ int tls_parse_ctos_cookie(SSL *s, PACKET *pkt, unsigned int context, X509 *x, return 1; } -#ifndef OPENSSL_NO_EC +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) int tls_parse_ctos_supported_groups(SSL *s, PACKET *pkt, unsigned int context, X509 *x, size_t chainidx) { @@ -1400,7 +1400,7 @@ EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL *s, WPACKET *pkt, } #endif -#ifndef OPENSSL_NO_EC +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) EXT_RETURN tls_construct_stoc_supported_groups(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx) @@ -1425,7 +1425,7 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL *s, WPACKET *pkt, uint16_t group = groups[i]; if (tls_valid_group(s, group, SSL_version(s)) - && tls_curve_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) { + && tls_group_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) { if (first) { /* * Check if the client is already using our preferred group. If diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index e6d2478..292f99c 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -2137,7 +2137,6 @@ int ssl_set_client_hello_version(SSL *s) * used. Returns 1 if the group is in the list (and allowed if |checkallow| is * 1) or 0 otherwise. */ -#ifndef OPENSSL_NO_EC int check_in_list(SSL *s, uint16_t group_id, const uint16_t *groups, size_t num_groups, int checkallow) { @@ -2151,14 +2150,13 @@ int check_in_list(SSL *s, uint16_t group_id, const uint16_t *groups, if (group_id == group && (!checkallow - || tls_curve_allowed(s, group, SSL_SECOP_CURVE_CHECK))) { + || tls_group_allowed(s, group, SSL_SECOP_CURVE_CHECK))) { return 1; } } return 0; } -#endif /* Replace ClientHello1 in the transcript hash with a synthetic message */ int create_synthetic_message_hash(SSL *s, const unsigned char *hashval, diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h index 8f27deb..f4242fa 100644 --- a/ssl/statem/statem_locl.h +++ b/ssl/statem/statem_locl.h @@ -199,9 +199,9 @@ int tls_parse_ctos_early_data(SSL *s, PACKET *pkt, unsigned int context, #ifndef OPENSSL_NO_EC int tls_parse_ctos_ec_pt_formats(SSL *s, PACKET *pkt, unsigned int context, X509 *x, size_t chainidx); +#endif int tls_parse_ctos_supported_groups(SSL *s, PACKET *pkt, unsigned int context, X509 *x, size_t chainidxl); -#endif int tls_parse_ctos_session_ticket(SSL *s, PACKET *pkt, unsigned int context, X509 *x, size_t chainidx); int tls_parse_ctos_sig_algs_cert(SSL *s, PACKET *pkt, unsigned int context, @@ -314,10 +314,11 @@ EXT_RETURN tls_construct_ctos_srp(SSL *s, WPACKET *pkt, unsigned int context, X5 EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx); +#endif EXT_RETURN tls_construct_ctos_supported_groups(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx); -#endif + EXT_RETURN tls_construct_ctos_early_data(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx); diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 52e6d54..dcae274 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -128,12 +128,12 @@ int tls1_clear(SSL *s) return 1; } -#ifndef OPENSSL_NO_EC - /* - * Table of curve information. + * Table of group information. */ +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) static const TLS_GROUP_INFO nid_list[] = { +# ifndef OPENSSL_NO_EC {NID_sect163k1, 80, TLS_GROUP_CURVE_CHAR2, 0x0001}, /* sect163k1 (1) */ {NID_sect163r1, 80, TLS_GROUP_CURVE_CHAR2, 0x0002}, /* sect163r1 (2) */ {NID_sect163r2, 80, TLS_GROUP_CURVE_CHAR2, 0x0003}, /* sect163r2 (3) */ @@ -164,41 +164,56 @@ static const TLS_GROUP_INFO nid_list[] = { {NID_brainpoolP512r1, 256, TLS_GROUP_CURVE_PRIME, 0x001C}, /* brainpool512r1 (28) */ {EVP_PKEY_X25519, 128, TLS_GROUP_CURVE_CUSTOM, 0x001D}, /* X25519 (29) */ {EVP_PKEY_X448, 224, TLS_GROUP_CURVE_CUSTOM, 0x001E}, /* X448 (30) */ +# endif /* OPENSSL_NO_EC */ +# ifndef OPENSSL_NO_DH /* Security bit values for FFDHE groups are updated as per RFC 7919 */ {NID_ffdhe2048, 103, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0100}, /* ffdhe2048 (0x0100) */ {NID_ffdhe3072, 125, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0101}, /* ffdhe3072 (0x0101) */ {NID_ffdhe4096, 150, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0102}, /* ffdhe4096 (0x0102) */ {NID_ffdhe6144, 175, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0103}, /* ffdhe6144 (0x0103) */ {NID_ffdhe8192, 192, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0104}, /* ffdhe8192 (0x0104) */ +# endif /* OPENSSL_NO_DH */ }; +#endif +#ifndef OPENSSL_NO_EC static const unsigned char ecformats_default[] = { TLSEXT_ECPOINTFORMAT_uncompressed, TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime, TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 }; +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ /* The default curves */ +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) static const uint16_t supported_groups_default[] = { +# ifndef OPENSSL_NO_EC 29, /* X25519 (29) */ 23, /* secp256r1 (23) */ 30, /* X448 (30) */ 25, /* secp521r1 (25) */ 24, /* secp384r1 (24) */ +# endif +# ifndef OPENSSL_NO_DH 0x100, /* ffdhe2048 (0x100) */ 0x101, /* ffdhe3072 (0x101) */ 0x102, /* ffdhe4096 (0x102) */ 0x103, /* ffdhe6144 (0x103) */ 0x104, /* ffdhe8192 (0x104) */ +# endif }; +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ +#ifndef OPENSSL_NO_EC static const uint16_t suiteb_curves[] = { TLSEXT_curve_P_256, TLSEXT_curve_P_384 }; +#endif const TLS_GROUP_INFO *tls1_group_id_lookup(uint16_t group_id) { +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) size_t i; /* ECC curves from RFC 4492 and RFC 7027 FFDHE group from RFC 8446 */ @@ -206,9 +221,11 @@ const TLS_GROUP_INFO *tls1_group_id_lookup(uint16_t group_id) if (nid_list[i].group_id == group_id) return &nid_list[i]; } +#endif /* !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) */ return NULL; } +#if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) static uint16_t tls1_nid2group_id(int nid) { size_t i; @@ -219,6 +236,7 @@ static uint16_t tls1_nid2group_id(int nid) } return 0; } +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ /* * Set *pgroups to the supported groups list and *pgroupslen to @@ -227,9 +245,10 @@ static uint16_t tls1_nid2group_id(int nid) void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, size_t *pgroupslen) { - +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) /* For Suite B mode only include P-256, P-384 */ switch (tls1_suiteb(s)) { +# ifndef OPENSSL_NO_EC case SSL_CERT_FLAG_SUITEB_128_LOS: *pgroups = suiteb_curves; *pgroupslen = OSSL_NELEM(suiteb_curves); @@ -244,6 +263,7 @@ void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, *pgroups = suiteb_curves + 1; *pgroupslen = 1; break; +# endif default: if (s->ext.supportedgroups == NULL) { @@ -255,6 +275,10 @@ void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups, } break; } +#else + *pgroups = NULL; + *pgroupslen = 0; +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ } int tls_valid_group(SSL *s, uint16_t group_id, int version) @@ -268,25 +292,25 @@ int tls_valid_group(SSL *s, uint16_t group_id, int version) return 1; } -/* See if curve is allowed by security callback */ -int tls_curve_allowed(SSL *s, uint16_t curve, int op) +/* See if group is allowed by security callback */ +int tls_group_allowed(SSL *s, uint16_t group, int op) { - const TLS_GROUP_INFO *cinfo = tls1_group_id_lookup(curve); - unsigned char ctmp[2]; + const TLS_GROUP_INFO *ginfo = tls1_group_id_lookup(group); + unsigned char gtmp[2]; - if (cinfo == NULL) + if (ginfo == NULL) return 0; -# ifdef OPENSSL_NO_EC2M - if (cinfo->flags & TLS_GROUP_CURVE_CHAR2) +#ifdef OPENSSL_NO_EC2M + if (ginfo->flags & TLS_GROUP_CURVE_CHAR2) return 0; -# endif -# ifdef OPENSSL_NO_DH - if (cinfo->flags & TLS_GROUP_FFDHE) +#endif +#ifdef OPENSSL_NO_DH + if (ginfo->flags & TLS_GROUP_FFDHE) return 0; -# endif - ctmp[0] = curve >> 8; - ctmp[1] = curve & 0xff; - return ssl_security(s, op, cinfo->secbits, cinfo->nid, (void *)ctmp); +#endif + gtmp[0] = group >> 8; + gtmp[1] = group & 0xff; + return ssl_security(s, op, ginfo->secbits, ginfo->nid, (void *)gtmp); } /* Return 1 if "id" is in "list" */ @@ -349,7 +373,7 @@ uint16_t tls1_shared_group(SSL *s, int nmatch) uint16_t id = pref[i]; if (!tls1_in_list(id, supp, num_supp) - || !tls_curve_allowed(s, id, SSL_SECOP_CURVE_SHARED)) + || !tls_group_allowed(s, id, SSL_SECOP_CURVE_SHARED)) continue; if (nmatch == k) return id; @@ -364,6 +388,7 @@ uint16_t tls1_shared_group(SSL *s, int nmatch) int tls1_set_groups(uint16_t **pext, size_t *pextlen, int *groups, size_t ngroups) { +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) uint16_t *glist; size_t i; /* @@ -402,30 +427,36 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen, err: OPENSSL_free(glist); return 0; +#else + return 0; +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ } -# define MAX_CURVELIST OSSL_NELEM(nid_list) +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) +# define MAX_GROUPLIST OSSL_NELEM(nid_list) typedef struct { size_t nidcnt; - int nid_arr[MAX_CURVELIST]; + int nid_arr[MAX_GROUPLIST]; } nid_cb_st; static int nid_cb(const char *elem, int len, void *arg) { nid_cb_st *narg = arg; size_t i; - int nid; + int nid = NID_undef; char etmp[20]; if (elem == NULL) return 0; - if (narg->nidcnt == MAX_CURVELIST) + if (narg->nidcnt == MAX_GROUPLIST) return 0; if (len > (int)(sizeof(etmp) - 1)) return 0; memcpy(etmp, elem, len); etmp[len] = 0; +# ifndef OPENSSL_NO_EC nid = EC_curve_nist2nid(etmp); +# endif if (nid == NID_undef) nid = OBJ_sn2nid(etmp); if (nid == NID_undef) @@ -438,10 +469,12 @@ static int nid_cb(const char *elem, int len, void *arg) narg->nid_arr[narg->nidcnt++] = nid; return 1; } +#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */ /* Set groups based on a colon separate list */ int tls1_set_groups_list(uint16_t **pext, size_t *pextlen, const char *str) { +#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) nid_cb_st ncb; ncb.nidcnt = 0; if (!CONF_parse_list(str, ':', 1, nid_cb, &ncb)) @@ -449,64 +482,9 @@ int tls1_set_groups_list(uint16_t **pext, size_t *pextlen, const char *str) if (pext == NULL) return 1; return tls1_set_groups(pext, pextlen, ncb.nid_arr, ncb.nidcnt); -} -/* Return group id of a key */ -static uint16_t tls1_get_group_id(EVP_PKEY *pkey) -{ - EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); - const EC_GROUP *grp; - - if (ec == NULL) - return 0; - grp = EC_KEY_get0_group(ec); - return tls1_nid2group_id(EC_GROUP_get_curve_name(grp)); -} - -/* Check a key is compatible with compression extension */ -static int tls1_check_pkey_comp(SSL *s, EVP_PKEY *pkey) -{ - const EC_KEY *ec; - const EC_GROUP *grp; - unsigned char comp_id; - size_t i; - - /* If not an EC key nothing to check */ - if (EVP_PKEY_id(pkey) != EVP_PKEY_EC) - return 1; - ec = EVP_PKEY_get0_EC_KEY(pkey); - grp = EC_KEY_get0_group(ec); - - /* Get required compression id */ - if (EC_KEY_get_conv_form(ec) == POINT_CONVERSION_UNCOMPRESSED) { - comp_id = TLSEXT_ECPOINTFORMAT_uncompressed; - } else if (SSL_IS_TLS13(s)) { - /* - * ec_point_formats extension is not used in TLSv1.3 so we ignore - * this check. - */ - return 1; - } else { - int field_type = EC_METHOD_get_field_type(EC_GROUP_method_of(grp)); - - if (field_type == NID_X9_62_prime_field) - comp_id = TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime; - else if (field_type == NID_X9_62_characteristic_two_field) - comp_id = TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2; - else - return 0; - } - /* - * If point formats extension present check it, otherwise everything is - * supported (see RFC4492). - */ - if (s->session->ext.ecpointformats == NULL) - return 1; - - for (i = 0; i < s->session->ext.ecpointformats_len; i++) { - if (s->session->ext.ecpointformats[i] == comp_id) - return 1; - } +#else return 0; +#endif } /* Check a group id matches preferences */ @@ -541,7 +519,7 @@ int tls1_check_group_id(SSL *s, uint16_t group_id, int check_own_groups) return 0; } - if (!tls_curve_allowed(s, group_id, SSL_SECOP_CURVE_CHECK)) + if (!tls_group_allowed(s, group_id, SSL_SECOP_CURVE_CHECK)) return 0; /* For clients, nothing more to check */ @@ -562,6 +540,7 @@ int tls1_check_group_id(SSL *s, uint16_t group_id, int check_own_groups) return tls1_in_list(group_id, groups, groups_len); } +#ifndef OPENSSL_NO_EC void tls1_get_formatlist(SSL *s, const unsigned char **pformats, size_t *num_formats) { @@ -581,6 +560,65 @@ void tls1_get_formatlist(SSL *s, const unsigned char **pformats, } } +/* Check a key is compatible with compression extension */ +static int tls1_check_pkey_comp(SSL *s, EVP_PKEY *pkey) +{ + const EC_KEY *ec; + const EC_GROUP *grp; + unsigned char comp_id; + size_t i; + + /* If not an EC key nothing to check */ + if (EVP_PKEY_id(pkey) != EVP_PKEY_EC) + return 1; + ec = EVP_PKEY_get0_EC_KEY(pkey); + grp = EC_KEY_get0_group(ec); + + /* Get required compression id */ + if (EC_KEY_get_conv_form(ec) == POINT_CONVERSION_UNCOMPRESSED) { + comp_id = TLSEXT_ECPOINTFORMAT_uncompressed; + } else if (SSL_IS_TLS13(s)) { + /* + * ec_point_formats extension is not used in TLSv1.3 so we ignore + * this check. + */ + return 1; + } else { + int field_type = EC_METHOD_get_field_type(EC_GROUP_method_of(grp)); + + if (field_type == NID_X9_62_prime_field) + comp_id = TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime; + else if (field_type == NID_X9_62_characteristic_two_field) + comp_id = TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2; + else + return 0; + } + /* + * If point formats extension present check it, otherwise everything is + * supported (see RFC4492). + */ + if (s->session->ext.ecpointformats == NULL) + return 1; + + for (i = 0; i < s->session->ext.ecpointformats_len; i++) { + if (s->session->ext.ecpointformats[i] == comp_id) + return 1; + } + return 0; +} + +/* Return group id of a key */ +static uint16_t tls1_get_group_id(EVP_PKEY *pkey) +{ + EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); + const EC_GROUP *grp; + + if (ec == NULL) + return 0; + grp = EC_KEY_get0_group(ec); + return tls1_nid2group_id(EC_GROUP_get_curve_name(grp)); +} + /* * Check cert parameters compatible with extensions: currently just checks EC * certificates have compatible curves and compression. diff --git a/test/recipes/70-test_clienthello.t b/test/recipes/70-test_clienthello.t index a6b812a..0ccbc8e 100644 --- a/test/recipes/70-test_clienthello.t +++ b/test/recipes/70-test_clienthello.t @@ -15,6 +15,10 @@ setup("test_clienthello"); plan skip_all => "No TLS/SSL protocols are supported by this OpenSSL build" if alldisabled(grep { $_ ne "ssl3" } available_protocols("tls")); +#No EC with TLSv1.3 confuses the padding calculations in this test +plan skip_all => "No EC with TLSv1.3 is not supported by this test" + if disabled("ec") && !disabled("tls1_3"); + plan tests => 1; ok(run(test(["clienthellotest", srctop_file("test", "session.pem")])), diff --git a/test/recipes/70-test_key_share.t b/test/recipes/70-test_key_share.t index eeec055..b5b0190 100644 --- a/test/recipes/70-test_key_share.t +++ b/test/recipes/70-test_key_share.t @@ -36,7 +36,9 @@ use constant { use constant { X25519 => 0x1d, - P_256 => 0x17 + P_256 => 0x17, + FFDHE2048 => 0x0100, + FFDHE3072 => 0x0101 }; my $testtype; @@ -74,7 +76,11 @@ my $proxy = TLSProxy::Proxy->new( $testtype = EMPTY_EXTENSION; $direction = CLIENT_TO_SERVER; $proxy->filter(\&modify_key_shares_filter); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-groups ffdhe3072"); +} else { + $proxy->serverflags("-groups P-256"); +} $proxy->start() or plan skip_all => "Unable to start up Proxy for tests"; plan tests => 22; ok(TLSProxy::Message->success(), "Success after HRR"); @@ -95,31 +101,52 @@ ok(TLSProxy::Message->fail(), "Missing key_shares extension"); # HelloRetryRequest $proxy->clear(); $proxy->filter(undef); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-groups ffdhe3072"); +} else { + $proxy->serverflags("-groups P-256"); +} $proxy->start(); ok(TLSProxy::Message->success(), "No initial acceptable key_shares"); #Test 5: No acceptable key_shares and no shared groups should fail $proxy->clear(); $proxy->filter(undef); -$proxy->serverflags("-curves P-256"); -$proxy->clientflags("-curves P-384"); +if (disabled("ec")) { + $proxy->serverflags("-groups ffdhe2048"); +} else { + $proxy->serverflags("-groups P-256"); +} +if (disabled("ec")) { + $proxy->clientflags("-groups ffdhe3072"); +} else { + $proxy->clientflags("-groups P-384"); +} $proxy->start(); ok(TLSProxy::Message->fail(), "No acceptable key_shares"); #Test 6: A non preferred but acceptable key_share should succeed $proxy->clear(); $proxy->clientflags("-curves P-256"); +if (disabled("ec")) { + $proxy->clientflags("-groups ffdhe3072"); +} else { + $proxy->clientflags("-groups P-256"); +} $proxy->start(); ok(TLSProxy::Message->success(), "Non preferred key_share"); $proxy->filter(\&modify_key_shares_filter); -#Test 7: An acceptable key_share after a list of non-acceptable ones should -#succeed -$proxy->clear(); -$testtype = ACCEPTABLE_AT_END; -$proxy->start(); -ok(TLSProxy::Message->success(), "Acceptable key_share at end of list"); +SKIP: { + skip "No ec support in this OpenSSL build", 1 if disabled("ec"); + + #Test 7: An acceptable key_share after a list of non-acceptable ones should + #succeed + $proxy->clear(); + $testtype = ACCEPTABLE_AT_END; + $proxy->start(); + ok(TLSProxy::Message->success(), "Acceptable key_share at end of list"); +} #Test 8: An acceptable key_share but for a group not in supported_groups should #fail @@ -156,22 +183,45 @@ ok(TLSProxy::Message->fail(), "key_share list trailing data"); $proxy->clear(); $direction = SERVER_TO_CLIENT; $testtype = LOOK_ONLY; -$proxy->clientflags("-curves P-256:X25519"); +$selectedgroupid = 0; +if (disabled("ec")) { + $proxy->clientflags("-groups ffdhe3072:ffdhe2048"); +} else { + $proxy->clientflags("-groups P-256:X25519"); +} $proxy->start(); -ok(TLSProxy::Message->success() && ($selectedgroupid == P_256), - "Multiple acceptable key_shares"); +if (disabled("ec")) { + ok(TLSProxy::Message->success() && ($selectedgroupid == FFDHE3072), + "Multiple acceptable key_shares"); +} else { + ok(TLSProxy::Message->success() && ($selectedgroupid == P_256), + "Multiple acceptable key_shares"); +} #Test 14: Multiple acceptable key_shares - we choose the first one (part 2) $proxy->clear(); -$proxy->clientflags("-curves X25519:P-256"); +if (disabled("ec")) { + $proxy->clientflags("-curves ffdhe2048:ffdhe3072"); +} else { + $proxy->clientflags("-curves X25519:P-256"); +} $proxy->start(); -ok(TLSProxy::Message->success() && ($selectedgroupid == X25519), - "Multiple acceptable key_shares (part 2)"); +if (disabled("ec")) { + ok(TLSProxy::Message->success() && ($selectedgroupid == FFDHE2048), + "Multiple acceptable key_shares (part 2)"); +} else { + ok(TLSProxy::Message->success() && ($selectedgroupid == X25519), + "Multiple acceptable key_shares (part 2)"); +} #Test 15: Server sends key_share that wasn't offered should fail $proxy->clear(); $testtype = SELECT_X25519; -$proxy->clientflags("-curves P-256"); +if (disabled("ec")) { + $proxy->clientflags("-groups ffdhe3072"); +} else { + $proxy->clientflags("-groups P-256"); +} $proxy->start(); ok(TLSProxy::Message->fail(), "Non offered key_share"); @@ -229,7 +279,11 @@ SKIP: { $proxy->clear(); $direction = SERVER_TO_CLIENT; $testtype = NO_KEY_SHARES_IN_HRR; -$proxy->serverflags("-curves X25519"); +if (disabled("ec")) { + $proxy->serverflags("-groups ffdhe2048"); +} else { + $proxy->serverflags("-groups X25519"); +} $proxy->start(); ok(TLSProxy::Message->fail(), "Server sends HRR with no key_shares"); diff --git a/test/recipes/70-test_sslextension.t b/test/recipes/70-test_sslextension.t index e725b44..93d7f47 100644 --- a/test/recipes/70-test_sslextension.t +++ b/test/recipes/70-test_sslextension.t @@ -217,7 +217,10 @@ SKIP: { $proxy->clientflags("-no_tls1_3 -noservername"); $proxy->start(); ok($fatal_alert, "Unsolicited server name extension"); - +} +SKIP: { + skip "TLS <= 1.2 disabled or EC disabled", 1 + if $no_below_tls13 || disabled("ec"); #Test 5: Inject a noncompliant supported_groups extension (<= TLSv1.2) $proxy->clear(); $proxy->filter(\&inject_unsolicited_extension); diff --git a/test/recipes/70-test_tls13cookie.t b/test/recipes/70-test_tls13cookie.t index 3f324e3..aef2cf8 100644 --- a/test/recipes/70-test_tls13cookie.t +++ b/test/recipes/70-test_tls13cookie.t @@ -46,17 +46,27 @@ my $testtype; #Test 1: Inserting a cookie into an HRR should see it echoed in the ClientHello $testtype = COOKIE_ONLY; $proxy->filter(\&cookie_filter); -$proxy->serverflags("-curves X25519"); +$proxy->serverflags("-curves X25519") if !disabled("ec"); $proxy->start() or plan skip_all => "Unable to start up Proxy for tests"; plan tests => 2; -ok(TLSProxy::Message->success() && $cookieseen == 1, "Cookie seen"); +SKIP: { + skip "EC disabled", 1, if disabled("ec"); + ok(TLSProxy::Message->success() && $cookieseen == 1, "Cookie seen"); +} + + #Test 2: Same as test 1 but should also work where a new key_share is also # required $testtype = COOKIE_AND_KEY_SHARE; $proxy->clear(); -$proxy->clientflags("-curves P-256:X25519"); -$proxy->serverflags("-curves X25519"); +if (disabled("ec")) { + $proxy->clientflags("-curves ffdhe3072:ffdhe2048"); + $proxy->serverflags("-curves ffdhe2048"); +} else { + $proxy->clientflags("-curves P-256:X25519"); + $proxy->serverflags("-curves X25519"); +} $proxy->start(); ok(TLSProxy::Message->success() && $cookieseen == 1, "Cookie seen"); diff --git a/test/recipes/70-test_tls13hrr.t b/test/recipes/70-test_tls13hrr.t index 44ca041..8f6e54e 100644 --- a/test/recipes/70-test_tls13hrr.t +++ b/test/recipes/70-test_tls13hrr.t @@ -43,7 +43,11 @@ use constant { #Test 1: A client should fail if the server changes the ciphersuite between the # HRR and the SH $proxy->filter(\&hrr_filter); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-curves ffdhe3072"); +} else { + $proxy->serverflags("-curves P-256"); +} my $testtype = CHANGE_HRR_CIPHERSUITE; $proxy->start() or plan skip_all => "Unable to start up Proxy for tests"; plan tests => 2; @@ -52,7 +56,11 @@ ok(TLSProxy::Message->fail(), "Server ciphersuite changes"); #Test 2: It is an error if the client changes the offered ciphersuites so that # we end up selecting a different ciphersuite between HRR and the SH $proxy->clear(); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-curves ffdhe3072"); +} else { + $proxy->serverflags("-curves P-256"); +} $proxy->ciphersuitess("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384"); $testtype = CHANGE_CH1_CIPHERSUITE; $proxy->start(); diff --git a/test/recipes/70-test_tls13kexmodes.t b/test/recipes/70-test_tls13kexmodes.t index 3650601..069d614 100644 --- a/test/recipes/70-test_tls13kexmodes.t +++ b/test/recipes/70-test_tls13kexmodes.t @@ -28,6 +28,9 @@ plan skip_all => "$test_name needs the sock feature enabled" plan skip_all => "$test_name needs TLSv1.3 enabled" if disabled("tls1_3"); +plan skip_all => "$test_name needs EC enabled" + if disabled("ec"); + $ENV{OPENSSL_ia32cap} = '~0x200000200000000'; $ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.conf"); diff --git a/test/recipes/70-test_tls13messages.t b/test/recipes/70-test_tls13messages.t index e961528..a3fc35e4 100644 --- a/test/recipes/70-test_tls13messages.t +++ b/test/recipes/70-test_tls13messages.t @@ -28,6 +28,9 @@ plan skip_all => "$test_name needs the sock feature enabled" plan skip_all => "$test_name needs TLSv1.3 enabled" if disabled("tls1_3"); +plan skip_all => "$test_name needs EC enabled" + if disabled("ec"); + $ENV{OPENSSL_ia32cap} = '~0x200000200000000'; $ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.conf"); diff --git a/test/recipes/70-test_tls13psk.t b/test/recipes/70-test_tls13psk.t index 40e6ed1..11031f3f 100644 --- a/test/recipes/70-test_tls13psk.t +++ b/test/recipes/70-test_tls13psk.t @@ -66,7 +66,11 @@ ok(TLSProxy::Message->fail(), "PSK not last"); # ciphersuite. Should see PSK on second ClientHello $proxy->clear(); $proxy->clientflags("-sess_in ".$session); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-curves ffdhe3072"); +} else { + $proxy->serverflags("-curves P-256"); +} $proxy->filter(undef); $proxy->start(); #Check if the PSK is present in the second ClientHello @@ -81,7 +85,11 @@ ok($pskseen, "PSK hash matches"); $proxy->clear(); $proxy->clientflags("-sess_in ".$session); $proxy->filter(\&modify_psk_filter); -$proxy->serverflags("-curves P-256"); +if (disabled("ec")) { + $proxy->serverflags("-curves ffdhe3072"); +} else { + $proxy->serverflags("-curves P-256"); +} $proxy->ciphersuitesc("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384"); $proxy->ciphersuitess("TLS_AES_256_GCM_SHA384"); #We force an early failure because TLS Proxy doesn't actually support diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index 31c4399..04a0c13 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -59,7 +59,7 @@ my %conf_dependent_tests = ( || !disabled("sctp"), "05-sni.conf" => disabled("tls1_1"), "07-dtls-protocol-version.conf" => !$is_default_dtls || !disabled("sctp"), - "10-resumption.conf" => !$is_default_tls, + "10-resumption.conf" => !$is_default_tls || $no_ec, "11-dtls_resumption.conf" => !$is_default_dtls || !disabled("sctp"), "16-dtls-certstatus.conf" => !$is_default_dtls || !disabled("sctp"), "17-renegotiate.conf" => disabled("tls1_2"), diff --git a/test/recipes/90-test_gost.t b/test/recipes/90-test_gost.t index d4f27b8..b01243f 100644 --- a/test/recipes/90-test_gost.t +++ b/test/recipes/90-test_gost.t @@ -21,6 +21,10 @@ plan skip_all => "GOST support is disabled in this OpenSSL build" plan skip_all => "TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build" if disabled("tls1_3") || disabled("tls1_2"); +plan skip_all => "EC is disabled in this OpenSSL build" + if disabled("ec"); + + plan skip_all => "No test GOST engine found" if !$ENV{OPENSSL_GOST_ENGINE_SO}; diff --git a/test/ssl-tests/protocol_version.pm b/test/ssl-tests/protocol_version.pm index 6c2e778..6923e21 100644 --- a/test/ssl-tests/protocol_version.pm +++ b/test/ssl-tests/protocol_version.pm @@ -252,7 +252,7 @@ sub generate_resumption_tests { "client" => { }, "server" => { - "Curves" => "P-256" + "Curves" => disabled("ec") ? "ffdhe3072" : "P-256" }, "resume_client" => { }, diff --git a/test/sslapitest.c b/test/sslapitest.c index efa42a0..9a993f7 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -2960,8 +2960,13 @@ static int early_data_skip_helper(int testtype, int idx) if (testtype == 1 || testtype == 2) { /* Force an HRR to occur */ +#if defined(OPENSSL_NO_EC) + if (!TEST_true(SSL_set1_groups_list(serverssl, "ffdhe3072"))) + goto end; +#else if (!TEST_true(SSL_set1_groups_list(serverssl, "P-256"))) goto end; +#endif } else if (idx == 2) { /* * We force early_data rejection by ensuring the PSK identity is @@ -3738,8 +3743,8 @@ static int test_ciphersuite_change(void) /* * Test TLSv1.3 Key exchange * Test 0 = Test ECDHE Key exchange - * Test 1 = Test FFDHE Key exchange - * Test 2 = Test ECDHE with TLSv1.2 client and TLSv1.2 server + * Test 1 = Test ECDHE with TLSv1.2 client and TLSv1.2 server + * Test 2 = Test FFDHE Key exchange * Test 3 = Test FFDHE with TLSv1.2 client and TLSv1.2 server */ static int test_tls13_key_exchange(int idx) @@ -3747,8 +3752,10 @@ static int test_tls13_key_exchange(int idx) SSL_CTX *sctx = NULL, *cctx = NULL; SSL *serverssl = NULL, *clientssl = NULL; int testresult = 0; +#ifndef OPENSSL_NO_EC int ecdhe_kexch_groups[] = {NID_X9_62_prime256v1, NID_secp384r1, NID_secp521r1, NID_X25519, NID_X448}; +#endif #ifndef OPENSSL_NO_DH int ffdhe_kexch_groups[] = {NID_ffdhe2048, NID_ffdhe3072, NID_ffdhe4096, NID_ffdhe6144, NID_ffdhe8192}; @@ -3761,32 +3768,22 @@ static int test_tls13_key_exchange(int idx) int expected_err_reason = 0; switch (idx) { - case 0: - kexch_groups = ecdhe_kexch_groups; - kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); - break; #ifndef OPENSSL_NO_DH - case 1: + case 3: + max_version = TLS1_2_VERSION; + /* Fall through */ + case 2: kexch_groups = ffdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); break; #endif - case 2: +#ifndef OPENSSL_NO_EC + case 1: + max_version = TLS1_2_VERSION; + /* Fall through */ + case 0: kexch_groups = ecdhe_kexch_groups; kexch_groups_size = OSSL_NELEM(ecdhe_kexch_groups); - max_version = TLS1_2_VERSION; - expected_err_func = SSL_F_TLS_POST_PROCESS_CLIENT_HELLO; - expected_err_reason = SSL_R_NO_SHARED_CIPHER; - want_err = SSL_ERROR_SSL; - break; -#ifndef OPENSSL_NO_DH - case 3: - kexch_groups = ffdhe_kexch_groups; - kexch_groups_size = OSSL_NELEM(ffdhe_kexch_groups); - max_version = TLS1_2_VERSION; - want_err = SSL_ERROR_SSL; - expected_err_func = SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS; - expected_err_reason = ERR_R_INTERNAL_ERROR; break; #endif default: @@ -3805,10 +3802,16 @@ static int test_tls13_key_exchange(int idx) if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, TLS1_3_RFC_AES_128_GCM_SHA256))) goto end; - if (!TEST_true(SSL_CTX_set_cipher_list(sctx, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM))) + if (!TEST_true(SSL_CTX_set_cipher_list(sctx, TLS1_TXT_RSA_WITH_AES_128_SHA))) goto end; - if (!TEST_true(SSL_CTX_set_cipher_list(cctx, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM))) + /* + * Must include an EC ciphersuite so that we send supported groups in + * TLSv1.2 + */ + if (!TEST_true(SSL_CTX_set_cipher_list(cctx, + TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM ":" + TLS1_TXT_RSA_WITH_AES_128_SHA))) goto end; if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, @@ -3828,14 +3831,20 @@ static int test_tls13_key_exchange(int idx) /* Fail if expected error is not happening for failure testcases */ if (expected_err_func) { unsigned long err_code = ERR_get_error(); + ERR_print_errors_fp(stdout); if (TEST_int_eq(ERR_GET_FUNC(err_code), expected_err_func) && TEST_int_eq(ERR_GET_REASON(err_code), expected_err_reason)) testresult = 1; goto end; } - /* If Handshake succeeds the negotiated kexch alg should the first one in configured */ - if (!TEST_int_eq(SSL_get_shared_group(serverssl, 0), kexch_groups[0])) + /* + * If Handshake succeeds the negotiated kexch alg should the first one in + * configured, except in the case of FFDHE groups which are TLSv1.3 only + * so we expect no shared group to exist. + */ + if (!TEST_int_eq(SSL_get_shared_group(serverssl, 0), + idx == 3 ? 0 : kexch_groups[0])) goto end; testresult = 1; @@ -3990,8 +3999,13 @@ static int test_tls13_psk(int idx) goto end; /* Force an HRR */ +#if defined(OPENSSL_NO_EC) + if (!TEST_true(SSL_set1_groups_list(serverssl, "ffdhe3072"))) + goto end; +#else if (!TEST_true(SSL_set1_groups_list(serverssl, "P-256"))) goto end; +#endif /* * Check we can create a connection, the PSK is used and the callbacks are diff --git a/test/tls13ccstest.c b/test/tls13ccstest.c index d89354c..1d0a268 100644 --- a/test/tls13ccstest.c +++ b/test/tls13ccstest.c @@ -315,8 +315,15 @@ static int test_tls13ccs(int tst) if ((tst >= 3 && tst <= 5) || tst >= 9) { /* HRR handshake */ +#if defined(OPENSSL_NO_EC) +# if !defined(OPENSSL_NO_DH) + if (!TEST_true(SSL_CTX_set1_groups_list(sctx, "ffdhe3072"))) + goto err; +# endif +#else if (!TEST_true(SSL_CTX_set1_groups_list(sctx, "P-256"))) goto err; +#endif } s_to_c_fbio = BIO_new(bio_f_watchccs_filter()); From builds at travis-ci.org Mon Jun 17 10:10:47 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 10:10:47 +0000 Subject: Still Failing: openssl/openssl#25826 (master - 8013a93) In-Reply-To: Message-ID: <5d07671cadc10_43fef27e44138254955@186a41f1-9db6-4bff-bae7-251e41a2122c.mail> Build Update for openssl/openssl ------------------------------------- Build: #25826 Status: Still Failing Duration: 31 mins and 1 sec Commit: 8013a93 (master) Author: Richard Levitte Message: Replumbing: Adapt the default and legacy providers to use library context upcall Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9160) View the changeset: https://github.com/openssl/openssl/compare/55a9ca5cc5e1...8013a933dacc View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546660992?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 Jun 17 10:41:39 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 10:41:39 +0000 Subject: Still Failing: openssl/openssl#25829 (master - 65dc5c3) In-Reply-To: Message-ID: <5d076e63995d1_43f9ae3e760b83407cd@1b2c4083-1be3-458a-9472-b36a475a16b1.mail> Build Update for openssl/openssl ------------------------------------- Build: #25829 Status: Still Failing Duration: 22 mins and 10 secs Commit: 65dc5c3 (master) Author: Matt Caswell Message: Fix no-ec with no-dh Make sure that the combination of no-ec with no-dh builds successfully. If neither ec or dh are available then TLSv1.3 is not possible. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9156) View the changeset: https://github.com/openssl/openssl/compare/8013a933dacc...65dc5c3cc10a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546670462?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 Jun 17 14:07:47 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 17 Jun 2019 14:07:47 +0000 Subject: [openssl] master update Message-ID: <1560780467.026059.18631.nullmailer@dev.openssl.org> The branch master has been updated via 26de4ec68f9c332c8d24376b986cd54954d7c6d2 (commit) from 65dc5c3cc10af7c6f24ecd922adb7b6d17a9fe65 (commit) - Log ----------------------------------------------------------------- commit 26de4ec68f9c332c8d24376b986cd54954d7c6d2 Author: Richard Levitte Date: Sat May 25 11:02:59 2019 +0200 Configure: AIX needs a specific DSO extension function DSO extensions are normally derived from platform->shlibextsimple() on Unix. This isn't the case for AIX, so it needs to define its own DSO extension specifically. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9005) ----------------------------------------------------------------------- Summary of changes: Configurations/platform/AIX.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/Configurations/platform/AIX.pm b/Configurations/platform/AIX.pm index f441c15..c6f0e8d 100644 --- a/Configurations/platform/AIX.pm +++ b/Configurations/platform/AIX.pm @@ -12,6 +12,7 @@ require platform::Unix; # Assume someone set @INC right before loading this module use configdata; +sub dsoext { '.so' } sub shlibextsimple { '.a' } # In shared mode, the default static library names clashes with the final From levitte at openssl.org Mon Jun 17 14:14:57 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 17 Jun 2019 14:14:57 +0000 Subject: [openssl] master update Message-ID: <1560780897.939703.20995.nullmailer@dev.openssl.org> The branch master has been updated via 30478c97837a026ba56718f98d490adf7bce2760 (commit) via 3a561b06d9e897a7613843f2bd0752297ab56dd7 (commit) via 8c0098a8de9ad858f575a3aab3b94b1ada773b28 (commit) via 246b50605ff4c278c91c22b84bb7ed3f4bd677ec (commit) via bcb7afe18a46462bb4fdb12c0ff2b4435b08cf78 (commit) via a9bb7e9270d26416cc387bc0777c18f9690e2302 (commit) via 94707b0b68a16e806d27a06d9297732045319197 (commit) via 681c7e905dcc16ed8a0253580a303df4b60c3440 (commit) via 6fe56d84702cbaccf758c4faf6af28f2797ff1d8 (commit) via 2ffea443223a943efff0f642c37824b63b7e3e30 (commit) via 6b90902faf5c8ec6d8b5801d91bc1e87a179e3b7 (commit) via e698cfe4450ddafe9199468692ce5ffd74124df3 (commit) via edc7851a2cb8b53cc280cbfac9319c9b079c57e2 (commit) via 792ea008af17238d2af91301241973dc4f4f544c (commit) via 053d0b2226c224b8833d7d651428453ac65ee7ca (commit) via cd42b9e9c275ab88515259da4eb3802ecda7fa7b (commit) via d67d04f37833b0b2e60367f01f994252bf2e259c (commit) via aa76ff26ce1d1f5404794c7529b419f3de8e06ae (commit) via 6e1ba4721906c0a8486ca5acfb75353fec6c582b (commit) via d9dfeb940c9e0c99d5c41464ca1bc6aa40da4184 (commit) via e6f98ae404344e4aff55c209dc0f91d76e69fb27 (commit) via 989b2ad786ee43438bbb8b33f857ba0ce6e10082 (commit) via b19fe714e9d4c50dcb33259346f06d3924b337b7 (commit) via 0ee7b9fe7f9afadcf566d740e01043faeaa9476e (commit) from 26de4ec68f9c332c8d24376b986cd54954d7c6d2 (commit) - Log ----------------------------------------------------------------- commit 30478c97837a026ba56718f98d490adf7bce2760 Author: Richard Levitte Date: Sun Jun 16 23:01:10 2019 +0200 Configure: final cleanup of asm related things Remove the *_asm templates in Configurations/00-base-templates.conf, all attempts to inherit them, and the asm() perl function. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 3a561b06d9e897a7613843f2bd0752297ab56dd7 Author: Richard Levitte Date: Sun Jun 16 22:39:19 2019 +0200 Move padlock_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 8c0098a8de9ad858f575a3aab3b94b1ada773b28 Author: Richard Levitte Date: Sun Jun 16 22:34:09 2019 +0200 Move keccak1600_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 246b50605ff4c278c91c22b84bb7ed3f4bd677ec Author: Richard Levitte Date: Sun Jun 16 22:28:32 2019 +0200 Move poly1305_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit bcb7afe18a46462bb4fdb12c0ff2b4435b08cf78 Author: Richard Levitte Date: Sun Jun 16 22:21:50 2019 +0200 Move chacha_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit a9bb7e9270d26416cc387bc0777c18f9690e2302 Author: Richard Levitte Date: Sun Jun 16 22:17:26 2019 +0200 Move modes_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 94707b0b68a16e806d27a06d9297732045319197 Author: Richard Levitte Date: Sun Jun 16 22:06:43 2019 +0200 Move cmll_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 681c7e905dcc16ed8a0253580a303df4b60c3440 Author: Richard Levitte Date: Sun Jun 16 22:03:00 2019 +0200 Move wp_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 6fe56d84702cbaccf758c4faf6af28f2797ff1d8 Author: Richard Levitte Date: Sun Jun 16 21:57:13 2019 +0200 Move rc5_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 2ffea443223a943efff0f642c37824b63b7e3e30 Author: Richard Levitte Date: Sun Jun 16 21:54:35 2019 +0200 Move rmd160_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 6b90902faf5c8ec6d8b5801d91bc1e87a179e3b7 Author: Richard Levitte Date: Sun Jun 16 21:50:39 2019 +0200 Move rc4_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit e698cfe4450ddafe9199468692ce5ffd74124df3 Author: Richard Levitte Date: Sun Jun 16 21:46:38 2019 +0200 Move cast_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit edc7851a2cb8b53cc280cbfac9319c9b079c57e2 Author: Richard Levitte Date: Sun Jun 16 21:46:10 2019 +0200 Move sha1_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 792ea008af17238d2af91301241973dc4f4f544c Author: Richard Levitte Date: Sun Jun 16 21:25:52 2019 +0200 Move md5_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 053d0b2226c224b8833d7d651428453ac65ee7ca Author: Richard Levitte Date: Sun Jun 16 21:20:43 2019 +0200 Move bf_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit cd42b9e9c275ab88515259da4eb3802ecda7fa7b Author: Richard Levitte Date: Sun Jun 16 21:03:07 2019 +0200 Move aes_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit d67d04f37833b0b2e60367f01f994252bf2e259c Author: Richard Levitte Date: Sun Jun 16 20:21:48 2019 +0200 Move des_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit aa76ff26ce1d1f5404794c7529b419f3de8e06ae Author: Richard Levitte Date: Sun Jun 16 19:57:52 2019 +0200 Move ec_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 6e1ba4721906c0a8486ca5acfb75353fec6c582b Author: Richard Levitte Date: Sun Jun 16 19:35:08 2019 +0200 Move cpuid_asm_src file information to build.info files Also took away the internal 'debug-linux-ia32-aes' config target, as it's broken (refers to files that no longer exist). Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit d9dfeb940c9e0c99d5c41464ca1bc6aa40da4184 Author: Richard Levitte Date: Sun Jun 16 16:56:25 2019 +0200 Move bn_asm_src file information to build.info files Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit e6f98ae404344e4aff55c209dc0f91d76e69fb27 Author: Richard Levitte Date: Sun Jun 16 13:32:58 2019 +0200 Configure: add mechanism to specify asm target architecture As preparation for moving asm file specs to build.info files, we must make sure there is still some base information to help select the correct files. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 989b2ad786ee43438bbb8b33f857ba0ce6e10082 Author: Richard Levitte Date: Sun Jun 16 12:56:21 2019 +0200 Move uplink file information to build.info files This file information was hidden in config target files, when they should really be part of build.info like any other file we build from. With build.info variables, the task became much easier. We take the opportunity to move apps_init_src and apps_aux_src to apps/build.info as well, and to clean up apps/build.info. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit b19fe714e9d4c50dcb33259346f06d3924b337b7 Author: Richard Levitte Date: Sun Jun 16 12:37:21 2019 +0200 Configure: add mechanism to specify uplink target architecture As preparation for moving uplink file specs to build.info files, we must make sure there is still some base information to help select the correct files. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) commit 0ee7b9fe7f9afadcf566d740e01043faeaa9476e Author: Richard Levitte Date: Sun Jun 16 11:38:30 2019 +0200 Configure: allow conditions and variable values to have variable references This will allow building variables on other variables, and to have conditions based on variable contents. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) ----------------------------------------------------------------------- Summary of changes: Configurations/00-base-templates.conf | 208 -------------------------- Configurations/10-main.conf | 274 ++++++++++++++++++++++------------ Configurations/15-android.conf | 19 ++- Configurations/15-ios.conf | 6 +- Configurations/50-djgpp.conf | 2 +- Configurations/50-haiku.conf | 4 +- Configurations/50-masm.conf | 7 +- Configurations/90-team.norelease.conf | 34 +---- Configurations/README | 61 +------- Configure | 146 ++---------------- NOTES.WIN | 2 - apps/build.info | 49 ++++-- crypto/aes/build.info | 67 ++++++++- crypto/bf/build.info | 15 +- crypto/bn/build.info | 106 ++++++++++++- crypto/build.info | 57 ++++++- crypto/camellia/build.info | 18 ++- crypto/cast/build.info | 16 +- crypto/chacha/build.info | 27 +++- crypto/des/build.info | 16 +- crypto/ec/build.info | 47 +++++- crypto/md5/build.info | 19 ++- crypto/modes/build.info | 52 ++++++- crypto/poly1305/build.info | 36 ++++- crypto/rc4/build.info | 21 ++- crypto/rc5/build.info | 15 +- crypto/ripemd/build.info | 17 ++- crypto/sha/build.info | 78 +++++++++- crypto/whrlpool/build.info | 21 ++- engines/build.info | 20 ++- test/build.info | 29 ++-- 31 files changed, 890 insertions(+), 599 deletions(-) diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index 20298c2..98200af 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -14,28 +14,6 @@ my %targets=( thread_scheme => "(unknown)", # Assume we don't know thread_defines => [], - apps_aux_src => "", - apps_init_src => "", - cpuid_asm_src => "mem_clr.c", - uplink_aux_src => "", - bn_asm_src => "bn_asm.c", - ec_asm_src => "", - des_asm_src => "des_enc.c fcrypt_b.c", - aes_asm_src => "aes_core.c aes_cbc.c", - bf_asm_src => "bf_enc.c", - md5_asm_src => "", - cast_asm_src => "c_enc.c", - rc4_asm_src => "rc4_enc.c rc4_skey.c", - rmd160_asm_src => "", - rc5_asm_src => "rc5_enc.c", - wp_asm_src => "wp_block.c", - cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c", - modes_asm_src => "", - padlock_asm_src => "", - chacha_asm_src => "chacha_enc.c", - poly1305_asm_src => "", - keccak1600_asm_src => "keccak1600.c", - unistd => "", shared_target => "", shared_cflag => "", @@ -168,190 +146,4 @@ my %targets=( perl_platform => 'VMS', }, - - uplink_common => { - template => 1, - apps_init_src => add("../ms/applink.c"), - uplink_aux_src => add("../ms/uplink.c"), - defines => add("OPENSSL_USE_APPLINK"), - }, - x86_uplink => { - inherit_from => [ "uplink_common" ], - template => 1, - uplink_aux_src => add("uplink-x86.s"), - }, - x86_64_uplink => { - inherit_from => [ "uplink_common" ], - template => 1, - uplink_aux_src => add("uplink-x86_64.s"), - }, - ia64_uplink => { - inherit_from => [ "uplink_common" ], - template => 1, - uplink_aux_src => add("uplink-ia64.s"), - }, - - x86_asm => { - template => 1, - cpuid_asm_src => "x86cpuid.s", - bn_asm_src => "bn-586.s co-586.s x86-mont.s x86-gf2m.s", - ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86.s", - des_asm_src => "des-586.s crypt586.s", - aes_asm_src => "aes-586.s vpaes-x86.s aesni-x86.s", - bf_asm_src => "bf-586.s", - md5_asm_src => "md5-586.s", - cast_asm_src => "cast-586.s", - sha1_asm_src => "sha1-586.s sha256-586.s sha512-586.s", - rc4_asm_src => "rc4-586.s", - rmd160_asm_src => "rmd-586.s", - rc5_asm_src => "rc5-586.s", - wp_asm_src => "wp_block.c wp-mmx.s", - cmll_asm_src => "cmll-x86.s", - modes_asm_src => "ghash-x86.s", - padlock_asm_src => "e_padlock-x86.s", - chacha_asm_src => "chacha-x86.s", - poly1305_asm_src=> "poly1305-x86.s", - }, - x86_elf_asm => { - template => 1, - inherit_from => [ "x86_asm" ], - perlasm_scheme => "elf" - }, - x86_64_asm => { - template => 1, - cpuid_asm_src => "x86_64cpuid.s", - bn_asm_src => "asm/x86_64-gcc.c x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s rsaz_exp.c rsaz-x86_64.s rsaz-avx2.s", - ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s", - aes_asm_src => "aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s", - md5_asm_src => "md5-x86_64.s", - sha1_asm_src => "sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s sha256-mb-x86_64.s", - rc4_asm_src => "rc4-x86_64.s rc4-md5-x86_64.s", - wp_asm_src => "wp-x86_64.s", - cmll_asm_src => "cmll-x86_64.s cmll_misc.c", - modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s", - padlock_asm_src => "e_padlock-x86_64.s", - chacha_asm_src => "chacha-x86_64.s", - poly1305_asm_src=> "poly1305-x86_64.s", - keccak1600_asm_src => "keccak1600-x86_64.s", - }, - ia64_asm => { - template => 1, - cpuid_asm_src => "ia64cpuid.s", - bn_asm_src => "bn-ia64.s ia64-mont.s", - aes_asm_src => "aes_core.c aes_cbc.c aes-ia64.s", - sha1_asm_src => "sha1-ia64.s sha256-ia64.s sha512-ia64.s", - modes_asm_src => "ghash-ia64.s", - chacha_asm_src => "chacha-ia64.S", - poly1305_asm_src=> "asm/poly1305-ia64.S", - perlasm_scheme => "void" - }, - sparcv9_asm => { - template => 1, - cpuid_asm_src => "sparcv9cap.c sparccpuid.S", - bn_asm_src => "asm/sparcv8plus.S sparcv9-mont.S sparcv9a-mont.S vis3-mont.S sparct4-mont.S sparcv9-gf2m.S", - ec_asm_src => "ecp_nistz256.c ecp_nistz256-sparcv9.S", - des_asm_src => "des_enc-sparc.S fcrypt_b.c dest4-sparcv9.S", - aes_asm_src => "aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S", - md5_asm_src => "md5-sparcv9.S", - sha1_asm_src => "sha1-sparcv9.S sha256-sparcv9.S sha512-sparcv9.S", - cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c cmllt4-sparcv9.S", - modes_asm_src => "ghash-sparcv9.S", - poly1305_asm_src=> "poly1305-sparcv9.S", - perlasm_scheme => "void" - }, - sparcv8_asm => { - template => 1, - cpuid_asm_src => "", - bn_asm_src => "asm/sparcv8.S", - des_asm_src => "des_enc-sparc.S fcrypt_b.c", - perlasm_scheme => "void" - }, - alpha_asm => { - template => 1, - cpuid_asm_src => "alphacpuid.s", - bn_asm_src => "bn_asm.c alpha-mont.S", - sha1_asm_src => "sha1-alpha.S", - modes_asm_src => "ghash-alpha.S", - perlasm_scheme => "void" - }, - mips32_asm => { - template => 1, - bn_asm_src => "bn-mips.S mips-mont.S", - aes_asm_src => "aes_cbc.c aes-mips.S", - sha1_asm_src => "sha1-mips.S sha256-mips.S", - }, - mips64_asm => { - inherit_from => [ "mips32_asm" ], - template => 1, - sha1_asm_src => add("sha512-mips.S"), - poly1305_asm_src=> "poly1305-mips.S", - }, - s390x_asm => { - template => 1, - cpuid_asm_src => "s390xcap.c s390xcpuid.S", - bn_asm_src => "asm/s390x.S s390x-mont.S s390x-gf2m.s", - aes_asm_src => "aes-s390x.S aes-ctr.fake aes-xts.fake", - sha1_asm_src => "sha1-s390x.S sha256-s390x.S sha512-s390x.S", - rc4_asm_src => "rc4-s390x.s", - modes_asm_src => "ghash-s390x.S", - chacha_asm_src => "chacha-s390x.S", - poly1305_asm_src=> "poly1305-s390x.S", - keccak1600_asm_src => "keccak1600-s390x.S", - }, - armv4_asm => { - template => 1, - cpuid_asm_src => "armcap.c armv4cpuid.S", - bn_asm_src => "bn_asm.c armv4-mont.S armv4-gf2m.S", - ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv4.S", - aes_asm_src => "aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S", - sha1_asm_src => "sha1-armv4-large.S sha256-armv4.S sha512-armv4.S", - modes_asm_src => "ghash-armv4.S ghashv8-armx.S", - chacha_asm_src => "chacha-armv4.S", - poly1305_asm_src=> "poly1305-armv4.S", - keccak1600_asm_src => "keccak1600-armv4.S", - perlasm_scheme => "void" - }, - aarch64_asm => { - template => 1, - cpuid_asm_src => "armcap.c arm64cpuid.S", - ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv8.S", - bn_asm_src => "bn_asm.c armv8-mont.S", - aes_asm_src => "aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S", - sha1_asm_src => "sha1-armv8.S sha256-armv8.S sha512-armv8.S", - modes_asm_src => "ghashv8-armx.S", - chacha_asm_src => "chacha-armv8.S", - poly1305_asm_src=> "poly1305-armv8.S", - keccak1600_asm_src => "keccak1600-armv8.S", - }, - parisc11_asm => { - template => 1, - cpuid_asm_src => "pariscid.s", - bn_asm_src => "bn_asm.c parisc-mont.s", - aes_asm_src => "aes_core.c aes_cbc.c aes-parisc.s", - sha1_asm_src => "sha1-parisc.s sha256-parisc.s sha512-parisc.s", - rc4_asm_src => "rc4-parisc.s", - modes_asm_src => "ghash-parisc.s", - perlasm_scheme => "32" - }, - parisc20_64_asm => { - template => 1, - inherit_from => [ "parisc11_asm" ], - perlasm_scheme => "64", - }, - ppc32_asm => { - template => 1, - cpuid_asm_src => "ppccpuid.s ppccap.c", - bn_asm_src => "bn-ppc.s ppc-mont.s", - aes_asm_src => "aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s", - sha1_asm_src => "sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s sha512p8-ppc.s", - modes_asm_src => "ghashp8-ppc.s", - chacha_asm_src => "chacha-ppc.s", - poly1305_asm_src=> "poly1305-ppc.s poly1305-ppcfp.s", - }, - ppc64_asm => { - inherit_from => [ "ppc32_asm" ], - template => 1, - ec_asm_src => "ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s", - keccak1600_asm_src => "keccak1600-ppc64.s", - }, ); diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 52b23ce..4f5e363 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -221,7 +221,7 @@ my %targets = ( # NB. GNU C has to be configured to use GNU assembler, and not # /usr/ccs/bin/as. Failure to comply will result in compile # failures [at least] in 32-bit build. - inherit_from => [ "solaris-common", asm("x86_elf_asm") ], + inherit_from => [ "solaris-common" ], CC => "gcc", CFLAGS => add_before(picker(default => "-Wall", debug => "-O0 -g", @@ -232,6 +232,8 @@ my %targets = ( bn_ops => "BN_LLONG", shared_cflag => "-fPIC", shared_ldflag => add_before("-shared -static-libgcc"), + asm_arch => 'x86', + perlasm_scheme => 'elf', }, "solaris64-x86_64-gcc" => { # -shared -static-libgcc might appear controversial, but modules @@ -242,7 +244,7 @@ my %targets = ( # code [thanks to inline assembler], I would actually recommend # to consider using gcc shared build even with vendor compiler:-) # -- - inherit_from => [ "solaris-common", asm("x86_64_asm") ], + inherit_from => [ "solaris-common" ], CC => "gcc", CFLAGS => add_before(picker(default => "-Wall", debug => "-O0 -g", @@ -251,6 +253,7 @@ my %targets = ( lib_cppflags => add("-DL_ENDIAN"), ex_libs => add(threads("-pthread")), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "elf", shared_cflag => "-fPIC", shared_ldflag => add_before("-shared -static-libgcc"), @@ -271,7 +274,7 @@ my %targets = ( # Consider switching to solaris64-x86_64-gcc even here... # "solaris64-x86_64-cc" => { - inherit_from => [ "solaris-common", asm("x86_64_asm") ], + inherit_from => [ "solaris-common" ], CC => "cc", CFLAGS => add_before(picker(debug => "-g", release => "-xO5 -xdepend -xbuiltin")), @@ -282,6 +285,7 @@ my %targets = ( lflags => add(threads("-mt")), ex_libs => add(threads("-lpthread")), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "elf", shared_cflag => "-KPIC", shared_ldflag => add_before("-G -dy -z text"), @@ -303,14 +307,18 @@ my %targets = ( shared_ldflag => add_before("-shared"), }, "solaris-sparcv8-gcc" => { - inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ], + inherit_from => [ "solaris-sparcv7-gcc" ], cflags => add_before("-mcpu=v8"), + asm_arch => 'sparcv8', + perlasm_scheme => 'void', }, "solaris-sparcv9-gcc" => { # -m32 should be safe to add as long as driver recognizes # -mcpu=ultrasparc - inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-gcc" ], cflags => add_before("-m32 -mcpu=ultrasparc"), + asm_arch => 'sparcv9', + perlasm_scheme => 'void', }, "solaris64-sparcv9-gcc" => { inherit_from => [ "solaris-sparcv9-gcc" ], @@ -339,17 +347,23 @@ my %targets = ( }, #### "solaris-sparcv8-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v8"), + asm_arch => 'sparcv8', + perlasm_scheme => 'void', }, "solaris-sparcv9-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v8plus"), + asm_arch => 'sparcv9', + perlasm_scheme => 'void', }, "solaris64-sparcv9-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v9"), bn_ops => "BN_LLONG RC4_CHAR", + asm_arch => 'sparcv9', + perlasm_scheme => 'void', multilib => "/64", }, @@ -368,45 +382,49 @@ my %targets = ( shared_sonameflag=> "-Wl,-soname,", }, "irix-mips3-gcc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "gcc", CFLAGS => picker(debug => "-g -O0", release => "-O3"), LDFLAGS => "-static-libgcc", cflags => "-mabi=n32", bn_ops => "RC4_CHAR SIXTY_FOUR_BIT", + asm_arch => 'mips64', perlasm_scheme => "n32", multilib => "32", }, "irix-mips3-cc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "cc", CFLAGS => picker(debug => "-g -O0", release => "-O2"), cflags => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared", bn_ops => "RC4_CHAR SIXTY_FOUR_BIT", + asm_arch => 'mips64', perlasm_scheme => "n32", multilib => "32", }, # N64 ABI builds. "irix64-mips4-gcc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "gcc", CFLAGS => picker(debug => "-g -O0", release => "-O3"), LDFLAGS => "-static-libgcc", cflags => "-mabi=64 -mips4", bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG", + asm_arch => 'mips64', perlasm_scheme => "64", multilib => "64", }, "irix64-mips4-cc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "cc", CFLAGS => picker(debug => "-g -O0", release => "-O2"), cflags => "-64 -mips4 -use_readonly_const -G0 -rdata_shared", bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG", + asm_arch => 'mips64', perlasm_scheme => "64", multilib => "64", }, @@ -466,17 +484,21 @@ my %targets = ( shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", }, "hpux-parisc1_1-gcc" => { - inherit_from => [ "hpux-parisc-gcc", asm("parisc11_asm") ], + inherit_from => [ "hpux-parisc-gcc" ], + asm_arch => 'parisc11', + perlasm_scheme => "32", multilib => "/pa1.1", }, "hpux64-parisc2-gcc" => { - inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => combine(picker(debug => "-O0 -g", release => "-O3")), cflags => add(threads("-pthread")), ex_libs => add("-ldl", threads("-pthread")), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'parisc20_64', + perlasm_scheme => "64", shared_cflag => "-fpic", shared_ldflag => add_before("-shared"), shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", @@ -500,12 +522,14 @@ my %targets = ( shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", }, "hpux-parisc1_1-cc" => { - inherit_from => [ "hpux-parisc-cc", asm("parisc11_asm") ], + inherit_from => [ "hpux-parisc-cc" ], cflags => add_before("+DA1.1"), + asm_arch => 'parisc11', + perlasm_scheme => "32", multilib => "/pa1.1", }, "hpux64-parisc2-cc" => { - inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O3") , @@ -514,6 +538,8 @@ my %targets = ( lib_cppflags => add("-DMD32_XARRAY"), ex_libs => add("-ldl", threads("-lpthread")), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'parisc20_64', + perlasm_scheme => "64", shared_cflag => "+Z", shared_ldflag => add_before("-b"), shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", @@ -522,7 +548,7 @@ my %targets = ( # HP/UX IA-64 targets "hpux-ia64-cc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O2"), @@ -530,12 +556,14 @@ my %targets = ( cppflags => add(threads("-D_REENTRANT")), ex_libs => add("-ldl", threads("-lpthread")), bn_ops => "SIXTY_FOUR_BIT", + asm_arch => 'ia64', + perlasm_scheme => 'void', shared_cflag => "+Z", shared_ldflag => add_before("-b"), multilib => "/hpux32", }, "hpux64-ia64-cc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O3"), @@ -543,31 +571,37 @@ my %targets = ( cppflags => threads("-D_REENTRANT"), ex_libs => add("-ldl", threads("-lpthread")), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'ia64', + perlasm_scheme => 'void', shared_cflag => "+Z", shared_ldflag => add_before("-b"), multilib => "/hpux64", }, # GCC builds... "hpux-ia64-gcc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O3"), cflags => add(threads("-pthread")), ex_libs => add("-ldl", threads("-pthread")), bn_ops => "SIXTY_FOUR_BIT", + asm_arch => 'ia64', + perlasm_scheme => 'void', shared_cflag => "-fpic", shared_ldflag => add_before("-shared"), multilib => "/hpux32", }, "hpux64-ia64-gcc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O3"), cflags => combine("-mlp64", threads("-pthread")), ex_libs => add("-ldl", threads("-pthread")), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'ia64', + perlasm_scheme => 'void', shared_cflag => "-fpic", shared_ldflag => add_before("-shared"), multilib => "/hpux64", @@ -593,20 +627,22 @@ my %targets = ( #### there were even osf1-* configs targeting prior versions provided, #### but not anymore... "tru64-alpha-gcc" => { - inherit_from => [ "BASE_unix", asm("alpha_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-O3", cflags => add("-std=c9x", threads("-pthread")), cppflags => "-D_XOPEN_SOURCE=500 -D_OSF_SOURCE", ex_libs => add("-lrt", threads("-pthread")), # for mlock(2) bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'alpha', + perlasm_scheme => "void", thread_scheme => "pthreads", dso_scheme => "dlfcn", shared_target => "alpha-osf1-shared", shared_extension => ".so", }, "tru64-alpha-cc" => { - inherit_from => [ "BASE_unix", asm("alpha_asm") ], + inherit_from => [ "BASE_unix" ], CC => "cc", CFLAGS => "-tune host -fast", cflags => add("-std1 -readonly_strings", @@ -614,6 +650,8 @@ my %targets = ( cppflags => "-D_XOPEN_SOURCE=500 -D_OSF_SOURCE", ex_libs => add("-lrt", threads("-pthread")), # for mlock(2) bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'alpha', + perlasm_scheme => "void", thread_scheme => "pthreads", dso_scheme => "dlfcn", shared_target => "alpha-osf1-shared", @@ -654,22 +692,25 @@ my %targets = ( }, "linux-ppc" => { - inherit_from => [ "linux-generic32", asm("ppc32_asm") ], + inherit_from => [ "linux-generic32" ], + asm_arch => 'ppc32', perlasm_scheme => "linux32", }, "linux-ppc64" => { - inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DB_ENDIAN"), + asm_arch => 'ppc64', perlasm_scheme => "linux64", multilib => "64", }, "linux-ppc64le" => { - inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DL_ENDIAN"), + asm_arch => 'ppc64', perlasm_scheme => "linux64le", }, @@ -705,43 +746,49 @@ my %targets = ( # # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 # - inherit_from => [ "linux-generic32", asm("armv4_asm") ], + inherit_from => [ "linux-generic32" ], + asm_arch => 'armv4', perlasm_scheme => "linux32", }, "linux-aarch64" => { - inherit_from => [ "linux-generic64", asm("aarch64_asm") ], + inherit_from => [ "linux-generic64" ], + asm_arch => 'aarch64', perlasm_scheme => "linux64", }, "linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32 - inherit_from => [ "linux-generic32", asm("aarch64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=ilp32"), cxxflags => add("-mabi=ilp32"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", + asm_arch => 'aarch64', perlasm_scheme => "linux64", }, "linux-mips32" => { # Configure script adds minimally required -march for assembly # support, if no -march was specified at command line. - inherit_from => [ "linux-generic32", asm("mips32_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=32"), cxxflags => add("-mabi=32"), + asm_arch => 'mips32', perlasm_scheme => "o32", }, # mips32 and mips64 below refer to contemporary MIPS Architecture # specifications, MIPS32 and MIPS64, rather than to kernel bitness. "linux-mips64" => { - inherit_from => [ "linux-generic32", asm("mips64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=n32"), cxxflags => add("-mabi=n32"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", + asm_arch => 'mips64', perlasm_scheme => "n32", multilib => "32", }, "linux64-mips64" => { - inherit_from => [ "linux-generic64", asm("mips64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-mabi=64"), cxxflags => add("-mabi=64"), + asm_arch => 'mips64', perlasm_scheme => "64", multilib => "64", }, @@ -750,13 +797,15 @@ my %targets = ( #### These two targets are a bit aged and are to be used on older Linux #### machines where gcc doesn't understand -m32 and -m64 "linux-elf" => { - inherit_from => [ "linux-generic32", asm("x86_elf_asm") ], + inherit_from => [ "linux-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => "elf", }, "linux-aout" => { - inherit_from => [ "BASE_unix", asm("x86_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => add(picker(default => "-Wall", debug => "-O0 -g", @@ -764,17 +813,19 @@ my %targets = ( lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", thread_scheme => "(unknown)", + asm_arch => 'x86', perlasm_scheme => "a.out", }, #### X86 / X86_64 targets "linux-x86" => { - inherit_from => [ "linux-generic32", asm("x86_asm") ], + inherit_from => [ "linux-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => add("-m32"), cxxflags => add("-m32"), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", + asm_arch => 'x86', perlasm_scheme => "elf", }, "linux-x86-clang" => { @@ -783,11 +834,12 @@ my %targets = ( CXX => "clang++", }, "linux-x86_64" => { - inherit_from => [ "linux-generic64", asm("x86_64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "elf", multilib => "64", }, @@ -797,25 +849,29 @@ my %targets = ( CXX => "clang++", }, "linux-x32" => { - inherit_from => [ "linux-generic32", asm("x86_64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mx32"), cxxflags => add("-mx32"), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT", + asm_arch => 'x86_64', perlasm_scheme => "elf32", multilib => "x32", }, "linux-ia64" => { - inherit_from => [ "linux-generic64", asm("ia64_asm") ], + inherit_from => [ "linux-generic64" ], bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'ia64', + perlasm_scheme => 'void', }, "linux64-s390x" => { - inherit_from => [ "linux-generic64", asm("s390x_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DB_ENDIAN"), + asm_arch => 's390x', perlasm_scheme => "64", multilib => "64", }, @@ -836,44 +892,52 @@ my %targets = ( # yet, because of couple of bugs in glibc # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1... # - inherit_from => [ "linux-generic32", asm("s390x_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-m31 -Wa,-mzarch"), cxxflags => add("-m31 -Wa,-mzarch"), lib_cppflags => add("-DB_ENDIAN"), - bn_asm_src => sub { my $r=join(" ", at _); $r=~s|asm/s390x\.S|bn_asm.c|; $r; }, + asm_arch => 's390x', perlasm_scheme => "31", multilib => "/highgprs", }, #### SPARC Linux setups "linux-sparcv8" => { - inherit_from => [ "linux-generic32", asm("sparcv8_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mcpu=v8"), cxxflags => add("-mcpu=v8"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), + asm_arch => 'sparcv8', + perlasm_scheme => 'void', }, "linux-sparcv9" => { # it's a real mess with -mcpu=ultrasparc option under Linux, # but -Wa,-Av8plus should do the trick no matter what. - inherit_from => [ "linux-generic32", asm("sparcv9_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"), cxxflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), + asm_arch => 'sparcv9', + perlasm_scheme => 'void', }, "linux64-sparcv9" => { # GCC 3.1 is a requirement - inherit_from => [ "linux-generic64", asm("sparcv9_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64 -mcpu=ultrasparc"), cxxflags => add("-m64 -mcpu=ultrasparc"), lib_cppflags => add("-DB_ENDIAN"), bn_ops => "BN_LLONG RC4_CHAR", + asm_arch => 'sparcv9', + perlasm_scheme => 'void', multilib => "64", }, "linux-alpha-gcc" => { - inherit_from => [ "linux-generic64", asm("alpha_asm") ], + inherit_from => [ "linux-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'alpha', + perlasm_scheme => "void", }, "linux-c64xplus" => { inherit_from => [ "BASE_unix" ], @@ -885,15 +949,8 @@ my %targets = ( cppflags => combine("-DOPENSSL_SMALL_FOOTPRINT", threads("-D_REENTRANT")), bn_ops => "BN_LLONG", - cpuid_asm_src => "c64xpluscpuid.s", - bn_asm_src => "asm/bn-c64xplus.asm c64xplus-gf2m.s", - aes_asm_src => "aes-c64xplus.s aes_cbc.c aes-ctr.fake", - sha1_asm_src => "sha1-c64xplus.s sha256-c64xplus.s sha512-c64xplus.s", - rc4_asm_src => "rc4-c64xplus.s", - modes_asm_src => "ghash-c64xplus.s", - chacha_asm_src => "chacha-c64xplus.s", - poly1305_asm_src => "poly1305-c64xplus.s", thread_scheme => "pthreads", + asm_arch => 'c64xplus', perlasm_scheme => "void", dso_scheme => "dlfcn", shared_target => "linux-shared", @@ -932,11 +989,12 @@ my %targets = ( }, "BSD-x86" => { - inherit_from => [ "BSD-generic32", asm("x86_asm") ], + inherit_from => [ "BSD-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", shared_target => "bsd-shared", + asm_arch => 'x86', perlasm_scheme => "a.out", }, "BSD-x86-elf" => { @@ -945,39 +1003,48 @@ my %targets = ( }, "BSD-sparcv8" => { - inherit_from => [ "BSD-generic32", asm("sparcv8_asm") ], + inherit_from => [ "BSD-generic32" ], cflags => add("-mcpu=v8"), lib_cppflags => add("-DB_ENDIAN"), + asm_arch => 'sparcv8', + perlasm_scheme => 'void', }, "BSD-sparc64" => { # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it # simply *happens* to work around a compiler bug in gcc 3.3.3, # triggered by RIPEMD160 code. - inherit_from => [ "BSD-generic64", asm("sparcv9_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DB_ENDIAN -DMD32_REG_T=int"), bn_ops => "BN_LLONG", + asm_arch => 'sparcv9', + perlasm_scheme => 'void', }, "BSD-ia64" => { - inherit_from => [ "BSD-generic64", asm("ia64_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'ia64', + perlasm_scheme => 'void', }, "BSD-x86_64" => { - inherit_from => [ "BSD-generic64", asm("x86_64_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "elf", }, "bsdi-elf-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-fomit-frame-pointer -O3 -Wall", lib_cppflags => "-DPERL5 -DL_ENDIAN", ex_libs => add("-ldl"), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => "elf", thread_scheme => "(unknown)", dso_scheme => "dlfcn", shared_target => "bsd-gcc-shared", @@ -1030,7 +1097,7 @@ my %targets = ( thread_scheme => "uithreads", }, "unixware-7" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "cc", CFLAGS => "-O", cflags => combine("-Kalloca", threads("-Kthread")), @@ -1038,13 +1105,14 @@ my %targets = ( ex_libs => add("-lsocket -lnsl"), thread_scheme => "uithreads", bn_ops => "BN_LLONG", + asm_arch => 'x86', perlasm_scheme => "elf-1", dso_scheme => "dlfcn", shared_target => "svr5-shared", shared_cflag => "-Kpic", }, "unixware-7-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-O3 -fomit-frame-pointer -Wall", cppflags => add(threads("-D_REENTRANT")), @@ -1052,6 +1120,7 @@ my %targets = ( ex_libs => add("-lsocket -lnsl"), bn_ops => "BN_LLONG", thread_scheme => "pthreads", + asm_arch => 'x86', perlasm_scheme => "elf-1", dso_scheme => "dlfcn", shared_target => "gnu-shared", @@ -1059,23 +1128,25 @@ my %targets = ( }, # SCO 5 - Ben Laurie says the -O breaks the SCO cc. "sco5-cc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], cc => "cc", cflags => "-belf", ex_libs => add("-lsocket -lnsl"), thread_scheme => "(unknown)", + asm_arch => 'x86', perlasm_scheme => "elf-1", dso_scheme => "dlfcn", shared_target => "svr3-shared", shared_cflag => "-Kpic", }, "sco5-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], cc => "gcc", cflags => "-O3 -fomit-frame-pointer", ex_libs => add("-lsocket -lnsl"), bn_ops => "BN_LLONG", thread_scheme => "(unknown)", + asm_arch => 'x86', perlasm_scheme => "elf-1", dso_scheme => "dlfcn", shared_target => "svr3-shared", @@ -1103,26 +1174,28 @@ my %targets = ( perl_platform => 'AIX', }, "aix-gcc" => { - inherit_from => [ "aix-common", asm("ppc32_asm") ], + inherit_from => [ "aix-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => add(threads("-pthread")), ex_libs => threads("-pthread"), bn_ops => "BN_LLONG RC4_CHAR", + asm_arch => 'ppc32', perlasm_scheme => "aix32", shared_ldflag => add_before("-shared -static-libgcc"), AR => add("-X32"), RANLIB => add("-X32"), }, "aix64-gcc" => { - inherit_from => [ "aix-common", asm("ppc64_asm") ], + inherit_from => [ "aix-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => combine("-maix64", threads("-pthread")), ex_libs => threads("-pthread"), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'ppc64', perlasm_scheme => "aix64", shared_ldflag => add_before("-shared -static-libgcc"), shared_extension => "64.so.\$(SHLIB_VERSION_NUMBER)", @@ -1130,7 +1203,7 @@ my %targets = ( RANLIB => add("-X64"), }, "aix-cc" => { - inherit_from => [ "aix-common", asm("ppc32_asm") ], + inherit_from => [ "aix-common" ], CC => "cc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), @@ -1139,13 +1212,14 @@ my %targets = ( cppflags => threads("-D_THREAD_SAFE"), ex_libs => threads("-lpthreads"), bn_ops => "BN_LLONG RC4_CHAR", + asm_arch => 'ppc32', perlasm_scheme => "aix32", shared_cflag => "-qpic", AR => add("-X32"), RANLIB => add("-X32"), }, "aix64-cc" => { - inherit_from => [ "aix-common", asm("ppc64_asm") ], + inherit_from => [ "aix-common" ], CC => "cc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), @@ -1154,6 +1228,7 @@ my %targets = ( cppflags => threads("-D_THREAD_SAFE"), ex_libs => threads("-lpthreads"), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'ppc64', perlasm_scheme => "aix64", dso_scheme => "dlfcn", shared_cflag => "-qpic", @@ -1216,7 +1291,6 @@ my %targets = ( shared_target => "win-shared", # meaningless except it gives Configure a hint thread_scheme => "winthreads", dso_scheme => "win32", - apps_aux_src => add("win32_init.c"), bn_ops => "EXPORT_VAR_AS_FN", perl_platform => 'Windows::MSVC', # additional parameter to build_scheme denotes install-path "flavour" @@ -1272,33 +1346,30 @@ my %targets = ( bn_ops => add("SIXTY_FOUR_BIT"), }, "VC-WIN64I" => { - inherit_from => [ "VC-WIN64-common", asm("ia64_asm"), - sub { $disabled{uplink} ? () : "ia64_uplink" } ], + inherit_from => [ "VC-WIN64-common" ], AS => "ias", ASFLAGS => "-d debug", asoutflag => "-o ", sys_id => "WIN64I", - bn_asm_src => sub { return undef unless @_; - my $r=join(" ", at _); $r=~s|bn-ia64.s|bn_asm.c|; $r; }, + uplink_arch => 'ia64', + asm_arch => 'ia64', perlasm_scheme => "ias", multilib => "-ia64", }, "VC-WIN64A" => { - inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"), - sub { $disabled{uplink} ? () : "x86_64_uplink" } ], + inherit_from => [ "VC-WIN64-common" ], AS => sub { vc_win64a_info()->{AS} }, ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, asoutflag => sub { vc_win64a_info()->{asoutflag} }, asflags => sub { vc_win64a_info()->{asflags} }, sys_id => "WIN64A", - bn_asm_src => sub { return undef unless @_; - my $r=join(" ", at _); $r=~s|asm/x86_64-gcc|bn_asm|; $r; }, + uplink_arch => 'x86_64', + asm_arch => 'x86_64', perlasm_scheme => "auto", multilib => "-x64", }, "VC-WIN32" => { - inherit_from => [ "VC-noCE-common", asm("x86_asm"), - sub { $disabled{uplink} ? () : "uplink_common" } ], + inherit_from => [ "VC-noCE-common" ], CFLAGS => add("/WX"), AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, @@ -1306,6 +1377,8 @@ my %targets = ( asflags => sub { vc_win32_info()->{asflags} }, sys_id => "WIN32", bn_ops => add("BN_LLONG"), + uplink_arch => 'common', + asm_arch => 'x86', perlasm_scheme => sub { vc_win32_info()->{perlasm_scheme} }, # "WOW" stands for "Windows on Windows", and "VC-WOW" engages # some installation path heuristics in windows-makefile.tmpl... @@ -1376,34 +1449,36 @@ my %targets = ( shared_target => "mingw-shared", shared_cppflags => add("_WINDLL"), shared_ldflag => "-static-libgcc", - apps_aux_src => add("win32_init.c"), perl_platform => 'mingw', }, "mingw" => { - inherit_from => [ "mingw-common", asm("x86_asm"), - sub { $disabled{uplink} ? () : "x86_uplink" } ], + inherit_from => [ "mingw-common" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => "-m32", sys_id => "MINGW32", bn_ops => add("BN_LLONG"), + asm_arch => 'x86', + uplink_arch => 'x86', perlasm_scheme => "coff", shared_rcflag => "--target=pe-i386", multilib => "", }, "mingw64" => { - # As for OPENSSL_USE_APPLINK. Applink makes it possible to use + # As for uplink_arch. Applink makes it possible to use # .dll compiled with one compiler with application compiled with # another compiler. It's possible to engage Applink support in - # mingw64 build, but it's not done, because till mingw64 + # mingw64 build, but it's not done, because until mingw64 # supports structured exception handling, one can't seriously # consider its binaries for using with non-mingw64 run-time # environment. And as mingw64 is always consistent with itself, # Applink is never engaged and can as well be omitted. - inherit_from => [ "mingw-common", asm("x86_64_asm") ], + inherit_from => [ "mingw-common" ], cflags => "-m64", sys_id => "MINGW64", bn_ops => add("SIXTY_FOUR_BIT"), + asm_arch => 'x86_64', + uplink_arch => undef, perlasm_scheme => "mingw64", shared_rcflag => "--target=pe-x86-64", multilib => "64", @@ -1448,15 +1523,17 @@ my %targets = ( perl_platform => 'Cygwin', }, "Cygwin-x86" => { - inherit_from => [ "Cygwin-common", asm("x86_asm") ], + inherit_from => [ "Cygwin-common" ], CFLAGS => add(picker(release => "-O3 -fomit-frame-pointer")), bn_ops => "BN_LLONG", + asm_arch => 'x86', perlasm_scheme => "coff", }, "Cygwin-x86_64" => { - inherit_from => [ "Cygwin-common", asm("x86_64_asm") ], + inherit_from => [ "Cygwin-common" ], CC => "gcc", bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "mingw64", }, # Backward compatibility for those using this target @@ -1500,46 +1577,51 @@ my %targets = ( # with future defaults for below two targets, because MacOS X # for PPC has no future, it was discontinued by vendor in 2009. "darwin-ppc-cc" => { - inherit_from => [ "darwin-common", asm("ppc32_asm") ], + inherit_from => [ "darwin-common" ], cflags => add("-arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL"), lib_cppflags => add("-DB_ENDIAN"), shared_cflag => add("-fno-common"), + asm_arch => 'ppc32', perlasm_scheme => "osx32", }, "darwin64-ppc-cc" => { - inherit_from => [ "darwin-common", asm("ppc64_asm") ], + inherit_from => [ "darwin-common" ], cflags => add("-arch ppc64 -std=gnu9x"), lib_cppflags => add("-DB_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'ppc64', perlasm_scheme => "osx64", }, "darwin-i386-cc" => { - inherit_from => [ "darwin-common", asm("x86_asm") ], + inherit_from => [ "darwin-common" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => add("-arch i386"), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG RC4_INT", + asm_arch => 'x86', perlasm_scheme => "macosx", }, "darwin64-x86_64-cc" => { - inherit_from => [ "darwin-common", asm("x86_64_asm") ], + inherit_from => [ "darwin-common" ], CFLAGS => add("-Wall"), cflags => add("-arch x86_64"), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", + asm_arch => 'x86_64', perlasm_scheme => "macosx", }, ##### GNU Hurd "hurd-x86" => { inherit_from => [ "BASE_unix" ], - inherit_from => [ asm("x86_elf_asm") ], CC => "gcc", CFLAGS => "-O3 -fomit-frame-pointer -Wall", cflags => threads("-pthread"), lib_cppflags => "-DL_ENDIAN", ex_libs => add("-ldl", threads("-pthread")), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => 'elf', thread_scheme => "pthreads", dso_scheme => "dlfcn", shared_target => "linux-shared", @@ -1629,7 +1711,7 @@ my %targets = ( ranlib => "ranlibpentium", }, "vxworks-mips" => { - inherit_from => [ "BASE_unix", asm("mips32_asm") ], + inherit_from => [ "BASE_unix" ], CC => "ccmips", CFLAGS => "-O -G 0", cflags => "-mrtp -mips2 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -msoft-float -mno-branch-likely -fno-builtin -fno-defer-pop", @@ -1644,6 +1726,7 @@ my %targets = ( lflags => add("-L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon"), ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"), thread_scheme => "pthreads", + asm_arch => 'mips32', perlasm_scheme => "o32", ranlib => "ranlibmips", }, @@ -1725,8 +1808,6 @@ my %targets = ( disable => add('pinshared'), - apps_aux_src => "vms_term_sock.c vms_decc_argv.c", - apps_init_src => "vms_decc_init.c", }, # From HELP CC/POINTER_SIZE: @@ -1759,13 +1840,12 @@ my %targets = ( pointer_size => "64", }, "vms-ia64" => { - inherit_from => [ "vms-generic", - sub { vms_info()->{AS} - ? asm("ia64_asm")->() : () } ], + inherit_from => [ "vms-generic" ], bn_ops => "SIXTY_FOUR_BIT RC4_INT", + asm_arch => sub { vms_info()->{AS} ? 'ia64' : undef }, + perlasm_scheme => 'ias', pointer_size => "", - modes_asm_src => "", # Because ghash-ia64.s doesn't work on VMS }, "vms-ia64-p32" => { inherit_from => [ "vms-ia64" ], diff --git a/Configurations/15-android.conf b/Configurations/15-android.conf index 7b496a4..69c3693 100644 --- a/Configurations/15-android.conf +++ b/Configurations/15-android.conf @@ -199,18 +199,22 @@ my %targets = ( # -march and/or -mfloat-abi flags. NDK defaults to armv5te. # Newer NDK versions reportedly require additional -latomic. # - inherit_from => [ "android", asm("armv4_asm") ], + inherit_from => [ "android" ], bn_ops => add("RC4_CHAR"), + asm_arch => 'armv4', + perlasm_scheme => "void", }, "android-arm64" => { - inherit_from => [ "android", asm("aarch64_asm") ], + inherit_from => [ "android" ], bn_ops => add("RC4_CHAR"), + asm_arch => 'aarch64', perlasm_scheme => "linux64", }, "android-mips" => { - inherit_from => [ "android", asm("mips32_asm") ], + inherit_from => [ "android" ], bn_ops => add("RC4_CHAR"), + asm_arch => 'mips32', perlasm_scheme => "o32", }, "android-mips64" => { @@ -223,20 +227,23 @@ my %targets = ( # with previous MIPS ISA versions, in sense that unlike # prior versions original MIPS binary code will fail. # - inherit_from => [ "android", asm("mips64_asm") ], + inherit_from => [ "android" ], bn_ops => add("RC4_CHAR"), + asm_arch => 'mips64', perlasm_scheme => "64", }, "android-x86" => { - inherit_from => [ "android", asm("x86_asm") ], + inherit_from => [ "android" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), bn_ops => add("RC4_INT"), + asm_arch => 'x86', perlasm_scheme => "android", }, "android-x86_64" => { - inherit_from => [ "android", asm("x86_64_asm") ], + inherit_from => [ "android" ], bn_ops => add("RC4_INT"), + asm_arch => 'x86_64', perlasm_scheme => "elf", }, diff --git a/Configurations/15-ios.conf b/Configurations/15-ios.conf index 1bb9f48..a95f808 100644 --- a/Configurations/15-ios.conf +++ b/Configurations/15-ios.conf @@ -13,19 +13,21 @@ my %targets = ( disable => [ "engine", "async" ], }, "ios-xcrun" => { - inherit_from => [ "ios-common", asm("armv4_asm") ], + inherit_from => [ "ios-common" ], # It should be possible to go below iOS 6 and even add -arch armv6, # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant # at this point. CC => "xcrun -sdk iphoneos cc", cflags => add("-arch armv7 -mios-version-min=6.0.0 -fno-common"), + asm_arch => 'armv4', perlasm_scheme => "ios32", }, "ios64-xcrun" => { - inherit_from => [ "ios-common", asm("aarch64_asm") ], + inherit_from => [ "ios-common" ], CC => "xcrun -sdk iphoneos cc", cflags => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + asm_arch => 'aarch64', perlasm_scheme => "ios64", }, "iossimulator-xcrun" => { diff --git a/Configurations/50-djgpp.conf b/Configurations/50-djgpp.conf index a8853a8..1688892 100644 --- a/Configurations/50-djgpp.conf +++ b/Configurations/50-djgpp.conf @@ -4,7 +4,6 @@ my %targets = ( "DJGPP" => { - inherit_from => [ asm("x86_asm") ], CC => "gcc", CFLAGS => "-fomit-frame-pointer -O2 -Wall", cflags => "-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN", @@ -12,6 +11,7 @@ my %targets = ( lflags => add("-L/dev/env/WATT_ROOT/lib"), ex_libs => add("-lwatt"), bn_ops => "BN_LLONG", + asm_arch => 'x86', perlasm_scheme => "a.out", }, ); diff --git a/Configurations/50-haiku.conf b/Configurations/50-haiku.conf index 5bc4db5..d37ab83 100644 --- a/Configurations/50-haiku.conf +++ b/Configurations/50-haiku.conf @@ -18,9 +18,11 @@ my %targets = ( perl_platform => 'Unix', }, "haiku-x86" => { - inherit_from => [ "haiku-common", asm("x86_elf_asm") ], + inherit_from => [ "haiku-common" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => 'elf', }, "haiku-x86_64" => { inherit_from => [ "haiku-common" ], diff --git a/Configurations/50-masm.conf b/Configurations/50-masm.conf index 2c55ddd..587a1e7 100644 --- a/Configurations/50-masm.conf +++ b/Configurations/50-masm.conf @@ -9,15 +9,14 @@ my %targets = ( "VC-WIN64A-masm" => { - inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"), - sub { $disabled{shared} ? () : "x86_64_uplink" } ], + inherit_from => [ "VC-WIN64-common" ], AS => "ml64", ASFLAGS => "/nologo /Zi", asoutflag => "/Fo", asflags => "/c /Cp /Cx", sys_id => "WIN64A", - bn_asm_src => sub { return undef unless @_; - my $r=join(" ", at _); $r=~s|asm/x86_64-gcc|bn_asm|; $r; }, + uplink_arch => 'x86_64', + asm_arch => 'x86_64', perlasm_scheme => "masm", }, ); diff --git a/Configurations/90-team.norelease.conf b/Configurations/90-team.norelease.conf index 7f738e4..8ad05a6 100644 --- a/Configurations/90-team.norelease.conf +++ b/Configurations/90-team.norelease.conf @@ -24,6 +24,7 @@ my %targets = ( ex_libs => add(" ","-ldl"), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", + asm_arch => 'x86_64', perlasm_scheme => "elf", dso_scheme => "dlfcn", shared_target => "linux-shared", @@ -38,6 +39,8 @@ my %targets = ( threads("-D_REENTRANT")), ex_libs => add(" ","-ldl"), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => 'elf', thread_scheme => "pthreads", dso_scheme => "dlfcn", }, @@ -48,36 +51,11 @@ my %targets = ( threads("-D_REENTRANT")), ex_libs => add(" ","-ldl"), bn_ops => "BN_LLONG", + asm_arch => 'x86', + perlasm_scheme => 'elf', thread_scheme => "pthreads", dso_scheme => "dlfcn", }, - "debug-linux-ia32-aes" => { - inherit_from => [ 'BASE_unix' ], - cc => "gcc", - cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall", - threads("-D_REENTRANT")), - ex_libs => add(" ","-ldl"), - bn_ops => "BN_LLONG", - cpuid_asm_src => "x86cpuid.s", - bn_asm_src => "bn-586.s co-586.s x86-mont.s", - des_asm_src => "des-586.s crypt586.s", - aes_asm_src => "aes_x86core.s aes_cbc.s aesni-x86.s", - bf_asm_src => "bf-586.s", - md5_asm_src => "md5-586.s", - sha1_asm_src => "sha1-586.s sha256-586.s sha512-586.s", - cast_asm_src => "cast-586.s", - rc4_asm_src => "rc4-586.s", - rmd160_asm_src => "rmd-586.s", - rc5_asm_src => "rc5-586.s", - wp_asm_src => "wp_block.s wp-mmx.s", - modes_asm_src => "ghash-x86.s", - padlock_asm_src => "e_padlock-x86.s", - thread_scheme => "pthreads", - perlasm_scheme => "elf", - dso_scheme => "dlfcn", - shared_target => "linux-shared", - shared_cflag => "-fPIC", - }, "debug-test-64-clang" => { inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "clang", @@ -86,6 +64,7 @@ my %targets = ( threads("${BSDthreads}")), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", + asm_arch => 'x86_64', perlasm_scheme => "elf", dso_scheme => "dlfcn", shared_target => "bsd-gcc-shared", @@ -101,6 +80,7 @@ my %targets = ( sys_id => "MACOSX", bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", + asm_arch => 'x86_64', perlasm_scheme => "macosx", dso_scheme => "dlfcn", shared_target => "darwin-shared", diff --git a/Configurations/README b/Configurations/README index 8efabb3..fa99539 100644 --- a/Configurations/README +++ b/Configurations/README @@ -165,6 +165,13 @@ In each table entry, the following keys are significant: that use dlopen() et al but do not have fcntl.h), "DL" (shl_load() et al), "WIN32" and "VMS". + asm_arch => The architecture to be used for compiling assembly + source. This acts as a selector in build.info files. + uplink_arch => The architecture to be used for compiling uplink + source. This acts as a selector in build.info files. + This is separate from asm_arch because it's compiled + even when 'no-asm' is given, even though it contains + assembler source. perlasm_scheme => The perlasm method used to create the assembler files used when compiling with assembler implementations. @@ -233,60 +240,6 @@ In each table entry, the following keys are significant: export vars as accessor functions. - apps_aux_src => Extra source to build apps/openssl and other - apps, as needed by the target and that can be - collected in a library. - apps_init_src => Init source to build apps/openssl and other - apps, as needed by the target. This code - cannot be placed in a library, as the rest - of the code isn't expected to link to it - explicitly. - cpuid_asm_src => assembler implementation of cpuid code as - well as OPENSSL_cleanse(). - Default to mem_clr.c - bn_asm_src => Assembler implementation of core bignum - functions. - Defaults to bn_asm.c - ec_asm_src => Assembler implementation of core EC - functions. - des_asm_src => Assembler implementation of core DES - encryption functions. - Defaults to 'des_enc.c fcrypt_b.c' - aes_asm_src => Assembler implementation of core AES - functions. - Defaults to 'aes_core.c aes_cbc.c' - bf_asm_src => Assembler implementation of core BlowFish - functions. - Defaults to 'bf_enc.c' - md5_asm_src => Assembler implementation of core MD5 - functions. - sha1_asm_src => Assembler implementation of core SHA1, - functions, and also possibly SHA256 and - SHA512 ones. - cast_asm_src => Assembler implementation of core CAST - functions. - Defaults to 'c_enc.c' - rc4_asm_src => Assembler implementation of core RC4 - functions. - Defaults to 'rc4_enc.c rc4_skey.c' - rmd160_asm_src => Assembler implementation of core RMD160 - functions. - rc5_asm_src => Assembler implementation of core RC5 - functions. - Defaults to 'rc5_enc.c' - wp_asm_src => Assembler implementation of core WHIRLPOOL - functions. - cmll_asm_src => Assembler implementation of core CAMELLIA - functions. - Defaults to 'camellia.c cmll_misc.c cmll_cbc.c' - modes_asm_src => Assembler implementation of cipher modes, - currently the functions gcm_gmult_4bit and - gcm_ghash_4bit. - padlock_asm_src => Assembler implementation of core parts of - the padlock engine. This is mandatory on - any platform where the padlock engine might - actually be built. - [1] as part of the target configuration, one can have a key called 'inherit_from' that indicate what other configurations to inherit diff --git a/Configure b/Configure index c3f4f99..6d9451e 100755 --- a/Configure +++ b/Configure @@ -1135,6 +1135,12 @@ foreach my $feature (@{$target{enable}}) { delete $disabled{$feature}; } } + +# If uplink_arch isn't defined, disable uplink +$disabled{uplink} = 'no uplink_arch' unless (defined $target{uplink_arch}); +# If asm_arch isn't defined, disable asm +$disabled{asm} = 'no asm_arch' unless (defined $target{asm_arch}); + disable(); # Run a cascade now $target{CXXFLAGS}//=$target{CFLAGS} if $target{CXX}; @@ -1398,107 +1404,6 @@ if ($target{sys_id} ne "") } unless ($disabled{asm}) { - $target{cpuid_asm_src}=$table{DEFAULTS}->{cpuid_asm_src} if ($config{processor} eq "386"); - if ($target{cpuid_asm_src} ne "mem_clr.c") { - push @{$config{lib_defines}}, "OPENSSL_CPUID_OBJ"; - push @{$config{module_defines}}, "OPENSSL_CPUID_OBJ"; - } - - $target{bn_asm_src} =~ s/\w+-gf2m.c// if (defined($disabled{ec2m})); - - # bn-586 is the only one implementing bn_*_part_words - if ($target{bn_asm_src} =~ /bn-586/) { - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_PART_WORDS"; - push @{$config{module_defines}}, "OPENSSL_BN_ASM_PART_WORDS"; - } - if (!$disabled{sse2} && $target{bn_asm_src} =~ /86/) { - push @{$config{lib_defines}}, "OPENSSL_IA32_SSE2"; - push @{$config{module_defines}}, "OPENSSL_IA32_SSE2"; - } - - if ($target{bn_asm_src} =~ /-mont/) { - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT"; - push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT"; - } - if ($target{bn_asm_src} =~ /-mont5/) { - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_MONT5"; - push @{$config{module_defines}}, "OPENSSL_BN_ASM_MONT5"; - } - if ($target{bn_asm_src} =~ /-gf2m/) { - push @{$config{lib_defines}}, "OPENSSL_BN_ASM_GF2m"; - push @{$config{module_defines}}, "OPENSSL_BN_ASM_GF2m"; - } - if ($target{bn_asm_src} =~ /-div3w/) { - push @{$config{lib_defines}}, "BN_DIV3W"; - push @{$config{module_defines}}, "BN_DIV3W"; - } - - if ($target{sha1_asm_src}) { - push @{$config{lib_defines}}, "SHA1_ASM" if ($target{sha1_asm_src} =~ /sx86/ || $target{sha1_asm_src} =~ /sha1/); - push @{$config{lib_defines}}, "SHA256_ASM" if ($target{sha1_asm_src} =~ /sha256/); - push @{$config{lib_defines}}, "SHA512_ASM" if ($target{sha1_asm_src} =~ /sha512/); - } - if ($target{keccak1600_asm_src} ne $table{DEFAULTS}->{keccak1600_asm_src}) { - push @{$config{lib_defines}}, "KECCAK1600_ASM"; - } - if ($target{rc4_asm_src} ne $table{DEFAULTS}->{rc4_asm_src}) { - push @{$config{lib_defines}}, "RC4_ASM"; - } - if ($target{md5_asm_src}) { - push @{$config{lib_defines}}, "MD5_ASM"; - } - $target{cast_asm_src}=$table{DEFAULTS}->{cast_asm_src} unless $disabled{pic}; # CAST assembler is not PIC - if ($target{rmd160_asm_src}) { - push @{$config{lib_defines}}, "RMD160_ASM"; - } - if ($target{aes_asm_src}) { - if ($target{aes_asm_src} =~ m/\baes-/) { - push @{$config{lib_defines}}, "AES_ASM"; - push @{$config{module_defines}}, "AES_ASM"; - } - # aes-ctr.fake is not a real file, only indication that assembler - # module implements AES_ctr32_encrypt... - if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//) { - push @{$config{lib_defines}}, "AES_CTR_ASM"; - push @{$config{module_defines}}, "AES_CTR_ASM"; - } - # aes-xts.fake indicates presence of AES_xts_[en|de]crypt... - if ($target{aes_asm_src} =~ s/\s*aes-xts\.fake//) { - push @{$config{lib_defines}}, "AES_XTS_ASM"; - push @{$config{module_defines}}, "AES_XTS_ASM"; - } - $target{aes_asm_src} =~ s/\s*(vpaes|aesni)-x86\.s//g if ($disabled{sse2}); - if ($target{aes_asm_src} =~ m/vpaes/) { - push @{$config{lib_defines}}, "VPAES_ASM"; - push @{$config{module_defines}}, "VPAES_ASM"; - } - if ($target{aes_asm_src} =~ m/bsaes/) { - push @{$config{lib_defines}}, "BSAES_ASM"; - push @{$config{module_defines}}, "BSAES_ASM"; - } - } - if ($target{wp_asm_src} =~ /mmx/) { - if ($config{processor} eq "386") { - $target{wp_asm_src}=$table{DEFAULTS}->{wp_asm_src}; - } elsif (!$disabled{"whirlpool"}) { - push @{$config{lib_defines}}, "WHIRLPOOL_ASM"; - } - } - if ($target{modes_asm_src} =~ /ghash-/) { - push @{$config{lib_defines}}, "GHASH_ASM"; - } - if ($target{ec_asm_src} =~ /ecp_nistz256/) { - push @{$config{lib_defines}}, "ECP_NISTZ256_ASM"; - } - if ($target{ec_asm_src} =~ /x25519/) { - push @{$config{lib_defines}}, "X25519_ASM"; - } - if ($target{padlock_asm_src} ne $table{DEFAULTS}->{padlock_asm_src}) { - push @{$config{dso_defines}}, "PADLOCK_ASM"; - } - if ($target{poly1305_asm_src} ne "") { - push @{$config{lib_defines}}, "POLY1305_ASM"; - } } my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC}); @@ -1881,7 +1786,7 @@ if ($builder eq "unified") { qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/ => sub { if (! @skip || $skip[$#skip] > 0) { - push @skip, !! $1; + push @skip, !! $expand_variables->($1); } else { push @skip, -1; } @@ -1890,7 +1795,7 @@ if ($builder eq "unified") { => sub { die "ELSIF out of scope" if ! @skip; die "ELSIF following ELSE" if abs($skip[$#skip]) == 2; $skip[$#skip] = -1 if $skip[$#skip] != 0; - $skip[$#skip] = !! $1 + $skip[$#skip] = !! $expand_variables->($1) if $skip[$#skip] == 0; }, qr/^\s*ELSE\s*$/ => sub { die "ELSE out of scope" if ! @skip; @@ -1902,7 +1807,9 @@ if ($builder eq "unified") { qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/ => sub { if (!@skip || $skip[$#skip] > 0) { - $variables{$1} = $2; + my $n = $1; + my $v = $2; + $variables{$n} = $expand_variables->($v); } }, qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/ @@ -2987,18 +2894,6 @@ _____ # Thus, whenever there's mention of a returned value, it's about that # intended value. -# Helper function to implement conditional inheritance depending on the -# value of $disabled{asm}. Used in inherit_from values as follows: -# -# inherit_from => [ "template", asm("asm_tmpl") ] -# -sub asm { - my @x = @_; - sub { - $disabled{asm} ? () : @x; - } -} - # Helper function to implement conditional value variants, with a default # plus additional values based on the value of $config{build_type}. # Arguments are given in hash table form: @@ -3425,25 +3320,6 @@ sub print_table_entry "loutflag", "ex_libs", "bn_ops", - "apps_aux_src", - "cpuid_asm_src", - "uplink_aux_src", - "bn_asm_src", - "ec_asm_src", - "des_asm_src", - "aes_asm_src", - "bf_asm_src", - "md5_asm_src", - "cast_asm_src", - "sha1_asm_src", - "rc4_asm_src", - "rmd160_asm_src", - "rc5_asm_src", - "wp_asm_src", - "cmll_asm_src", - "modes_asm_src", - "padlock_asm_src", - "chacha_asm_src", "poly1035_asm_src", "thread_scheme", "perlasm_scheme", diff --git a/NOTES.WIN b/NOTES.WIN index 0215733..ca03360 100644 --- a/NOTES.WIN +++ b/NOTES.WIN @@ -89,8 +89,6 @@ - UWP targets only support building the static and dynamic libraries. - - The "no-uplink" must be given in the "Configure" script. - - You should define the platform type to "uwp" and the target arch via "vcvarsall.bat" before you compile. For example, if you want to build "arm64" builds, you should type "vcvarsall.bat x86_arm64 uwp". diff --git a/apps/build.info b/apps/build.info index cbb70fc..3b4ea25 100644 --- a/apps/build.info +++ b/apps/build.info @@ -1,4 +1,25 @@ -{- our @apps_openssl_src = +# Program init source, that don't have direct linkage with the rest of the +# source, and can therefore not be part of a library. +IF[{- !$disabled{uplink} -}] + $INITSRC=../ms/applink.c +ENDIF +IF[{- $config{target} =~ /^vms-/ -}] + $INITSRC=vms_decc_init.c +ENDIF + +# Auxilliary program source +IF[{- $config{target} =~ /^(?:VC-|mingw)/ -}] + # It's called 'init', but doesn't have much 'init' in it... + $AUXLIBAPPSSRC=win32_init.c +ENDIF +IF[{- $config{target} =~ /^vms-/ -}] + $AUXLIBAPPSSRC=vms_term_sock.c vms_decc_argv.c +ENDIF + +# Source for the 'openssl' program +# We need the perl variable for the DEPEND generator further down. +$OPENSSLSRC={- + our @opensslsrc = qw(openssl.c asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c @@ -7,30 +28,28 @@ rsautl.c s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c srp.c ts.c verify.c version.c x509.c rehash.c storeutl.c info.c); - our @apps_lib_src = - ( qw(apps.c apps_ui.c opt.c fmt.c s_cb.c s_socket.c app_rand.c - bf_prefix.c), - split(/\s+/, $target{apps_aux_src}) ); - our @apps_init_src = split(/\s+/, $target{apps_init_src}); - "" -} + join(' ', @opensslsrc); -} +# Source for libapps +$LIBAPPSSRC=apps.c apps_ui.c opt.c fmt.c s_cb.c s_socket.c app_rand.c \ + bf_prefix.c + IF[{- !$disabled{apps} -}] LIBS{noinst}=libapps.a - SOURCE[libapps.a]={- join(" ", @apps_lib_src) -} + SOURCE[libapps.a]=$LIBAPPSSRC $AUXLIBAPPSSRC INCLUDE[libapps.a]=.. ../include include PROGRAMS=openssl - SOURCE[openssl]={- join(" ", @apps_init_src) -} - SOURCE[openssl]={- join(" ", @apps_openssl_src) -} + SOURCE[openssl]=$INITSRC $OPENSSLSRC INCLUDE[openssl]=.. ../include include DEPEND[openssl]=libapps.a ../libssl -IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}] - GENERATE[openssl.rc]=../util/mkrc.pl openssl - SOURCE[openssl]=openssl.rc -ENDIF + IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}] + GENERATE[openssl.rc]=../util/mkrc.pl openssl + SOURCE[openssl]=openssl.rc + ENDIF {- join("\n ", map { (my $x = $_) =~ s|\.c$|.o|; "DEPEND[$x]=progs.h" } - @apps_openssl_src) -} + @opensslsrc) -} GENERATE[progs.h]=progs.pl $(APPS_OPENSSL) DEPEND[progs.h]=../configdata.pm diff --git a/crypto/aes/build.info b/crypto/aes/build.info index 3a27d17..706ca58 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -1,9 +1,70 @@ LIBS=../../libcrypto -$COMMON=aes_misc.c aes_ecb.c {- $target{aes_asm_src} -} -SOURCE[../../libcrypto]=$COMMON \ - aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c +$AESASM=aes_core.c aes_cbc.c +IF[{- !$disabled{asm} -}] + $AESASM_x86=aes-586.s + $AESASM_x86_sse2=vpaes-x86.s aesni-x86.s + $AESDEF_x86_sse2=AES_ASM VPAES_ASM + + $AESASM_x86_64=\ + aes-x86_64.s bsaes-x86_64.s \ + aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s + $AESDEF_x86_64=AES_ASM BSAES_ASM + $AESASM_x86_64_sse2=vpaes-x86_64.s aesni-x86_64.s + $AESDEF_x86_64_sse2=VPAES_ASM + + $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s + $AESDEF_ia64=AES_ASM + + $AESASM_sparcv9=\ + aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S + $AESDEF_sparcv9=AES_ASM + + $AESASM_mips32=aes_cbc.c aes-mips.S + $AESDEF_mips32=AES_ASM + $AESASM_mips64=$AESASM_mips32 + $AESDEF_mips64=$AESDEF_mips32 + + $AESASM_s390x=aes-s390x.S + # aes-390x.S implements AES_ctr32_encrypt and AES_xts_[en|de]crypt + $AESDEF_s390x=AES_ASM AES_CTR_ASM AES_XTS_ASM + + $AESASM_armv4=aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S + $AESDEF_armv4=AES_ASM BSAES_ASM + $AESASM_aarch64=aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S + $AESDEF_aarch64=VPAES_ASM + + $AESASM_parisc11=aes_core.c aes_cbc.c aes-parisc.s + $AESDEF_parisc11=AES_ASM + $AESASM_parisc20_64=$AESASM_parisc11 + $AESDEF_parisc20_64=$AESDEF_parisc11 + + $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s + $AESDEF_ppc32=AES_ASM VPAES_ASM + $AESASM_ppc64=$AESASM_ppc32 + $AESDEF_ppc64=$AESDEF_ppc32 + + $AESASM_c64xplus=aes-c64xplus.s aes_cbc.c + # aes-c64xplus.s implements AES_ctr32_encrypt + $AESDEF_c64xplus=AES_ASM AES_CTR_ASM + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$AESASM_{- $target{asm_arch} -}] + $AESASM=$AESASM_{- $target{asm_arch} -} + $AESDEF=$AESDEF_{- $target{asm_arch} -} + IF[{- !$disabled{sse2} -}] + $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2 + $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2 + ENDIF + ENDIF +ENDIF + +$COMMON=aes_misc.c aes_ecb.c $AESASM +SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c +DEFINE[../../libcrypto]=$AESDEF SOURCE[../../providers/fips]=$COMMON +DEFINE[../../providers/fips]=$AESDEF GENERATE[aes-ia64.s]=asm/aes-ia64.S diff --git a/crypto/bf/build.info b/crypto/bf/build.info index 29adc8c..cc06212 100644 --- a/crypto/bf/build.info +++ b/crypto/bf/build.info @@ -1,6 +1,17 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=bf_skey.c bf_ecb.c bf_cfb64.c bf_ofb64.c \ - {- $target{bf_asm_src} -} + +$BFASM=bf_enc.c +IF[{- !$disabled{asm} -}] + $BFASM_x86=bf-586.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one + IF[$BFASM_{- $target{asm_arch} -}] + $BFASM=$BFASM_{- $target{asm_arch} -} + ENDIF +ENDIF + +SOURCE[../../libcrypto]=bf_skey.c bf_ecb.c bf_cfb64.c bf_ofb64.c $BFASM GENERATE[bf-586.s]=asm/bf-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/bn/build.info b/crypto/bn/build.info index 362a2da..8353b32 100644 --- a/crypto/bn/build.info +++ b/crypto/bn/build.info @@ -1,14 +1,116 @@ LIBS=../../libcrypto +$BNASM=bn_asm.c +IF[{- !$disabled{asm} -}] + # Define source files and macros per asm architecture + # Known macros are: + # + # OPENSSL_BN_ASM_PART_WORDS For any collection with /-586/ file names + # OPENSSL_BN_ASM_MONT For any collection with /-mont/ file names + # OPENSSL_BN_ASM_MONT5 For any collection with /-mont5/ file names + # OPENSSL_BN_ASM_GF2m For any collection with /-gf2m/ file names + # OPENSSL_IA32_SSE2 For any collection with /86/ file names + # when sse2 is enabled + # BN_DIV3W For any collection with /-div3w/ file names + # + # All variables are named in such a way that they can be "indexed" with + # $target{asm_arch} + + $BNASM_x86=bn-586.s co-586.s x86-mont.s x86-gf2m.s + # bn-586 is the only one implementing bn_*_part_words + # => OPENSSL_BN_ASM_PART_WORDS + $BNDEF_x86=OPENSSL_BN_ASM_PART_WORDS OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_GF2m + $BNDEF_x86_sse2=OPENSSL_IA32_SSE2 + + $BNASM_x86_64=\ + x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s rsaz_exp.c rsaz-x86_64.s \ + rsaz-avx2.s + IF[{- $config{target} !~ /^VC/ -}] + $BNASM_x86_64=asm/x86_64-gcc.c $BNASM_x86_64 + ELSE + $BNASM_x86_64=bn_asm.c $BNASM_x86_64 + ENDIF + $BNDEF_x86_64=OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m + $BNDEF_x86_64_sse2=OPENSSL_IA32_SSE2 + + IF[{- $config{target} !~ /^VC/ -}] + $BNASM_ia64=bn-ia64.s ia64-mont.s + ELSE + $BNASM_ia64=bn_asm.c ia64-mont.s + ENDIF + + $BNASM_sparcv9=asm/sparcv8plus.S sparcv9-mont.S sparcv9a-mont.S vis3-mont.S \ + sparct4-mont.S + $BNDEF_sparcv9=OPENSSL_BN_ASM_MONT + $BNASM_sparcv9_ec2m=sparcv9-gf2m.S + $BNDEF_sparcv9_ec2m=OPENSSL_BN_ASM_GF2m + + $BNASM_sparcv8=asm/sparcv8.S + + $BNASM_alpha=bn_asm.c alpha-mont.S + $BNDEF_alpha=OPENSSL_BN_ASM_MONT + + $BNASM_mips32=bn-mips.S mips-mont.S + $BNDEF_mips32=OPENSSL_BN_ASM_MONT + $BNASM_mips64=$BNASM_mips32 + $BNDEF_mips64=$BNDEF_mips32 + + IF[{- ($target{perlasm_scheme} // '') eq '31' -}] + $BNASM_s390x=bn_asm.c s390x-mont.S + ELSE + $BNASM_s390x=asm/s390x.S s390x-mont.S + ENDIF + $BNDEF_s390x=OPENSSL_BN_ASM_MONT + $BNASM_s390x_ec2m=s390x-gf2m.s + $BNDEF_s390x_ec2m=OPENSSL_BN_ASM_GF2m + + $BNASM_armv4=bn_asm.c armv4-mont.S + $BNDEF_armv4=OPENSSL_BN_ASM_MONT + $BNASM_armv4_ec2m=armv4-gf2m.S + $BNDEF_armv4_ec2m=OPENSSL_BN_ASM_GF2m + + $BNASM_aarch64=bn_asm.c armv8-mont.S + $BNDEF_aarch64=OPENSSL_BN_ASM_MONT + + $BNASM_parisc11=bn_asm.c parisc-mont.s + $BNDEF_parisc11=OPENSSL_BN_ASM_MONT + $BNASM_parisc20_64=$BNASM_parisc11 + $BNDEF_parisc20_64=$BNDEF_parisc11 + + $BNASM_ppc32=bn-ppc.s ppc-mont.s + $BNDEF_ppc32=OPENSSL_BN_ASM_MONT + $BNASM_ppc64=$BNASM_ppc32 + $BNDEF_ppc64=$BNDEF_ppc32 + + $BNASM_c64xplus=asm/bn-c64xplus.asm + $BNASM_c64xplus_ec2m=c64xplus-gf2m.s + $BNDEF_c64xplus_ec2m=OPENSSL_BN_ASM_GF2m + + # Now that we have defined all the arch specific variables, use the + # appropriate ones, and define the appropriate macros + IF[$BNASM_{- $target{asm_arch} -}] + $BNASM=$BNASM_{- $target{asm_arch} -} + $BNDEF=$BNDEF_{- $target{asm_arch} -} + IF[{- !$disabled{ec2m} -}] + $BNASM=$BNASM $BNASM_{- $target{asm_arch} -}_ec2m + $BNDEF=$BNDEF $BNDEF_{- $target{asm_arch} -}_ec2m + ENDIF + IF[{- !$disabled{sse2} -}] + $BNDEF_sse2=$BNDEF $BNDEF_{- $target{asm_arch} -}_sse2 + ENDIF + ENDIF +ENDIF + $COMMON=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c \ bn_mod.c bn_conv.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \ bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_sqr.c \ bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \ bn_const.c bn_x931p.c bn_intern.c bn_dh.c \ - bn_rsa_fips186_4.c {- $target{bn_asm_src} -} + bn_rsa_fips186_4.c $BNASM SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_depr.c bn_srp.c +DEFINE[../../libcrypto]=$BNDEF SOURCE[../../providers/fips]=$COMMON - +DEFINE[../../providers/fips]=$BNDEF INCLUDE[../../libcrypto]=../../crypto/include diff --git a/crypto/build.info b/crypto/build.info index 849d468..cb8457a 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -8,6 +8,56 @@ SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \ err comp ocsp cms ts srp cmac ct async kmac ess crmf cmp LIBS=../libcrypto + +$UPLINKSRC= +$UPLINKDEF= +IF[{- !$disabled{uplink} -}] + $UPLINKSRC_common=../ms/uplink.c + $UPLINKSRC_x86=$UPLINKSRC_common uplink-x86.s + $UPLINKSRC_x86_64=$UPLINKSRC_common uplink-x86_64.s + $UPLINKSRC_ia64=$UPLINKSRC_common uplink-ia64.s + + IF[$UPLINKSRC_{- $target{uplink_arch} -}] + $UPLINKSRC=$UPLINKSRC_{- $target{uplink_arch} -} + $UPLINKDEF=OPENSSL_USE_APPLINK + ENDIF +ENDIF + +$CPUIDASM=mem_clr.c +$CPUIDDEF= +IF[{- !$disabled{asm} && $config{processor} ne '386' -}] + $CPUIDASM_x86=x86cpuid.s + + $CPUIDASM_x86_64=x86_64cpuid.s + + $CPUIDASM_ia64=ia64cpuid.s + + $CPUIDASM_sparcv9=sparcv9cap.c sparccpuid.S + + $CPUIDASM_alpha=alphacpuid.s + + $CPUIDASM_s390x=s390xcap.c s390xcpuid.S + + $CPUIDASM_armv4=armcap.c armv4cpuid.S + + $CPUIDASM_aarch64=armcap.c arm64cpuid.S + + $CPUIDASM_parisc11=pariscid.s + $CPUIDASM_parisc20_64=$CPUIDASM_parisc11 + + $CPUIDASM_ppc32=ppccpuid.s ppccap.c + $CPUIDASM_ppc64=$CPUIDASM_ppc32 + + $CPUIDASM_c64xplus=c64xpluscpuid.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$CPUIDASM_{- $target{asm_arch} -}] + $CPUIDASM=$CPUIDASM_{- $target{asm_arch} -} + $CPUIDDEF=OPENSSL_CPUID_OBJ + ENDIF +ENDIF + # The Core $CORE_COMMON=provider_core.c provider_predefined.c core_fetch.c core_namemap.c @@ -18,13 +68,16 @@ SOURCE[../providers/fips]=$CORE_COMMON $UTIL_COMMON=\ cryptlib.c mem.c mem_sec.c params.c bsearch.c ex_data.c o_str.c \ ctype.c threads_pthread.c threads_win.c threads_none.c context.c \ - sparse_array.c {- $target{cpuid_asm_src} -} + sparse_array.c $CPUIDASM +$UTIL_DEFINE=$CPUIDDEF SOURCE[../libcrypto]=$UTIL_COMMON \ mem_dbg.c cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \ o_fopen.c getenv.c o_init.c o_fips.c init.c trace.c provider.c \ - {- $target{uplink_aux_src} -} + $UPLINKSRC +DEFINE[../libcrypto]=$UTIL_DEFINE $UPLINKDEF SOURCE[../providers/fips]=$UTIL_COMMON +DEFINE[../providers/fips]=$UTIL_DEFINE diff --git a/crypto/camellia/build.info b/crypto/camellia/build.info index e36a19b..8d74b9f 100644 --- a/crypto/camellia/build.info +++ b/crypto/camellia/build.info @@ -1,7 +1,19 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - cmll_ecb.c cmll_ofb.c cmll_cfb.c cmll_ctr.c \ - {- $target{cmll_asm_src} -} + +$CMLLASM=camellia.c cmll_misc.c cmll_cbc.c +IF[{- !$disabled{asm} -}] + $CMLLASM_x86=cmll-x86.s + $CMLLASM_x86_64=cmll-x86_64.s cmll_misc.c + $CMLLASM_sparcv9=camellia.c cmll_misc.c cmll_cbc.c cmllt4-sparcv9.S + + # Now that we have defined all the arch specific variables, use the + # appropriate one + IF[$CMLLASM_{- $target{asm_arch} -}] + $CMLLASM=$CMLLASM_{- $target{asm_arch} -} + ENDIF +ENDIF + +SOURCE[../../libcrypto]=cmll_ecb.c cmll_ofb.c cmll_cfb.c cmll_ctr.c $CMLLASM GENERATE[cmll-x86.s]=asm/cmll-x86.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) \ diff --git a/crypto/cast/build.info b/crypto/cast/build.info index b0f59f3..97779c2 100644 --- a/crypto/cast/build.info +++ b/crypto/cast/build.info @@ -1,6 +1,18 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - c_skey.c c_ecb.c {- $target{cast_asm_src} -} c_cfb64.c c_ofb64.c + +$CASTASM=c_enc.c +# CAST assembly source is not PIC +IF[{- !$disabled{asm} && !$disabled{pic} -}] + $CASTASM_x86=cast-586.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one + IF[$CASTASM_{- $target{asm_arch} -}] + $CASTASM=$CASTASM_{- $target{asm_arch} -} + ENDIF +ENDIF + +SOURCE[../../libcrypto]=c_skey.c c_ecb.c $CASTASM c_cfb64.c c_ofb64.c GENERATE[cast-586.s]=asm/cast-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/chacha/build.info b/crypto/chacha/build.info index a741826..e8eeaf0 100644 --- a/crypto/chacha/build.info +++ b/crypto/chacha/build.info @@ -1,5 +1,30 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]={- $target{chacha_asm_src} -} + +$CHACHAASM=chacha_enc.c +IF[{- !$disabled{asm} -}] + $CHACHAASM_x86=chacha-x86.s + $CHACHAASM_x86_64=chacha-x86_64.s + + $CHACHAASM_ia64=chacha-ia64.S + + $CHACHAASM_s390x=chacha-s390x.S + + $CHACHAASM_armv4=chacha-armv4.S + $CHACHAASM_aarch64=chacha-armv8.S + + $CHACHAASM_ppc32=chacha-ppc.s + $CHACHAASM_ppc64=$CHACHAASM_ppc32 + + $CHACHAASM_c64xplus=chacha-c64xplus.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one + IF[$CHACHAASM_{- $target{asm_arch} -}] + $CHACHAASM=$CHACHAASM_{- $target{asm_arch} -} + ENDIF +ENDIF + +SOURCE[../../libcrypto]=$CHACHAASM GENERATE[chacha-x86.s]=asm/chacha-x86.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/des/build.info b/crypto/des/build.info index 05cb154..474d14e 100644 --- a/crypto/des/build.info +++ b/crypto/des/build.info @@ -1,10 +1,24 @@ +$DESASM=des_enc.c fcrypt_b.c +IF[{- !$disabled{asm} -}] + $DESASM_x86=des-586.s crypt586.s + $DESASM_ia64=ghash-ia64.s + $DESASM_sparcv9=des_enc-sparc.S fcrypt_b.c dest4-sparcv9.S + $DESASM_sparcv8=des_enc-sparc.S fcrypt_b.c + + # Now that we have defined all the arch specific variables, use the + # appropriate one + IF[$DESASM_{- $target{asm_arch} -}] + $DESASM=$DESASM_{- $target{asm_arch} -} + ENDIF +ENDIF + LIBS=../../libcrypto SOURCE[../../libcrypto]=\ set_key.c ecb_enc.c cbc_enc.c \ ecb3_enc.c cfb64enc.c cfb64ede.c cfb_enc.c \ ofb64ede.c ofb64enc.c ofb_enc.c \ str2key.c pcbc_enc.c qud_cksm.c rand_key.c \ - {- $target{des_asm_src} -} \ + $DESASM \ fcrypt.c xcbc_enc.c cbc_cksm.c GENERATE[des_enc-sparc.S]=asm/des_enc.m4 diff --git a/crypto/ec/build.info b/crypto/ec/build.info index dd1c891..5e9778d 100644 --- a/crypto/ec/build.info +++ b/crypto/ec/build.info @@ -1,3 +1,47 @@ +$ECASM= +IF[{- !$disabled{asm} -}] + $ECASM_x86=ecp_nistz256.c ecp_nistz256-x86.s + $ECDEF_x86=ECP_NISTZ256_ASM + + $ECASM_x86_64=ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s + $ECDEF_x86_64=ECP_NISTZ256_ASM X25519_ASM + + $ECASM_ia64= + + $ECASM_sparcv9=ecp_nistz256.c ecp_nistz256-sparcv9.S + $ECDEF_sparcv9=ECP_NISTZ256_ASM + + $ECASM_sparcv8= + + $ECASM_alpha= + + $ECASM_mips32= + $ECASM_mips64= + + $ECASM_s390x= + + $ECASM_armv4=ecp_nistz256.c ecp_nistz256-armv4.S + $ECDEF_armv4=ECP_NISTZ256_ASM + $ECASM_aarch64=ecp_nistz256.c ecp_nistz256-armv8.S + $ECDEF_aarch64=ECP_NISTZ256_ASM + + $ECASM_parisc11= + $ECASM_parisc20_64= + + $ECASM_ppc32= + $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s + $ECDEF_ppc64=ECP_NISTZ256_ASM X25519_ASM + + $ECASM_c64xplus= + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$ECASM_{- $target{asm_arch} -}] + $ECASM=$ECASM_{- $target{asm_arch} -} + $ECDEF=$ECDEF_{- $target{asm_arch} -} + ENDIF +ENDIF + LIBS=../../libcrypto SOURCE[../../libcrypto]=\ ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \ @@ -8,7 +52,8 @@ SOURCE[../../libcrypto]=\ ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c curve25519.c ecx_meth.c \ curve448/arch_32/f_impl.c curve448/f_generic.c curve448/scalar.c \ curve448/curve448_tables.c curve448/eddsa.c curve448/curve448.c \ - {- $target{ec_asm_src} -} + $ECASM +DEFINE[../../libcrypto]=$ECDEF GENERATE[ecp_nistz256-x86.s]=asm/ecp_nistz256-x86.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/md5/build.info b/crypto/md5/build.info index 2b1444d..3b91abf 100644 --- a/crypto/md5/build.info +++ b/crypto/md5/build.info @@ -1,6 +1,21 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - md5_dgst.c md5_one.c md5_sha1.c {- $target{md5_asm_src} -} + +$MD5ASM= +IF[{- !$disabled{asm} -}] + $MD5ASM_x86=md5-586.s + $MD5ASM_x86_64=md5-x86_64.s + $MD5ASM_sparcv9=md5-sparcv9.S + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$MD5ASM_{- $target{asm_arch} -}] + $MD5ASM=$MD5ASM_{- $target{asm_arch} -} + $MD5DEF=MD5_ASM + ENDIF +ENDIF + +SOURCE[../../libcrypto]=md5_dgst.c md5_one.c md5_sha1.c $MD5ASM +DEFINE[../../libcrypto]=$MD5DEF GENERATE[md5-586.s]=asm/md5-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) diff --git a/crypto/modes/build.info b/crypto/modes/build.info index 4157af3..6024606 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -1,9 +1,59 @@ LIBS=../../libcrypto -$COMMON=cbc128.c ctr128.c cfb128.c ofb128.c {- $target{modes_asm_src} -} +$MODESASM= +IF[{- !$disabled{asm} -}] + $MODESASM_x86=ghash-x86.s + $MODESDEF_x86=GHASH_ASM + $MODESASM_x86_64=ghash-x86_64.s aesni-gcm-x86_64.s + $MODESDEF_x86_64=GHASH_ASM + + # ghash-ia64.s doesn't work on VMS + IF[{- $config{target} !~ /^vms-/ -}] + $MODESASM_ia64=ghash-ia64.s + $MODESDEF_ia64=GHASH_ASM + ENDIF + + $MODESASM_sparcv9=ghash-sparcv9.S + $MODESDEF_sparcv9=GHASH_ASM + + $MODESASM_alpha=ghash-alpha.S + $MODESDEF_alpha=GHASH_ASM + + $MODESASM_s390x=ghash-s390x.S + $MODESDEF_s390x=GHASH_ASM + + $MODESASM_armv4=ghash-armv4.S ghashv8-armx.S + $MODESDEF_armv4=GHASH_ASM + $MODESASM_aarch64=ghashv8-armx.S + $MODESDEF_aarch64=GHASH_ASM + + $MODESASM_parisc11=ghash-parisc.s + $MODESDEF_parisc11=GHASH_ASM + $MODESASM_parisc20_64=$MODESASM_parisc11 + $MODESDEF_parisc20_64=$MODESDEF_parisc11 + + $MODESASM_ppc32=ghashp8-ppc.s + $MODESDEF_ppc32= + $MODESASM_ppc64=$MODESASM_ppc32 + $MODESDEF_ppc64=$MODESDEF_ppc32 + + $MODESASM_c64xplus=ghash-c64xplus.s + $MODESDEF_c64xplus=GHASH_ASM + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$MODESASM_{- $target{asm_arch} -}] + $MODESASM=$MODESASM_{- $target{asm_arch} -} + $MODESDEF=$MODESDEF_{- $target{asm_arch} -} + ENDIF +ENDIF + +$COMMON=cbc128.c ctr128.c cfb128.c ofb128.c $MODESASM SOURCE[../../libcrypto]=$COMMON \ cts128.c gcm128.c ccm128.c xts128.c wrap128.c ocb128.c siv128.c +DEFINE[../../libcrypto]=$MODESDEF SOURCE[../../providers/fips]=$COMMON +DEFINE[../../providers/fips]=$MODESDEF INCLUDE[gcm128.o]=.. diff --git a/crypto/poly1305/build.info b/crypto/poly1305/build.info index 60eeeee..064c259 100644 --- a/crypto/poly1305/build.info +++ b/crypto/poly1305/build.info @@ -1,8 +1,36 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - poly1305_ameth.c \ - poly1305_meth.c \ - poly1305.c {- $target{poly1305_asm_src} -} + +$POLY1305ASM= +IF[{- !$disabled{asm} -}] + $POLY1305ASM_x86=poly1305-x86.s + $POLY1305ASM_x86_64=poly1305-x86_64.s + + $POLY1305ASM_ia64=asm/poly1305-ia64.S + + $POLY1305ASM_sparcv9=poly1305-sparcv9.S + + $POLY1305ASM_mips64=poly1305-mips.S + + $POLY1305ASM_s390x=poly1305-s390x.S + + $POLY1305ASM_armv4=poly1305-armv4.S + $POLY1305ASM_aarch64=poly1305-armv8.S + + $POLY1305ASM_ppc32=poly1305-ppc.s poly1305-ppcfp.s + $POLY1305ASM_ppc64=$POLY1305ASM_ppc32 + + $POLY1305ASM_c64xplus=poly1305-c64xplus.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$POLY1305ASM_{- $target{asm_arch} -}] + $POLY1305ASM=$POLY1305ASM_{- $target{asm_arch} -} + $POLY1305DEF=POLY1305_ASM + ENDIF +ENDIF + +SOURCE[../../libcrypto]=poly1305_ameth.c poly1305_meth.c poly1305.c $POLY1305ASM +DEFINE[../../libcrypto]=$POLY1305DEF GENERATE[poly1305-sparcv9.S]=asm/poly1305-sparcv9.pl $(PERLASM_SCHEME) INCLUDE[poly1305-sparcv9.o]=.. diff --git a/crypto/rc4/build.info b/crypto/rc4/build.info index 8d272e4..30e36ba 100644 --- a/crypto/rc4/build.info +++ b/crypto/rc4/build.info @@ -1,6 +1,23 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - {- $target{rc4_asm_src} -} + +$RC4ASM=rc4_enc.c rc4_skey.c +IF[{- !$disabled{asm} -}] + $RC4ASM_x86=rc4-586.s + $RC4ASM_x86_64=rc4-x86_64.s rc4-md5-x86_64.s + $RC4ASM_s390x=rc4-s390x.s + $RC4ASM_parisc11=rc4-parisc.s + $RC4ASM_parisc20_64=$RC4ASM_parisc11 + $RC4ASM_c64xplus=rc4-c64xplus.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$RC4ASM_{- $target{asm_arch} -}] + $RC4ASM=$RC4ASM_{- $target{asm_arch} -} + $RC4DEF=RC4_ASM + ENDIF +ENDIF + +SOURCE[../../libcrypto]=$RC4ASM GENERATE[rc4-586.s]=asm/rc4-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/rc5/build.info b/crypto/rc5/build.info index 928a62c..5780f3c 100644 --- a/crypto/rc5/build.info +++ b/crypto/rc5/build.info @@ -1,6 +1,19 @@ LIBS=../../libcrypto + +$RC5ASM=rc5_enc.c +IF[{- !$disabled{asm} -}] + $RC5ASM_x86=rc5-586.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$RC5ASM_{- $target{asm_arch} -}] + $RC5ASM=$RC5ASM_{- $target{asm_arch} -} + $RC5DEF=RC5_ASM + ENDIF +ENDIF + SOURCE[../../libcrypto]=\ - rc5_skey.c rc5_ecb.c {- $target{rc5_asm_src} -} rc5cfb64.c rc5ofb64.c + rc5_skey.c rc5_ecb.c $RC5ASM rc5cfb64.c rc5ofb64.c GENERATE[rc5-586.s]=asm/rc5-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) diff --git a/crypto/ripemd/build.info b/crypto/ripemd/build.info index a4a894e..e2db293 100644 --- a/crypto/ripemd/build.info +++ b/crypto/ripemd/build.info @@ -1,6 +1,19 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - rmd_dgst.c rmd_one.c {- $target{rmd160_asm_src} -} + +$RMD160ASM= +IF[{- !$disabled{asm} -}] + $RMD160ASM_x86=rmd-586.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$RMD160ASM_{- $target{asm_arch} -}] + $RMD160ASM=$RMD160ASM_{- $target{asm_arch} -} + $RMD160DEF=RMD160_ASM + ENDIF +ENDIF + +SOURCE[../../libcrypto]=rmd_dgst.c rmd_one.c $RMD160ASM +DEFINE[../../libcrypto]=$RMD160DEF GENERATE[rmd-586.s]=asm/rmd-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) diff --git a/crypto/sha/build.info b/crypto/sha/build.info index fa2ec9b..187d0c4 100644 --- a/crypto/sha/build.info +++ b/crypto/sha/build.info @@ -1,9 +1,83 @@ LIBS=../../libcrypto -$COMMON=sha1dgst.c sha256.c sha512.c sha3.c \ - {- $target{sha1_asm_src} -} {- $target{keccak1600_asm_src} -} +$SHA1ASM= +IF[{- !$disabled{asm} -}] + $SHA1ASM_x86=sha1-586.s sha256-586.s sha512-586.s + $SHA1DEF_x86=SHA1_ASM SHA256_ASM SHA512_ASM + $SHA1ASM_x86_64=\ + sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s \ + sha256-mb-x86_64.s + $SHA1DEF_x86_64=SHA1_ASM SHA256_ASM SHA512_ASM + + $SHA1ASM_ia64=sha1-ia64.s sha256-ia64.s sha512-ia64.s + $SHA1DEF_ia64=SHA1_ASM SHA256_ASM SHA512_ASM + + $SHA1ASM_sparcv9=sha1-sparcv9.S sha256-sparcv9.S sha512-sparcv9.S + $SHA1DEF_sparcv9=SHA1_ASM SHA256_ASM SHA512_ASM + + $SHA1ASM_alpha=sha1-alpha.S + $SHA1DEF_alpha=SHA1_ASM + + $SHA1ASM_mips32=sha1-mips.S sha256-mips.S + $SHA1DEF_mips32=SHA1_ASM SHA256_ASM + $SHA1ASM_mips64=$SHA1ASM_mips32 sha512-mips.S + $SHA1DEF_mips64=$SHA1DEF_mips32 SHA512_ASM + + $SHA1ASM_s390x=sha1-s390x.S sha256-s390x.S sha512-s390x.S + $SHA1DEF_s390x=SHA1_ASM SHA256_ASM SHA512_ASM + + $SHA1ASM_armv4=sha1-armv4-large.S sha256-armv4.S sha512-armv4.S + $SHA1DEF_armv4=SHA1_ASM SHA256_ASM SHA512_ASM + $SHA1ASM_aarch64=sha1-armv8.S sha256-armv8.S sha512-armv8.S + $SHA1DEF_aarch64=SHA1_ASM SHA256_ASM SHA512_ASM + + $SHA1ASM_parisc11=sha1-parisc.s sha256-parisc.s sha512-parisc.s + $SHA1DEF_parisc11=SHA1_ASM SHA256_ASM SHA512_ASM + $SHA1ASM_parisc20_64=$SHA1ASM_parisc11 + $SHA1DEF_parisc20_64=$SHA1DEF_parisc11 + + $SHA1ASM_ppc32=\ + sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s sha512p8-ppc.s + $SHA1DEF_ppc32=SHA1_ASM SHA256_ASM SHA512_ASM + $SHA1ASM_ppc64=$SHA1ASM_ppc32 + $SHA1DEF_ppc64=$SHA1DEF_ppc32 + + $SHA1ASM_c64xplus=sha1-c64xplus.s sha256-c64xplus.s sha512-c64xplus.s + $SHA1DEF_c64xplus=SHA1_ASM SHA256_ASM SHA512_ASM + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$SHA1ASM_{- $target{asm_arch} -}] + $SHA1ASM=$SHA1ASM_{- $target{asm_arch} -} + $SHA1DEF=$SHA1DEF_{- $target{asm_arch} -} + ENDIF +ENDIF + +$KECCAK1600ASM=keccak1600.c +IF[{- !$disabled{asm} -}] + $KECCAK1600ASM_x86= + $KECCAK1600ASM_x86_64=keccak1600-x86_64.s + + $KECCAK1600ASM_s390x=keccak1600-s390x.S + + $KECCAK1600ASM_armv4=keccak1600-armv4.S + $KECCAK1600ASM_aarch64=keccak1600-armv8.S + + $KECCAK1600ASM_ppc64=keccak1600-ppc64.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$KECCAK1600ASM_{- $target{asm_arch} -}] + $KECCAK1600ASM=$KECCAK1600ASM_{- $target{asm_arch} -} + $KECCAK1600DEF=KECCAK1600_ASM + ENDIF +ENDIF + +$COMMON=sha1dgst.c sha256.c sha512.c sha3.c $SHA1ASM $KECCAK1600ASM SOURCE[../../libcrypto]=$COMMON sha1_one.c +DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF SOURCE[../../providers/fips]= $COMMON +DEFINE[../../providers/fips]= $SHA1DEF $KECCAK1600DEF GENERATE[sha1-586.s]=asm/sha1-586.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/crypto/whrlpool/build.info b/crypto/whrlpool/build.info index 4b167b5..f67bf41 100644 --- a/crypto/whrlpool/build.info +++ b/crypto/whrlpool/build.info @@ -1,5 +1,24 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=wp_dgst.c {- $target{wp_asm_src} -} + +$WPASM=wp_block.c +IF[{- !$disabled{asm} -}] + IF[{- $config{processor} ne "386" -}] + $WPASM_x86=wp_block.c wp-mmx.s + $WPDEF_x86=WHIRLPOOL_ASM + ENDIF + $WPASM_x86_64=wp-x86_64.s + $WPDEF_x86_64=WHIRLPOOL_ASM + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$WPASM_{- $target{asm_arch} -}] + $WPASM=$WPASM_{- $target{asm_arch} -} + $WPDEF=$WPDEF_{- $target{asm_arch} -} + ENDIF +ENDIF + +SOURCE[../../libcrypto]=wp_dgst.c $WPASM +DEFINE[../../libcrypto]=$WPDEF GENERATE[wp-mmx.s]=asm/wp-mmx.pl \ $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) diff --git a/engines/build.info b/engines/build.info index 3189f9f..77aab6d 100644 --- a/engines/build.info +++ b/engines/build.info @@ -1,9 +1,22 @@ IF[{- !$disabled{"engine"} -}] + $PADLOCKASM= + IF[{- !$disabled{asm} -}] + $PADLOCKASM_x86=e_padlock-x86.s + $PADLOCKASM_x86_64=e_padlock-x86_64.s + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$PADLOCKASM_{- $target{asm_arch} -}] + $PADLOCKASM=$PADLOCKASM_{- $target{asm_arch} -} + $PADLOCKDEF=PADLOCK_ASM + ENDIF + ENDIF + IF[{- $disabled{"dynamic-engine"} -}] LIBS=../libcrypto IF[{- !$disabled{padlockeng} -}] - SOURCE[../libcrypto]=\ - e_padlock.c {- $target{padlock_asm_src} -} + SOURCE[../libcrypto]=e_padlock.c $PADLOCKASM + DEFINE[../libcrypto]=$PADLOCKDEF ENDIF IF[{- !$disabled{capieng} -}] SOURCE[../libcrypto]=e_capi.c @@ -17,7 +30,8 @@ IF[{- !$disabled{"engine"} -}] ELSE IF[{- !$disabled{padlockeng} -}] MODULES{engine}=padlock - SOURCE[padlock]=e_padlock.c {- $target{padlock_asm_src} -} + SOURCE[padlock]=e_padlock.c $PADLOCKASM + DEFINE[padlock]=$PADLOCKDEF DEPEND[padlock]=../libcrypto INCLUDE[padlock]=../include IF[{- defined $target{shared_defflag} -}] diff --git a/test/build.info b/test/build.info index 7a777d1..8c0f606 100644 --- a/test/build.info +++ b/test/build.info @@ -1,15 +1,20 @@ SUBDIRS=ossl_shim -{- - use File::Spec::Functions; - sub rebase_files - { - my ($base, $files) = @_; - return join(" ", map { "$base/$_" } split(/\s+/, $files)); - } - our $apps_aux_src = - join(' ', map { "../apps/$_" } split(/\s+/, $target{apps_aux_src})); - "" --} + +# TODO: use ../apps/libapps.a instead of direct ../apps source. +# This can't currently be done, because some of its units drag in too many +# unresolved references that don't apply here. Most of all, ../apps/apps.c +# needs to be divided in smaller pieces to be useful here. +# +# Auxilliary program source (copied from ../apps/build.info) +IF[{- $config{target} =~ /^(?:VC-|mingw)/ -}] + # It's called 'init', but doesn't have much 'init' in it... + $AUXLIBAPPSSRC=../apps/win32_init.c +ENDIF +IF[{- $config{target} =~ /^vms-/ -}] + $AUXLIBAPPSSRC=../apps/vms_term_sock.c ../apps/vms_decc_argv.c +ENDIF +$LIBAPPSSRC=../apps/opt.c $AUXLIBAPPSSRC + IF[{- !$disabled{tests} -}] LIBS{noinst,has_main}=libtestutil.a SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output_helpers.c \ @@ -17,7 +22,7 @@ IF[{- !$disabled{tests} -}] testutil/format_output.c testutil/tap_bio.c \ testutil/test_cleanup.c testutil/main.c testutil/init.c \ testutil/options.c testutil/test_options.c \ - testutil/apps_mem.c ../apps/opt.c {- $apps_aux_src; -} + testutil/apps_mem.c $LIBAPPSSRC INCLUDE[libtestutil.a]=../include ../apps/include .. DEPEND[libtestutil.a]=../libcrypto From openssl at openssl.org Mon Jun 17 14:50:57 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 17 Jun 2019 14:50:57 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1560783057.116740.28560.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 4bfe304ea8 Add documentation for X509_cmp and related APIs 07c244f0cd Use variables in build.info files where it's worth the while 26fe9b07d8 Configure: Add support for variables in build.info files aff9659736 Fix building with enable-trace Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 282 wallclock secs ( 1.91 usr 0.36 sys + 272.89 cusr 20.55 csys = 295.71 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Mon Jun 17 14:29:49 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 14:29:49 +0000 Subject: Still Failing: openssl/openssl#25832 (master - 26de4ec) In-Reply-To: Message-ID: <5d07a3dda8aae_43fea01c1f950218959@ad1800e1-ec1d-4ecf-a5bb-d62196f76950.mail> Build Update for openssl/openssl ------------------------------------- Build: #25832 Status: Still Failing Duration: 21 mins and 19 secs Commit: 26de4ec (master) Author: Richard Levitte Message: Configure: AIX needs a specific DSO extension function DSO extensions are normally derived from platform->shlibextsimple() on Unix. This isn't the case for AIX, so it needs to define its own DSO extension specifically. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/9005) View the changeset: https://github.com/openssl/openssl/compare/65dc5c3cc10a...26de4ec68f9c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546773748?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 Jun 17 14:44:57 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 14:44:57 +0000 Subject: Still Failing: openssl/openssl#25833 (master - 30478c9) In-Reply-To: Message-ID: <5d07a765a4a02_43fb64b21ab105894e@991ec1ea-62be-475b-9d5b-84f21539c668.mail> Build Update for openssl/openssl ------------------------------------- Build: #25833 Status: Still Failing Duration: 24 mins and 45 secs Commit: 30478c9 (master) Author: Richard Levitte Message: Configure: final cleanup of asm related things Remove the *_asm templates in Configurations/00-base-templates.conf, all attempts to inherit them, and the asm() perl function. [extended tests] Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9166) View the changeset: https://github.com/openssl/openssl/compare/26de4ec68f9c...30478c97837a View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546777655?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 Mon Jun 17 15:25:27 2019 From: matt at openssl.org (Matt Caswell) Date: Mon, 17 Jun 2019 15:25:27 +0000 Subject: [openssl] master update Message-ID: <1560785127.686611.32168.nullmailer@dev.openssl.org> The branch master has been updated via 2be8c56a39b0ec2ec5af6ceaf729df154d784a43 (commit) via ff6da65e0d81bae4af3fc3337a95b03595cf5878 (commit) via 52b18ce10498dc2d8ced7db31ead116f4eeca134 (commit) via da747958c5db57dbe22c015d058be9db8a90f8f9 (commit) via e41faf5784382a5d2bc23abebcf81b9f4708f6ec (commit) via 72592b866492b84ba5ca1251d1a45875764c7b27 (commit) via 242f84d06aca7030b2bd52043c39b0cb80c4fec6 (commit) via d4c051cef338eecf092affbb479d1f87c1ea31d9 (commit) from 30478c97837a026ba56718f98d490adf7bce2760 (commit) - Log ----------------------------------------------------------------- commit 2be8c56a39b0ec2ec5af6ceaf729df154d784a43 Author: Matt Caswell Date: Mon Jun 17 15:16:36 2019 +0100 Standardise the function naming conventions in initthread.c Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit ff6da65e0d81bae4af3fc3337a95b03595cf5878 Author: Matt Caswell Date: Wed May 29 16:04:17 2019 +0100 Document OPENSSL_thread_stop_ex() This new function works in the same way as OPENSSL_thread_stop() but for a specified OPENSSL_CTX. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit 52b18ce10498dc2d8ced7db31ead116f4eeca134 Author: Matt Caswell Date: Tue May 28 16:21:19 2019 +0100 Add the function OPENSSL_thread_stop_ex() This adds the ability to clean up a thread on a per OPENSSL_CTX basis. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit da747958c5db57dbe22c015d058be9db8a90f8f9 Author: Matt Caswell Date: Mon May 27 16:31:27 2019 +0100 Tell the FIPS provider about thread stop events The RAND code needs to know about threads stopping in order to cleanup local thread data. Therefore we add a callback for libcrypto to tell providers about such events. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit e41faf5784382a5d2bc23abebcf81b9f4708f6ec Author: Matt Caswell Date: Fri May 24 18:20:49 2019 +0100 Provide a version of ossl_init_thread_start that works in FIPS mode This will need to be hooked up in a later commit with an event sent to the FIPS provider informing it of thread stop events. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit 72592b866492b84ba5ca1251d1a45875764c7b27 Author: Matt Caswell Date: Fri May 24 17:52:17 2019 +0100 Split thread intialisation and handling out of init.c We're going to need some of these functions in the FIPS module, but most of the rest of the code in init.c is not needed. Therefore we split it out. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit 242f84d06aca7030b2bd52043c39b0cb80c4fec6 Author: Matt Caswell Date: Fri May 24 11:45:48 2019 +0100 Convert thread stop handling into a publish/subscribe model In later commits this will allow providers to subscribe to thread stop events. We will need this in the FIPS module. We also make thread stop handling OPENSSL_CTX aware (different OPENSSL_CTXs may have different thread local data that needs cleaning up). Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) commit d4c051cef338eecf092affbb479d1f87c1ea31d9 Author: Matt Caswell Date: Tue May 28 15:58:08 2019 +0100 Add the function openssl_ctx_get_concrete() This adds the ability to take an OPENSSL_CTX parameter and either return it as is (unchanged), or if it is NULL return a pointer to the default ctx. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) ----------------------------------------------------------------------- Summary of changes: crypto/async/async.c | 11 +- crypto/build.info | 4 +- crypto/context.c | 53 ++--- crypto/err/err.c | 5 +- crypto/include/internal/async.h | 1 - crypto/include/internal/cryptlib_int.h | 18 +- crypto/include/internal/err_int.h | 1 - crypto/include/internal/rand_int.h | 1 - crypto/init.c | 128 +--------- crypto/initthread.c | 259 +++++++++++++++++++++ crypto/provider_core.c | 9 +- crypto/rand/drbg_lib.c | 17 +- doc/man3/OPENSSL_CTX.pod | 4 + doc/man3/OPENSSL_init_crypto.pod | 27 ++- include/internal/cryptlib.h | 6 +- include/openssl/core.h | 13 ++ include/openssl/core_numbers.h | 9 +- include/openssl/crypto.h | 1 + providers/common/include/internal/providercommon.h | 10 + providers/fips/fipsprov.c | 63 ++++- test/evp_extra_test.c | 5 + util/libcrypto.num | 1 + 22 files changed, 450 insertions(+), 196 deletions(-) create mode 100644 crypto/initthread.c diff --git a/crypto/async/async.c b/crypto/async/async.c index 53d288c..bcb0030 100644 --- a/crypto/async/async.c +++ b/crypto/async/async.c @@ -30,11 +30,13 @@ static CRYPTO_THREAD_LOCAL ctxkey; static CRYPTO_THREAD_LOCAL poolkey; +static void async_delete_thread_state(void *arg); + static async_ctx *async_ctx_new(void) { async_ctx *nctx; - if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_ASYNC)) + if (!ossl_init_thread_start(NULL, async_delete_thread_state)) return NULL; nctx = OPENSSL_malloc(sizeof(*nctx)); @@ -326,7 +328,7 @@ int ASYNC_init_thread(size_t max_size, size_t init_size) if (!OPENSSL_init_crypto(OPENSSL_INIT_ASYNC, NULL)) return 0; - if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_ASYNC)) + if (!ossl_init_thread_start(NULL, async_delete_thread_state)) return 0; pool = OPENSSL_zalloc(sizeof(*pool)); @@ -374,7 +376,8 @@ err: return 0; } -void async_delete_thread_state(void) +/* TODO(3.0): arg ignored for now */ +static void async_delete_thread_state(void *arg) { async_pool *pool = (async_pool *)CRYPTO_THREAD_get_local(&poolkey); @@ -393,7 +396,7 @@ void ASYNC_cleanup_thread(void) if (!OPENSSL_init_crypto(OPENSSL_INIT_ASYNC, NULL)) return; - async_delete_thread_state(); + async_delete_thread_state(NULL); } ASYNC_JOB *ASYNC_get_current_job(void) diff --git a/crypto/build.info b/crypto/build.info index cb8457a..e64a8de 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -67,8 +67,8 @@ SOURCE[../providers/fips]=$CORE_COMMON # Central utilities $UTIL_COMMON=\ cryptlib.c mem.c mem_sec.c params.c bsearch.c ex_data.c o_str.c \ - ctype.c threads_pthread.c threads_win.c threads_none.c context.c \ - sparse_array.c $CPUIDASM + ctype.c threads_pthread.c threads_win.c threads_none.c initthread.c \ + context.c sparse_array.c $CPUIDASM $UTIL_DEFINE=$CPUIDDEF SOURCE[../libcrypto]=$UTIL_COMMON \ diff --git a/crypto/context.c b/crypto/context.c index 7a976c0..cc1ec0e 100644 --- a/crypto/context.c +++ b/crypto/context.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "internal/cryptlib.h" +#include "internal/cryptlib_int.h" #include "internal/thread_once.h" struct openssl_ctx_onfree_list_st { @@ -80,6 +80,8 @@ static int context_deinit(OPENSSL_CTX *ctx) if (ctx == NULL) return 1; + ossl_ctx_thread_stop(ctx); + onfree = ctx->onfreelist; while (onfree != NULL) { onfree->fn(ctx); @@ -129,6 +131,18 @@ void OPENSSL_CTX_free(OPENSSL_CTX *ctx) OPENSSL_free(ctx); } +OPENSSL_CTX *openssl_ctx_get_concrete(OPENSSL_CTX *ctx) +{ +#ifndef FIPS_MODE + if (ctx == NULL) { + if (!RUN_ONCE(&default_context_init, do_default_context_init)) + return 0; + return default_context; + } +#endif + return ctx; +} + static void openssl_ctx_generic_new(void *parent_ign, void *ptr_ign, CRYPTO_EX_DATA *ad, int index, long argl_ign, void *argp) @@ -154,13 +168,7 @@ static int openssl_ctx_init_index(OPENSSL_CTX *ctx, int static_index, { int idx; -#ifndef FIPS_MODE - if (ctx == NULL) { - if (!RUN_ONCE(&default_context_init, do_default_context_init)) - return 0; - ctx = default_context; - } -#endif + ctx = openssl_ctx_get_concrete(ctx); if (ctx == NULL) return 0; @@ -180,13 +188,7 @@ void *openssl_ctx_get_data(OPENSSL_CTX *ctx, int index, { void *data = NULL; -#ifndef FIPS_MODE - if (ctx == NULL) { - if (!RUN_ONCE(&default_context_init, do_default_context_init)) - return NULL; - ctx = default_context; - } -#endif + ctx = openssl_ctx_get_concrete(ctx); if (ctx == NULL) return NULL; @@ -210,18 +212,7 @@ void *openssl_ctx_get_data(OPENSSL_CTX *ctx, int index, OSSL_EX_DATA_GLOBAL *openssl_ctx_get_ex_data_global(OPENSSL_CTX *ctx) { - /* - * The default context code is not needed in FIPS_MODE and ctx should never - * be NULL in the FIPS provider. However we compile this code out to ensure - * we fail immediately if ctx == NULL in FIPS_MODE - */ -#ifndef FIPS_MODE - if (ctx == NULL) { - if (!RUN_ONCE(&default_context_init, do_default_context_init)) - return NULL; - ctx = default_context; - } -#endif + ctx = openssl_ctx_get_concrete(ctx); if (ctx == NULL) return NULL; return &ctx->global; @@ -232,13 +223,7 @@ int openssl_ctx_run_once(OPENSSL_CTX *ctx, unsigned int idx, { int done = 0, ret = 0; -#ifndef FIPS_MODE - if (ctx == NULL) { - if (!RUN_ONCE(&default_context_init, do_default_context_init)) - return 0; - ctx = default_context; - } -#endif + ctx = openssl_ctx_get_concrete(ctx); if (ctx == NULL) return 0; diff --git a/crypto/err/err.c b/crypto/err/err.c index cf3ae4d..196f782 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -688,7 +688,8 @@ const char *ERR_reason_error_string(unsigned long e) return ((p == NULL) ? NULL : p->string); } -void err_delete_thread_state(void) +/* TODO(3.0): arg ignored for now */ +static void err_delete_thread_state(void *arg) { ERR_STATE *state = CRYPTO_THREAD_get_local(&err_thread_local); if (state == NULL) @@ -740,7 +741,7 @@ ERR_STATE *ERR_get_state(void) return NULL; } - if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_ERR_STATE) + if (!ossl_init_thread_start(NULL, err_delete_thread_state) || !CRYPTO_THREAD_set_local(&err_thread_local, state)) { ERR_STATE_free(state); CRYPTO_THREAD_set_local(&err_thread_local, NULL); diff --git a/crypto/include/internal/async.h b/crypto/include/internal/async.h index f5454f2..e9a89da 100644 --- a/crypto/include/internal/async.h +++ b/crypto/include/internal/async.h @@ -11,5 +11,4 @@ int async_init(void); void async_deinit(void); -void async_delete_thread_state(void); diff --git a/crypto/include/internal/cryptlib_int.h b/crypto/include/internal/cryptlib_int.h index 422ef01..a69bdcd 100644 --- a/crypto/include/internal/cryptlib_int.h +++ b/crypto/include/internal/cryptlib_int.h @@ -7,17 +7,16 @@ * https://www.openssl.org/source/license.html */ +#include #include "internal/cryptlib.h" /* This file is not scanned by mkdef.pl, whereas cryptlib.h is */ -struct thread_local_inits_st { - int async; - int err_state; - int rand; -}; - -int ossl_init_thread_start(uint64_t opts); +int ossl_init_thread_start(void *arg, + OSSL_thread_stop_handler_fn handfn); +int ossl_init_thread(void); +void ossl_cleanup_thread(void); +void ossl_ctx_thread_stop(void *arg); /* * OPENSSL_INIT flags. The primary list of these is in crypto.h. Flags below @@ -27,11 +26,6 @@ int ossl_init_thread_start(uint64_t opts); # define OPENSSL_INIT_ZLIB 0x00010000L # define OPENSSL_INIT_BASE_ONLY 0x00040000L -/* OPENSSL_INIT_THREAD flags */ -# define OPENSSL_INIT_THREAD_ASYNC 0x01 -# define OPENSSL_INIT_THREAD_ERR_STATE 0x02 -# define OPENSSL_INIT_THREAD_RAND 0x04 - int ossl_trace_init(void); void ossl_trace_cleanup(void); void ossl_malloc_setup_failures(void); diff --git a/crypto/include/internal/err_int.h b/crypto/include/internal/err_int.h index a2006ca..68c6d62 100644 --- a/crypto/include/internal/err_int.h +++ b/crypto/include/internal/err_int.h @@ -12,7 +12,6 @@ int err_load_crypto_strings_int(void); void err_cleanup(void); -void err_delete_thread_state(void); int err_shelve_state(void **); void err_unshelve_state(void *); diff --git a/crypto/include/internal/rand_int.h b/crypto/include/internal/rand_int.h index 53896ce..c1e5e03 100644 --- a/crypto/include/internal/rand_int.h +++ b/crypto/include/internal/rand_int.h @@ -24,7 +24,6 @@ typedef struct rand_pool_st RAND_POOL; void rand_cleanup_int(void); -void drbg_delete_thread_state(void); void rand_fork(void); /* Hardware-based seeding functions. */ diff --git a/crypto/init.c b/crypto/init.c index e73c9ba..8755e21 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -31,51 +31,6 @@ static int stopped = 0; -/* - * Since per-thread-specific-data destructors are not universally - * available, i.e. not on Windows, only below CRYPTO_THREAD_LOCAL key - * is assumed to have destructor associated. And then an effort is made - * to call this single destructor on non-pthread platform[s]. - * - * Initial value is "impossible". It is used as guard value to shortcut - * destructor for threads terminating before libcrypto is initialized or - * after it's de-initialized. Access to the key doesn't have to be - * serialized for the said threads, because they didn't use libcrypto - * and it doesn't matter if they pick "impossible" or derefernce real - * key value and pull NULL past initialization in the first thread that - * intends to use libcrypto. - */ -static union { - long sane; - CRYPTO_THREAD_LOCAL value; -} destructor_key = { -1 }; - -static void ossl_init_thread_stop(struct thread_local_inits_st *locals); - -static void ossl_init_thread_destructor(void *local) -{ - ossl_init_thread_stop((struct thread_local_inits_st *)local); -} - -static struct thread_local_inits_st *ossl_init_get_thread_local(int alloc) -{ - struct thread_local_inits_st *local = - CRYPTO_THREAD_get_local(&destructor_key.value); - - if (alloc) { - if (local == NULL - && (local = OPENSSL_zalloc(sizeof(*local))) != NULL - && !CRYPTO_THREAD_set_local(&destructor_key.value, local)) { - OPENSSL_free(local); - return NULL; - } - } else { - CRYPTO_THREAD_set_local(&destructor_key.value, NULL); - } - - return local; -} - typedef struct ossl_init_stop_st OPENSSL_INIT_STOP; struct ossl_init_stop_st { void (*handler)(void); @@ -89,8 +44,6 @@ static CRYPTO_ONCE base = CRYPTO_ONCE_STATIC_INIT; static int base_inited = 0; DEFINE_RUN_ONCE_STATIC(ossl_init_base) { - CRYPTO_THREAD_LOCAL key; - if (ossl_trace_init() == 0) return 0; @@ -98,13 +51,14 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_base) #ifndef OPENSSL_NO_CRYPTO_MDEBUG ossl_malloc_setup_failures(); #endif - if (!CRYPTO_THREAD_init_local(&key, ossl_init_thread_destructor)) - return 0; + if ((init_lock = CRYPTO_THREAD_lock_new()) == NULL) goto err; OPENSSL_cpuid_setup(); - destructor_key.value = key; + if (!ossl_init_thread()) + return 0; + base_inited = 1; return 1; @@ -113,7 +67,6 @@ err: CRYPTO_THREAD_lock_free(init_lock); init_lock = NULL; - CRYPTO_THREAD_cleanup_local(&key); return 0; } @@ -417,76 +370,9 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_zlib) } #endif -static void ossl_init_thread_stop(struct thread_local_inits_st *locals) -{ - /* Can't do much about this */ - if (locals == NULL) - return; - - if (locals->async) { - OSSL_TRACE(INIT, "async_delete_thread_state()\n"); - async_delete_thread_state(); - } - - if (locals->err_state) { - OSSL_TRACE(INIT, "err_delete_thread_state()\n"); - err_delete_thread_state(); - } - - if (locals->rand) { - OSSL_TRACE(INIT, "drbg_delete_thread_state()\n"); - drbg_delete_thread_state(); - } - - OPENSSL_free(locals); -} - -void OPENSSL_thread_stop(void) -{ - if (destructor_key.sane != -1) - ossl_init_thread_stop(ossl_init_get_thread_local(0)); -} - -int ossl_init_thread_start(uint64_t opts) -{ - struct thread_local_inits_st *locals; - - if (!OPENSSL_init_crypto(0, NULL)) - return 0; - - locals = ossl_init_get_thread_local(1); - - if (locals == NULL) - return 0; - - if (opts & OPENSSL_INIT_THREAD_ASYNC) { - OSSL_TRACE(INIT, - "ossl_init_thread_start: " - "marking thread for async\n"); - locals->async = 1; - } - - if (opts & OPENSSL_INIT_THREAD_ERR_STATE) { - OSSL_TRACE(INIT, - "ossl_init_thread_start: " - "marking thread for err_state\n"); - locals->err_state = 1; - } - - if (opts & OPENSSL_INIT_THREAD_RAND) { - OSSL_TRACE(INIT, - "ossl_init_thread_start: " - "marking thread for rand\n"); - locals->rand = 1; - } - - return 1; -} - void OPENSSL_cleanup(void) { OPENSSL_INIT_STOP *currhandler, *lasthandler; - CRYPTO_THREAD_LOCAL key; /* * TODO(3.0): This function needs looking at with a view to moving most/all @@ -506,7 +392,7 @@ void OPENSSL_cleanup(void) * Thread stop may not get automatically called by the thread library for * the very last thread in some situations, so call it directly. */ - ossl_init_thread_stop(ossl_init_get_thread_local(0)); + OPENSSL_thread_stop(); currhandler = stop_handlers; while (currhandler != NULL) { @@ -542,9 +428,7 @@ void OPENSSL_cleanup(void) err_free_strings_int(); } - key = destructor_key.value; - destructor_key.sane = -1; - CRYPTO_THREAD_cleanup_local(&key); + ossl_cleanup_thread(); /* * Note that cleanup order is important: diff --git a/crypto/initthread.c b/crypto/initthread.c new file mode 100644 index 0000000..b4ee177 --- /dev/null +++ b/crypto/initthread.c @@ -0,0 +1,259 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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_int.h" +#include "internal/providercommon.h" + +#ifdef FIPS_MODE +/* + * Thread aware code may want to be told about thread stop events. We register + * to hear about those thread stop events when we see a new thread has started. + * We call the ossl_init_thread_start function to do that. In the FIPS provider + * we have our own copy of ossl_init_thread_start, which cascades notifications + * about threads stopping from libcrypto to all the code in the FIPS provider + * that needs to know about it. + * + * The FIPS provider tells libcrypto about which threads it is interested in + * by calling "c_thread_start" which is a function pointer created during + * provider initialisation (i.e. OSSL_init_provider). + */ +extern OSSL_core_thread_start_fn *c_thread_start; +#endif + +typedef struct thread_event_handler_st THREAD_EVENT_HANDLER; +struct thread_event_handler_st { + void *arg; + OSSL_thread_stop_handler_fn handfn; + THREAD_EVENT_HANDLER *next; +}; + +static void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands); + +static THREAD_EVENT_HANDLER ** +init_get_thread_local(CRYPTO_THREAD_LOCAL *local, int alloc, int keep) +{ + THREAD_EVENT_HANDLER **hands = CRYPTO_THREAD_get_local(local); + + if (alloc) { + if (hands == NULL + && (hands = OPENSSL_zalloc(sizeof(*hands))) != NULL + && !CRYPTO_THREAD_set_local(local, hands)) { + OPENSSL_free(hands); + return NULL; + } + } else if (!keep) { + CRYPTO_THREAD_set_local(local, NULL); + } + + return hands; +} + +#ifndef FIPS_MODE +/* + * Since per-thread-specific-data destructors are not universally + * available, i.e. not on Windows, only below CRYPTO_THREAD_LOCAL key + * is assumed to have destructor associated. And then an effort is made + * to call this single destructor on non-pthread platform[s]. + * + * Initial value is "impossible". It is used as guard value to shortcut + * destructor for threads terminating before libcrypto is initialized or + * after it's de-initialized. Access to the key doesn't have to be + * serialized for the said threads, because they didn't use libcrypto + * and it doesn't matter if they pick "impossible" or derefernce real + * key value and pull NULL past initialization in the first thread that + * intends to use libcrypto. + */ +static union { + long sane; + CRYPTO_THREAD_LOCAL value; +} destructor_key = { -1 }; + +static void init_thread_destructor(void *hands) +{ + init_thread_stop(NULL, (THREAD_EVENT_HANDLER **)hands); + OPENSSL_free(hands); +} + +int ossl_init_thread(void) +{ + if (!CRYPTO_THREAD_init_local(&destructor_key.value, + init_thread_destructor)) + return 0; + + return 1; +} + +void ossl_cleanup_thread(void) +{ + CRYPTO_THREAD_cleanup_local(&destructor_key.value); + destructor_key.sane = -1; +} + +void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx) +{ + ctx = openssl_ctx_get_concrete(ctx); + /* + * TODO(3.0). It would be nice if we could figure out a way to do this on + * all threads that have used the OPENSSL_CTX when the OPENSSL_CTX is freed. + * This is currently not possible due to the use of thread local variables. + */ + ossl_ctx_thread_stop(ctx); +} + +void OPENSSL_thread_stop(void) +{ + if (destructor_key.sane != -1) { + THREAD_EVENT_HANDLER **hands + = init_get_thread_local(&destructor_key.value, 0, 0); + init_thread_stop(NULL, hands); + OPENSSL_free(hands); + } +} + +void ossl_ctx_thread_stop(void *arg) +{ + if (destructor_key.sane != -1) { + THREAD_EVENT_HANDLER **hands + = init_get_thread_local(&destructor_key.value, 0, 1); + init_thread_stop(arg, hands); + } +} + +#else + +static void *thread_event_ossl_ctx_new(OPENSSL_CTX *libctx) +{ + THREAD_EVENT_HANDLER **hands = NULL; + CRYPTO_THREAD_LOCAL *tlocal = OPENSSL_zalloc(sizeof(*tlocal)); + + if (tlocal == NULL) + return NULL; + + if (!CRYPTO_THREAD_init_local(tlocal, NULL)) { + goto err; + } + + hands = OPENSSL_zalloc(sizeof(*hands)); + if (hands == NULL) + goto err; + + if (!CRYPTO_THREAD_set_local(tlocal, hands)) + goto err; + + return tlocal; + err: + OPENSSL_free(hands); + OPENSSL_free(tlocal); + return NULL; +} + +static void thread_event_ossl_ctx_free(void *tlocal) +{ + OPENSSL_free(tlocal); +} + +static const OPENSSL_CTX_METHOD thread_event_ossl_ctx_method = { + thread_event_ossl_ctx_new, + thread_event_ossl_ctx_free, +}; + +void ossl_ctx_thread_stop(void *arg) +{ + THREAD_EVENT_HANDLER **hands; + OPENSSL_CTX *ctx = arg; + CRYPTO_THREAD_LOCAL *local + = openssl_ctx_get_data(ctx, OPENSSL_CTX_THREAD_EVENT_HANDLER_INDEX, + &thread_event_ossl_ctx_method); + + if (local == NULL) + return; + hands = init_get_thread_local(local, 0, 0); + init_thread_stop(arg, hands); + OPENSSL_free(hands); +} +#endif /* FIPS_MODE */ + + +static void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands) +{ + THREAD_EVENT_HANDLER *curr, *prev = NULL; + + /* Can't do much about this */ + if (hands == NULL) + return; + + curr = *hands; + while (curr != NULL) { + if (arg != NULL && curr->arg != arg) { + curr = curr->next; + continue; + } + curr->handfn(curr->arg); + prev = curr; + curr = curr->next; + if (prev == *hands) + *hands = curr; + OPENSSL_free(prev); + } +} + +int ossl_init_thread_start(void *arg, OSSL_thread_stop_handler_fn handfn) +{ + THREAD_EVENT_HANDLER **hands; + THREAD_EVENT_HANDLER *hand; +#ifdef FIPS_MODE + OPENSSL_CTX *ctx = arg; + + /* + * In FIPS mode the list of THREAD_EVENT_HANDLERs is unique per combination + * of OPENSSL_CTX and thread. This is because in FIPS mode each OPENSSL_CTX + * gets informed about thread stop events individually. + */ + CRYPTO_THREAD_LOCAL *local + = openssl_ctx_get_data(ctx, OPENSSL_CTX_THREAD_EVENT_HANDLER_INDEX, + &thread_event_ossl_ctx_method); +#else + /* + * Outside of FIPS mode the list of THREAD_EVENT_HANDLERs is unique per + * thread, but may hold multiple OPENSSL_CTXs. We only get told about + * thread stop events globally, so we have to ensure all affected + * OPENSSL_CTXs are informed. + */ + CRYPTO_THREAD_LOCAL *local = &destructor_key.value; +#endif + + hands = init_get_thread_local(local, 1, 0); + if (hands == NULL) + return 0; + +#ifdef FIPS_MODE + if (*hands == NULL) { + /* + * We've not yet registered any handlers for this thread. We need to get + * libcrypto to tell us about later thread stop events. c_thread_start + * is a callback to libcrypto defined in fipsprov.c + */ + if (!c_thread_start(FIPS_get_provider(ctx), ossl_ctx_thread_stop)) + return 0; + } +#endif + + hand = OPENSSL_malloc(sizeof(*hand)); + if (hand == NULL) + return 0; + + hand->handfn = handfn; + hand->arg = arg; + hand->next = *hands; + *hands = hand; + + return 1; +} diff --git a/crypto/provider_core.c b/crypto/provider_core.c index 62b5bd4..10948ce 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -11,7 +11,7 @@ #include #include #include -#include "internal/cryptlib.h" +#include "internal/cryptlib_int.h" #include "internal/nelem.h" #include "internal/thread_once.h" #include "internal/provider.h" @@ -667,10 +667,17 @@ static OPENSSL_CTX *core_get_libctx(const OSSL_PROVIDER *prov) return prov->libctx; } +static int core_thread_start(const OSSL_PROVIDER *prov, + OSSL_thread_stop_handler_fn handfn) +{ + return ossl_init_thread_start(prov->provctx, handfn); +} + static const OSSL_DISPATCH core_dispatch_[] = { { OSSL_FUNC_CORE_GET_PARAM_TYPES, (void (*)(void))core_get_param_types }, { OSSL_FUNC_CORE_GET_PARAMS, (void (*)(void))core_get_params }, { OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT, (void (*)(void))core_get_libctx }, + { OSSL_FUNC_CORE_THREAD_START, (void (*)(void))core_thread_start }, { OSSL_FUNC_CORE_PUT_ERROR, (void (*)(void))ERR_put_error }, { OSSL_FUNC_CORE_ADD_ERROR_VDATA, (void (*)(void))ERR_add_error_vdata }, { 0, NULL } diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 26e2ccb..5d6ea1e 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -158,6 +158,14 @@ static void *drbg_ossl_ctx_new(OPENSSL_CTX *libctx) if (dgbl == NULL) return NULL; +#ifndef FIPS_MODE + /* + * We need to ensure that base libcrypto thread handling has been + * initialised. + */ + OPENSSL_init_crypto(0, NULL); +#endif + if (!CRYPTO_THREAD_init_local(&dgbl->private_drbg, NULL)) goto err1; @@ -1137,10 +1145,9 @@ err: return NULL; } -void drbg_delete_thread_state(void) +static void drbg_delete_thread_state(void *arg) { - /* TODO(3.0): Other PRs will pass the ctx as a param to this function */ - OPENSSL_CTX *ctx = NULL; + OPENSSL_CTX *ctx = arg; DRBG_GLOBAL *dgbl = drbg_get_global(ctx); RAND_DRBG *drbg; @@ -1332,7 +1339,7 @@ RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->public_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_RAND)) + if (!ossl_init_thread_start(NULL, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PUBLIC); CRYPTO_THREAD_set_local(&dgbl->public_drbg, drbg); @@ -1359,7 +1366,7 @@ RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->private_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_RAND)) + if (!ossl_init_thread_start(NULL, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PRIVATE); CRYPTO_THREAD_set_local(&dgbl->private_drbg, drbg); diff --git a/doc/man3/OPENSSL_CTX.pod b/doc/man3/OPENSSL_CTX.pod index 5348367..1893c92 100644 --- a/doc/man3/OPENSSL_CTX.pod +++ b/doc/man3/OPENSSL_CTX.pod @@ -21,6 +21,10 @@ the internal default context with functions that take a C argument. OPENSSL_CTX_new() creates a new OpenSSL library context. +When a non default library context is in use care should be taken with +multi-threaded applications to properly clean up thread local resources before +the OPENSSL_CTX is freed. +See L for more information. OPENSSL_CTX_free() frees the given C. diff --git a/doc/man3/OPENSSL_init_crypto.pod b/doc/man3/OPENSSL_init_crypto.pod index a832561..e20fc8c 100644 --- a/doc/man3/OPENSSL_init_crypto.pod +++ b/doc/man3/OPENSSL_init_crypto.pod @@ -5,7 +5,7 @@ OPENSSL_INIT_new, OPENSSL_INIT_set_config_filename, OPENSSL_INIT_set_config_appname, OPENSSL_INIT_set_config_file_flags, OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit, -OPENSSL_thread_stop - OpenSSL initialisation +OPENSSL_thread_stop_ex, OPENSSL_thread_stop - OpenSSL initialisation and deinitialisation functions =head1 SYNOPSIS @@ -15,6 +15,7 @@ and deinitialisation functions void OPENSSL_cleanup(void); int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); int OPENSSL_atexit(void (*handler)(void)); + void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx); void OPENSSL_thread_stop(void); OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); @@ -202,11 +203,25 @@ called after deinitialisation of resources local to a thread, but before other process wide resources are freed. In the event that multiple stop handlers are registered, no guarantees are made about the order of execution. -The OPENSSL_thread_stop() function deallocates resources associated -with the current thread. Typically this function will be called automatically by -the library when the thread exits. This should only be called directly if -resources should be freed at an earlier time, or under the circumstances -described in the NOTES section below. +The OPENSSL_thread_stop_ex() function deallocates resources associated +with the current thread for the given OPENSSL_CTX B. The B parameter +can be NULL in which case the default OPENSSL_CTX is used. + +Typically, this function will be called automatically by the library when +the thread exits as long as the OPENSSL_CTX has not been freed before the thread +exits. If OPENSSL_CTX_free() is called OPENSSL_thread_stop_ex will be called +automatically for the current thread (but not any other threads that may have +used this OPENSSL_CTX). + +OPENSSL_thread_stop_ex should be called on all threads that will exit after the +OPENSSL_CTX is freed. +Typically this is not necessary for the default OPENSSL_CTX (because all +resources are cleaned up on library exit) except if thread local resources +should be freed before library exit, or under the circumstances described in +the NOTES section below. + +OPENSSL_thread_stop() is the same as OPENSSL_thread_stop_ex() except that the +default OPENSSL_CTX is always used. The B flag will load a configuration file, as with L with NULL filename and application name and the diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h index d76f9e1..f7bd06b 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -149,13 +149,17 @@ typedef struct ossl_ex_data_global_st { # define OPENSSL_CTX_DRBG_INDEX 5 # define OPENSSL_CTX_DRBG_NONCE_INDEX 6 # define OPENSSL_CTX_RAND_CRNGT_INDEX 7 -# define OPENSSL_CTX_MAX_INDEXES 8 +# define OPENSSL_CTX_THREAD_EVENT_HANDLER_INDEX 8 +# define OPENSSL_CTX_FIPS_PROV_INDEX 9 +# define OPENSSL_CTX_MAX_INDEXES 10 typedef struct openssl_ctx_method { void *(*new_func)(OPENSSL_CTX *ctx); void (*free_func)(void *); } OPENSSL_CTX_METHOD; +OPENSSL_CTX *openssl_ctx_get_concrete(OPENSSL_CTX *ctx); + /* Functions to retrieve pointers to data by index */ void *openssl_ctx_get_data(OPENSSL_CTX *, int /* index */, const OPENSSL_CTX_METHOD * ctx); diff --git a/include/openssl/core.h b/include/openssl/core.h index cf4d3f4..f596957 100644 --- a/include/openssl/core.h +++ b/include/openssl/core.h @@ -143,6 +143,19 @@ struct ossl_param_st { */ # define OSSL_PARAM_OCTET_PTR 7 +/* + * Typedef for the thread stop handling callback. Used both internally and by + * providers. + * + * Providers may register for notifications about threads stopping by + * registering a callback to hear about such events. Providers register the + * callback using the OSSL_FUNC_CORE_THREAD_START function in the |in| dispatch + * table passed to OSSL_provider_init(). The arg passed back to a provider will + * be the provider side context object. + */ +typedef void (*OSSL_thread_stop_handler_fn)(void *arg); + + /*- * Provider entry point * -------------------- diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index 370e059..e1f0200 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -58,12 +58,15 @@ OSSL_CORE_MAKE_FUNC(const OSSL_ITEM *, # define OSSL_FUNC_CORE_GET_PARAMS 2 OSSL_CORE_MAKE_FUNC(int,core_get_params,(const OSSL_PROVIDER *prov, const OSSL_PARAM params[])) -# define OSSL_FUNC_CORE_PUT_ERROR 3 +# define OSSL_FUNC_CORE_THREAD_START 3 +OSSL_CORE_MAKE_FUNC(int,core_thread_start,(const OSSL_PROVIDER *prov, + OSSL_thread_stop_handler_fn handfn)) +# define OSSL_FUNC_CORE_PUT_ERROR 4 OSSL_CORE_MAKE_FUNC(void,core_put_error,(int lib, int func, int reason, const char *file, int line)) -# define OSSL_FUNC_CORE_ADD_ERROR_VDATA 4 +# define OSSL_FUNC_CORE_ADD_ERROR_VDATA 5 OSSL_CORE_MAKE_FUNC(void,core_add_error_vdata,(int num, va_list args)) -# define OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT 5 +# define OSSL_FUNC_CORE_GET_LIBRARY_CONTEXT 6 OSSL_CORE_MAKE_FUNC(OPENSSL_CTX *,core_get_library_context, (const OSSL_PROVIDER *prov)) diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index 5322cc8..7953119 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -415,6 +415,7 @@ void OPENSSL_cleanup(void); int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); int OPENSSL_atexit(void (*handler)(void)); void OPENSSL_thread_stop(void); +void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx); /* Low-level control of initialization */ OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); diff --git a/providers/common/include/internal/providercommon.h b/providers/common/include/internal/providercommon.h index e69de29..663d9c6 100644 --- a/providers/common/include/internal/providercommon.h +++ b/providers/common/include/internal/providercommon.h @@ -0,0 +1,10 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +const OSSL_PROVIDER *FIPS_get_provider(OPENSSL_CTX *ctx); diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 51246d5..9f9b428 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -22,13 +22,44 @@ #include "internal/evp_int.h" #include "internal/provider_algs.h" #include "internal/provider_ctx.h" +#include "internal/providercommon.h" +/* + * TODO(3.0): Should these be stored in the provider side provctx? Could they + * ever be different from one init to the next? Unfortunately we can't do this + * at the moment because c_put_error/c_add_error_vdata do not provide us with + * the OPENSSL_CTX as a parameter. + */ /* Functions provided by the core */ static OSSL_core_get_param_types_fn *c_get_param_types = NULL; static OSSL_core_get_params_fn *c_get_params = NULL; +extern OSSL_core_thread_start_fn *c_thread_start; +OSSL_core_thread_start_fn *c_thread_start = NULL; static OSSL_core_put_error_fn *c_put_error = NULL; static OSSL_core_add_error_vdata_fn *c_add_error_vdata = NULL; +typedef struct fips_global_st { + const OSSL_PROVIDER *prov; +} FIPS_GLOBAL; + +static void *fips_prov_ossl_ctx_new(OPENSSL_CTX *libctx) +{ + FIPS_GLOBAL *fgbl = OPENSSL_zalloc(sizeof(*fgbl)); + + return fgbl; +} + +static void fips_prov_ossl_ctx_free(void *fgbl) +{ + OPENSSL_free(fgbl); +} + +static const OPENSSL_CTX_METHOD fips_prov_ossl_ctx_method = { + fips_prov_ossl_ctx_new, + fips_prov_ossl_ctx_free, +}; + + /* Parameters we provide to the core */ static const OSSL_ITEM fips_param_types[] = { { OSSL_PARAM_UTF8_PTR, OSSL_PROV_PARAM_NAME }, @@ -184,7 +215,19 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, const OSSL_DISPATCH **out, void **provctx) { - OPENSSL_CTX *ctx; + FIPS_GLOBAL *fgbl; + OPENSSL_CTX *ctx = OPENSSL_CTX_new(); + + if (ctx == NULL) + return 0; + + fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX, + &fips_prov_ossl_ctx_method); + + if (fgbl == NULL) + goto err; + + fgbl->prov = provider; for (; in->function_id != 0; in++) { switch (in->function_id) { @@ -194,6 +237,9 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, case OSSL_FUNC_CORE_GET_PARAMS: c_get_params = OSSL_get_core_get_params(in); break; + case OSSL_FUNC_CORE_THREAD_START: + c_thread_start = OSSL_get_core_thread_start(in); + break; case OSSL_FUNC_CORE_PUT_ERROR: c_put_error = OSSL_get_core_put_error(in); break; @@ -224,6 +270,10 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, } return 1; + + err: + OPENSSL_CTX_free(ctx); + return 0; } /* @@ -290,3 +340,14 @@ void ERR_add_error_vdata(int num, va_list args) { c_add_error_vdata(num, args); } + +const OSSL_PROVIDER *FIPS_get_provider(OPENSSL_CTX *ctx) +{ + FIPS_GLOBAL *fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX, + &fips_prov_ossl_ctx_method); + + if (fgbl == NULL) + return NULL; + + return fgbl->prov; +} diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 6fca3a3..5bf4a8c 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -1220,6 +1220,11 @@ static int test_EVP_MD_fetch(int tst) EVP_MD_meth_free(md); OSSL_PROVIDER_unload(defltprov); OSSL_PROVIDER_unload(fipsprov); + /* Not normally needed, but we would like to test that + * OPENSSL_thread_stop_ex() behaves as expected. + */ + if (ctx != NULL) + OPENSSL_thread_stop_ex(ctx); OPENSSL_CTX_free(ctx); return ret; } diff --git a/util/libcrypto.num b/util/libcrypto.num index 7280649..0b18107 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4831,3 +4831,4 @@ OPENSSL_CTX_get0_public_drbg 4775 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_get0_private_drbg 4776 3_0_0 EXIST::FUNCTION: BN_CTX_new_ex 4777 3_0_0 EXIST::FUNCTION: BN_CTX_secure_new_ex 4778 3_0_0 EXIST::FUNCTION: +OPENSSL_thread_stop_ex 4779 3_0_0 EXIST::FUNCTION: From openssl at openssl.org Mon Jun 17 15:51:01 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 17 Jun 2019 15:51:01 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1560786661.494487.20017.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 4bfe304ea8 Add documentation for X509_cmp and related APIs 07c244f0cd Use variables in build.info files where it's worth the while 26fe9b07d8 Configure: Add support for variables in build.info files aff9659736 Fix building with enable-trace Build log ended with (last 100 lines): ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1556, 274 wallclock secs ( 1.92 usr 0.36 sys + 267.23 cusr 19.48 csys = 288.99 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Mon Jun 17 15:59:18 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 15:59:18 +0000 Subject: Build failed: openssl master.25267 Message-ID: <20190617155918.1.4FFD89032378C3F4@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Jun 17 16:05:52 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 17 Jun 2019 16:05:52 +0000 Subject: Still Failing: openssl/openssl#25841 (master - 2be8c56) In-Reply-To: Message-ID: <5d07ba6080d4b_43f9d0230b7701014db@db48bab2-dcff-4923-8047-42c56f2ef2f2.mail> Build Update for openssl/openssl ------------------------------------- Build: #25841 Status: Still Failing Duration: 25 mins and 25 secs Commit: 2be8c56 (master) Author: Matt Caswell Message: Standardise the function naming conventions in initthread.c Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9040) View the changeset: https://github.com/openssl/openssl/compare/30478c97837a...2be8c56a39b0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/546815619?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 Jun 17 18:13:50 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 18:13:50 +0000 Subject: Build failed: openssl master.25273 Message-ID: <20190617181350.1.00277D6EA14F9A56@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 18:41:50 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 18:41:50 +0000 Subject: Build completed: openssl master.25274 Message-ID: <20190617184150.1.91376C0048DD9444@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 19:20:49 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 19:20:49 +0000 Subject: Build failed: openssl master.25276 Message-ID: <20190617192049.1.8639E042E9D942D2@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 19:47:46 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 19:47:46 +0000 Subject: Build completed: openssl master.25277 Message-ID: <20190617194746.1.12212951BE16E5D5@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 21:24:16 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 21:24:16 +0000 Subject: Build failed: openssl master.25282 Message-ID: <20190617212416.1.70A6AB6497DAD58C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 17 22:09:56 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 17 Jun 2019 22:09:56 +0000 Subject: Build completed: openssl master.25283 Message-ID: <20190617220956.1.4C3746BFC29266AB@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Jun 17 23:02:50 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 17 Jun 2019 23:02:50 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Message-ID: <1560812570.231201.15008.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): ../../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 ..................... skipped: test_comp needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_key_share.t ................ skipped: test_key_share needs the dynamic engine feature enabled ../../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 the dynamic engine feature enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslextension.t ............. skipped: test_sslextension needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... skipped: test_sslsigalgs needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsignature.t ............. skipped: test_sslsignature needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslskewith0p.t ............. skipped: test_sslskewith0p needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ skipped: test_sslextension needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13alerts.t .............. skipped: test_tls13alerts needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13cookie.t .............. skipped: test_tls13cookie needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. skipped: test_tls13hrr needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ skipped: test_tls13kexmodes needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13messages.t ............ skipped: test_tls13messages needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13psk.t ................. skipped: test_tls13psk needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs the dynamic engine feature 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 .................. 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_bio_memleak.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: GOST support is 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 ................. ok ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ skipped: Test only supported in a shared build ../../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 ............. 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/30-test_evp_extra.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1442, 691 wallclock secs ( 1.12 usr 0.37 sys + 615.90 cusr 70.62 csys = 688.01 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-asan' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Tue Jun 18 02:43:10 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 02:43:10 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-ec Message-ID: <1560825790.964322.14991.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ec Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. From pauli at openssl.org Tue Jun 18 02:54:08 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Tue, 18 Jun 2019 02:54:08 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560826448.996192.30809.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 10bf5068190ab25324648dd4a0becd4bd46ecc37 (commit) from ea5d4b89cc6f0273d5085f5902b68fc4aa32cb80 (commit) - Log ----------------------------------------------------------------- commit 10bf5068190ab25324648dd4a0becd4bd46ecc37 Author: Rebecca Cran Date: Thu Jun 13 16:09:47 2019 -0600 Swap #if blocks in uid.c so target platform gets checked before host This avoids the case where a UEFI build on FreeBSD tries to call the system issetugid function instead of returning 0 as it should do. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9158) ----------------------------------------------------------------------- Summary of changes: crypto/uid.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crypto/uid.c b/crypto/uid.c index b2b0964..65b1171 100644 --- a/crypto/uid.c +++ b/crypto/uid.c @@ -10,20 +10,20 @@ #include #include -#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) || defined(__DragonFly__) - -# include OPENSSL_UNISTD +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) int OPENSSL_issetugid(void) { - return issetugid(); + return 0; } -#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) +#elif defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) || defined(__DragonFly__) + +# include OPENSSL_UNISTD int OPENSSL_issetugid(void) { - return 0; + return issetugid(); } #else From pauli at openssl.org Tue Jun 18 03:07:52 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Tue, 18 Jun 2019 03:07:52 +0000 Subject: [openssl] master update Message-ID: <1560827272.982597.1634.nullmailer@dev.openssl.org> The branch master has been updated via e24bdcde5a80a7edeb1e0dbbcf45c3353a974974 (commit) from 2be8c56a39b0ec2ec5af6ceaf729df154d784a43 (commit) - Log ----------------------------------------------------------------- commit e24bdcde5a80a7edeb1e0dbbcf45c3353a974974 Author: Rebecca Cran Date: Tue Jun 18 13:02:32 2019 +1000 Swap #if blocks in uid.c so target platform gets checked before host This avoids the case where a UEFI build on FreeBSD tries to call the system issetugid function instead of returning 0 as it should do. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from #9158) ----------------------------------------------------------------------- Summary of changes: crypto/uid.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crypto/uid.c b/crypto/uid.c index 494dbde..3ae93f6 100644 --- a/crypto/uid.c +++ b/crypto/uid.c @@ -10,20 +10,20 @@ #include #include -#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) || defined(__DragonFly__) - -# include OPENSSL_UNISTD +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) int OPENSSL_issetugid(void) { - return issetugid(); + return 0; } -#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) +#elif defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) || defined(__DragonFly__) + +# include OPENSSL_UNISTD int OPENSSL_issetugid(void) { - return 0; + return issetugid(); } #else From builds at travis-ci.org Tue Jun 18 03:34:10 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 03:34:10 +0000 Subject: Still Failing: openssl/openssl#25857 (master - e24bdcd) In-Reply-To: Message-ID: <5d085bb1d121d_43fcddef4c644214647@c782b3f3-a747-4880-8829-4ca5e3b900fb.mail> Build Update for openssl/openssl ------------------------------------- Build: #25857 Status: Still Failing Duration: 25 mins and 45 secs Commit: e24bdcd (master) Author: Rebecca Cran Message: Swap #if blocks in uid.c so target platform gets checked before host This avoids the case where a UEFI build on FreeBSD tries to call the system issetugid function instead of returning 0 as it should do. CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from #9158) View the changeset: https://github.com/openssl/openssl/compare/2be8c56a39b0...e24bdcde5a80 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547045973?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 Jun 18 07:10:26 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 07:10:26 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560841826.685644.24290.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:232: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:242: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:287: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:292: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:292: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:304: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:307: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:320: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:332: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:332: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:339: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:339: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:344: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:344: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:352: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:353: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:136: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:139: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:142: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:179: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7066: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Tue Jun 18 11:31:02 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 11:31:02 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-sse2 Message-ID: <1560857462.351037.11684.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sse2 Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/time_offset_test-bin-time_offset_test.d.tmp -MT test/time_offset_test-bin-time_offset_test.o -c -o test/time_offset_test-bin-time_offset_test.o ../openssl/test/time_offset_test.c clang -I. -Iinclude -I../openssl -I../openssl/include -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/tls13ccstest-bin-ssltestlib.d.tmp -MT test/tls13ccstest-bin-ssltestlib.o -c -o test/tls13ccstest-bin-ssltestlib.o ../openssl/test/ssltestlib.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/tls13ccstest-bin-tls13ccstest.d.tmp -MT test/tls13ccstest-bin-tls13ccstest.o -c -o test/tls13ccstest-bin-tls13ccstest.o ../openssl/test/tls13ccstest.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/tls13encryptiontest-bin-tls13encryptiontest.d.tmp -MT test/tls13encryptiontest-bin-tls13encryptiontest.o -c -o test/tls13encryptiontest-bin-tls13encryptiontest.o ../openssl/test/tls13encryptiontest.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF ssl/tls13secretstest-bin-packet.d.tmp -MT ssl/tls13secretstest-bin-packet.o -c -o ssl/tls13secretstest-bin-packet.o ../openssl/ssl/packet.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF ssl/tls13secretstest-bin-tls13_enc.d.tmp -MT ssl/tls13secretstest-bin-tls13_enc.o -c -o ssl/tls13secretstest-bin-tls13_enc.o ../openssl/ssl/tls13_enc.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/tls13secretstest-bin-tls13secretstest.d.tmp -MT test/tls13secretstest-bin-tls13secretstest.o -c -o test/tls13secretstest-bin-tls13secretstest.o ../openssl/test/tls13secretstest.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF apps/uitest-bin-apps_ui.d.tmp -MT apps/uitest-bin-apps_ui.o -c -o apps/uitest-bin-apps_ui.o ../openssl/apps/apps_ui.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/uitest-bin-uitest.d.tmp -MT test/uitest-bin-uitest.o -c -o test/uitest-bin-uitest.o ../openssl/test/uitest.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/v3ext-bin-v3ext.d.tmp -MT test/v3ext-bin-v3ext.o -c -o test/v3ext-bin-v3ext.o ../openssl/test/v3ext.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/v3nametest-bin-v3nametest.d.tmp -MT test/v3nametest-bin-v3nametest.o -c -o test/v3nametest-bin-v3nametest.o ../openssl/test/v3nametest.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/verify_extra_test-bin-verify_extra_test.d.tmp -MT test/verify_extra_test-bin-verify_extra_test.o -c -o test/verify_extra_test-bin-verify_extra_test.o ../openssl/test/verify_extra_test.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/versions-bin-versions.d.tmp -MT test/versions-bin-versions.o -c -o test/versions-bin-versions.o ../openssl/test/versions.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/wpackettest-bin-wpackettest.d.tmp -MT test/wpackettest-bin-wpackettest.o -c -o test/wpackettest-bin-wpackettest.o ../openssl/test/wpackettest.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.d.tmp -MT test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o -c -o test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o ../openssl/test/x509_check_cert_pkey_test.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/x509_dup_cert_test-bin-x509_dup_cert_test.d.tmp -MT test/x509_dup_cert_test-bin-x509_dup_cert_test.o -c -o test/x509_dup_cert_test-bin-x509_dup_cert_test.o ../openssl/test/x509_dup_cert_test.c clang -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/x509_internal_test-bin-x509_internal_test.d.tmp -MT test/x509_internal_test-bin-x509_internal_test.o -c -o test/x509_internal_test-bin-x509_internal_test.o ../openssl/test/x509_internal_test.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/x509_time_test-bin-x509_time_test.d.tmp -MT test/x509_time_test-bin-x509_time_test.o -c -o test/x509_time_test-bin-x509_time_test.o ../openssl/test/x509_time_test.c clang -Iinclude -Iapps/include -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/x509aux-bin-x509aux.d.tmp -MT test/x509aux-bin-x509aux.o -c -o test/x509aux-bin-x509aux.o ../openssl/test/x509aux.c /usr/bin/perl "-I." -Mconfigdata "../openssl/util/dofile.pl" \ "-oMakefile" ../openssl/apps/CA.pl.in > "apps/CA.pl" /usr/bin/perl "-I." -Mconfigdata "../openssl/util/dofile.pl" \ "-oMakefile" ../openssl/apps/tsget.in > "apps/tsget.pl" /usr/bin/perl "-I." -Mconfigdata "../openssl/util/dofile.pl" \ "-oMakefile" ../openssl/tools/c_rehash.in > "tools/c_rehash" chmod a+x apps/CA.pl /usr/bin/perl "-I." -Mconfigdata "../openssl/util/dofile.pl" \ "-oMakefile" ../openssl/util/shlib_wrap.sh.in > "util/shlib_wrap.sh" chmod a+x tools/c_rehash ar r apps/libapps.a apps/libapps-lib-app_rand.o apps/libapps-lib-apps.o apps/libapps-lib-apps_ui.o apps/libapps-lib-bf_prefix.o apps/libapps-lib-fmt.o apps/libapps-lib-opt.o apps/libapps-lib-s_cb.o apps/libapps-lib-s_socket.o ar: creating apps/libapps.a ranlib apps/libapps.a || echo Never mind. clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-lib-aes-x86_64.o crypto/aes/aes-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-lib-aesni-mb-x86_64.o crypto/aes/aesni-mb-x86_64.s chmod a+x util/shlib_wrap.sh clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-lib-aesni-sha1-x86_64.o crypto/aes/aesni-sha1-x86_64.s chmod a+x apps/tsget.pl clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-lib-aesni-sha256-x86_64.o crypto/aes/aesni-sha256-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-lib-bsaes-x86_64.o crypto/aes/bsaes-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/bn/libcrypto-lib-rsaz-avx2.o crypto/bn/rsaz-avx2.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/bn/libcrypto-lib-rsaz-x86_64.o crypto/bn/rsaz-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/bn/libcrypto-lib-x86_64-gf2m.o crypto/bn/x86_64-gf2m.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/bn/libcrypto-lib-x86_64-mont.o crypto/bn/x86_64-mont.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/bn/libcrypto-lib-x86_64-mont5.o crypto/bn/x86_64-mont5.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/camellia/libcrypto-lib-cmll-x86_64.o crypto/camellia/cmll-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/chacha/libcrypto-lib-chacha-x86_64.o crypto/chacha/chacha-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/ec/libcrypto-lib-ecp_nistz256-x86_64.o crypto/ec/ecp_nistz256-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/ec/libcrypto-lib-x25519-x86_64.o crypto/ec/x25519-x86_64.s clang -Icrypto -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/libcrypto-lib-cversion.d.tmp -MT crypto/libcrypto-lib-cversion.o -c -o crypto/libcrypto-lib-cversion.o ../openssl/crypto/cversion.c clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/libcrypto-lib-x86_64cpuid.o crypto/x86_64cpuid.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/md5/libcrypto-lib-md5-x86_64.o crypto/md5/md5-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/modes/libcrypto-lib-aesni-gcm-x86_64.o crypto/modes/aesni-gcm-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/modes/libcrypto-lib-ghash-x86_64.o crypto/modes/ghash-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/poly1305/libcrypto-lib-poly1305-x86_64.o crypto/poly1305/poly1305-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o crypto/rc4/rc4-md5-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/rc4/libcrypto-lib-rc4-x86_64.o crypto/rc4/rc4-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-keccak1600-x86_64.o crypto/sha/keccak1600-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-sha1-mb-x86_64.o crypto/sha/sha1-mb-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-sha1-x86_64.o crypto/sha/sha1-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-sha256-mb-x86_64.o crypto/sha/sha256-mb-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-sha256-x86_64.o crypto/sha/sha256-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/sha/libcrypto-lib-sha512-x86_64.o crypto/sha/sha512-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/whrlpool/libcrypto-lib-wp-x86_64.o crypto/whrlpool/wp-x86_64.s ar r libssl.a ssl/libssl-lib-bio_ssl.o ssl/libssl-lib-d1_lib.o ssl/libssl-lib-d1_msg.o ssl/libssl-lib-d1_srtp.o ssl/libssl-lib-methods.o ssl/libssl-lib-packet.o ssl/libssl-lib-pqueue.o ssl/libssl-lib-s3_cbc.o ssl/libssl-lib-s3_enc.o ssl/libssl-lib-s3_lib.o ssl/libssl-lib-s3_msg.o ssl/libssl-lib-ssl_asn1.o ssl/libssl-lib-ssl_cert.o ssl/libssl-lib-ssl_ciph.o ssl/libssl-lib-ssl_conf.o ssl/libssl-lib-ssl_err.o ssl/libssl-lib-ssl_init.o ssl/libssl-lib-ssl_lib.o ssl/libssl-lib-ssl_mcnf.o ssl/libssl-lib-ssl_rsa.o ssl/libssl-lib-ssl_sess.o ssl/libssl-lib-ssl_stat.o ssl/libssl-lib-ssl_txt.o ssl/libssl-lib-ssl_utst.o ssl/libssl-lib-t1_enc.o ssl/libssl-lib-t1_lib.o ssl/libssl-lib-t1_trce.o ssl/libssl-lib-tls13_enc.o ssl/libssl-lib-tls_srp.o ssl/record/libssl-lib-dtls1_bitmap.o ssl/record/libssl-lib-rec_layer_d1.o ssl/record/libssl-lib-rec_layer_s3.o ssl/record/libssl-lib-ssl3_buffer.o ssl/record/libssl-lib-ssl3_record.o ssl/record/libssl-lib-ssl3_record_tls13.o ssl/statem/libssl-lib-extensions.o ssl/statem/libssl-lib-extensions_clnt.o ssl/statem/libssl-lib-extensions_cust.o ssl/statem/libssl-lib-extensions_srvr.o ssl/statem/libssl-lib-statem.o ssl/statem/libssl-lib-statem_clnt.o ssl/statem/libssl-lib-statem_dtls.o ssl/statem/libssl-lib-statem_lib.o ssl/statem/libssl-lib-statem_srvr.o ar: creating libssl.a ar r test/libtestutil.a apps/libtestutil-lib-opt.o test/testutil/libtestutil-lib-apps_mem.o test/testutil/libtestutil-lib-basic_output.o test/testutil/libtestutil-lib-cb.o test/testutil/libtestutil-lib-driver.o test/testutil/libtestutil-lib-format_output.o test/testutil/libtestutil-lib-init.o test/testutil/libtestutil-lib-main.o test/testutil/libtestutil-lib-options.o test/testutil/libtestutil-lib-output_helpers.o test/testutil/libtestutil-lib-stanza.o test/testutil/libtestutil-lib-tap_bio.o test/testutil/libtestutil-lib-test_cleanup.o test/testutil/libtestutil-lib-test_options.o test/testutil/libtestutil-lib-tests.o ar: creating test/libtestutil.a ranlib test/libtestutil.a || echo Never mind. clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -Wl,-znodelete -shared -Wl,-Bsymbolic -Wl,-soname=libcrypto.so.3 \ -o libcrypto.so.3 -Wl,--version-script=libcrypto.ld crypto/aes/libcrypto-shlib-aes-x86_64.o crypto/aes/libcrypto-shlib-aes_cfb.o crypto/aes/libcrypto-shlib-aes_ecb.o crypto/aes/libcrypto-shlib-aes_ige.o crypto/aes/libcrypto-shlib-aes_misc.o crypto/aes/libcrypto-shlib-aes_ofb.o crypto/aes/libcrypto-shlib-aes_wrap.o crypto/aes/libcrypto-shlib-aesni-mb-x86_64.o crypto/aes/libcrypto-shlib-aesni-sha1-x86_64.o crypto/aes/libcrypto-shlib-aesni-sha256-x86_64.o crypto/aes/libcrypto-shlib-bsaes-x86_64.o crypto/aria/libcrypto-shlib-aria.o crypto/asn1/libcrypto-shlib-a_bitstr.o crypto/asn1/libcrypto-shlib-a_d2i_fp.o crypto/asn1/libcrypto-shlib-a_digest.o crypto/asn1/libcrypto-shlib-a_dup.o crypto/asn1/libcrypto-shlib-a_gentm.o crypto/asn1/libcrypto-shlib-a_i2d_fp.o crypto/asn1/libcrypto-shlib-a_int.o crypto/asn1/libcrypto-shlib-a_mbstr.o crypto/asn1/libcrypto-shlib-a_object.o crypto/asn1/libcrypto-shlib-a_octet.o crypto/asn1/libcrypto-shlib-a_print.o crypto/asn1/libcrypto-shlib-a_sign.o crypto/asn1/libcrypto-shlib-a_strex.o crypto/asn1/libcrypto-shlib-a_strnid.o crypto/asn1/libcrypto-shlib-a_time.o crypto/asn1/libcrypto-shlib-a_type.o crypto/asn1/libcrypto-shlib-a_utctm.o crypto/asn1/libcrypto-shlib-a_utf8.o crypto/asn1/libcrypto-shlib-a_verify.o crypto/asn1/libcrypto-shlib-ameth_lib.o crypto/asn1/libcrypto-shlib-asn1_err.o crypto/asn1/libcrypto-shlib-asn1_gen.o crypto/asn1/libcrypto-shlib-asn1_item_list.o crypto/asn1/libcrypto-shlib-asn1_lib.o crypto/asn1/libcrypto-shlib-asn1_par.o crypto/asn1/libcrypto-shlib-asn_mime.o crypto/asn1/libcrypto-shlib-asn_moid.o crypto/asn1/libcrypto-shlib-asn_mstbl.o crypto/asn1/libcrypto-shlib-asn_pack.o crypto/asn1/libcrypto-shlib-bio_asn1.o crypto/asn1/libcrypto-shlib-bio_ndef.o crypto/asn1/libcrypto-shlib-d2i_param.o crypto/asn1/libcrypto-shlib-d2i_pr.o crypto/asn1/libcrypto-shlib-d2i_pu.o crypto/asn1/libcrypto-shlib-evp_asn1.o crypto/asn1/libcrypto-shlib-f_int.o crypto/asn1/libcrypto-shlib-f_string.o crypto/asn1/libcrypto-shlib-i2d_param.o crypto/asn1/libcrypto-shlib-i2d_pr.o crypto/asn1/libcrypto-shlib-i2d_pu.o crypto/asn1/libcrypto-shlib-n_pkey.o crypto/asn1/libcrypto-shlib-nsseq.o crypto/asn1/libcrypto-shlib-p5_pbe.o crypto/asn1/libcrypto-shlib-p5_pbev2.o crypto/asn1/libcrypto-shlib-p5_scrypt.o crypto/asn1/libcrypto-shlib-p8_pkey.o crypto/asn1/libcrypto-shlib-t_bitst.o crypto/asn1/libcrypto-shlib-t_pkey.o crypto/asn1/libcrypto-shlib-t_spki.o crypto/asn1/libcrypto-shlib-tasn_dec.o crypto/asn1/libcrypto-shlib-tasn_enc.o crypto/asn1/libcrypto-shlib-tasn_fre.o crypto/asn1/libcrypto-shlib-tasn_new.o crypto/asn1/libcrypto-shlib-tasn_prn.o crypto/asn1/libcrypto-shlib-tasn_scn.o crypto/asn1/libcrypto-shlib-tasn_typ.o crypto/asn1/libcrypto-shlib-tasn_utl.o crypto/asn1/libcrypto-shlib-x_algor.o crypto/asn1/libcrypto-shlib-x_bignum.o crypto/asn1/libcrypto-shlib-x_info.o crypto/asn1/libcrypto-shlib-x_int64.o crypto/asn1/libcrypto-shlib-x_long.o crypto/asn1/libcrypto-shlib-x_pkey.o crypto/asn1/libcrypto-shlib-x_sig.o crypto/asn1/libcrypto-shlib-x_spki.o crypto/asn1/libcrypto-shlib-x_val.o crypto/async/arch/libcrypto-shlib-async_null.o crypto/async/arch/libcrypto-shlib-async_posix.o crypto/async/arch/libcrypto-shlib-async_win.o crypto/async/libcrypto-shlib-async.o crypto/async/libcrypto-shlib-async_err.o crypto/async/libcrypto-shlib-async_wait.o crypto/bf/libcrypto-shlib-bf_cfb64.o crypto/bf/libcrypto-shlib-bf_ecb.o crypto/bf/libcrypto-shlib-bf_enc.o crypto/bf/libcrypto-shlib-bf_ofb64.o crypto/bf/libcrypto-shlib-bf_skey.o crypto/bio/libcrypto-shlib-b_addr.o crypto/bio/libcrypto-shlib-b_dump.o crypto/bio/libcrypto-shlib-b_print.o crypto/bio/libcrypto-shlib-b_sock.o crypto/bio/libcrypto-shlib-b_sock2.o crypto/bio/libcrypto-shlib-bf_buff.o crypto/bio/libcrypto-shlib-bf_lbuf.o crypto/bio/libcrypto-shlib-bf_nbio.o crypto/bio/libcrypto-shlib-bf_null.o crypto/bio/libcrypto-shlib-bio_cb.o crypto/bio/libcrypto-shlib-bio_err.o crypto/bio/libcrypto-shlib-bio_lib.o crypto/bio/libcrypto-shlib-bio_meth.o crypto/bio/libcrypto-shlib-bss_acpt.o crypto/bio/libcrypto-shlib-bss_bio.o crypto/bio/libcrypto-shlib-bss_conn.o crypto/bio/libcrypto-shlib-bss_dgram.o crypto/bio/libcrypto-shlib-bss_fd.o crypto/bio/libcrypto-shlib-bss_file.o crypto/bio/libcrypto-shlib-bss_log.o crypto/bio/libcrypto-shlib-bss_mem.o crypto/bio/libcrypto-shlib-bss_null.o crypto/bio/libcrypto-shlib-bss_sock.o crypto/blake2/libcrypto-shlib-blake2b_mac.o crypto/blake2/libcrypto-shlib-blake2s_mac.o crypto/blake2/libcrypto-shlib-m_blake2b.o crypto/blake2/libcrypto-shlib-m_blake2s.o crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o crypto/bn/libcrypto-shlib-bn_add.o crypto/bn/libcrypto-shlib-bn_blind.o crypto/bn/libcrypto-shlib-bn_const.o crypto/bn/libcrypto-shlib-bn_conv.o crypto/bn/libcrypto-shlib-bn_ctx.o crypto/bn/libcrypto-shlib-bn_depr.o crypto/bn/libcrypto-shlib-bn_dh.o crypto/bn/libcrypto-shlib-bn_div.o crypto/bn/libcrypto-shlib-bn_err.o crypto/bn/libcrypto-shlib-bn_exp.o crypto/bn/libcrypto-shlib-bn_exp2.o crypto/bn/libcrypto-shlib-bn_gcd.o crypto/bn/libcrypto-shlib-bn_gf2m.o crypto/bn/libcrypto-shlib-bn_intern.o crypto/bn/libcrypto-shlib-bn_kron.o crypto/bn/libcrypto-shlib-bn_lib.o crypto/bn/libcrypto-shlib-bn_mod.o crypto/bn/libcrypto-shlib-bn_mont.o crypto/bn/libcrypto-shlib-bn_mpi.o crypto/bn/libcrypto-shlib-bn_mul.o crypto/bn/libcrypto-shlib-bn_nist.o crypto/bn/libcrypto-shlib-bn_prime.o crypto/bn/libcrypto-shlib-bn_print.o crypto/bn/libcrypto-shlib-bn_rand.o crypto/bn/libcrypto-shlib-bn_recp.o crypto/bn/libcrypto-shlib-bn_rsa_fips186_4.o crypto/bn/libcrypto-shlib-bn_shift.o crypto/bn/libcrypto-shlib-bn_sqr.o crypto/bn/libcrypto-shlib-bn_sqrt.o crypto/bn/libcrypto-shlib-bn_srp.o crypto/bn/libcrypto-shlib-bn_word.o crypto/bn/libcrypto-shlib-bn_x931p.o crypto/bn/libcrypto-shlib-rsaz-avx2.o crypto/bn/libcrypto-shlib-rsaz-x86_64.o crypto/bn/libcrypto-shlib-rsaz_exp.o crypto/bn/libcrypto-shlib-x86_64-gf2m.o crypto/bn/libcrypto-shlib-x86_64-mont.o crypto/bn/libcrypto-shlib-x86_64-mont5.o crypto/buffer/libcrypto-shlib-buf_err.o crypto/buffer/libcrypto-shlib-buffer.o crypto/camellia/libcrypto-shlib-cmll-x86_64.o crypto/camellia/libcrypto-shlib-cmll_cfb.o crypto/camellia/libcrypto-shlib-cmll_ctr.o crypto/camellia/libcrypto-shlib-cmll_ecb.o crypto/camellia/libcrypto-shlib-cmll_misc.o crypto/camellia/libcrypto-shlib-cmll_ofb.o crypto/cast/libcrypto-shlib-c_cfb64.o crypto/cast/libcrypto-shlib-c_ecb.o crypto/cast/libcrypto-shlib-c_enc.o crypto/cast/libcrypto-shlib-c_ofb64.o crypto/cast/libcrypto-shlib-c_skey.o crypto/chacha/libcrypto-shlib-chacha-x86_64.o crypto/cmac/libcrypto-shlib-cm_ameth.o crypto/cmac/libcrypto-shlib-cm_meth.o crypto/cmac/libcrypto-shlib-cmac.o crypto/cmp/libcrypto-shlib-cmp_asn.o crypto/cmp/libcrypto-shlib-cmp_err.o crypto/cms/libcrypto-shlib-cms_asn1.o crypto/cms/libcrypto-shlib-cms_att.o crypto/cms/libcrypto-shlib-cms_cd.o crypto/cms/libcrypto-shlib-cms_dd.o crypto/cms/libcrypto-shlib-cms_enc.o crypto/cms/libcrypto-shlib-cms_env.o crypto/cms/libcrypto-shlib-cms_err.o crypto/cms/libcrypto-shlib-cms_ess.o crypto/cms/libcrypto-shlib-cms_io.o crypto/cms/libcrypto-shlib-cms_kari.o crypto/cms/libcrypto-shlib-cms_lib.o crypto/cms/libcrypto-shlib-cms_pwri.o crypto/cms/libcrypto-shlib-cms_sd.o crypto/cms/libcrypto-shlib-cms_smime.o crypto/comp/libcrypto-shlib-c_zlib.o crypto/comp/libcrypto-shlib-comp_err.o crypto/comp/libcrypto-shlib-comp_lib.o crypto/conf/libcrypto-shlib-conf_api.o crypto/conf/libcrypto-shlib-conf_def.o crypto/conf/libcrypto-shlib-conf_err.o crypto/conf/libcrypto-shlib-conf_lib.o crypto/conf/libcrypto-shlib-conf_mall.o crypto/conf/libcrypto-shlib-conf_mod.o crypto/conf/libcrypto-shlib-conf_sap.o crypto/conf/libcrypto-shlib-conf_ssl.o crypto/crmf/libcrypto-shlib-crmf_asn.o crypto/crmf/libcrypto-shlib-crmf_err.o crypto/crmf/libcrypto-shlib-crmf_lib.o crypto/crmf/libcrypto-shlib-crmf_pbm.o crypto/ct/libcrypto-shlib-ct_b64.o crypto/ct/libcrypto-shlib-ct_err.o crypto/ct/libcrypto-shlib-ct_log.o crypto/ct/libcrypto-shlib-ct_oct.o crypto/ct/libcrypto-shlib-ct_policy.o crypto/ct/libcrypto-shlib-ct_prn.o crypto/ct/libcrypto-shlib-ct_sct.o crypto/ct/libcrypto-shlib-ct_sct_ctx.o crypto/ct/libcrypto-shlib-ct_vfy.o crypto/ct/libcrypto-shlib-ct_x509v3.o crypto/des/libcrypto-shlib-cbc_cksm.o crypto/des/libcrypto-shlib-cbc_enc.o crypto/des/libcrypto-shlib-cfb64ede.o crypto/des/libcrypto-shlib-cfb64enc.o crypto/des/libcrypto-shlib-cfb_enc.o crypto/des/libcrypto-shlib-des_enc.o crypto/des/libcrypto-shlib-ecb3_enc.o crypto/des/libcrypto-shlib-ecb_enc.o crypto/des/libcrypto-shlib-fcrypt.o crypto/des/libcrypto-shlib-fcrypt_b.o crypto/des/libcrypto-shlib-ofb64ede.o crypto/des/libcrypto-shlib-ofb64enc.o crypto/des/libcrypto-shlib-ofb_enc.o crypto/des/libcrypto-shlib-pcbc_enc.o crypto/des/libcrypto-shlib-qud_cksm.o crypto/des/libcrypto-shlib-rand_key.o crypto/des/libcrypto-shlib-set_key.o crypto/des/libcrypto-shlib-str2key.o crypto/des/libcrypto-shlib-xcbc_enc.o crypto/dh/libcrypto-shlib-dh_ameth.o crypto/dh/libcrypto-shlib-dh_asn1.o crypto/dh/libcrypto-shlib-dh_check.o crypto/dh/libcrypto-shlib-dh_depr.o crypto/dh/libcrypto-shlib-dh_err.o crypto/dh/libcrypto-shlib-dh_gen.o crypto/dh/libcrypto-shlib-dh_kdf.o crypto/dh/libcrypto-shlib-dh_key.o crypto/dh/libcrypto-shlib-dh_lib.o crypto/dh/libcrypto-shlib-dh_meth.o crypto/dh/libcrypto-shlib-dh_pmeth.o crypto/dh/libcrypto-shlib-dh_prn.o crypto/dh/libcrypto-shlib-dh_rfc5114.o crypto/dh/libcrypto-shlib-dh_rfc7919.o crypto/dsa/libcrypto-shlib-dsa_ameth.o crypto/dsa/libcrypto-shlib-dsa_asn1.o crypto/dsa/libcrypto-shlib-dsa_depr.o crypto/dsa/libcrypto-shlib-dsa_err.o crypto/dsa/libcrypto-shlib-dsa_gen.o crypto/dsa/libcrypto-shlib-dsa_key.o crypto/dsa/libcrypto-shlib-dsa_lib.o crypto/dsa/libcrypto-shlib-dsa_meth.o crypto/dsa/libcrypto-shlib-dsa_ossl.o crypto/dsa/libcrypto-shlib-dsa_pmeth.o crypto/dsa/libcrypto-shlib-dsa_prn.o crypto/dsa/libcrypto-shlib-dsa_sign.o crypto/dsa/libcrypto-shlib-dsa_vrf.o crypto/dso/libcrypto-shlib-dso_dl.o crypto/dso/libcrypto-shlib-dso_dlfcn.o crypto/dso/libcrypto-shlib-dso_err.o crypto/dso/libcrypto-shlib-dso_lib.o crypto/dso/libcrypto-shlib-dso_openssl.o crypto/dso/libcrypto-shlib-dso_vms.o crypto/dso/libcrypto-shlib-dso_win32.o crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl.o crypto/ec/curve448/libcrypto-shlib-curve448.o crypto/ec/curve448/libcrypto-shlib-curve448_tables.o crypto/ec/curve448/libcrypto-shlib-eddsa.o crypto/ec/curve448/libcrypto-shlib-f_generic.o crypto/ec/curve448/libcrypto-shlib-scalar.o crypto/ec/libcrypto-shlib-curve25519.o crypto/ec/libcrypto-shlib-ec2_oct.o crypto/ec/libcrypto-shlib-ec2_smpl.o crypto/ec/libcrypto-shlib-ec_ameth.o crypto/ec/libcrypto-shlib-ec_asn1.o crypto/ec/libcrypto-shlib-ec_check.o crypto/ec/libcrypto-shlib-ec_curve.o crypto/ec/libcrypto-shlib-ec_cvt.o crypto/ec/libcrypto-shlib-ec_err.o crypto/ec/libcrypto-shlib-ec_key.o crypto/ec/libcrypto-shlib-ec_kmeth.o crypto/ec/libcrypto-shlib-ec_lib.o crypto/ec/libcrypto-shlib-ec_mult.o crypto/ec/libcrypto-shlib-ec_oct.o crypto/ec/libcrypto-shlib-ec_pmeth.o crypto/ec/libcrypto-shlib-ec_print.o crypto/ec/libcrypto-shlib-ecdh_kdf.o crypto/ec/libcrypto-shlib-ecdh_ossl.o crypto/ec/libcrypto-shlib-ecdsa_ossl.o crypto/ec/libcrypto-shlib-ecdsa_sign.o crypto/ec/libcrypto-shlib-ecdsa_vrf.o crypto/ec/libcrypto-shlib-eck_prn.o crypto/ec/libcrypto-shlib-ecp_mont.o crypto/ec/libcrypto-shlib-ecp_nist.o crypto/ec/libcrypto-shlib-ecp_nistp224.o crypto/ec/libcrypto-shlib-ecp_nistp256.o crypto/ec/libcrypto-shlib-ecp_nistp521.o crypto/ec/libcrypto-shlib-ecp_nistputil.o crypto/ec/libcrypto-shlib-ecp_nistz256-x86_64.o crypto/ec/libcrypto-shlib-ecp_nistz256.o crypto/ec/libcrypto-shlib-ecp_oct.o crypto/ec/libcrypto-shlib-ecp_smpl.o crypto/ec/libcrypto-shlib-ecx_meth.o crypto/ec/libcrypto-shlib-x25519-x86_64.o crypto/engine/libcrypto-shlib-eng_all.o crypto/engine/libcrypto-shlib-eng_cnf.o crypto/engine/libcrypto-shlib-eng_ctrl.o crypto/engine/libcrypto-shlib-eng_dyn.o crypto/engine/libcrypto-shlib-eng_err.o crypto/engine/libcrypto-shlib-eng_fat.o crypto/engine/libcrypto-shlib-eng_init.o crypto/engine/libcrypto-shlib-eng_lib.o crypto/engine/libcrypto-shlib-eng_list.o crypto/engine/libcrypto-shlib-eng_openssl.o crypto/engine/libcrypto-shlib-eng_pkey.o crypto/engine/libcrypto-shlib-eng_rdrand.o crypto/engine/libcrypto-shlib-eng_table.o crypto/engine/libcrypto-shlib-tb_asnmth.o crypto/engine/libcrypto-shlib-tb_cipher.o crypto/engine/libcrypto-shlib-tb_dh.o crypto/engine/libcrypto-shlib-tb_digest.o crypto/engine/libcrypto-shlib-tb_dsa.o crypto/engine/libcrypto-shlib-tb_eckey.o crypto/engine/libcrypto-shlib-tb_pkmeth.o crypto/engine/libcrypto-shlib-tb_rand.o crypto/engine/libcrypto-shlib-tb_rsa.o crypto/err/libcrypto-shlib-err.o crypto/err/libcrypto-shlib-err_all.o crypto/err/libcrypto-shlib-err_prn.o crypto/ess/libcrypto-shlib-ess_asn1.o crypto/ess/libcrypto-shlib-ess_err.o crypto/ess/libcrypto-shlib-ess_lib.o crypto/evp/libcrypto-shlib-bio_b64.o crypto/evp/libcrypto-shlib-bio_enc.o crypto/evp/libcrypto-shlib-bio_md.o crypto/evp/libcrypto-shlib-bio_ok.o crypto/evp/libcrypto-shlib-c_allc.o crypto/evp/libcrypto-shlib-c_alld.o crypto/evp/libcrypto-shlib-c_allkdf.o crypto/evp/libcrypto-shlib-c_allm.o crypto/evp/libcrypto-shlib-cmeth_lib.o crypto/evp/libcrypto-shlib-digest.o crypto/evp/libcrypto-shlib-e_aes.o crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha1.o crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha256.o crypto/evp/libcrypto-shlib-e_aria.o crypto/evp/libcrypto-shlib-e_bf.o crypto/evp/libcrypto-shlib-e_camellia.o crypto/evp/libcrypto-shlib-e_cast.o crypto/evp/libcrypto-shlib-e_chacha20_poly1305.o crypto/evp/libcrypto-shlib-e_des.o crypto/evp/libcrypto-shlib-e_des3.o crypto/evp/libcrypto-shlib-e_idea.o crypto/evp/libcrypto-shlib-e_null.o crypto/evp/libcrypto-shlib-e_old.o crypto/evp/libcrypto-shlib-e_rc2.o crypto/evp/libcrypto-shlib-e_rc4.o crypto/evp/libcrypto-shlib-e_rc4_hmac_md5.o crypto/evp/libcrypto-shlib-e_rc5.o crypto/evp/libcrypto-shlib-e_seed.o crypto/evp/libcrypto-shlib-e_sm4.o crypto/evp/libcrypto-shlib-e_xcbc_d.o crypto/evp/libcrypto-shlib-encode.o crypto/evp/libcrypto-shlib-evp_cnf.o crypto/evp/libcrypto-shlib-evp_enc.o crypto/evp/libcrypto-shlib-evp_err.o crypto/evp/libcrypto-shlib-evp_fetch.o crypto/evp/libcrypto-shlib-evp_key.o crypto/evp/libcrypto-shlib-evp_lib.o crypto/evp/libcrypto-shlib-evp_pbe.o crypto/evp/libcrypto-shlib-evp_pkey.o crypto/evp/libcrypto-shlib-kdf_lib.o crypto/evp/libcrypto-shlib-m_md2.o crypto/evp/libcrypto-shlib-m_md4.o crypto/evp/libcrypto-shlib-m_md5.o crypto/evp/libcrypto-shlib-m_md5_sha1.o crypto/evp/libcrypto-shlib-m_mdc2.o crypto/evp/libcrypto-shlib-m_null.o crypto/evp/libcrypto-shlib-m_ripemd.o crypto/evp/libcrypto-shlib-m_sha1.o crypto/evp/libcrypto-shlib-m_sha3.o crypto/evp/libcrypto-shlib-m_sigver.o crypto/evp/libcrypto-shlib-m_wp.o crypto/evp/libcrypto-shlib-mac_lib.o crypto/evp/libcrypto-shlib-names.o crypto/evp/libcrypto-shlib-p5_crpt.o crypto/evp/libcrypto-shlib-p5_crpt2.o crypto/evp/libcrypto-shlib-p_dec.o crypto/evp/libcrypto-shlib-p_enc.o crypto/evp/libcrypto-shlib-p_lib.o crypto/evp/libcrypto-shlib-p_open.o crypto/evp/libcrypto-shlib-p_seal.o crypto/evp/libcrypto-shlib-p_sign.o crypto/evp/libcrypto-shlib-p_verify.o crypto/evp/libcrypto-shlib-pbe_scrypt.o crypto/evp/libcrypto-shlib-pkey_kdf.o crypto/evp/libcrypto-shlib-pkey_mac.o crypto/evp/libcrypto-shlib-pmeth_fn.o crypto/evp/libcrypto-shlib-pmeth_gn.o crypto/evp/libcrypto-shlib-pmeth_lib.o crypto/gmac/libcrypto-shlib-gmac.o crypto/hmac/libcrypto-shlib-hm_ameth.o crypto/hmac/libcrypto-shlib-hm_meth.o crypto/hmac/libcrypto-shlib-hmac.o crypto/idea/libcrypto-shlib-i_cbc.o crypto/idea/libcrypto-shlib-i_cfb64.o crypto/idea/libcrypto-shlib-i_ecb.o crypto/idea/libcrypto-shlib-i_ofb64.o crypto/idea/libcrypto-shlib-i_skey.o crypto/kdf/libcrypto-shlib-hkdf.o crypto/kdf/libcrypto-shlib-kdf_err.o crypto/kdf/libcrypto-shlib-kdf_util.o crypto/kdf/libcrypto-shlib-pbkdf2.o crypto/kdf/libcrypto-shlib-scrypt.o crypto/kdf/libcrypto-shlib-sshkdf.o crypto/kdf/libcrypto-shlib-sskdf.o crypto/kdf/libcrypto-shlib-tls1_prf.o crypto/kmac/libcrypto-shlib-kmac.o crypto/lhash/libcrypto-shlib-lh_stats.o crypto/lhash/libcrypto-shlib-lhash.o crypto/libcrypto-shlib-bsearch.o crypto/libcrypto-shlib-context.o crypto/libcrypto-shlib-core_fetch.o crypto/libcrypto-shlib-core_namemap.o crypto/libcrypto-shlib-cpt_err.o crypto/libcrypto-shlib-cryptlib.o crypto/libcrypto-shlib-ctype.o crypto/libcrypto-shlib-cversion.o crypto/libcrypto-shlib-ebcdic.o crypto/libcrypto-shlib-ex_data.o crypto/libcrypto-shlib-getenv.o crypto/libcrypto-shlib-info.o crypto/libcrypto-shlib-init.o crypto/libcrypto-shlib-initthread.o crypto/libcrypto-shlib-mem.o crypto/libcrypto-shlib-mem_dbg.o crypto/libcrypto-shlib-mem_sec.o crypto/libcrypto-shlib-o_dir.o crypto/libcrypto-shlib-o_fips.o crypto/libcrypto-shlib-o_fopen.o crypto/libcrypto-shlib-o_init.o crypto/libcrypto-shlib-o_str.o crypto/libcrypto-shlib-o_time.o crypto/libcrypto-shlib-params.o crypto/libcrypto-shlib-provider.o crypto/libcrypto-shlib-provider_conf.o crypto/libcrypto-shlib-provider_core.o crypto/libcrypto-shlib-provider_predefined.o crypto/libcrypto-shlib-sparse_array.o crypto/libcrypto-shlib-threads_none.o crypto/libcrypto-shlib-threads_pthread.o crypto/libcrypto-shlib-threads_win.o crypto/libcrypto-shlib-trace.o crypto/libcrypto-shlib-uid.o crypto/libcrypto-shlib-x86_64cpuid.o crypto/md4/libcrypto-shlib-md4_dgst.o crypto/md4/libcrypto-shlib-md4_one.o crypto/md5/libcrypto-shlib-md5-x86_64.o crypto/md5/libcrypto-shlib-md5_dgst.o crypto/md5/libcrypto-shlib-md5_one.o crypto/md5/libcrypto-shlib-md5_sha1.o crypto/mdc2/libcrypto-shlib-mdc2_one.o crypto/mdc2/libcrypto-shlib-mdc2dgst.o crypto/modes/libcrypto-shlib-aesni-gcm-x86_64.o crypto/modes/libcrypto-shlib-cbc128.o crypto/modes/libcrypto-shlib-ccm128.o crypto/modes/libcrypto-shlib-cfb128.o crypto/modes/libcrypto-shlib-ctr128.o crypto/modes/libcrypto-shlib-cts128.o crypto/modes/libcrypto-shlib-gcm128.o crypto/modes/libcrypto-shlib-ghash-x86_64.o crypto/modes/libcrypto-shlib-ocb128.o crypto/modes/libcrypto-shlib-ofb128.o crypto/modes/libcrypto-shlib-siv128.o crypto/modes/libcrypto-shlib-wrap128.o crypto/modes/libcrypto-shlib-xts128.o crypto/objects/libcrypto-shlib-o_names.o crypto/objects/libcrypto-shlib-obj_dat.o crypto/objects/libcrypto-shlib-obj_err.o crypto/objects/libcrypto-shlib-obj_lib.o crypto/objects/libcrypto-shlib-obj_xref.o crypto/ocsp/libcrypto-shlib-ocsp_asn.o crypto/ocsp/libcrypto-shlib-ocsp_cl.o crypto/ocsp/libcrypto-shlib-ocsp_err.o crypto/ocsp/libcrypto-shlib-ocsp_ext.o crypto/ocsp/libcrypto-shlib-ocsp_ht.o crypto/ocsp/libcrypto-shlib-ocsp_lib.o crypto/ocsp/libcrypto-shlib-ocsp_prn.o crypto/ocsp/libcrypto-shlib-ocsp_srv.o crypto/ocsp/libcrypto-shlib-ocsp_vfy.o crypto/ocsp/libcrypto-shlib-v3_ocsp.o crypto/pem/libcrypto-shlib-pem_all.o crypto/pem/libcrypto-shlib-pem_err.o crypto/pem/libcrypto-shlib-pem_info.o crypto/pem/libcrypto-shlib-pem_lib.o crypto/pem/libcrypto-shlib-pem_oth.o crypto/pem/libcrypto-shlib-pem_pk8.o crypto/pem/libcrypto-shlib-pem_pkey.o crypto/pem/libcrypto-shlib-pem_sign.o crypto/pem/libcrypto-shlib-pem_x509.o crypto/pem/libcrypto-shlib-pem_xaux.o crypto/pem/libcrypto-shlib-pvkfmt.o crypto/pkcs12/libcrypto-shlib-p12_add.o crypto/pkcs12/libcrypto-shlib-p12_asn.o crypto/pkcs12/libcrypto-shlib-p12_attr.o crypto/pkcs12/libcrypto-shlib-p12_crpt.o crypto/pkcs12/libcrypto-shlib-p12_crt.o crypto/pkcs12/libcrypto-shlib-p12_decr.o crypto/pkcs12/libcrypto-shlib-p12_init.o crypto/pkcs12/libcrypto-shlib-p12_key.o crypto/pkcs12/libcrypto-shlib-p12_kiss.o crypto/pkcs12/libcrypto-shlib-p12_mutl.o crypto/pkcs12/libcrypto-shlib-p12_npas.o crypto/pkcs12/libcrypto-shlib-p12_p8d.o crypto/pkcs12/libcrypto-shlib-p12_p8e.o crypto/pkcs12/libcrypto-shlib-p12_sbag.o crypto/pkcs12/libcrypto-shlib-p12_utl.o crypto/pkcs12/libcrypto-shlib-pk12err.o crypto/pkcs7/libcrypto-shlib-bio_pk7.o crypto/pkcs7/libcrypto-shlib-pk7_asn1.o crypto/pkcs7/libcrypto-shlib-pk7_attr.o crypto/pkcs7/libcrypto-shlib-pk7_doit.o crypto/pkcs7/libcrypto-shlib-pk7_lib.o crypto/pkcs7/libcrypto-shlib-pk7_mime.o crypto/pkcs7/libcrypto-shlib-pk7_smime.o crypto/pkcs7/libcrypto-shlib-pkcs7err.o crypto/poly1305/libcrypto-shlib-poly1305-x86_64.o crypto/poly1305/libcrypto-shlib-poly1305.o crypto/poly1305/libcrypto-shlib-poly1305_ameth.o crypto/poly1305/libcrypto-shlib-poly1305_meth.o crypto/property/libcrypto-shlib-defn_cache.o crypto/property/libcrypto-shlib-property.o crypto/property/libcrypto-shlib-property_err.o crypto/property/libcrypto-shlib-property_parse.o crypto/property/libcrypto-shlib-property_string.o crypto/rand/libcrypto-shlib-drbg_ctr.o crypto/rand/libcrypto-shlib-drbg_hash.o crypto/rand/libcrypto-shlib-drbg_hmac.o crypto/rand/libcrypto-shlib-drbg_lib.o crypto/rand/libcrypto-shlib-rand_crng_test.o crypto/rand/libcrypto-shlib-rand_egd.o crypto/rand/libcrypto-shlib-rand_err.o crypto/rand/libcrypto-shlib-rand_lib.o crypto/rand/libcrypto-shlib-rand_unix.o crypto/rand/libcrypto-shlib-rand_vms.o crypto/rand/libcrypto-shlib-rand_vxworks.o crypto/rand/libcrypto-shlib-rand_win.o crypto/rand/libcrypto-shlib-randfile.o crypto/rc2/libcrypto-shlib-rc2_cbc.o crypto/rc2/libcrypto-shlib-rc2_ecb.o crypto/rc2/libcrypto-shlib-rc2_skey.o crypto/rc2/libcrypto-shlib-rc2cfb64.o crypto/rc2/libcrypto-shlib-rc2ofb64.o crypto/rc4/libcrypto-shlib-rc4-md5-x86_64.o crypto/rc4/libcrypto-shlib-rc4-x86_64.o crypto/ripemd/libcrypto-shlib-rmd_dgst.o crypto/ripemd/libcrypto-shlib-rmd_one.o crypto/rsa/libcrypto-shlib-rsa_ameth.o crypto/rsa/libcrypto-shlib-rsa_asn1.o crypto/rsa/libcrypto-shlib-rsa_chk.o crypto/rsa/libcrypto-shlib-rsa_crpt.o crypto/rsa/libcrypto-shlib-rsa_depr.o crypto/rsa/libcrypto-shlib-rsa_err.o crypto/rsa/libcrypto-shlib-rsa_gen.o crypto/rsa/libcrypto-shlib-rsa_lib.o crypto/rsa/libcrypto-shlib-rsa_meth.o crypto/rsa/libcrypto-shlib-rsa_mp.o crypto/rsa/libcrypto-shlib-rsa_none.o crypto/rsa/libcrypto-shlib-rsa_oaep.o crypto/rsa/libcrypto-shlib-rsa_ossl.o crypto/rsa/libcrypto-shlib-rsa_pk1.o crypto/rsa/libcrypto-shlib-rsa_pmeth.o crypto/rsa/libcrypto-shlib-rsa_prn.o crypto/rsa/libcrypto-shlib-rsa_pss.o crypto/rsa/libcrypto-shlib-rsa_saos.o crypto/rsa/libcrypto-shlib-rsa_sign.o crypto/rsa/libcrypto-shlib-rsa_sp800_56b_check.o crypto/rsa/libcrypto-shlib-rsa_sp800_56b_gen.o crypto/rsa/libcrypto-shlib-rsa_ssl.o crypto/rsa/libcrypto-shlib-rsa_x931.o crypto/rsa/libcrypto-shlib-rsa_x931g.o crypto/seed/libcrypto-shlib-seed.o crypto/seed/libcrypto-shlib-seed_cbc.o crypto/seed/libcrypto-shlib-seed_cfb.o crypto/seed/libcrypto-shlib-seed_ecb.o crypto/seed/libcrypto-shlib-seed_ofb.o crypto/sha/libcrypto-shlib-keccak1600-x86_64.o crypto/sha/libcrypto-shlib-sha1-mb-x86_64.o crypto/sha/libcrypto-shlib-sha1-x86_64.o crypto/sha/libcrypto-shlib-sha1_one.o crypto/sha/libcrypto-shlib-sha1dgst.o crypto/sha/libcrypto-shlib-sha256-mb-x86_64.o crypto/sha/libcrypto-shlib-sha256-x86_64.o crypto/sha/libcrypto-shlib-sha256.o crypto/sha/libcrypto-shlib-sha3.o crypto/sha/libcrypto-shlib-sha512-x86_64.o crypto/sha/libcrypto-shlib-sha512.o crypto/siphash/libcrypto-shlib-siphash.o crypto/siphash/libcrypto-shlib-siphash_ameth.o crypto/siphash/libcrypto-shlib-siphash_meth.o crypto/sm2/libcrypto-shlib-sm2_crypt.o crypto/sm2/libcrypto-shlib-sm2_err.o crypto/sm2/libcrypto-shlib-sm2_pmeth.o crypto/sm2/libcrypto-shlib-sm2_sign.o crypto/sm3/libcrypto-shlib-m_sm3.o crypto/sm3/libcrypto-shlib-sm3.o crypto/sm4/libcrypto-shlib-sm4.o crypto/srp/libcrypto-shlib-srp_lib.o crypto/srp/libcrypto-shlib-srp_vfy.o crypto/stack/libcrypto-shlib-stack.o crypto/store/libcrypto-shlib-loader_file.o crypto/store/libcrypto-shlib-store_err.o crypto/store/libcrypto-shlib-store_init.o crypto/store/libcrypto-shlib-store_lib.o crypto/store/libcrypto-shlib-store_register.o crypto/store/libcrypto-shlib-store_strings.o crypto/ts/libcrypto-shlib-ts_asn1.o crypto/ts/libcrypto-shlib-ts_conf.o crypto/ts/libcrypto-shlib-ts_err.o crypto/ts/libcrypto-shlib-ts_lib.o crypto/ts/libcrypto-shlib-ts_req_print.o crypto/ts/libcrypto-shlib-ts_req_utils.o crypto/ts/libcrypto-shlib-ts_rsp_print.o crypto/ts/libcrypto-shlib-ts_rsp_sign.o crypto/ts/libcrypto-shlib-ts_rsp_utils.o crypto/ts/libcrypto-shlib-ts_rsp_verify.o crypto/ts/libcrypto-shlib-ts_verify_ctx.o crypto/txt_db/libcrypto-shlib-txt_db.o crypto/ui/libcrypto-shlib-ui_err.o crypto/ui/libcrypto-shlib-ui_lib.o crypto/ui/libcrypto-shlib-ui_null.o crypto/ui/libcrypto-shlib-ui_openssl.o crypto/ui/libcrypto-shlib-ui_util.o crypto/whrlpool/libcrypto-shlib-wp-x86_64.o crypto/whrlpool/libcrypto-shlib-wp_dgst.o crypto/x509/libcrypto-shlib-by_dir.o crypto/x509/libcrypto-shlib-by_file.o crypto/x509/libcrypto-shlib-pcy_cache.o crypto/x509/libcrypto-shlib-pcy_data.o crypto/x509/libcrypto-shlib-pcy_lib.o crypto/x509/libcrypto-shlib-pcy_map.o crypto/x509/libcrypto-shlib-pcy_node.o crypto/x509/libcrypto-shlib-pcy_tree.o crypto/x509/libcrypto-shlib-t_crl.o crypto/x509/libcrypto-shlib-t_req.o crypto/x509/libcrypto-shlib-t_x509.o crypto/x509/libcrypto-shlib-v3_addr.o crypto/x509/libcrypto-shlib-v3_admis.o crypto/x509/libcrypto-shlib-v3_akey.o crypto/x509/libcrypto-shlib-v3_akeya.o crypto/x509/libcrypto-shlib-v3_alt.o crypto/x509/libcrypto-shlib-v3_asid.o crypto/x509/libcrypto-shlib-v3_bcons.o crypto/x509/libcrypto-shlib-v3_bitst.o crypto/x509/libcrypto-shlib-v3_conf.o crypto/x509/libcrypto-shlib-v3_cpols.o crypto/x509/libcrypto-shlib-v3_crld.o crypto/x509/libcrypto-shlib-v3_enum.o crypto/x509/libcrypto-shlib-v3_extku.o crypto/x509/libcrypto-shlib-v3_genn.o crypto/x509/libcrypto-shlib-v3_ia5.o crypto/x509/libcrypto-shlib-v3_info.o crypto/x509/libcrypto-shlib-v3_int.o crypto/x509/libcrypto-shlib-v3_lib.o crypto/x509/libcrypto-shlib-v3_ncons.o crypto/x509/libcrypto-shlib-v3_pci.o crypto/x509/libcrypto-shlib-v3_pcia.o crypto/x509/libcrypto-shlib-v3_pcons.o crypto/x509/libcrypto-shlib-v3_pku.o crypto/x509/libcrypto-shlib-v3_pmaps.o crypto/x509/libcrypto-shlib-v3_prn.o crypto/x509/libcrypto-shlib-v3_purp.o crypto/x509/libcrypto-shlib-v3_skey.o crypto/x509/libcrypto-shlib-v3_sxnet.o crypto/x509/libcrypto-shlib-v3_tlsf.o crypto/x509/libcrypto-shlib-v3_utl.o crypto/x509/libcrypto-shlib-v3err.o crypto/x509/libcrypto-shlib-x509_att.o crypto/x509/libcrypto-shlib-x509_cmp.o crypto/x509/libcrypto-shlib-x509_d2.o crypto/x509/libcrypto-shlib-x509_def.o crypto/x509/libcrypto-shlib-x509_err.o crypto/x509/libcrypto-shlib-x509_ext.o crypto/x509/libcrypto-shlib-x509_lu.o crypto/x509/libcrypto-shlib-x509_meth.o crypto/x509/libcrypto-shlib-x509_obj.o crypto/x509/libcrypto-shlib-x509_r2x.o crypto/x509/libcrypto-shlib-x509_req.o crypto/x509/libcrypto-shlib-x509_set.o crypto/x509/libcrypto-shlib-x509_trs.o crypto/x509/libcrypto-shlib-x509_txt.o crypto/x509/libcrypto-shlib-x509_v3.o crypto/x509/libcrypto-shlib-x509_vfy.o crypto/x509/libcrypto-shlib-x509_vpm.o crypto/x509/libcrypto-shlib-x509cset.o crypto/x509/libcrypto-shlib-x509name.o crypto/x509/libcrypto-shlib-x509rset.o crypto/x509/libcrypto-shlib-x509spki.o crypto/x509/libcrypto-shlib-x509type.o crypto/x509/libcrypto-shlib-x_all.o crypto/x509/libcrypto-shlib-x_attrib.o crypto/x509/libcrypto-shlib-x_crl.o crypto/x509/libcrypto-shlib-x_exten.o crypto/x509/libcrypto-shlib-x_name.o crypto/x509/libcrypto-shlib-x_pubkey.o crypto/x509/libcrypto-shlib-x_req.o crypto/x509/libcrypto-shlib-x_x509.o crypto/x509/libcrypto-shlib-x_x509a.o providers/common/ciphers/libcrypto-shlib-aes.o providers/common/ciphers/libcrypto-shlib-aes_basic.o providers/common/ciphers/libcrypto-shlib-block.o providers/common/digests/libcrypto-shlib-sha2_prov.o providers/common/digests/libcrypto-shlib-sha3_prov.o providers/common/libcrypto-shlib-provider_err.o providers/default/digests/libcrypto-shlib-blake2_prov.o providers/default/digests/libcrypto-shlib-blake2b_prov.o providers/default/digests/libcrypto-shlib-blake2s_prov.o providers/default/digests/libcrypto-shlib-md5_prov.o providers/default/digests/libcrypto-shlib-md5_sha1_prov.o providers/default/digests/libcrypto-shlib-null_prov.o providers/default/digests/libcrypto-shlib-sm3_prov.o providers/default/libcrypto-shlib-defltprov.o \ -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -c -o engines/padlock-dso-e_padlock-x86_64.o engines/e_padlock-x86_64.s clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o providers/fips.so -Wl,--version-script=providers/fips.ld crypto/aes/fips-dso-aes-x86_64.o crypto/aes/fips-dso-aes_ecb.o crypto/aes/fips-dso-aes_misc.o crypto/aes/fips-dso-aesni-mb-x86_64.o crypto/aes/fips-dso-aesni-sha1-x86_64.o crypto/aes/fips-dso-aesni-sha256-x86_64.o crypto/aes/fips-dso-bsaes-x86_64.o crypto/bn/asm/fips-dso-x86_64-gcc.o crypto/bn/fips-dso-bn_add.o crypto/bn/fips-dso-bn_blind.o crypto/bn/fips-dso-bn_const.o crypto/bn/fips-dso-bn_conv.o crypto/bn/fips-dso-bn_ctx.o crypto/bn/fips-dso-bn_dh.o crypto/bn/fips-dso-bn_div.o crypto/bn/fips-dso-bn_exp.o crypto/bn/fips-dso-bn_exp2.o crypto/bn/fips-dso-bn_gcd.o crypto/bn/fips-dso-bn_gf2m.o crypto/bn/fips-dso-bn_intern.o crypto/bn/fips-dso-bn_kron.o crypto/bn/fips-dso-bn_lib.o crypto/bn/fips-dso-bn_mod.o crypto/bn/fips-dso-bn_mont.o crypto/bn/fips-dso-bn_mpi.o crypto/bn/fips-dso-bn_mul.o crypto/bn/fips-dso-bn_nist.o crypto/bn/fips-dso-bn_prime.o crypto/bn/fips-dso-bn_rand.o crypto/bn/fips-dso-bn_recp.o crypto/bn/fips-dso-bn_rsa_fips186_4.o crypto/bn/fips-dso-bn_shift.o crypto/bn/fips-dso-bn_sqr.o crypto/bn/fips-dso-bn_sqrt.o crypto/bn/fips-dso-bn_word.o crypto/bn/fips-dso-bn_x931p.o crypto/bn/fips-dso-rsaz-avx2.o crypto/bn/fips-dso-rsaz-x86_64.o crypto/bn/fips-dso-rsaz_exp.o crypto/bn/fips-dso-x86_64-gf2m.o crypto/bn/fips-dso-x86_64-mont.o crypto/bn/fips-dso-x86_64-mont5.o crypto/evp/fips-dso-cmeth_lib.o crypto/evp/fips-dso-digest.o crypto/evp/fips-dso-evp_enc.o crypto/evp/fips-dso-evp_fetch.o crypto/evp/fips-dso-evp_lib.o crypto/fips-dso-bsearch.o crypto/fips-dso-context.o crypto/fips-dso-core_fetch.o crypto/fips-dso-core_namemap.o crypto/fips-dso-cryptlib.o crypto/fips-dso-ctype.o crypto/fips-dso-ex_data.o crypto/fips-dso-initthread.o crypto/fips-dso-mem.o crypto/fips-dso-mem_sec.o crypto/fips-dso-o_str.o crypto/fips-dso-params.o crypto/fips-dso-provider_core.o crypto/fips-dso-provider_predefined.o crypto/fips-dso-sparse_array.o crypto/fips-dso-threads_none.o crypto/fips-dso-threads_pthread.o crypto/fips-dso-threads_win.o crypto/fips-dso-x86_64cpuid.o crypto/lhash/fips-dso-lhash.o crypto/modes/fips-dso-aesni-gcm-x86_64.o crypto/modes/fips-dso-cbc128.o crypto/modes/fips-dso-cfb128.o crypto/modes/fips-dso-ctr128.o crypto/modes/fips-dso-ghash-x86_64.o crypto/modes/fips-dso-ofb128.o crypto/property/fips-dso-defn_cache.o crypto/property/fips-dso-property.o crypto/property/fips-dso-property_parse.o crypto/property/fips-dso-property_string.o crypto/sha/fips-dso-keccak1600-x86_64.o crypto/sha/fips-dso-sha1-mb-x86_64.o crypto/sha/fips-dso-sha1-x86_64.o crypto/sha/fips-dso-sha1dgst.o crypto/sha/fips-dso-sha256-mb-x86_64.o crypto/sha/fips-dso-sha256-x86_64.o crypto/sha/fips-dso-sha256.o crypto/sha/fips-dso-sha3.o crypto/sha/fips-dso-sha512-x86_64.o crypto/sha/fips-dso-sha512.o crypto/stack/fips-dso-stack.o providers/common/ciphers/fips-dso-aes.o providers/common/ciphers/fips-dso-aes_basic.o providers/common/ciphers/fips-dso-block.o providers/common/digests/fips-dso-sha2_prov.o providers/common/digests/fips-dso-sha3_prov.o providers/fips/fips-dso-fipsprov.o \ -ldl -pthread ranlib libssl.a || echo Never mind. clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o test/p_test.so -Wl,--version-script=test/p_test.ld test/p_test-dso-p_test.o \ -ldl -pthread clang -Iapps -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF apps/openssl-bin-asn1pars.d.tmp -MT apps/openssl-bin-asn1pars.o -c -o apps/openssl-bin-asn1pars.o ../openssl/apps/asn1pars.c providers/common/ciphers/fips-dso-aes_basic.o: In function `aesni_init_key': /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:120: undefined reference to `aesni_set_decrypt_key' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:120: undefined reference to `aesni_cbc_encrypt' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:120: undefined reference to `aesni_decrypt' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:125: undefined reference to `aesni_set_encrypt_key' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:125: undefined reference to `aesni_encrypt' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:(.text+0x23a): undefined reference to `aesni_cbc_encrypt' /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:(.text+0x262): undefined reference to `aesni_ctr32_encrypt_blocks' providers/common/ciphers/fips-dso-aes_basic.o: In function `aesni_cbc_cipher': /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:146: undefined reference to `aesni_cbc_encrypt' providers/common/ciphers/fips-dso-aes_basic.o: In function `aesni_ecb_cipher': /home/openssl/run-checker/no-sse2/../openssl/providers/common/ciphers/aes_basic.c:157: undefined reference to `aesni_ecb_encrypt' clang -Iapps -I. -Iinclude -Iapps/include -I../openssl -I../openssl/include -I../openssl/apps/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF apps/openssl-bin-ca.d.tmp -MT apps/openssl-bin-ca.o -c -o apps/openssl-bin-ca.o ../openssl/apps/ca.c clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:13126: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/openssl/run-checker/no-sse2' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From bernd.edlinger at hotmail.de Tue Jun 18 11:58:22 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Tue, 18 Jun 2019 11:58:22 +0000 Subject: [openssl] master update Message-ID: <1560859102.822539.21465.nullmailer@dev.openssl.org> The branch master has been updated via e7a4682d0b347f0dfba629f4601a28801e54ad67 (commit) from e24bdcde5a80a7edeb1e0dbbcf45c3353a974974 (commit) - Log ----------------------------------------------------------------- commit e7a4682d0b347f0dfba629f4601a28801e54ad67 Author: Bernd Edlinger Date: Fri Jun 14 14:48:37 2019 +0200 Fix error handling at openssl_strerror_r When bufsize == 0, openssl_strerror_r should return 0 (if _GNU_SOURCE is defined), to be consistent with non-_GNU_SOURCE variants, which exhibit the same behavior. Fix a few cases, where the return value of openssl_strerror_r was ignored. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9163) ----------------------------------------------------------------------- Summary of changes: crypto/o_str.c | 2 +- crypto/store/loader_file.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crypto/o_str.c b/crypto/o_str.c index 3b271e7..0403982 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -231,7 +231,7 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) * buf is left unused. */ err = strerror_r(errnum, buf, buflen); - if (err == NULL) + if (err == NULL || buflen == 0) return 0; /* * If err is statically allocated, err != buf and we need to copy the data. diff --git a/crypto/store/loader_file.c b/crypto/store/loader_file.c index cac8698..9011653 100644 --- a/crypto/store/loader_file.c +++ b/crypto/store/loader_file.c @@ -860,10 +860,10 @@ static OSSL_STORE_LOADER_CTX *file_open(const OSSL_STORE_LOADER *loader, if (ctx->_.dir.last_entry == NULL) { if (ctx->_.dir.last_errno != 0) { char errbuf[256]; - errno = ctx->_.dir.last_errno; - openssl_strerror_r(errno, errbuf, sizeof(errbuf)); OSSL_STOREerr(OSSL_STORE_F_FILE_OPEN, ERR_R_SYS_LIB); - ERR_add_error_data(1, errbuf); + errno = ctx->_.dir.last_errno; + if (openssl_strerror_r(errno, errbuf, sizeof(errbuf))) + ERR_add_error_data(1, errbuf); goto err; } ctx->_.dir.end_reached = 1; @@ -1260,11 +1260,11 @@ static OSSL_STORE_INFO *file_load(OSSL_STORE_LOADER_CTX *ctx, if (!ctx->_.dir.end_reached) { char errbuf[256]; assert(ctx->_.dir.last_errno != 0); + OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB); errno = ctx->_.dir.last_errno; ctx->errcnt++; - openssl_strerror_r(errno, errbuf, sizeof(errbuf)); - OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB); - ERR_add_error_data(1, errbuf); + if (openssl_strerror_r(errno, errbuf, sizeof(errbuf))) + ERR_add_error_data(1, errbuf); } return NULL; } From bernd.edlinger at hotmail.de Tue Jun 18 11:59:17 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Tue, 18 Jun 2019 11:59:17 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560859157.656748.22422.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 2459dc1bd09468c83f1767b6b6a1ddc45ba60d36 (commit) from 10bf5068190ab25324648dd4a0becd4bd46ecc37 (commit) - Log ----------------------------------------------------------------- commit 2459dc1bd09468c83f1767b6b6a1ddc45ba60d36 Author: Bernd Edlinger Date: Fri Jun 14 14:48:37 2019 +0200 Fix error handling at openssl_strerror_r When bufsize == 0, openssl_strerror_r should return 0 (if _GNU_SOURCE is defined), to be consistent with non-_GNU_SOURCE variants, which exhibit the same behavior. Fix a few cases, where the return value of openssl_strerror_r was ignored. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9163) (cherry picked from commit e7a4682d0b347f0dfba629f4601a28801e54ad67) ----------------------------------------------------------------------- Summary of changes: crypto/o_str.c | 2 +- crypto/store/loader_file.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crypto/o_str.c b/crypto/o_str.c index 1dbd70d..9ad7a89 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -231,7 +231,7 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) * buf is left unused. */ err = strerror_r(errnum, buf, buflen); - if (err == NULL) + if (err == NULL || buflen == 0) return 0; /* * If err is statically allocated, err != buf and we need to copy the data. diff --git a/crypto/store/loader_file.c b/crypto/store/loader_file.c index 632e451..1ebbe9f 100644 --- a/crypto/store/loader_file.c +++ b/crypto/store/loader_file.c @@ -860,10 +860,10 @@ static OSSL_STORE_LOADER_CTX *file_open(const OSSL_STORE_LOADER *loader, if (ctx->_.dir.last_entry == NULL) { if (ctx->_.dir.last_errno != 0) { char errbuf[256]; - errno = ctx->_.dir.last_errno; - openssl_strerror_r(errno, errbuf, sizeof(errbuf)); OSSL_STOREerr(OSSL_STORE_F_FILE_OPEN, ERR_R_SYS_LIB); - ERR_add_error_data(1, errbuf); + errno = ctx->_.dir.last_errno; + if (openssl_strerror_r(errno, errbuf, sizeof(errbuf))) + ERR_add_error_data(1, errbuf); goto err; } ctx->_.dir.end_reached = 1; @@ -1260,11 +1260,11 @@ static OSSL_STORE_INFO *file_load(OSSL_STORE_LOADER_CTX *ctx, if (!ctx->_.dir.end_reached) { char errbuf[256]; assert(ctx->_.dir.last_errno != 0); + OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB); errno = ctx->_.dir.last_errno; ctx->errcnt++; - openssl_strerror_r(errno, errbuf, sizeof(errbuf)); - OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB); - ERR_add_error_data(1, errbuf); + if (openssl_strerror_r(errno, errbuf, sizeof(errbuf))) + ERR_add_error_data(1, errbuf); } return NULL; } From builds at travis-ci.org Tue Jun 18 12:17:45 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 12:17:45 +0000 Subject: Still Failing: openssl/openssl#25863 (master - e7a4682) In-Reply-To: Message-ID: <5d08d6693ddb9_43fcdd7deed943046b@c782b3f3-a747-4880-8829-4ca5e3b900fb.mail> Build Update for openssl/openssl ------------------------------------- Build: #25863 Status: Still Failing Duration: 18 mins and 41 secs Commit: e7a4682 (master) Author: Bernd Edlinger Message: Fix error handling at openssl_strerror_r When bufsize == 0, openssl_strerror_r should return 0 (if _GNU_SOURCE is defined), to be consistent with non-_GNU_SOURCE variants, which exhibit the same behavior. Fix a few cases, where the return value of openssl_strerror_r was ignored. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9163) View the changeset: https://github.com/openssl/openssl/compare/e24bdcde5a80...e7a4682d0b34 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547200160?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 Tue Jun 18 12:49:34 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 18 Jun 2019 12:49:34 +0000 Subject: [openssl] master update Message-ID: <1560862174.450423.31368.nullmailer@dev.openssl.org> The branch master has been updated via cd0fb43cbe2774220f2702b8289faec590a72d01 (commit) via eee2a6a718151336534d15a61d8d11209d4dfb1e (commit) via 45436e611b3e11c948ea9f3273df971c9bb4c122 (commit) from e7a4682d0b347f0dfba629f4601a28801e54ad67 (commit) - Log ----------------------------------------------------------------- commit cd0fb43cbe2774220f2702b8289faec590a72d01 Author: Matt Caswell Date: Tue Jun 18 11:45:26 2019 +0100 Following the previous 2 commits also move ecpointformats out of session The previous 2 commits moved supported groups and ciphers out of the session object to avoid race conditions. We now also move ecpointformats for consistency. There does not seem to be a race condition with access to this data since it is only ever set in a non-resumption handshake. However, there is no reason for it to be in the session. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9162) commit eee2a6a718151336534d15a61d8d11209d4dfb1e Author: Matt Caswell Date: Fri Jun 14 14:06:55 2019 +0100 Fix a race condition in ciphers handling Similarly to the previous commit we were storing the peer offered list of ciphers in the session. In practice there is no need for this information to be avilable from one resumption to the next since this list is specific to a particular handshake. Since the session object is supposed to be immutable we should not be updating it once we have decided to resume. The solution is to remove the session list out of the session object. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9162) commit 45436e611b3e11c948ea9f3273df971c9bb4c122 Author: Matt Caswell Date: Fri Jun 14 12:46:13 2019 +0100 Fix a race condition in supported groups handling In TLSv1.3 the supported groups can be negotiated each time a handshake occurs, regardless of whether we are resuming or not. We should not store the supported groups information in the session because session objects can be shared between multiple threads and we can end up with race conditions. For most users this won't be seen because, by default, we use stateless tickets in TLSv1.3 which don't get shared. However if you use SSL_OP_NO_TICKET (to get stateful tickets in TLSv1.3) then this can happen. The answer is to move the supported the supported group information into the SSL object instead. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9162) ----------------------------------------------------------------------- Summary of changes: ssl/s3_lib.c | 11 +++++------ ssl/ssl_lib.c | 12 +++++++----- ssl/ssl_locl.h | 23 +++++++++++++---------- ssl/ssl_sess.c | 37 ------------------------------------- ssl/statem/extensions.c | 10 +++++----- ssl/statem/extensions_clnt.c | 12 ++++++------ ssl/statem/extensions_srvr.c | 16 ++++++++-------- ssl/statem/statem_srvr.c | 16 ++++++++-------- ssl/t1_lib.c | 6 +++--- 9 files changed, 55 insertions(+), 88 deletions(-) diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 6c3f04d..3238fd9 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3586,8 +3586,8 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) if (!s->session) return 0; - clist = s->session->ext.supportedgroups; - clistlen = s->session->ext.supportedgroups_len; + clist = s->ext.peer_supportedgroups; + clistlen = s->ext.peer_supportedgroups_len; if (parg) { size_t i; int *cptr = parg; @@ -3702,13 +3702,12 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) #ifndef OPENSSL_NO_EC case SSL_CTRL_GET_EC_POINT_FORMATS: { - SSL_SESSION *sess = s->session; const unsigned char **pformat = parg; - if (sess == NULL || sess->ext.ecpointformats == NULL) + if (s->ext.peer_ecpointformats == NULL) return 0; - *pformat = sess->ext.ecpointformats; - return (int)sess->ext.ecpointformats_len; + *pformat = s->ext.peer_ecpointformats; + return (int)s->ext.peer_ecpointformats_len; } #endif diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 4e4477d..d15b743 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1169,6 +1169,7 @@ void SSL_free(SSL *s) sk_SSL_CIPHER_free(s->cipher_list); sk_SSL_CIPHER_free(s->cipher_list_by_id); sk_SSL_CIPHER_free(s->tls13_ciphersuites); + sk_SSL_CIPHER_free(s->peer_ciphers); /* Make the next call work :-) */ if (s->session != NULL) { @@ -1187,7 +1188,9 @@ void SSL_free(SSL *s) SSL_CTX_free(s->session_ctx); #ifndef OPENSSL_NO_EC OPENSSL_free(s->ext.ecpointformats); + OPENSSL_free(s->ext.peer_ecpointformats); OPENSSL_free(s->ext.supportedgroups); + OPENSSL_free(s->ext.peer_supportedgroups); #endif /* OPENSSL_NO_EC */ sk_X509_EXTENSION_pop_free(s->ext.ocsp.exts, X509_EXTENSION_free); #ifndef OPENSSL_NO_OCSP @@ -2570,9 +2573,9 @@ STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s) STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s) { - if ((s == NULL) || (s->session == NULL) || !s->server) + if ((s == NULL) || !s->server) return NULL; - return s->session->ciphers; + return s->peer_ciphers; } STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s) @@ -2711,13 +2714,12 @@ char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size) int i; if (!s->server - || s->session == NULL - || s->session->ciphers == NULL + || s->peer_ciphers == NULL || size < 2) return NULL; p = buf; - clntsk = s->session->ciphers; + clntsk = s->peer_ciphers; srvrsk = SSL_get_ciphers(s); if (clntsk == NULL || srvrsk == NULL) return NULL; diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index e521152..a61987f 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -556,7 +556,6 @@ struct ssl_session_st { const SSL_CIPHER *cipher; unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used to * load the 'cipher' structure */ - STACK_OF(SSL_CIPHER) *ciphers; /* ciphers offered by the client */ CRYPTO_EX_DATA ex_data; /* application specific data */ /* * These are used to make removal of session-ids more efficient and to @@ -566,13 +565,7 @@ struct ssl_session_st { struct { char *hostname; -# ifndef OPENSSL_NO_EC - size_t ecpointformats_len; - unsigned char *ecpointformats; /* peer's list */ -# endif /* OPENSSL_NO_EC */ - size_t supportedgroups_len; - uint16_t *supportedgroups; /* peer's list */ - /* RFC4507 info */ + /* RFC4507 info */ unsigned char *tick; /* Session ticket */ size_t ticklen; /* Session ticket length */ /* Session lifetime hint in seconds */ @@ -1320,6 +1313,7 @@ struct ssl_st { /* Per connection DANE state */ SSL_DANE dane; /* crypto */ + STACK_OF(SSL_CIPHER) *peer_ciphers; STACK_OF(SSL_CIPHER) *cipher_list; STACK_OF(SSL_CIPHER) *cipher_list_by_id; /* TLSv1.3 specific ciphersuites */ @@ -1483,10 +1477,19 @@ struct ssl_st { size_t ecpointformats_len; /* our list */ unsigned char *ecpointformats; + + size_t peer_ecpointformats_len; + /* peer's list */ + unsigned char *peer_ecpointformats; # endif /* OPENSSL_NO_EC */ size_t supportedgroups_len; /* our list */ uint16_t *supportedgroups; + + size_t peer_supportedgroups_len; + /* peer's list */ + uint16_t *peer_supportedgroups; + /* TLS Session Ticket extension override */ TLS_SESSION_TICKET_EXT *session_ticket; /* TLS Session Ticket extension callback */ @@ -2258,8 +2261,8 @@ static ossl_inline int ssl_has_cert(const SSL *s, int idx) static ossl_inline void tls1_get_peer_groups(SSL *s, const uint16_t **pgroups, size_t *pgroupslen) { - *pgroups = s->session->ext.supportedgroups; - *pgroupslen = s->session->ext.supportedgroups_len; + *pgroups = s->ext.peer_supportedgroups; + *pgroupslen = s->ext.peer_supportedgroups_len; } # ifndef OPENSSL_UNIT_TEST diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 508182a..f80b8e2 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -121,12 +121,7 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) dest->psk_identity_hint = NULL; dest->psk_identity = NULL; #endif - dest->ciphers = NULL; dest->ext.hostname = NULL; -#ifndef OPENSSL_NO_EC - dest->ext.ecpointformats = NULL; - dest->ext.supportedgroups = NULL; -#endif dest->ext.tick = NULL; dest->ext.alpn_selected = NULL; #ifndef OPENSSL_NO_SRP @@ -176,12 +171,6 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) } #endif - if (src->ciphers != NULL) { - dest->ciphers = sk_SSL_CIPHER_dup(src->ciphers); - if (dest->ciphers == NULL) - goto err; - } - if (!CRYPTO_dup_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, &dest->ex_data, &src->ex_data)) { goto err; @@ -193,23 +182,6 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) goto err; } } -#ifndef OPENSSL_NO_EC - if (src->ext.ecpointformats) { - dest->ext.ecpointformats = - OPENSSL_memdup(src->ext.ecpointformats, - src->ext.ecpointformats_len); - if (dest->ext.ecpointformats == NULL) - goto err; - } - if (src->ext.supportedgroups) { - dest->ext.supportedgroups = - OPENSSL_memdup(src->ext.supportedgroups, - src->ext.supportedgroups_len - * sizeof(*src->ext.supportedgroups)); - if (dest->ext.supportedgroups == NULL) - goto err; - } -#endif if (ticket != 0 && src->ext.tick != NULL) { dest->ext.tick = @@ -790,17 +762,8 @@ void SSL_SESSION_free(SSL_SESSION *ss) OPENSSL_cleanse(ss->session_id, sizeof(ss->session_id)); X509_free(ss->peer); sk_X509_pop_free(ss->peer_chain, X509_free); - sk_SSL_CIPHER_free(ss->ciphers); OPENSSL_free(ss->ext.hostname); OPENSSL_free(ss->ext.tick); -#ifndef OPENSSL_NO_EC - OPENSSL_free(ss->ext.ecpointformats); - ss->ext.ecpointformats = NULL; - ss->ext.ecpointformats_len = 0; - OPENSSL_free(ss->ext.supportedgroups); - ss->ext.supportedgroups = NULL; - ss->ext.supportedgroups_len = 0; -#endif /* OPENSSL_NO_EC */ #ifndef OPENSSL_NO_PSK OPENSSL_free(ss->psk_identity_hint); OPENSSL_free(ss->psk_identity); diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index eacc721..2a9b796 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1039,18 +1039,18 @@ static int final_ec_pt_formats(SSL *s, unsigned int context, int sent) */ if (s->ext.ecpointformats != NULL && s->ext.ecpointformats_len > 0 - && s->session->ext.ecpointformats != NULL - && s->session->ext.ecpointformats_len > 0 + && s->ext.peer_ecpointformats != NULL + && s->ext.peer_ecpointformats_len > 0 && ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA))) { /* we are using an ECC cipher */ size_t i; - unsigned char *list = s->session->ext.ecpointformats; + unsigned char *list = s->ext.peer_ecpointformats; - for (i = 0; i < s->session->ext.ecpointformats_len; i++) { + for (i = 0; i < s->ext.peer_ecpointformats_len; i++) { if (*list++ == TLSEXT_ECPOINTFORMAT_uncompressed) break; } - if (i == s->session->ext.ecpointformats_len) { + if (i == s->ext.peer_ecpointformats_len) { SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_FINAL_EC_PT_FORMATS, SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST); return 0; diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index b12361f..b6e96ae 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -1411,19 +1411,19 @@ int tls_parse_stoc_ec_pt_formats(SSL *s, PACKET *pkt, unsigned int context, return 0; } - s->session->ext.ecpointformats_len = 0; - OPENSSL_free(s->session->ext.ecpointformats); - s->session->ext.ecpointformats = OPENSSL_malloc(ecpointformats_len); - if (s->session->ext.ecpointformats == NULL) { + s->ext.peer_ecpointformats_len = 0; + OPENSSL_free(s->ext.peer_ecpointformats); + s->ext.peer_ecpointformats = OPENSSL_malloc(ecpointformats_len); + if (s->ext.peer_ecpointformats == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); return 0; } - s->session->ext.ecpointformats_len = ecpointformats_len; + s->ext.peer_ecpointformats_len = ecpointformats_len; if (!PACKET_copy_bytes(&ecptformatlist, - s->session->ext.ecpointformats, + s->ext.peer_ecpointformats, ecpointformats_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 6181f3f..e16722c 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -254,8 +254,8 @@ int tls_parse_ctos_ec_pt_formats(SSL *s, PACKET *pkt, unsigned int context, if (!s->hit) { if (!PACKET_memdup(&ec_point_format_list, - &s->session->ext.ecpointformats, - &s->session->ext.ecpointformats_len)) { + &s->ext.peer_ecpointformats, + &s->ext.peer_ecpointformats_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); return 0; @@ -962,12 +962,12 @@ int tls_parse_ctos_supported_groups(SSL *s, PACKET *pkt, unsigned int context, } if (!s->hit || SSL_IS_TLS13(s)) { - OPENSSL_free(s->session->ext.supportedgroups); - s->session->ext.supportedgroups = NULL; - s->session->ext.supportedgroups_len = 0; + OPENSSL_free(s->ext.peer_supportedgroups); + s->ext.peer_supportedgroups = NULL; + s->ext.peer_supportedgroups_len = 0; if (!tls1_save_u16(&supported_groups_list, - &s->session->ext.supportedgroups, - &s->session->ext.supportedgroups_len)) { + &s->ext.peer_supportedgroups, + &s->ext.peer_supportedgroups_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS, ERR_R_INTERNAL_ERROR); @@ -1379,7 +1379,7 @@ EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL *s, WPACKET *pkt, unsigned long alg_k = s->s3.tmp.new_cipher->algorithm_mkey; unsigned long alg_a = s->s3.tmp.new_cipher->algorithm_auth; int using_ecc = ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA)) - && (s->session->ext.ecpointformats != NULL); + && (s->ext.peer_ecpointformats != NULL); const unsigned char *plist; size_t plistlen; diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 6504f4f..79c2aa0 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -1924,14 +1924,14 @@ static int tls_early_post_process_client_hello(SSL *s) && master_key_length > 0) { s->session->master_key_length = master_key_length; s->hit = 1; - s->session->ciphers = ciphers; + s->peer_ciphers = ciphers; s->session->verify_result = X509_V_OK; ciphers = NULL; /* check if some cipher was preferred by call back */ if (pref_cipher == NULL) - pref_cipher = ssl3_choose_cipher(s, s->session->ciphers, + pref_cipher = ssl3_choose_cipher(s, s->peer_ciphers, SSL_get_ciphers(s)); if (pref_cipher == NULL) { SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, @@ -1942,9 +1942,9 @@ static int tls_early_post_process_client_hello(SSL *s) s->session->cipher = pref_cipher; sk_SSL_CIPHER_free(s->cipher_list); - s->cipher_list = sk_SSL_CIPHER_dup(s->session->ciphers); + s->cipher_list = sk_SSL_CIPHER_dup(s->peer_ciphers); sk_SSL_CIPHER_free(s->cipher_list_by_id); - s->cipher_list_by_id = sk_SSL_CIPHER_dup(s->session->ciphers); + s->cipher_list_by_id = sk_SSL_CIPHER_dup(s->peer_ciphers); } } @@ -2044,12 +2044,12 @@ static int tls_early_post_process_client_hello(SSL *s) #endif /* - * Given s->session->ciphers and SSL_get_ciphers, we must pick a cipher + * Given s->peer_ciphers and SSL_get_ciphers, we must pick a cipher */ if (!s->hit || SSL_IS_TLS13(s)) { - sk_SSL_CIPHER_free(s->session->ciphers); - s->session->ciphers = ciphers; + sk_SSL_CIPHER_free(s->peer_ciphers); + s->peer_ciphers = ciphers; if (ciphers == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO, @@ -2256,7 +2256,7 @@ WORK_STATE tls_post_process_client_hello(SSL *s, WORK_STATE wst) /* In TLSv1.3 we selected the ciphersuite before resumption */ if (!SSL_IS_TLS13(s)) { cipher = - ssl3_choose_cipher(s, s->session->ciphers, SSL_get_ciphers(s)); + ssl3_choose_cipher(s, s->peer_ciphers, SSL_get_ciphers(s)); if (cipher == NULL) { SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index dcae274..95622de 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -597,11 +597,11 @@ static int tls1_check_pkey_comp(SSL *s, EVP_PKEY *pkey) * If point formats extension present check it, otherwise everything is * supported (see RFC4492). */ - if (s->session->ext.ecpointformats == NULL) + if (s->ext.peer_ecpointformats == NULL) return 1; - for (i = 0; i < s->session->ext.ecpointformats_len; i++) { - if (s->session->ext.ecpointformats[i] == comp_id) + for (i = 0; i < s->ext.peer_ecpointformats_len; i++) { + if (s->ext.peer_ecpointformats[i] == comp_id) return 1; } return 0; From builds at travis-ci.org Tue Jun 18 13:14:08 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 13:14:08 +0000 Subject: Still Failing: openssl/openssl#25868 (master - cd0fb43) In-Reply-To: Message-ID: <5d08e3a061323_43f9d069dc2f8319824@db48bab2-dcff-4923-8047-42c56f2ef2f2.mail> Build Update for openssl/openssl ------------------------------------- Build: #25868 Status: Still Failing Duration: 24 mins and 0 secs Commit: cd0fb43 (master) Author: Matt Caswell Message: Following the previous 2 commits also move ecpointformats out of session The previous 2 commits moved supported groups and ciphers out of the session object to avoid race conditions. We now also move ecpointformats for consistency. There does not seem to be a race condition with access to this data since it is only ever set in a non-resumption handshake. However, there is no reason for it to be in the session. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9162) View the changeset: https://github.com/openssl/openssl/compare/e7a4682d0b34...cd0fb43cbe27 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547220199?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 Jun 18 13:20:46 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 13:20:46 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings 386 Message-ID: <1560864046.153933.19544.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings 386 Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_rc2-bin-buildtest_rc2.d.tmp -MT test/buildtest_c_rc2-bin-buildtest_rc2.o -c -o test/buildtest_c_rc2-bin-buildtest_rc2.o test/buildtest_rc2.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_rc4-bin-buildtest_rc4.d.tmp -MT test/buildtest_c_rc4-bin-buildtest_rc4.o -c -o test/buildtest_c_rc4-bin-buildtest_rc4.o test/buildtest_rc4.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_ripemd-bin-buildtest_ripemd.d.tmp -MT test/buildtest_c_ripemd-bin-buildtest_ripemd.o -c -o test/buildtest_c_ripemd-bin-buildtest_ripemd.o test/buildtest_ripemd.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_rsa-bin-buildtest_rsa.d.tmp -MT test/buildtest_c_rsa-bin-buildtest_rsa.o -c -o test/buildtest_c_rsa-bin-buildtest_rsa.o test/buildtest_rsa.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_safestack-bin-buildtest_safestack.d.tmp -MT test/buildtest_c_safestack-bin-buildtest_safestack.o -c -o test/buildtest_c_safestack-bin-buildtest_safestack.o test/buildtest_safestack.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_seed-bin-buildtest_seed.d.tmp -MT test/buildtest_c_seed-bin-buildtest_seed.o -c -o test/buildtest_c_seed-bin-buildtest_seed.o test/buildtest_seed.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_sha-bin-buildtest_sha.d.tmp -MT test/buildtest_c_sha-bin-buildtest_sha.o -c -o test/buildtest_c_sha-bin-buildtest_sha.o test/buildtest_sha.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_srp-bin-buildtest_srp.d.tmp -MT test/buildtest_c_srp-bin-buildtest_srp.o -c -o test/buildtest_c_srp-bin-buildtest_srp.o test/buildtest_srp.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_srtp-bin-buildtest_srtp.d.tmp -MT test/buildtest_c_srtp-bin-buildtest_srtp.o -c -o test/buildtest_c_srtp-bin-buildtest_srtp.o test/buildtest_srtp.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_ssl-bin-buildtest_ssl.d.tmp -MT test/buildtest_c_ssl-bin-buildtest_ssl.o -c -o test/buildtest_c_ssl-bin-buildtest_ssl.o test/buildtest_ssl.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_ssl2-bin-buildtest_ssl2.d.tmp -MT test/buildtest_c_ssl2-bin-buildtest_ssl2.o -c -o test/buildtest_c_ssl2-bin-buildtest_ssl2.o test/buildtest_ssl2.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_stack-bin-buildtest_stack.d.tmp -MT test/buildtest_c_stack-bin-buildtest_stack.o -c -o test/buildtest_c_stack-bin-buildtest_stack.o test/buildtest_stack.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_store-bin-buildtest_store.d.tmp -MT test/buildtest_c_store-bin-buildtest_store.o -c -o test/buildtest_c_store-bin-buildtest_store.o test/buildtest_store.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_symhacks-bin-buildtest_symhacks.d.tmp -MT test/buildtest_c_symhacks-bin-buildtest_symhacks.o -c -o test/buildtest_c_symhacks-bin-buildtest_symhacks.o test/buildtest_symhacks.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_tls1-bin-buildtest_tls1.d.tmp -MT test/buildtest_c_tls1-bin-buildtest_tls1.o -c -o test/buildtest_c_tls1-bin-buildtest_tls1.o test/buildtest_tls1.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_ts-bin-buildtest_ts.d.tmp -MT test/buildtest_c_ts-bin-buildtest_ts.o -c -o test/buildtest_c_ts-bin-buildtest_ts.o test/buildtest_ts.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_txt_db-bin-buildtest_txt_db.d.tmp -MT test/buildtest_c_txt_db-bin-buildtest_txt_db.o -c -o test/buildtest_c_txt_db-bin-buildtest_txt_db.o test/buildtest_txt_db.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_ui-bin-buildtest_ui.d.tmp -MT test/buildtest_c_ui-bin-buildtest_ui.o -c -o test/buildtest_c_ui-bin-buildtest_ui.o test/buildtest_ui.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_whrlpool-bin-buildtest_whrlpool.d.tmp -MT test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o -c -o test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o test/buildtest_whrlpool.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_x509-bin-buildtest_x509.d.tmp -MT test/buildtest_c_x509-bin-buildtest_x509.o -c -o test/buildtest_c_x509-bin-buildtest_x509.o test/buildtest_x509.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_x509_vfy-bin-buildtest_x509_vfy.d.tmp -MT test/buildtest_c_x509_vfy-bin-buildtest_x509_vfy.o -c -o test/buildtest_c_x509_vfy-bin-buildtest_x509_vfy.o test/buildtest_x509_vfy.c clang -Iinclude -I../openssl/include -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -MMD -MF test/buildtest_c_x509v3-bin-buildtest_x509v3.d.tmp -MT test/buildtest_c_x509v3-bin-buildtest_x509v3.o -c -o test/buildtest_c_x509v3-bin-buildtest_x509v3.o test/buildtest_x509v3.c rm -f test/rsa_complex ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o test/rsa_complex test/rsa_complex-bin-rsa_complex.o \ -ldl -pthread rm -f test/shlibloadtest ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o test/shlibloadtest test/shlibloadtest-bin-shlibloadtest.o \ -ldl -pthread ar r libcrypto.a crypto/aes/libcrypto-lib-aes-x86_64.o crypto/aes/libcrypto-lib-aes_cfb.o crypto/aes/libcrypto-lib-aes_ecb.o crypto/aes/libcrypto-lib-aes_ige.o crypto/aes/libcrypto-lib-aes_misc.o crypto/aes/libcrypto-lib-aes_ofb.o crypto/aes/libcrypto-lib-aes_wrap.o crypto/aes/libcrypto-lib-aesni-mb-x86_64.o crypto/aes/libcrypto-lib-aesni-sha1-x86_64.o crypto/aes/libcrypto-lib-aesni-sha256-x86_64.o crypto/aes/libcrypto-lib-bsaes-x86_64.o crypto/aria/libcrypto-lib-aria.o crypto/asn1/libcrypto-lib-a_bitstr.o crypto/asn1/libcrypto-lib-a_d2i_fp.o crypto/asn1/libcrypto-lib-a_digest.o crypto/asn1/libcrypto-lib-a_dup.o crypto/asn1/libcrypto-lib-a_gentm.o crypto/asn1/libcrypto-lib-a_i2d_fp.o crypto/asn1/libcrypto-lib-a_int.o crypto/asn1/libcrypto-lib-a_mbstr.o crypto/asn1/libcrypto-lib-a_object.o crypto/asn1/libcrypto-lib-a_octet.o crypto/asn1/libcrypto-lib-a_print.o crypto/asn1/libcrypto-lib-a_sign.o crypto/asn1/libcrypto-lib-a_strex.o crypto/asn1/libcrypto-lib-a_strnid.o crypto/asn1/libcrypto-lib-a_time.o crypto/asn1/libcrypto-lib-a_type.o crypto/asn1/libcrypto-lib-a_utctm.o crypto/asn1/libcrypto-lib-a_utf8.o crypto/asn1/libcrypto-lib-a_verify.o crypto/asn1/libcrypto-lib-ameth_lib.o crypto/asn1/libcrypto-lib-asn1_err.o crypto/asn1/libcrypto-lib-asn1_gen.o crypto/asn1/libcrypto-lib-asn1_item_list.o crypto/asn1/libcrypto-lib-asn1_lib.o crypto/asn1/libcrypto-lib-asn1_par.o crypto/asn1/libcrypto-lib-asn_mime.o crypto/asn1/libcrypto-lib-asn_moid.o crypto/asn1/libcrypto-lib-asn_mstbl.o crypto/asn1/libcrypto-lib-asn_pack.o crypto/asn1/libcrypto-lib-bio_asn1.o crypto/asn1/libcrypto-lib-bio_ndef.o crypto/asn1/libcrypto-lib-d2i_param.o crypto/asn1/libcrypto-lib-d2i_pr.o crypto/asn1/libcrypto-lib-d2i_pu.o crypto/asn1/libcrypto-lib-evp_asn1.o crypto/asn1/libcrypto-lib-f_int.o crypto/asn1/libcrypto-lib-f_string.o crypto/asn1/libcrypto-lib-i2d_param.o crypto/asn1/libcrypto-lib-i2d_pr.o crypto/asn1/libcrypto-lib-i2d_pu.o crypto/asn1/libcrypto-lib-n_pkey.o crypto/asn1/libcrypto-lib-nsseq.o crypto/asn1/libcrypto-lib-p5_pbe.o crypto/asn1/libcrypto-lib-p5_pbev2.o crypto/asn1/libcrypto-lib-p5_scrypt.o crypto/asn1/libcrypto-lib-p8_pkey.o crypto/asn1/libcrypto-lib-t_bitst.o crypto/asn1/libcrypto-lib-t_pkey.o crypto/asn1/libcrypto-lib-t_spki.o crypto/asn1/libcrypto-lib-tasn_dec.o crypto/asn1/libcrypto-lib-tasn_enc.o crypto/asn1/libcrypto-lib-tasn_fre.o crypto/asn1/libcrypto-lib-tasn_new.o crypto/asn1/libcrypto-lib-tasn_prn.o crypto/asn1/libcrypto-lib-tasn_scn.o crypto/asn1/libcrypto-lib-tasn_typ.o crypto/asn1/libcrypto-lib-tasn_utl.o crypto/asn1/libcrypto-lib-x_algor.o crypto/asn1/libcrypto-lib-x_bignum.o crypto/asn1/libcrypto-lib-x_info.o crypto/asn1/libcrypto-lib-x_int64.o crypto/asn1/libcrypto-lib-x_long.o crypto/asn1/libcrypto-lib-x_pkey.o crypto/asn1/libcrypto-lib-x_sig.o crypto/asn1/libcrypto-lib-x_spki.o crypto/asn1/libcrypto-lib-x_val.o crypto/async/arch/libcrypto-lib-async_null.o crypto/async/arch/libcrypto-lib-async_posix.o crypto/async/arch/libcrypto-lib-async_win.o crypto/async/libcrypto-lib-async.o crypto/async/libcrypto-lib-async_err.o crypto/async/libcrypto-lib-async_wait.o crypto/bf/libcrypto-lib-bf_cfb64.o crypto/bf/libcrypto-lib-bf_ecb.o crypto/bf/libcrypto-lib-bf_enc.o crypto/bf/libcrypto-lib-bf_ofb64.o crypto/bf/libcrypto-lib-bf_skey.o crypto/bio/libcrypto-lib-b_addr.o crypto/bio/libcrypto-lib-b_dump.o crypto/bio/libcrypto-lib-b_print.o crypto/bio/libcrypto-lib-b_sock.o crypto/bio/libcrypto-lib-b_sock2.o crypto/bio/libcrypto-lib-bf_buff.o crypto/bio/libcrypto-lib-bf_lbuf.o crypto/bio/libcrypto-lib-bf_nbio.o crypto/bio/libcrypto-lib-bf_null.o crypto/bio/libcrypto-lib-bio_cb.o crypto/bio/libcrypto-lib-bio_err.o crypto/bio/libcrypto-lib-bio_lib.o crypto/bio/libcrypto-lib-bio_meth.o crypto/bio/libcrypto-lib-bss_acpt.o crypto/bio/libcrypto-lib-bss_bio.o crypto/bio/libcrypto-lib-bss_conn.o crypto/bio/libcrypto-lib-bss_dgram.o crypto/bio/libcrypto-lib-bss_fd.o crypto/bio/libcrypto-lib-bss_file.o crypto/bio/libcrypto-lib-bss_log.o crypto/bio/libcrypto-lib-bss_mem.o crypto/bio/libcrypto-lib-bss_null.o crypto/bio/libcrypto-lib-bss_sock.o crypto/blake2/libcrypto-lib-blake2b_mac.o crypto/blake2/libcrypto-lib-blake2s_mac.o crypto/blake2/libcrypto-lib-m_blake2b.o crypto/blake2/libcrypto-lib-m_blake2s.o crypto/bn/asm/libcrypto-lib-x86_64-gcc.o crypto/bn/libcrypto-lib-bn_add.o crypto/bn/libcrypto-lib-bn_blind.o crypto/bn/libcrypto-lib-bn_const.o crypto/bn/libcrypto-lib-bn_conv.o crypto/bn/libcrypto-lib-bn_ctx.o crypto/bn/libcrypto-lib-bn_depr.o crypto/bn/libcrypto-lib-bn_dh.o crypto/bn/libcrypto-lib-bn_div.o crypto/bn/libcrypto-lib-bn_err.o crypto/bn/libcrypto-lib-bn_exp.o crypto/bn/libcrypto-lib-bn_exp2.o crypto/bn/libcrypto-lib-bn_gcd.o crypto/bn/libcrypto-lib-bn_gf2m.o crypto/bn/libcrypto-lib-bn_intern.o crypto/bn/libcrypto-lib-bn_kron.o crypto/bn/libcrypto-lib-bn_lib.o crypto/bn/libcrypto-lib-bn_mod.o crypto/bn/libcrypto-lib-bn_mont.o crypto/bn/libcrypto-lib-bn_mpi.o crypto/bn/libcrypto-lib-bn_mul.o crypto/bn/libcrypto-lib-bn_nist.o crypto/bn/libcrypto-lib-bn_prime.o crypto/bn/libcrypto-lib-bn_print.o crypto/bn/libcrypto-lib-bn_rand.o crypto/bn/libcrypto-lib-bn_recp.o crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o crypto/bn/libcrypto-lib-bn_shift.o crypto/bn/libcrypto-lib-bn_sqr.o crypto/bn/libcrypto-lib-bn_sqrt.o crypto/bn/libcrypto-lib-bn_srp.o crypto/bn/libcrypto-lib-bn_word.o crypto/bn/libcrypto-lib-bn_x931p.o crypto/bn/libcrypto-lib-rsaz-avx2.o crypto/bn/libcrypto-lib-rsaz-x86_64.o crypto/bn/libcrypto-lib-rsaz_exp.o crypto/bn/libcrypto-lib-x86_64-gf2m.o crypto/bn/libcrypto-lib-x86_64-mont.o crypto/bn/libcrypto-lib-x86_64-mont5.o crypto/buffer/libcrypto-lib-buf_err.o crypto/buffer/libcrypto-lib-buffer.o crypto/camellia/libcrypto-lib-cmll-x86_64.o crypto/camellia/libcrypto-lib-cmll_cfb.o crypto/camellia/libcrypto-lib-cmll_ctr.o crypto/camellia/libcrypto-lib-cmll_ecb.o crypto/camellia/libcrypto-lib-cmll_misc.o crypto/camellia/libcrypto-lib-cmll_ofb.o crypto/cast/libcrypto-lib-c_cfb64.o crypto/cast/libcrypto-lib-c_ecb.o crypto/cast/libcrypto-lib-c_enc.o crypto/cast/libcrypto-lib-c_ofb64.o crypto/cast/libcrypto-lib-c_skey.o crypto/chacha/libcrypto-lib-chacha-x86_64.o crypto/cmac/libcrypto-lib-cm_ameth.o crypto/cmac/libcrypto-lib-cm_meth.o crypto/cmac/libcrypto-lib-cmac.o crypto/cmp/libcrypto-lib-cmp_asn.o crypto/cmp/libcrypto-lib-cmp_err.o crypto/cms/libcrypto-lib-cms_asn1.o crypto/cms/libcrypto-lib-cms_att.o crypto/cms/libcrypto-lib-cms_cd.o crypto/cms/libcrypto-lib-cms_dd.o crypto/cms/libcrypto-lib-cms_enc.o crypto/cms/libcrypto-lib-cms_env.o crypto/cms/libcrypto-lib-cms_err.o crypto/cms/libcrypto-lib-cms_ess.o crypto/cms/libcrypto-lib-cms_io.o crypto/cms/libcrypto-lib-cms_kari.o crypto/cms/libcrypto-lib-cms_lib.o crypto/cms/libcrypto-lib-cms_pwri.o crypto/cms/libcrypto-lib-cms_sd.o crypto/cms/libcrypto-lib-cms_smime.o crypto/comp/libcrypto-lib-c_zlib.o crypto/comp/libcrypto-lib-comp_err.o crypto/comp/libcrypto-lib-comp_lib.o crypto/conf/libcrypto-lib-conf_api.o crypto/conf/libcrypto-lib-conf_def.o crypto/conf/libcrypto-lib-conf_err.o crypto/conf/libcrypto-lib-conf_lib.o crypto/conf/libcrypto-lib-conf_mall.o crypto/conf/libcrypto-lib-conf_mod.o crypto/conf/libcrypto-lib-conf_sap.o crypto/conf/libcrypto-lib-conf_ssl.o crypto/crmf/libcrypto-lib-crmf_asn.o crypto/crmf/libcrypto-lib-crmf_err.o crypto/crmf/libcrypto-lib-crmf_lib.o crypto/crmf/libcrypto-lib-crmf_pbm.o crypto/ct/libcrypto-lib-ct_b64.o crypto/ct/libcrypto-lib-ct_err.o crypto/ct/libcrypto-lib-ct_log.o crypto/ct/libcrypto-lib-ct_oct.o crypto/ct/libcrypto-lib-ct_policy.o crypto/ct/libcrypto-lib-ct_prn.o crypto/ct/libcrypto-lib-ct_sct.o crypto/ct/libcrypto-lib-ct_sct_ctx.o crypto/ct/libcrypto-lib-ct_vfy.o crypto/ct/libcrypto-lib-ct_x509v3.o crypto/des/libcrypto-lib-cbc_cksm.o crypto/des/libcrypto-lib-cbc_enc.o crypto/des/libcrypto-lib-cfb64ede.o crypto/des/libcrypto-lib-cfb64enc.o crypto/des/libcrypto-lib-cfb_enc.o crypto/des/libcrypto-lib-des_enc.o crypto/des/libcrypto-lib-ecb3_enc.o crypto/des/libcrypto-lib-ecb_enc.o crypto/des/libcrypto-lib-fcrypt.o crypto/des/libcrypto-lib-fcrypt_b.o crypto/des/libcrypto-lib-ofb64ede.o crypto/des/libcrypto-lib-ofb64enc.o crypto/des/libcrypto-lib-ofb_enc.o crypto/des/libcrypto-lib-pcbc_enc.o crypto/des/libcrypto-lib-qud_cksm.o crypto/des/libcrypto-lib-rand_key.o crypto/des/libcrypto-lib-set_key.o crypto/des/libcrypto-lib-str2key.o crypto/des/libcrypto-lib-xcbc_enc.o crypto/dh/libcrypto-lib-dh_ameth.o crypto/dh/libcrypto-lib-dh_asn1.o crypto/dh/libcrypto-lib-dh_check.o crypto/dh/libcrypto-lib-dh_depr.o crypto/dh/libcrypto-lib-dh_err.o crypto/dh/libcrypto-lib-dh_gen.o crypto/dh/libcrypto-lib-dh_kdf.o crypto/dh/libcrypto-lib-dh_key.o crypto/dh/libcrypto-lib-dh_lib.o crypto/dh/libcrypto-lib-dh_meth.o crypto/dh/libcrypto-lib-dh_pmeth.o crypto/dh/libcrypto-lib-dh_prn.o crypto/dh/libcrypto-lib-dh_rfc5114.o crypto/dh/libcrypto-lib-dh_rfc7919.o crypto/dsa/libcrypto-lib-dsa_ameth.o crypto/dsa/libcrypto-lib-dsa_asn1.o crypto/dsa/libcrypto-lib-dsa_depr.o crypto/dsa/libcrypto-lib-dsa_err.o crypto/dsa/libcrypto-lib-dsa_gen.o crypto/dsa/libcrypto-lib-dsa_key.o crypto/dsa/libcrypto-lib-dsa_lib.o crypto/dsa/libcrypto-lib-dsa_meth.o crypto/dsa/libcrypto-lib-dsa_ossl.o crypto/dsa/libcrypto-lib-dsa_pmeth.o crypto/dsa/libcrypto-lib-dsa_prn.o crypto/dsa/libcrypto-lib-dsa_sign.o crypto/dsa/libcrypto-lib-dsa_vrf.o crypto/dso/libcrypto-lib-dso_dl.o crypto/dso/libcrypto-lib-dso_dlfcn.o crypto/dso/libcrypto-lib-dso_err.o crypto/dso/libcrypto-lib-dso_lib.o crypto/dso/libcrypto-lib-dso_openssl.o crypto/dso/libcrypto-lib-dso_vms.o crypto/dso/libcrypto-lib-dso_win32.o crypto/ec/curve448/arch_32/libcrypto-lib-f_impl.o crypto/ec/curve448/libcrypto-lib-curve448.o crypto/ec/curve448/libcrypto-lib-curve448_tables.o crypto/ec/curve448/libcrypto-lib-eddsa.o crypto/ec/curve448/libcrypto-lib-f_generic.o crypto/ec/curve448/libcrypto-lib-scalar.o crypto/ec/libcrypto-lib-curve25519.o crypto/ec/libcrypto-lib-ec2_oct.o crypto/ec/libcrypto-lib-ec2_smpl.o crypto/ec/libcrypto-lib-ec_ameth.o crypto/ec/libcrypto-lib-ec_asn1.o crypto/ec/libcrypto-lib-ec_check.o crypto/ec/libcrypto-lib-ec_curve.o crypto/ec/libcrypto-lib-ec_cvt.o crypto/ec/libcrypto-lib-ec_err.o crypto/ec/libcrypto-lib-ec_key.o crypto/ec/libcrypto-lib-ec_kmeth.o crypto/ec/libcrypto-lib-ec_lib.o crypto/ec/libcrypto-lib-ec_mult.o crypto/ec/libcrypto-lib-ec_oct.o crypto/ec/libcrypto-lib-ec_pmeth.o crypto/ec/libcrypto-lib-ec_print.o crypto/ec/libcrypto-lib-ecdh_kdf.o crypto/ec/libcrypto-lib-ecdh_ossl.o crypto/ec/libcrypto-lib-ecdsa_ossl.o crypto/ec/libcrypto-lib-ecdsa_sign.o crypto/ec/libcrypto-lib-ecdsa_vrf.o crypto/ec/libcrypto-lib-eck_prn.o crypto/ec/libcrypto-lib-ecp_mont.o crypto/ec/libcrypto-lib-ecp_nist.o crypto/ec/libcrypto-lib-ecp_nistp224.o crypto/ec/libcrypto-lib-ecp_nistp256.o crypto/ec/libcrypto-lib-ecp_nistp521.o crypto/ec/libcrypto-lib-ecp_nistputil.o crypto/ec/libcrypto-lib-ecp_nistz256-x86_64.o crypto/ec/libcrypto-lib-ecp_nistz256.o crypto/ec/libcrypto-lib-ecp_oct.o crypto/ec/libcrypto-lib-ecp_smpl.o crypto/ec/libcrypto-lib-ecx_meth.o crypto/ec/libcrypto-lib-x25519-x86_64.o crypto/engine/libcrypto-lib-eng_all.o crypto/engine/libcrypto-lib-eng_cnf.o crypto/engine/libcrypto-lib-eng_ctrl.o crypto/engine/libcrypto-lib-eng_dyn.o crypto/engine/libcrypto-lib-eng_err.o crypto/engine/libcrypto-lib-eng_fat.o crypto/engine/libcrypto-lib-eng_init.o crypto/engine/libcrypto-lib-eng_lib.o crypto/engine/libcrypto-lib-eng_list.o crypto/engine/libcrypto-lib-eng_openssl.o crypto/engine/libcrypto-lib-eng_pkey.o crypto/engine/libcrypto-lib-eng_rdrand.o crypto/engine/libcrypto-lib-eng_table.o crypto/engine/libcrypto-lib-tb_asnmth.o crypto/engine/libcrypto-lib-tb_cipher.o crypto/engine/libcrypto-lib-tb_dh.o crypto/engine/libcrypto-lib-tb_digest.o crypto/engine/libcrypto-lib-tb_dsa.o crypto/engine/libcrypto-lib-tb_eckey.o crypto/engine/libcrypto-lib-tb_pkmeth.o crypto/engine/libcrypto-lib-tb_rand.o crypto/engine/libcrypto-lib-tb_rsa.o crypto/err/libcrypto-lib-err.o crypto/err/libcrypto-lib-err_all.o crypto/err/libcrypto-lib-err_prn.o crypto/ess/libcrypto-lib-ess_asn1.o crypto/ess/libcrypto-lib-ess_err.o crypto/ess/libcrypto-lib-ess_lib.o crypto/evp/libcrypto-lib-bio_b64.o crypto/evp/libcrypto-lib-bio_enc.o crypto/evp/libcrypto-lib-bio_md.o crypto/evp/libcrypto-lib-bio_ok.o crypto/evp/libcrypto-lib-c_allc.o crypto/evp/libcrypto-lib-c_alld.o crypto/evp/libcrypto-lib-c_allkdf.o crypto/evp/libcrypto-lib-c_allm.o crypto/evp/libcrypto-lib-cmeth_lib.o crypto/evp/libcrypto-lib-digest.o crypto/evp/libcrypto-lib-e_aes.o crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o crypto/evp/libcrypto-lib-e_aria.o crypto/evp/libcrypto-lib-e_bf.o crypto/evp/libcrypto-lib-e_camellia.o crypto/evp/libcrypto-lib-e_cast.o crypto/evp/libcrypto-lib-e_chacha20_poly1305.o crypto/evp/libcrypto-lib-e_des.o crypto/evp/libcrypto-lib-e_des3.o crypto/evp/libcrypto-lib-e_idea.o crypto/evp/libcrypto-lib-e_null.o crypto/evp/libcrypto-lib-e_old.o crypto/evp/libcrypto-lib-e_rc2.o crypto/evp/libcrypto-lib-e_rc4.o crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o crypto/evp/libcrypto-lib-e_rc5.o crypto/evp/libcrypto-lib-e_seed.o crypto/evp/libcrypto-lib-e_sm4.o crypto/evp/libcrypto-lib-e_xcbc_d.o crypto/evp/libcrypto-lib-encode.o crypto/evp/libcrypto-lib-evp_cnf.o crypto/evp/libcrypto-lib-evp_enc.o crypto/evp/libcrypto-lib-evp_err.o crypto/evp/libcrypto-lib-evp_fetch.o crypto/evp/libcrypto-lib-evp_key.o crypto/evp/libcrypto-lib-evp_lib.o crypto/evp/libcrypto-lib-evp_pbe.o crypto/evp/libcrypto-lib-evp_pkey.o crypto/evp/libcrypto-lib-kdf_lib.o crypto/evp/libcrypto-lib-m_md2.o crypto/evp/libcrypto-lib-m_md4.o crypto/evp/libcrypto-lib-m_md5.o crypto/evp/libcrypto-lib-m_md5_sha1.o crypto/evp/libcrypto-lib-m_mdc2.o crypto/evp/libcrypto-lib-m_null.o crypto/evp/libcrypto-lib-m_ripemd.o crypto/evp/libcrypto-lib-m_sha1.o crypto/evp/libcrypto-lib-m_sha3.o crypto/evp/libcrypto-lib-m_sigver.o crypto/evp/libcrypto-lib-m_wp.o crypto/evp/libcrypto-lib-mac_lib.o crypto/evp/libcrypto-lib-names.o crypto/evp/libcrypto-lib-p5_crpt.o crypto/evp/libcrypto-lib-p5_crpt2.o crypto/evp/libcrypto-lib-p_dec.o crypto/evp/libcrypto-lib-p_enc.o crypto/evp/libcrypto-lib-p_lib.o crypto/evp/libcrypto-lib-p_open.o crypto/evp/libcrypto-lib-p_seal.o crypto/evp/libcrypto-lib-p_sign.o crypto/evp/libcrypto-lib-p_verify.o crypto/evp/libcrypto-lib-pbe_scrypt.o crypto/evp/libcrypto-lib-pkey_kdf.o crypto/evp/libcrypto-lib-pkey_mac.o crypto/evp/libcrypto-lib-pmeth_fn.o crypto/evp/libcrypto-lib-pmeth_gn.o crypto/evp/libcrypto-lib-pmeth_lib.o crypto/gmac/libcrypto-lib-gmac.o crypto/hmac/libcrypto-lib-hm_ameth.o crypto/hmac/libcrypto-lib-hm_meth.o crypto/hmac/libcrypto-lib-hmac.o crypto/idea/libcrypto-lib-i_cbc.o crypto/idea/libcrypto-lib-i_cfb64.o crypto/idea/libcrypto-lib-i_ecb.o crypto/idea/libcrypto-lib-i_ofb64.o crypto/idea/libcrypto-lib-i_skey.o crypto/kdf/libcrypto-lib-hkdf.o crypto/kdf/libcrypto-lib-kdf_err.o crypto/kdf/libcrypto-lib-kdf_util.o crypto/kdf/libcrypto-lib-pbkdf2.o crypto/kdf/libcrypto-lib-scrypt.o crypto/kdf/libcrypto-lib-sshkdf.o crypto/kdf/libcrypto-lib-sskdf.o crypto/kdf/libcrypto-lib-tls1_prf.o crypto/kmac/libcrypto-lib-kmac.o crypto/lhash/libcrypto-lib-lh_stats.o crypto/lhash/libcrypto-lib-lhash.o crypto/libcrypto-lib-bsearch.o crypto/libcrypto-lib-context.o crypto/libcrypto-lib-core_fetch.o crypto/libcrypto-lib-core_namemap.o crypto/libcrypto-lib-cpt_err.o crypto/libcrypto-lib-cryptlib.o crypto/libcrypto-lib-ctype.o crypto/libcrypto-lib-cversion.o crypto/libcrypto-lib-ebcdic.o crypto/libcrypto-lib-ex_data.o crypto/libcrypto-lib-getenv.o crypto/libcrypto-lib-info.o crypto/libcrypto-lib-init.o crypto/libcrypto-lib-initthread.o crypto/libcrypto-lib-mem.o crypto/libcrypto-lib-mem_clr.o crypto/libcrypto-lib-mem_dbg.o crypto/libcrypto-lib-mem_sec.o crypto/libcrypto-lib-o_dir.o crypto/libcrypto-lib-o_fips.o crypto/libcrypto-lib-o_fopen.o crypto/libcrypto-lib-o_init.o crypto/libcrypto-lib-o_str.o crypto/libcrypto-lib-o_time.o crypto/libcrypto-lib-params.o crypto/libcrypto-lib-provider.o crypto/libcrypto-lib-provider_conf.o crypto/libcrypto-lib-provider_core.o crypto/libcrypto-lib-provider_predefined.o crypto/libcrypto-lib-sparse_array.o crypto/libcrypto-lib-threads_none.o crypto/libcrypto-lib-threads_pthread.o crypto/libcrypto-lib-threads_win.o crypto/libcrypto-lib-trace.o crypto/libcrypto-lib-uid.o crypto/md4/libcrypto-lib-md4_dgst.o crypto/md4/libcrypto-lib-md4_one.o crypto/md5/libcrypto-lib-md5-x86_64.o crypto/md5/libcrypto-lib-md5_dgst.o crypto/md5/libcrypto-lib-md5_one.o crypto/md5/libcrypto-lib-md5_sha1.o crypto/mdc2/libcrypto-lib-mdc2_one.o crypto/mdc2/libcrypto-lib-mdc2dgst.o crypto/modes/libcrypto-lib-aesni-gcm-x86_64.o crypto/modes/libcrypto-lib-cbc128.o crypto/modes/libcrypto-lib-ccm128.o crypto/modes/libcrypto-lib-cfb128.o crypto/modes/libcrypto-lib-ctr128.o crypto/modes/libcrypto-lib-cts128.o crypto/modes/libcrypto-lib-gcm128.o crypto/modes/libcrypto-lib-ghash-x86_64.o crypto/modes/libcrypto-lib-ocb128.o crypto/modes/libcrypto-lib-ofb128.o crypto/modes/libcrypto-lib-siv128.o crypto/modes/libcrypto-lib-wrap128.o crypto/modes/libcrypto-lib-xts128.o crypto/objects/libcrypto-lib-o_names.o crypto/objects/libcrypto-lib-obj_dat.o crypto/objects/libcrypto-lib-obj_err.o crypto/objects/libcrypto-lib-obj_lib.o crypto/objects/libcrypto-lib-obj_xref.o crypto/ocsp/libcrypto-lib-ocsp_asn.o crypto/ocsp/libcrypto-lib-ocsp_cl.o crypto/ocsp/libcrypto-lib-ocsp_err.o crypto/ocsp/libcrypto-lib-ocsp_ext.o crypto/ocsp/libcrypto-lib-ocsp_ht.o crypto/ocsp/libcrypto-lib-ocsp_lib.o crypto/ocsp/libcrypto-lib-ocsp_prn.o crypto/ocsp/libcrypto-lib-ocsp_srv.o crypto/ocsp/libcrypto-lib-ocsp_vfy.o crypto/ocsp/libcrypto-lib-v3_ocsp.o crypto/pem/libcrypto-lib-pem_all.o crypto/pem/libcrypto-lib-pem_err.o crypto/pem/libcrypto-lib-pem_info.o crypto/pem/libcrypto-lib-pem_lib.o crypto/pem/libcrypto-lib-pem_oth.o crypto/pem/libcrypto-lib-pem_pk8.o crypto/pem/libcrypto-lib-pem_pkey.o crypto/pem/libcrypto-lib-pem_sign.o crypto/pem/libcrypto-lib-pem_x509.o crypto/pem/libcrypto-lib-pem_xaux.o crypto/pem/libcrypto-lib-pvkfmt.o crypto/pkcs12/libcrypto-lib-p12_add.o crypto/pkcs12/libcrypto-lib-p12_asn.o crypto/pkcs12/libcrypto-lib-p12_attr.o crypto/pkcs12/libcrypto-lib-p12_crpt.o crypto/pkcs12/libcrypto-lib-p12_crt.o crypto/pkcs12/libcrypto-lib-p12_decr.o crypto/pkcs12/libcrypto-lib-p12_init.o crypto/pkcs12/libcrypto-lib-p12_key.o crypto/pkcs12/libcrypto-lib-p12_kiss.o crypto/pkcs12/libcrypto-lib-p12_mutl.o crypto/pkcs12/libcrypto-lib-p12_npas.o crypto/pkcs12/libcrypto-lib-p12_p8d.o crypto/pkcs12/libcrypto-lib-p12_p8e.o crypto/pkcs12/libcrypto-lib-p12_sbag.o crypto/pkcs12/libcrypto-lib-p12_utl.o crypto/pkcs12/libcrypto-lib-pk12err.o crypto/pkcs7/libcrypto-lib-bio_pk7.o crypto/pkcs7/libcrypto-lib-pk7_asn1.o crypto/pkcs7/libcrypto-lib-pk7_attr.o crypto/pkcs7/libcrypto-lib-pk7_doit.o crypto/pkcs7/libcrypto-lib-pk7_lib.o crypto/pkcs7/libcrypto-lib-pk7_mime.o crypto/pkcs7/libcrypto-lib-pk7_smime.o crypto/pkcs7/libcrypto-lib-pkcs7err.o crypto/poly1305/libcrypto-lib-poly1305-x86_64.o crypto/poly1305/libcrypto-lib-poly1305.o crypto/poly1305/libcrypto-lib-poly1305_ameth.o crypto/poly1305/libcrypto-lib-poly1305_meth.o crypto/property/libcrypto-lib-defn_cache.o crypto/property/libcrypto-lib-property.o crypto/property/libcrypto-lib-property_err.o crypto/property/libcrypto-lib-property_parse.o crypto/property/libcrypto-lib-property_string.o crypto/rand/libcrypto-lib-drbg_ctr.o crypto/rand/libcrypto-lib-drbg_hash.o crypto/rand/libcrypto-lib-drbg_hmac.o crypto/rand/libcrypto-lib-drbg_lib.o crypto/rand/libcrypto-lib-rand_crng_test.o crypto/rand/libcrypto-lib-rand_egd.o crypto/rand/libcrypto-lib-rand_err.o crypto/rand/libcrypto-lib-rand_lib.o crypto/rand/libcrypto-lib-rand_unix.o crypto/rand/libcrypto-lib-rand_vms.o crypto/rand/libcrypto-lib-rand_vxworks.o crypto/rand/libcrypto-lib-rand_win.o crypto/rand/libcrypto-lib-randfile.o crypto/rc2/libcrypto-lib-rc2_cbc.o crypto/rc2/libcrypto-lib-rc2_ecb.o crypto/rc2/libcrypto-lib-rc2_skey.o crypto/rc2/libcrypto-lib-rc2cfb64.o crypto/rc2/libcrypto-lib-rc2ofb64.o crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o crypto/rc4/libcrypto-lib-rc4-x86_64.o crypto/ripemd/libcrypto-lib-rmd_dgst.o crypto/ripemd/libcrypto-lib-rmd_one.o crypto/rsa/libcrypto-lib-rsa_ameth.o crypto/rsa/libcrypto-lib-rsa_asn1.o crypto/rsa/libcrypto-lib-rsa_chk.o crypto/rsa/libcrypto-lib-rsa_crpt.o crypto/rsa/libcrypto-lib-rsa_depr.o crypto/rsa/libcrypto-lib-rsa_err.o crypto/rsa/libcrypto-lib-rsa_gen.o crypto/rsa/libcrypto-lib-rsa_lib.o crypto/rsa/libcrypto-lib-rsa_meth.o crypto/rsa/libcrypto-lib-rsa_mp.o crypto/rsa/libcrypto-lib-rsa_none.o crypto/rsa/libcrypto-lib-rsa_oaep.o crypto/rsa/libcrypto-lib-rsa_ossl.o crypto/rsa/libcrypto-lib-rsa_pk1.o crypto/rsa/libcrypto-lib-rsa_pmeth.o crypto/rsa/libcrypto-lib-rsa_prn.o crypto/rsa/libcrypto-lib-rsa_pss.o crypto/rsa/libcrypto-lib-rsa_saos.o crypto/rsa/libcrypto-lib-rsa_sign.o crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o crypto/rsa/libcrypto-lib-rsa_ssl.o crypto/rsa/libcrypto-lib-rsa_x931.o crypto/rsa/libcrypto-lib-rsa_x931g.o crypto/seed/libcrypto-lib-seed.o crypto/seed/libcrypto-lib-seed_cbc.o crypto/seed/libcrypto-lib-seed_cfb.o crypto/seed/libcrypto-lib-seed_ecb.o crypto/seed/libcrypto-lib-seed_ofb.o crypto/sha/libcrypto-lib-keccak1600-x86_64.o crypto/sha/libcrypto-lib-sha1-mb-x86_64.o crypto/sha/libcrypto-lib-sha1-x86_64.o crypto/sha/libcrypto-lib-sha1_one.o crypto/sha/libcrypto-lib-sha1dgst.o crypto/sha/libcrypto-lib-sha256-mb-x86_64.o crypto/sha/libcrypto-lib-sha256-x86_64.o crypto/sha/libcrypto-lib-sha256.o crypto/sha/libcrypto-lib-sha3.o crypto/sha/libcrypto-lib-sha512-x86_64.o crypto/sha/libcrypto-lib-sha512.o crypto/siphash/libcrypto-lib-siphash.o crypto/siphash/libcrypto-lib-siphash_ameth.o crypto/siphash/libcrypto-lib-siphash_meth.o crypto/sm2/libcrypto-lib-sm2_crypt.o crypto/sm2/libcrypto-lib-sm2_err.o crypto/sm2/libcrypto-lib-sm2_pmeth.o crypto/sm2/libcrypto-lib-sm2_sign.o crypto/sm3/libcrypto-lib-m_sm3.o crypto/sm3/libcrypto-lib-sm3.o crypto/sm4/libcrypto-lib-sm4.o crypto/srp/libcrypto-lib-srp_lib.o crypto/srp/libcrypto-lib-srp_vfy.o crypto/stack/libcrypto-lib-stack.o crypto/store/libcrypto-lib-loader_file.o crypto/store/libcrypto-lib-store_err.o crypto/store/libcrypto-lib-store_init.o crypto/store/libcrypto-lib-store_lib.o crypto/store/libcrypto-lib-store_register.o crypto/store/libcrypto-lib-store_strings.o crypto/ts/libcrypto-lib-ts_asn1.o crypto/ts/libcrypto-lib-ts_conf.o crypto/ts/libcrypto-lib-ts_err.o crypto/ts/libcrypto-lib-ts_lib.o crypto/ts/libcrypto-lib-ts_req_print.o crypto/ts/libcrypto-lib-ts_req_utils.o crypto/ts/libcrypto-lib-ts_rsp_print.o crypto/ts/libcrypto-lib-ts_rsp_sign.o crypto/ts/libcrypto-lib-ts_rsp_utils.o crypto/ts/libcrypto-lib-ts_rsp_verify.o crypto/ts/libcrypto-lib-ts_verify_ctx.o crypto/txt_db/libcrypto-lib-txt_db.o crypto/ui/libcrypto-lib-ui_err.o crypto/ui/libcrypto-lib-ui_lib.o crypto/ui/libcrypto-lib-ui_null.o crypto/ui/libcrypto-lib-ui_openssl.o crypto/ui/libcrypto-lib-ui_util.o crypto/whrlpool/libcrypto-lib-wp-x86_64.o crypto/whrlpool/libcrypto-lib-wp_dgst.o crypto/x509/libcrypto-lib-by_dir.o crypto/x509/libcrypto-lib-by_file.o crypto/x509/libcrypto-lib-pcy_cache.o crypto/x509/libcrypto-lib-pcy_data.o crypto/x509/libcrypto-lib-pcy_lib.o crypto/x509/libcrypto-lib-pcy_map.o crypto/x509/libcrypto-lib-pcy_node.o crypto/x509/libcrypto-lib-pcy_tree.o crypto/x509/libcrypto-lib-t_crl.o crypto/x509/libcrypto-lib-t_req.o crypto/x509/libcrypto-lib-t_x509.o crypto/x509/libcrypto-lib-v3_addr.o crypto/x509/libcrypto-lib-v3_admis.o crypto/x509/libcrypto-lib-v3_akey.o crypto/x509/libcrypto-lib-v3_akeya.o crypto/x509/libcrypto-lib-v3_alt.o crypto/x509/libcrypto-lib-v3_asid.o crypto/x509/libcrypto-lib-v3_bcons.o crypto/x509/libcrypto-lib-v3_bitst.o crypto/x509/libcrypto-lib-v3_conf.o crypto/x509/libcrypto-lib-v3_cpols.o crypto/x509/libcrypto-lib-v3_crld.o crypto/x509/libcrypto-lib-v3_enum.o crypto/x509/libcrypto-lib-v3_extku.o crypto/x509/libcrypto-lib-v3_genn.o crypto/x509/libcrypto-lib-v3_ia5.o crypto/x509/libcrypto-lib-v3_info.o crypto/x509/libcrypto-lib-v3_int.o crypto/x509/libcrypto-lib-v3_lib.o crypto/x509/libcrypto-lib-v3_ncons.o crypto/x509/libcrypto-lib-v3_pci.o crypto/x509/libcrypto-lib-v3_pcia.o crypto/x509/libcrypto-lib-v3_pcons.o crypto/x509/libcrypto-lib-v3_pku.o crypto/x509/libcrypto-lib-v3_pmaps.o crypto/x509/libcrypto-lib-v3_prn.o crypto/x509/libcrypto-lib-v3_purp.o crypto/x509/libcrypto-lib-v3_skey.o crypto/x509/libcrypto-lib-v3_sxnet.o crypto/x509/libcrypto-lib-v3_tlsf.o crypto/x509/libcrypto-lib-v3_utl.o crypto/x509/libcrypto-lib-v3err.o crypto/x509/libcrypto-lib-x509_att.o crypto/x509/libcrypto-lib-x509_cmp.o crypto/x509/libcrypto-lib-x509_d2.o crypto/x509/libcrypto-lib-x509_def.o crypto/x509/libcrypto-lib-x509_err.o crypto/x509/libcrypto-lib-x509_ext.o crypto/x509/libcrypto-lib-x509_lu.o crypto/x509/libcrypto-lib-x509_meth.o crypto/x509/libcrypto-lib-x509_obj.o crypto/x509/libcrypto-lib-x509_r2x.o crypto/x509/libcrypto-lib-x509_req.o crypto/x509/libcrypto-lib-x509_set.o crypto/x509/libcrypto-lib-x509_trs.o crypto/x509/libcrypto-lib-x509_txt.o crypto/x509/libcrypto-lib-x509_v3.o crypto/x509/libcrypto-lib-x509_vfy.o crypto/x509/libcrypto-lib-x509_vpm.o crypto/x509/libcrypto-lib-x509cset.o crypto/x509/libcrypto-lib-x509name.o crypto/x509/libcrypto-lib-x509rset.o crypto/x509/libcrypto-lib-x509spki.o crypto/x509/libcrypto-lib-x509type.o crypto/x509/libcrypto-lib-x_all.o crypto/x509/libcrypto-lib-x_attrib.o crypto/x509/libcrypto-lib-x_crl.o crypto/x509/libcrypto-lib-x_exten.o crypto/x509/libcrypto-lib-x_name.o crypto/x509/libcrypto-lib-x_pubkey.o crypto/x509/libcrypto-lib-x_req.o crypto/x509/libcrypto-lib-x_x509.o crypto/x509/libcrypto-lib-x_x509a.o providers/common/ciphers/libcrypto-lib-aes.o providers/common/ciphers/libcrypto-lib-aes_basic.o providers/common/ciphers/libcrypto-lib-block.o providers/common/digests/libcrypto-lib-sha2_prov.o providers/common/digests/libcrypto-lib-sha3_prov.o providers/common/libcrypto-lib-provider_err.o providers/default/digests/libcrypto-lib-blake2_prov.o providers/default/digests/libcrypto-lib-blake2b_prov.o providers/default/digests/libcrypto-lib-blake2s_prov.o providers/default/digests/libcrypto-lib-md5_prov.o providers/default/digests/libcrypto-lib-md5_sha1_prov.o providers/default/digests/libcrypto-lib-null_prov.o providers/default/digests/libcrypto-lib-sm3_prov.o providers/default/libcrypto-lib-defltprov.o ar: creating libcrypto.a rm -f libcrypto.so && \ ln -s libcrypto.so.3 libcrypto.so clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -Wl,-znodelete -shared -Wl,-Bsymbolic -Wl,-soname=libssl.so.3 \ -o libssl.so.3 -Wl,--version-script=libssl.ld ssl/libssl-shlib-bio_ssl.o ssl/libssl-shlib-d1_lib.o ssl/libssl-shlib-d1_msg.o ssl/libssl-shlib-d1_srtp.o ssl/libssl-shlib-methods.o ssl/libssl-shlib-packet.o ssl/libssl-shlib-pqueue.o ssl/libssl-shlib-s3_cbc.o ssl/libssl-shlib-s3_enc.o ssl/libssl-shlib-s3_lib.o ssl/libssl-shlib-s3_msg.o ssl/libssl-shlib-ssl_asn1.o ssl/libssl-shlib-ssl_cert.o ssl/libssl-shlib-ssl_ciph.o ssl/libssl-shlib-ssl_conf.o ssl/libssl-shlib-ssl_err.o ssl/libssl-shlib-ssl_init.o ssl/libssl-shlib-ssl_lib.o ssl/libssl-shlib-ssl_mcnf.o ssl/libssl-shlib-ssl_rsa.o ssl/libssl-shlib-ssl_sess.o ssl/libssl-shlib-ssl_stat.o ssl/libssl-shlib-ssl_txt.o ssl/libssl-shlib-ssl_utst.o ssl/libssl-shlib-t1_enc.o ssl/libssl-shlib-t1_lib.o ssl/libssl-shlib-t1_trce.o ssl/libssl-shlib-tls13_enc.o ssl/libssl-shlib-tls_srp.o ssl/record/libssl-shlib-dtls1_bitmap.o ssl/record/libssl-shlib-rec_layer_d1.o ssl/record/libssl-shlib-rec_layer_s3.o ssl/record/libssl-shlib-ssl3_buffer.o ssl/record/libssl-shlib-ssl3_record.o ssl/record/libssl-shlib-ssl3_record_tls13.o ssl/statem/libssl-shlib-extensions.o ssl/statem/libssl-shlib-extensions_clnt.o ssl/statem/libssl-shlib-extensions_cust.o ssl/statem/libssl-shlib-extensions_srvr.o ssl/statem/libssl-shlib-statem.o ssl/statem/libssl-shlib-statem_clnt.o ssl/statem/libssl-shlib-statem_dtls.o ssl/statem/libssl-shlib-statem_lib.o ssl/statem/libssl-shlib-statem_srvr.o \ -lcrypto -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o engines/afalg.so -Wl,--version-script=engines/afalg.ld engines/afalg-dso-e_afalg.o \ -lcrypto -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o engines/capi.so -Wl,--version-script=engines/capi.ld engines/capi-dso-e_capi.o \ -lcrypto -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o engines/dasync.so -Wl,--version-script=engines/dasync.ld engines/dasync-dso-e_dasync.o \ -lcrypto -ldl -pthread ranlib libcrypto.a || echo Never mind. clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o engines/ossltest.so -Wl,--version-script=engines/ossltest.ld engines/ossltest-dso-e_ossltest.o \ -lcrypto -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o engines/padlock.so -Wl,--version-script=engines/padlock.ld engines/padlock-dso-e_padlock-x86_64.o engines/padlock-dso-e_padlock.o \ -lcrypto -ldl -pthread clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. -z defs -Wl,-znodelete -shared -Wl,-Bsymbolic \ -o providers/legacy.so -Wl,--version-script=providers/legacy.ld providers/legacy/digests/legacy-dso-md4_prov.o providers/legacy/digests/legacy-dso-mdc2_prov.o providers/legacy/digests/legacy-dso-ripemd_prov.o providers/legacy/digests/legacy-dso-wp_prov.o providers/legacy/legacy-dso-legacyprov.o \ -lcrypto -ldl -pthread rm -f fuzz/asn1parse-test ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o fuzz/asn1parse-test fuzz/asn1parse-test-bin-asn1parse.o fuzz/asn1parse-test-bin-test-corpus.o \ -lcrypto -ldl -pthread rm -f fuzz/bignum-test ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o fuzz/bignum-test fuzz/bignum-test-bin-bignum.o fuzz/bignum-test-bin-test-corpus.o \ -lcrypto -ldl -pthread rm -f fuzz/bndiv-test ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o fuzz/bndiv-test fuzz/bndiv-test-bin-bndiv.o fuzz/bndiv-test-bin-test-corpus.o \ -lcrypto -ldl -pthread rm -f fuzz/cms-test ${LDCMD:-clang} -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -L. \ -o fuzz/cms-test fuzz/cms-test-bin-cms.o fuzz/cms-test-bin-test-corpus.o \ -lcrypto -ldl -pthread ./libcrypto.so: undefined reference to `aesni_cbc_encrypt' ./libcrypto.so: undefined reference to `aesni_set_encrypt_key' ./libcrypto.so: undefined reference to `aesni_set_decrypt_key' clang: error: linker command failed with exit code 1 (use -v to see invocation) ./libcrypto.so: undefined reference to `aesni_cbc_encrypt' Makefile:14274: recipe for target 'fuzz/asn1parse-test' failed make[1]: *** [fuzz/asn1parse-test] Error 1 make[1]: *** Waiting for unfinished jobs.... ./libcrypto.so: undefined reference to `aesni_set_encrypt_key' ./libcrypto.so: undefined reference to `aesni_set_decrypt_key' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:14295: recipe for target 'fuzz/bignum-test' failed make[1]: *** [fuzz/bignum-test] Error 1 ./libcrypto.so: undefined reference to `aesni_cbc_encrypt' ./libcrypto.so: undefined reference to `aesni_set_encrypt_key' ./libcrypto.so: undefined reference to `aesni_set_decrypt_key' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:14316: recipe for target 'fuzz/bndiv-test' failed make[1]: *** [fuzz/bndiv-test] Error 1 ./libcrypto.so: undefined reference to `aesni_cbc_encrypt' ./libcrypto.so: undefined reference to `aesni_set_encrypt_key' ./libcrypto.so: undefined reference to `aesni_set_decrypt_key' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:14358: recipe for target 'fuzz/cms-test' failed make[1]: *** [fuzz/cms-test] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/386' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From matt at openssl.org Tue Jun 18 13:30:35 2019 From: matt at openssl.org (Matt Caswell) Date: Tue, 18 Jun 2019 13:30:35 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560864635.572526.8199.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via d8bb277f76612ec9a659ef7b3df75a99d912662b (commit) via 860fed97aafd30948a05ae8e90ec3fd43324866a (commit) via 2813852d7111ad0a49a963bdc49d944d453e52e7 (commit) from 2459dc1bd09468c83f1767b6b6a1ddc45ba60d36 (commit) - Log ----------------------------------------------------------------- commit d8bb277f76612ec9a659ef7b3df75a99d912662b Author: Matt Caswell Date: Tue Jun 18 11:45:26 2019 +0100 Following the previous 2 commits also move ecpointformats out of session The previous 2 commits moved supported groups and ciphers out of the session object to avoid race conditions. We now also move ecpointformats for consistency. There does not seem to be a race condition with access to this data since it is only ever set in a non-resumption handshake. However, there is no reason for it to be in the session. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9176) commit 860fed97aafd30948a05ae8e90ec3fd43324866a Author: Matt Caswell Date: Fri Jun 14 14:06:55 2019 +0100 Fix a race condition in ciphers handling Similarly to the previous commit we were storing the peer offered list of ciphers in the session. In practice there is no need for this information to be avilable from one resumption to the next since this list is specific to a particular handshake. Since the session object is supposed to be immutable we should not be updating it once we have decided to resume. The solution is to remove the session list out of the session object. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9176) commit 2813852d7111ad0a49a963bdc49d944d453e52e7 Author: Matt Caswell Date: Fri Jun 14 12:46:13 2019 +0100 Fix a race condition in supported groups handling In TLSv1.3 the supported groups can be negotiated each time a handshake occurs, regardless of whether we are resuming or not. We should not store the supported groups information in the session because session objects can be shared between multiple threads and we can end up with race conditions. For most users this won't be seen because, by default, we use stateless tickets in TLSv1.3 which don't get shared. However if you use SSL_OP_NO_TICKET (to get stateful tickets in TLSv1.3) then this can happen. The answer is to move the supported the supported group information into the SSL object instead. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9176) ----------------------------------------------------------------------- Summary of changes: ssl/s3_lib.c | 11 +++++------ ssl/ssl_lib.c | 12 +++++++----- ssl/ssl_locl.h | 23 +++++++++++++---------- ssl/ssl_sess.c | 37 ------------------------------------- ssl/statem/extensions.c | 10 +++++----- ssl/statem/extensions_clnt.c | 12 ++++++------ ssl/statem/extensions_srvr.c | 16 ++++++++-------- ssl/statem/statem_srvr.c | 16 ++++++++-------- ssl/t1_lib.c | 6 +++--- 9 files changed, 55 insertions(+), 88 deletions(-) diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 99ae481..d7dbf99 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3601,8 +3601,8 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) if (!s->session) return 0; - clist = s->session->ext.supportedgroups; - clistlen = s->session->ext.supportedgroups_len; + clist = s->ext.peer_supportedgroups; + clistlen = s->ext.peer_supportedgroups_len; if (parg) { size_t i; int *cptr = parg; @@ -3716,13 +3716,12 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) #ifndef OPENSSL_NO_EC case SSL_CTRL_GET_EC_POINT_FORMATS: { - SSL_SESSION *sess = s->session; const unsigned char **pformat = parg; - if (sess == NULL || sess->ext.ecpointformats == NULL) + if (s->ext.peer_ecpointformats == NULL) return 0; - *pformat = sess->ext.ecpointformats; - return (int)sess->ext.ecpointformats_len; + *pformat = s->ext.peer_ecpointformats; + return (int)s->ext.peer_ecpointformats_len; } #endif diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index f559bc1..40ab874 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1160,6 +1160,7 @@ void SSL_free(SSL *s) sk_SSL_CIPHER_free(s->cipher_list); sk_SSL_CIPHER_free(s->cipher_list_by_id); sk_SSL_CIPHER_free(s->tls13_ciphersuites); + sk_SSL_CIPHER_free(s->peer_ciphers); /* Make the next call work :-) */ if (s->session != NULL) { @@ -1178,7 +1179,9 @@ void SSL_free(SSL *s) SSL_CTX_free(s->session_ctx); #ifndef OPENSSL_NO_EC OPENSSL_free(s->ext.ecpointformats); + OPENSSL_free(s->ext.peer_ecpointformats); OPENSSL_free(s->ext.supportedgroups); + OPENSSL_free(s->ext.peer_supportedgroups); #endif /* OPENSSL_NO_EC */ sk_X509_EXTENSION_pop_free(s->ext.ocsp.exts, X509_EXTENSION_free); #ifndef OPENSSL_NO_OCSP @@ -2437,9 +2440,9 @@ STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s) STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s) { - if ((s == NULL) || (s->session == NULL) || !s->server) + if ((s == NULL) || !s->server) return NULL; - return s->session->ciphers; + return s->peer_ciphers; } STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s) @@ -2578,13 +2581,12 @@ char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size) int i; if (!s->server - || s->session == NULL - || s->session->ciphers == NULL + || s->peer_ciphers == NULL || size < 2) return NULL; p = buf; - clntsk = s->session->ciphers; + clntsk = s->peer_ciphers; srvrsk = SSL_get_ciphers(s); if (clntsk == NULL || srvrsk == NULL) return NULL; diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 0cf3893..fa0f6d0 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -552,7 +552,6 @@ struct ssl_session_st { const SSL_CIPHER *cipher; unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used to * load the 'cipher' structure */ - STACK_OF(SSL_CIPHER) *ciphers; /* ciphers offered by the client */ CRYPTO_EX_DATA ex_data; /* application specific data */ /* * These are used to make removal of session-ids more efficient and to @@ -562,13 +561,7 @@ struct ssl_session_st { struct { char *hostname; -# ifndef OPENSSL_NO_EC - size_t ecpointformats_len; - unsigned char *ecpointformats; /* peer's list */ -# endif /* OPENSSL_NO_EC */ - size_t supportedgroups_len; - uint16_t *supportedgroups; /* peer's list */ - /* RFC4507 info */ + /* RFC4507 info */ unsigned char *tick; /* Session ticket */ size_t ticklen; /* Session ticket length */ /* Session lifetime hint in seconds */ @@ -1137,6 +1130,7 @@ struct ssl_st { /* Per connection DANE state */ SSL_DANE dane; /* crypto */ + STACK_OF(SSL_CIPHER) *peer_ciphers; STACK_OF(SSL_CIPHER) *cipher_list; STACK_OF(SSL_CIPHER) *cipher_list_by_id; /* TLSv1.3 specific ciphersuites */ @@ -1300,10 +1294,19 @@ struct ssl_st { size_t ecpointformats_len; /* our list */ unsigned char *ecpointformats; + + size_t peer_ecpointformats_len; + /* peer's list */ + unsigned char *peer_ecpointformats; # endif /* OPENSSL_NO_EC */ size_t supportedgroups_len; /* our list */ uint16_t *supportedgroups; + + size_t peer_supportedgroups_len; + /* peer's list */ + uint16_t *peer_supportedgroups; + /* TLS Session Ticket extension override */ TLS_SESSION_TICKET_EXT *session_ticket; /* TLS Session Ticket extension callback */ @@ -2240,8 +2243,8 @@ static ossl_inline int ssl_has_cert(const SSL *s, int idx) static ossl_inline void tls1_get_peer_groups(SSL *s, const uint16_t **pgroups, size_t *pgroupslen) { - *pgroups = s->session->ext.supportedgroups; - *pgroupslen = s->session->ext.supportedgroups_len; + *pgroups = s->ext.peer_supportedgroups; + *pgroupslen = s->ext.peer_supportedgroups_len; } # ifndef OPENSSL_UNIT_TEST diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 5ad2792..c880ab4 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -121,12 +121,7 @@ SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket) dest->psk_identity_hint = NULL; dest->psk_identity = NULL; #endif - dest->ciphers = NULL; dest->ext.hostname = NULL; -#ifndef OPENSSL_NO_EC - dest->ext.ecpointformats = NULL; - dest->ext.supportedgroups = NULL; -#endif dest->ext.tick = NULL; dest->ext.alpn_selected = NULL; #ifndef OPENSSL_NO_SRP @@ -176,12 +171,6 @@ SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket) } #endif - if (src->ciphers != NULL) { - dest->ciphers = sk_SSL_CIPHER_dup(src->ciphers); - if (dest->ciphers == NULL) - goto err; - } - if (!CRYPTO_dup_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, &dest->ex_data, &src->ex_data)) { goto err; @@ -193,23 +182,6 @@ SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket) goto err; } } -#ifndef OPENSSL_NO_EC - if (src->ext.ecpointformats) { - dest->ext.ecpointformats = - OPENSSL_memdup(src->ext.ecpointformats, - src->ext.ecpointformats_len); - if (dest->ext.ecpointformats == NULL) - goto err; - } - if (src->ext.supportedgroups) { - dest->ext.supportedgroups = - OPENSSL_memdup(src->ext.supportedgroups, - src->ext.supportedgroups_len - * sizeof(*src->ext.supportedgroups)); - if (dest->ext.supportedgroups == NULL) - goto err; - } -#endif if (ticket != 0 && src->ext.tick != NULL) { dest->ext.tick = @@ -790,17 +762,8 @@ void SSL_SESSION_free(SSL_SESSION *ss) OPENSSL_cleanse(ss->session_id, sizeof(ss->session_id)); X509_free(ss->peer); sk_X509_pop_free(ss->peer_chain, X509_free); - sk_SSL_CIPHER_free(ss->ciphers); OPENSSL_free(ss->ext.hostname); OPENSSL_free(ss->ext.tick); -#ifndef OPENSSL_NO_EC - OPENSSL_free(ss->ext.ecpointformats); - ss->ext.ecpointformats = NULL; - ss->ext.ecpointformats_len = 0; - OPENSSL_free(ss->ext.supportedgroups); - ss->ext.supportedgroups = NULL; - ss->ext.supportedgroups_len = 0; -#endif /* OPENSSL_NO_EC */ #ifndef OPENSSL_NO_PSK OPENSSL_free(ss->psk_identity_hint); OPENSSL_free(ss->psk_identity); diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index b27608c..7aa4750 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1040,18 +1040,18 @@ static int final_ec_pt_formats(SSL *s, unsigned int context, int sent) */ if (s->ext.ecpointformats != NULL && s->ext.ecpointformats_len > 0 - && s->session->ext.ecpointformats != NULL - && s->session->ext.ecpointformats_len > 0 + && s->ext.peer_ecpointformats != NULL + && s->ext.peer_ecpointformats_len > 0 && ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA))) { /* we are using an ECC cipher */ size_t i; - unsigned char *list = s->session->ext.ecpointformats; + unsigned char *list = s->ext.peer_ecpointformats; - for (i = 0; i < s->session->ext.ecpointformats_len; i++) { + for (i = 0; i < s->ext.peer_ecpointformats_len; i++) { if (*list++ == TLSEXT_ECPOINTFORMAT_uncompressed) break; } - if (i == s->session->ext.ecpointformats_len) { + if (i == s->ext.peer_ecpointformats_len) { SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_FINAL_EC_PT_FORMATS, SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST); return 0; diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index 3c7d844..0ebaeea 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -1371,19 +1371,19 @@ int tls_parse_stoc_ec_pt_formats(SSL *s, PACKET *pkt, unsigned int context, return 0; } - s->session->ext.ecpointformats_len = 0; - OPENSSL_free(s->session->ext.ecpointformats); - s->session->ext.ecpointformats = OPENSSL_malloc(ecpointformats_len); - if (s->session->ext.ecpointformats == NULL) { + s->ext.peer_ecpointformats_len = 0; + OPENSSL_free(s->ext.peer_ecpointformats); + s->ext.peer_ecpointformats = OPENSSL_malloc(ecpointformats_len); + if (s->ext.peer_ecpointformats == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); return 0; } - s->session->ext.ecpointformats_len = ecpointformats_len; + s->ext.peer_ecpointformats_len = ecpointformats_len; if (!PACKET_copy_bytes(&ecptformatlist, - s->session->ext.ecpointformats, + s->ext.peer_ecpointformats, ecpointformats_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 6301b4e..ff4287c 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -254,8 +254,8 @@ int tls_parse_ctos_ec_pt_formats(SSL *s, PACKET *pkt, unsigned int context, if (!s->hit) { if (!PACKET_memdup(&ec_point_format_list, - &s->session->ext.ecpointformats, - &s->session->ext.ecpointformats_len)) { + &s->ext.peer_ecpointformats, + &s->ext.peer_ecpointformats_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS, ERR_R_INTERNAL_ERROR); return 0; @@ -962,12 +962,12 @@ int tls_parse_ctos_supported_groups(SSL *s, PACKET *pkt, unsigned int context, } if (!s->hit || SSL_IS_TLS13(s)) { - OPENSSL_free(s->session->ext.supportedgroups); - s->session->ext.supportedgroups = NULL; - s->session->ext.supportedgroups_len = 0; + OPENSSL_free(s->ext.peer_supportedgroups); + s->ext.peer_supportedgroups = NULL; + s->ext.peer_supportedgroups_len = 0; if (!tls1_save_u16(&supported_groups_list, - &s->session->ext.supportedgroups, - &s->session->ext.supportedgroups_len)) { + &s->ext.peer_supportedgroups, + &s->ext.peer_supportedgroups_len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS, ERR_R_INTERNAL_ERROR); @@ -1376,7 +1376,7 @@ EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL *s, WPACKET *pkt, unsigned long alg_k = s->s3->tmp.new_cipher->algorithm_mkey; unsigned long alg_a = s->s3->tmp.new_cipher->algorithm_auth; int using_ecc = ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA)) - && (s->session->ext.ecpointformats != NULL); + && (s->ext.peer_ecpointformats != NULL); const unsigned char *plist; size_t plistlen; diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 04a2332..e7e95c7 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -1921,14 +1921,14 @@ static int tls_early_post_process_client_hello(SSL *s) && master_key_length > 0) { s->session->master_key_length = master_key_length; s->hit = 1; - s->session->ciphers = ciphers; + s->peer_ciphers = ciphers; s->session->verify_result = X509_V_OK; ciphers = NULL; /* check if some cipher was preferred by call back */ if (pref_cipher == NULL) - pref_cipher = ssl3_choose_cipher(s, s->session->ciphers, + pref_cipher = ssl3_choose_cipher(s, s->peer_ciphers, SSL_get_ciphers(s)); if (pref_cipher == NULL) { SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, @@ -1939,9 +1939,9 @@ static int tls_early_post_process_client_hello(SSL *s) s->session->cipher = pref_cipher; sk_SSL_CIPHER_free(s->cipher_list); - s->cipher_list = sk_SSL_CIPHER_dup(s->session->ciphers); + s->cipher_list = sk_SSL_CIPHER_dup(s->peer_ciphers); sk_SSL_CIPHER_free(s->cipher_list_by_id); - s->cipher_list_by_id = sk_SSL_CIPHER_dup(s->session->ciphers); + s->cipher_list_by_id = sk_SSL_CIPHER_dup(s->peer_ciphers); } } @@ -2041,12 +2041,12 @@ static int tls_early_post_process_client_hello(SSL *s) #endif /* - * Given s->session->ciphers and SSL_get_ciphers, we must pick a cipher + * Given s->peer_ciphers and SSL_get_ciphers, we must pick a cipher */ if (!s->hit || SSL_IS_TLS13(s)) { - sk_SSL_CIPHER_free(s->session->ciphers); - s->session->ciphers = ciphers; + sk_SSL_CIPHER_free(s->peer_ciphers); + s->peer_ciphers = ciphers; if (ciphers == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO, @@ -2253,7 +2253,7 @@ WORK_STATE tls_post_process_client_hello(SSL *s, WORK_STATE wst) /* In TLSv1.3 we selected the ciphersuite before resumption */ if (!SSL_IS_TLS13(s)) { cipher = - ssl3_choose_cipher(s, s->session->ciphers, SSL_get_ciphers(s)); + ssl3_choose_cipher(s, s->peer_ciphers, SSL_get_ciphers(s)); if (cipher == NULL) { SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 68cb237..2b1b0bd 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -465,11 +465,11 @@ static int tls1_check_pkey_comp(SSL *s, EVP_PKEY *pkey) * If point formats extension present check it, otherwise everything is * supported (see RFC4492). */ - if (s->session->ext.ecpointformats == NULL) + if (s->ext.peer_ecpointformats == NULL) return 1; - for (i = 0; i < s->session->ext.ecpointformats_len; i++) { - if (s->session->ext.ecpointformats[i] == comp_id) + for (i = 0; i < s->ext.peer_ecpointformats_len; i++) { + if (s->ext.peer_ecpointformats[i] == comp_id) return 1; } return 0; From openssl at openssl.org Tue Jun 18 14:08:07 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 14:08:07 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1560866887.649488.7465.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 222 wallclock secs ( 1.65 usr 0.34 sys + 216.83 cusr 18.68 csys = 237.50 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Tue Jun 18 14:28:49 2019 From: levitte at openssl.org (Richard Levitte) Date: Tue, 18 Jun 2019 14:28:49 +0000 Subject: [openssl] master update Message-ID: <1560868129.701966.18149.nullmailer@dev.openssl.org> The branch master has been updated via 2ce15a95dae9a933140731a53afdb84889588be8 (commit) from cd0fb43cbe2774220f2702b8289faec590a72d01 (commit) - Log ----------------------------------------------------------------- commit 2ce15a95dae9a933140731a53afdb84889588be8 Author: Richard Levitte Date: Tue Jun 18 16:04:12 2019 +0200 crypto/aes/build.info: Fix AES assembler specs Two mistakes were made: 1. AES_ASM for x86 was misplaced 2. sse2 isn't applicable for x86_64 code Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9177) ----------------------------------------------------------------------- Summary of changes: crypto/aes/build.info | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/crypto/aes/build.info b/crypto/aes/build.info index 706ca58..0ba1758 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -3,15 +3,14 @@ LIBS=../../libcrypto $AESASM=aes_core.c aes_cbc.c IF[{- !$disabled{asm} -}] $AESASM_x86=aes-586.s + $AESDEF_x86=AES_ASM $AESASM_x86_sse2=vpaes-x86.s aesni-x86.s - $AESDEF_x86_sse2=AES_ASM VPAES_ASM + $AESDEF_x86_sse2=VPAES_ASM $AESASM_x86_64=\ - aes-x86_64.s bsaes-x86_64.s \ + aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s \ aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s - $AESDEF_x86_64=AES_ASM BSAES_ASM - $AESASM_x86_64_sse2=vpaes-x86_64.s aesni-x86_64.s - $AESDEF_x86_64_sse2=VPAES_ASM + $AESDEF_x86_64=AES_ASM VPAES_ASM BSAES_ASM $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s $AESDEF_ia64=AES_ASM From levitte at openssl.org Tue Jun 18 14:30:25 2019 From: levitte at openssl.org (Richard Levitte) Date: Tue, 18 Jun 2019 14:30:25 +0000 Subject: [openssl] master update Message-ID: <1560868225.409044.19346.nullmailer@dev.openssl.org> The branch master has been updated via 7f02a0932c8c182bc2f6320748d81e86d650c1a6 (commit) from 2ce15a95dae9a933140731a53afdb84889588be8 (commit) - Log ----------------------------------------------------------------- commit 7f02a0932c8c182bc2f6320748d81e86d650c1a6 Author: Richard Levitte Date: Tue Jun 18 16:23:06 2019 +0200 crypto/modes/build.conf: Fix MODES asm mistakes The old rule in Configure was that if the asm source had a file name with 'ghash-' as part of the name, GHASH_ASM should be defined. Since none of the aarch64 asm files has such a name, that macro shouldn't have been defined. Fixes #9173 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9178) ----------------------------------------------------------------------- Summary of changes: crypto/modes/build.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/modes/build.info b/crypto/modes/build.info index 6024606..81525a9 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -25,7 +25,7 @@ IF[{- !$disabled{asm} -}] $MODESASM_armv4=ghash-armv4.S ghashv8-armx.S $MODESDEF_armv4=GHASH_ASM $MODESASM_aarch64=ghashv8-armx.S - $MODESDEF_aarch64=GHASH_ASM + $MODESDEF_aarch64= $MODESASM_parisc11=ghash-parisc.s $MODESDEF_parisc11=GHASH_ASM From openssl at openssl.org Tue Jun 18 14:56:50 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 14:56:50 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1560869810.079516.30104.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 2be8c56a39 Standardise the function naming conventions in initthread.c ff6da65e0d Document OPENSSL_thread_stop_ex() 52b18ce104 Add the function OPENSSL_thread_stop_ex() da747958c5 Tell the FIPS provider about thread stop events e41faf5784 Provide a version of ossl_init_thread_start that works in FIPS mode 72592b8664 Split thread intialisation and handling out of init.c 242f84d06a Convert thread stop handling into a publish/subscribe model d4c051cef3 Add the function openssl_ctx_get_concrete() 30478c9783 Configure: final cleanup of asm related things 3a561b06d9 Move padlock_asm_src file information to build.info files 8c0098a8de Move keccak1600_asm_src file information to build.info files 246b50605f Move poly1305_asm_src file information to build.info files bcb7afe18a Move chacha_asm_src file information to build.info files a9bb7e9270 Move modes_asm_src file information to build.info files 94707b0b68 Move cmll_asm_src file information to build.info files 681c7e905d Move wp_asm_src file information to build.info files 6fe56d8470 Move rc5_asm_src file information to build.info files 2ffea44322 Move rmd160_asm_src file information to build.info files 6b90902faf Move rc4_asm_src file information to build.info files e698cfe445 Move cast_asm_src file information to build.info files edc7851a2c Move sha1_asm_src file information to build.info files 792ea008af Move md5_asm_src file information to build.info files 053d0b2226 Move bf_asm_src file information to build.info files cd42b9e9c2 Move aes_asm_src file information to build.info files d67d04f378 Move des_asm_src file information to build.info files aa76ff26ce Move ec_asm_src file information to build.info files 6e1ba47219 Move cpuid_asm_src file information to build.info files d9dfeb940c Move bn_asm_src file information to build.info files e6f98ae404 Configure: add mechanism to specify asm target architecture 989b2ad786 Move uplink file information to build.info files b19fe714e9 Configure: add mechanism to specify uplink target architecture 0ee7b9fe7f Configure: allow conditions and variable values to have variable references 26de4ec68f Configure: AIX needs a specific DSO extension function 65dc5c3cc1 Fix no-ec with no-dh dbc6268f68 Allow TLSv1.3 in a no-ec build 8013a933da Replumbing: Adapt the default and legacy providers to use library context upcall bb751e1108 Replumbing: Adapt the FIPS module to use the library context upcall e7706e63e6 Replumbing: offer a core upcall to get the provider object's library context 55a9ca5cc5 crypto/ppccap.c: Fix FIPS build on PPC 1313e37ab9 Better document specific OSSL_PARAM symbols. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 236 wallclock secs ( 1.82 usr 0.38 sys + 226.72 cusr 20.25 csys = 249.17 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Tue Jun 18 15:01:24 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 15:01:24 +0000 Subject: Still Failing: openssl/openssl#25875 (master - 2ce15a9) In-Reply-To: Message-ID: <5d08fcc2ac40f_43fa5c961aa0441021@85aa5247-79cf-455a-a218-18bcfe0e7789.mail> Build Update for openssl/openssl ------------------------------------- Build: #25875 Status: Still Failing Duration: 17 mins and 9 secs Commit: 2ce15a9 (master) Author: Richard Levitte Message: crypto/aes/build.info: Fix AES assembler specs Two mistakes were made: 1. AES_ASM for x86 was misplaced 2. sse2 isn't applicable for x86_64 code Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9177) View the changeset: https://github.com/openssl/openssl/compare/cd0fb43cbe27...2ce15a95dae9 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547267032?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 Jun 18 15:13:14 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 15:13:14 +0000 Subject: Still Failing: openssl/openssl#25876 (master - 7f02a09) In-Reply-To: Message-ID: <5d08ff8a26c28_43fe2a0e2fdd4142168@cf7c0b0b-f821-4a04-a17a-aa53893bc7bc.mail> Build Update for openssl/openssl ------------------------------------- Build: #25876 Status: Still Failing Duration: 20 mins and 23 secs Commit: 7f02a09 (master) Author: Richard Levitte Message: crypto/modes/build.conf: Fix MODES asm mistakes The old rule in Configure was that if the asm source had a file name with 'ghash-' as part of the name, GHASH_ASM should be defined. Since none of the aarch64 asm files has such a name, that macro shouldn't have been defined. Fixes #9173 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9178) View the changeset: https://github.com/openssl/openssl/compare/2ce15a95dae9...7f02a0932c8c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547267777?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 Jun 18 21:22:23 2019 From: levitte at openssl.org (Richard Levitte) Date: Tue, 18 Jun 2019 21:22:23 +0000 Subject: [openssl] master update Message-ID: <1560892943.042625.1821.nullmailer@dev.openssl.org> The branch master has been updated via 8908d18cb1020f225170dd9090206842dbb6bbe6 (commit) from 7f02a0932c8c182bc2f6320748d81e86d650c1a6 (commit) - Log ----------------------------------------------------------------- commit 8908d18cb1020f225170dd9090206842dbb6bbe6 Author: Rich Salz Date: Tue Jun 18 12:06:17 2019 -0400 Change ERR_add_error_[v]data to append The "add error data" functions now append to the current error. Add a test for this. Cleanup some of the ERR_put functions. In the FIPS module, always append "(in the FIPS module)" to any errors. Reviewed-by: Bernd Edlinger Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9181) ----------------------------------------------------------------------- Summary of changes: crypto/err/err.c | 41 +++++++++++++++++++++++++---------------- doc/man3/ERR_put_error.pod | 1 + providers/fips/fipsprov.c | 2 ++ test/errtest.c | 13 +++++++++++++ 4 files changed, 41 insertions(+), 16 deletions(-) diff --git a/crypto/err/err.c b/crypto/err/err.c index 196f782..9eb477c 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -850,32 +850,41 @@ void ERR_add_error_data(int num, ...) void ERR_add_error_vdata(int num, va_list args) { - int i, n, s; - char *str, *p, *a; + int i, len, size; + char *str, *p, *arg; + ERR_STATE *es; + + /* Get the current error data; if an allocated string get it. */ + es = ERR_get_state(); + if (es == NULL) + return; + i = es->top; + p = es->err_data_flags[i] == (ERR_TXT_MALLOCED | ERR_TXT_STRING) + ? es->err_data[i] : ""; - s = 80; - if ((str = OPENSSL_malloc(s + 1)) == NULL) { + /* Start with initial (or empty) string and allocate a new buffer */ + size = 80 + strlen(p); + if ((str = OPENSSL_malloc(size + 1)) == NULL) { /* ERRerr(ERR_F_ERR_ADD_ERROR_VDATA, ERR_R_MALLOC_FAILURE); */ return; } - str[0] = '\0'; - - n = 0; - for (i = 0; i < num; i++) { - a = va_arg(args, char *); - if (a == NULL) - a = ""; - n += strlen(a); - if (n > s) { - s = n + 20; - p = OPENSSL_realloc(str, s + 1); + strcpy(str, p); + + for (len = 0; --num >= 0; ) { + arg = va_arg(args, char *); + if (arg == NULL) + arg = ""; + len += strlen(arg); + if (len > size) { + size = len + 20; + p = OPENSSL_realloc(str, size + 1); if (p == NULL) { OPENSSL_free(str); return; } str = p; } - OPENSSL_strlcat(str, a, (size_t)s + 1); + OPENSSL_strlcat(str, arg, (size_t)size + 1); } if (!err_set_error_data_int(str, ERR_TXT_MALLOCED | ERR_TXT_STRING)) OPENSSL_free(str); diff --git a/doc/man3/ERR_put_error.pod b/doc/man3/ERR_put_error.pod index abc9805..31a0e76 100644 --- a/doc/man3/ERR_put_error.pod +++ b/doc/man3/ERR_put_error.pod @@ -23,6 +23,7 @@ This function is usually called by a macro. ERR_add_error_data() associates the concatenation of its B string arguments with the error code added last. ERR_add_error_vdata() is similar except the argument is a B. +Multiple calls to these functions append to the current top of the error queue. L can be used to register error strings so that the application can a generate human-readable diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 9f9b428..a30ece8 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -326,11 +326,13 @@ void ERR_put_error(int lib, int func, int reason, const char *file, int line) * so we'll need to come up with something else for them. */ c_put_error(lib, func, reason, file, line); + ERR_add_error_data(1, "(in the FIPS module)"); } void ERR_add_error_data(int num, ...) { va_list args; + va_start(args, num); ERR_add_error_vdata(num, args); va_end(args); diff --git a/test/errtest.c b/test/errtest.c index 39017da..df222da 100644 --- a/test/errtest.c +++ b/test/errtest.c @@ -32,8 +32,21 @@ static int preserves_system_error(void) #endif } +/* Test that calls to ERR_add_error_[v]data append */ +static int vdata_appends(void) +{ + const char *data; + + CRYPTOerr(0, ERR_R_MALLOC_FAILURE); + ERR_add_error_data(1, "hello "); + ERR_add_error_data(1, "world"); + ERR_get_error_line_data(NULL, NULL, &data, NULL); + return TEST_str_eq(data, "hello world"); +} + int setup_tests(void) { ADD_TEST(preserves_system_error); + ADD_TEST(vdata_appends); return 1; } From no-reply at appveyor.com Tue Jun 18 21:34:01 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 18 Jun 2019 21:34:01 +0000 Subject: Build failed: openssl master.25320 Message-ID: <20190618213401.1.6892C646561E3D42@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Jun 18 21:45:51 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 18 Jun 2019 21:45:51 +0000 Subject: Still Failing: openssl/openssl#25891 (master - 8908d18) In-Reply-To: Message-ID: <5d095b8f635ea_43ff02d548fdc18319@a2805d5e-56fc-4c20-b316-8580cebb1e80.mail> Build Update for openssl/openssl ------------------------------------- Build: #25891 Status: Still Failing Duration: 14 mins and 17 secs Commit: 8908d18 (master) Author: Rich Salz Message: Change ERR_add_error_[v]data to append The "add error data" functions now append to the current error. Add a test for this. Cleanup some of the ERR_put functions. In the FIPS module, always append "(in the FIPS module)" to any errors. Reviewed-by: Bernd Edlinger Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9181) View the changeset: https://github.com/openssl/openssl/compare/7f02a0932c8c...8908d18cb102 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547434366?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 Jun 18 22:32:44 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 18 Jun 2019 22:32:44 +0000 Subject: Build completed: openssl master.25321 Message-ID: <20190618223244.1.A002D47CB35FE2A6@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Tue Jun 18 22:47:48 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 18 Jun 2019 22:47:48 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Message-ID: <1560898068.842461.26191.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host Build log ended with (last 100 lines): ../../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 ..................... skipped: test_comp needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_key_share.t ................ skipped: test_key_share needs the dynamic engine feature enabled ../../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 the dynamic engine feature enabled ../../openssl/test/recipes/70-test_servername.t ............... ok ../../openssl/test/recipes/70-test_sslcbcpadding.t ............ skipped: test_sslcbcpadding needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslcertstatus.t ............ skipped: test_sslcertstatus needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslextension.t ............. skipped: test_sslextension needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslmessages.t .............. skipped: test_sslmessages needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslrecords.t ............... skipped: test_sslrecords needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsessiontick.t ........... skipped: test_sslsessiontick needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsigalgs.t ............... skipped: test_sslsigalgs needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslsignature.t ............. skipped: test_sslsignature needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslskewith0p.t ............. skipped: test_sslskewith0p needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslversions.t .............. skipped: test_sslversions needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_sslvertol.t ................ skipped: test_sslextension needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13alerts.t .............. skipped: test_tls13alerts needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13cookie.t .............. skipped: test_tls13cookie needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13downgrade.t ........... skipped: test_tls13downgrade needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13hrr.t ................. skipped: test_tls13hrr needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13kexmodes.t ............ skipped: test_tls13kexmodes needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13messages.t ............ skipped: test_tls13messages needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tls13psk.t ................. skipped: test_tls13psk needs the dynamic engine feature enabled ../../openssl/test/recipes/70-test_tlsextms.t ................. skipped: test_tlsextms needs the dynamic engine feature 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 .................. 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_bio_memleak.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: GOST support is 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 ................. ok ../../openssl/test/recipes/90-test_secmem.t ................... ok ../../openssl/test/recipes/90-test_shlibload.t ................ skipped: Test only supported in a shared build ../../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 ............. 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/30-test_evp_extra.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1442, 593 wallclock secs ( 1.07 usr 0.32 sys + 527.97 cusr 65.12 csys = 594.48 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-asan' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From pauli at openssl.org Wed Jun 19 06:15:19 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 19 Jun 2019 06:15:19 +0000 Subject: [openssl] master update Message-ID: <1560924919.822747.20246.nullmailer@dev.openssl.org> The branch master has been updated via b720949ec09f4dfbff1becc75ca808997e5b51bd (commit) from 8908d18cb1020f225170dd9090206842dbb6bbe6 (commit) - Log ----------------------------------------------------------------- commit b720949ec09f4dfbff1becc75ca808997e5b51bd Author: Pauli Date: Wed Jun 19 10:20:49 2019 +1000 ARIA documentation titled itself AES Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9188) ----------------------------------------------------------------------- Summary of changes: doc/man3/EVP_aria.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/EVP_aria.pod b/doc/man3/EVP_aria.pod index 340e91a..b686edf 100644 --- a/doc/man3/EVP_aria.pod +++ b/doc/man3/EVP_aria.pod @@ -32,7 +32,7 @@ EVP_aria_256_ccm, EVP_aria_128_gcm, EVP_aria_192_gcm, EVP_aria_256_gcm, -- EVP AES cipher +- EVP ARIA cipher =head1 SYNOPSIS @@ -106,7 +106,7 @@ L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy From pauli at openssl.org Wed Jun 19 06:16:49 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 19 Jun 2019 06:16:49 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560925009.485994.28207.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via daa6f2c0bedc3e54f58fd420a217b74b9ddc1c02 (commit) from d8bb277f76612ec9a659ef7b3df75a99d912662b (commit) - Log ----------------------------------------------------------------- commit daa6f2c0bedc3e54f58fd420a217b74b9ddc1c02 Author: Pauli Date: Wed Jun 19 10:20:49 2019 +1000 ARIA documentation titled itself AES Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9188) (cherry picked from commit b720949ec09f4dfbff1becc75ca808997e5b51bd) ----------------------------------------------------------------------- Summary of changes: doc/man3/EVP_aria.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/EVP_aria.pod b/doc/man3/EVP_aria.pod index fbb7918..c30ff99 100644 --- a/doc/man3/EVP_aria.pod +++ b/doc/man3/EVP_aria.pod @@ -32,7 +32,7 @@ EVP_aria_256_ccm, EVP_aria_128_gcm, EVP_aria_192_gcm, EVP_aria_256_gcm, -- EVP AES cipher +- EVP ARIA cipher =head1 SYNOPSIS @@ -106,7 +106,7 @@ L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2019 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 builds at travis-ci.org Wed Jun 19 06:36:34 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 06:36:34 +0000 Subject: Still Failing: openssl/openssl#25898 (master - b720949) In-Reply-To: Message-ID: <5d09d7f1d2e5a_43fe2a0e380604797b3@cf7c0b0b-f821-4a04-a17a-aa53893bc7bc.mail> Build Update for openssl/openssl ------------------------------------- Build: #25898 Status: Still Failing Duration: 20 mins and 30 secs Commit: b720949 (master) Author: Pauli Message: ARIA documentation titled itself AES Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9188) View the changeset: https://github.com/openssl/openssl/compare/8908d18cb102...b720949ec09f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547558629?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 Jun 19 06:51:15 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 06:51:15 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1560927075.849958.3561.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:232: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:242: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:287: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:292: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:292: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:304: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:307: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:320: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:333: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:333: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:341: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:341: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:346: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:346: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:354: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:355: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:136: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:139: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:142: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:179: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7066: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Wed Jun 19 08:43:15 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 08:43:15 +0000 Subject: Build failed: openssl master.25333 Message-ID: <20190619084315.1.47F7C60F1056DD4E@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Wed Jun 19 09:03:47 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 19 Jun 2019 09:03:47 +0000 Subject: [openssl] master update Message-ID: <1560935027.613142.24447.nullmailer@dev.openssl.org> The branch master has been updated via 03361afb3ca27a32e1215e482236c2185f5df1ac (commit) from b720949ec09f4dfbff1becc75ca808997e5b51bd (commit) - Log ----------------------------------------------------------------- commit 03361afb3ca27a32e1215e482236c2185f5df1ac Author: Matt Caswell Date: Tue Jun 18 18:36:36 2019 +0100 Don't create an OPENSSL_CTX twice The fips provider was creating the OPENSSL_CTX twice due to a previous merge error. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9184) ----------------------------------------------------------------------- Summary of changes: providers/fips/fipsprov.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index a30ece8..61729e5 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -216,18 +216,7 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, void **provctx) { FIPS_GLOBAL *fgbl; - OPENSSL_CTX *ctx = OPENSSL_CTX_new(); - - if (ctx == NULL) - return 0; - - fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX, - &fips_prov_ossl_ctx_method); - - if (fgbl == NULL) - goto err; - - fgbl->prov = provider; + OPENSSL_CTX *ctx; for (; in->function_id != 0; in++) { switch (in->function_id) { @@ -256,6 +245,14 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, if (ctx == NULL) return 0; + fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX, + &fips_prov_ossl_ctx_method); + + if (fgbl == NULL) + goto err; + + fgbl->prov = provider; + *out = fips_dispatch_table; *provctx = ctx; From no-reply at appveyor.com Wed Jun 19 09:09:53 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 09:09:53 +0000 Subject: Build completed: openssl master.25334 Message-ID: <20190619090953.1.80672B7CEEB2DDA8@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Wed Jun 19 09:25:32 2019 From: levitte at openssl.org (Richard Levitte) Date: Wed, 19 Jun 2019 09:25:32 +0000 Subject: [openssl] master update Message-ID: <1560936332.304357.28381.nullmailer@dev.openssl.org> The branch master has been updated via 4cdb302fef1f2160b74acbe1739f62c713fd99f5 (commit) from 03361afb3ca27a32e1215e482236c2185f5df1ac (commit) - Log ----------------------------------------------------------------- commit 4cdb302fef1f2160b74acbe1739f62c713fd99f5 Author: Richard Levitte Date: Wed Jun 19 08:37:19 2019 +0200 Add extra error text in the property parser With properties being specified in all kinds of places, including hard coded in providers, it's not always easy to figure out exactly what string was incorrect when the parser would just say something like 'parse failed' with no more details. Adding extra data to the error, showing exactly what string is incorrect, helps a bit. At the very least, this gives anyone interested something to grep for. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9190) ----------------------------------------------------------------------- Summary of changes: crypto/property/property_parse.c | 44 +++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/crypto/property/property_parse.c b/crypto/property/property_parse.c index c63a433..0b4dcfc 100644 --- a/crypto/property/property_parse.c +++ b/crypto/property/property_parse.c @@ -92,6 +92,7 @@ static int parse_name(OPENSSL_CTX *ctx, const char *t[], int create, for (;;) { if (!ossl_isalpha(*s)) { PROPerr(PROP_F_PARSE_NAME, PROP_R_NOT_AN_IDENTIFIER); + ERR_add_error_data(2, "HERE-->", *t); return 0; } do { @@ -110,13 +111,14 @@ static int parse_name(OPENSSL_CTX *ctx, const char *t[], int create, s++; } name[i] = '\0'; - *t = skip_space(s); - if (!err) { - *idx = ossl_property_name(ctx, name, user_name && create); - return 1; + if (err) { + PROPerr(PROP_F_PARSE_NAME, PROP_R_NAME_TOO_LONG); + ERR_add_error_data(2, "HERE-->", *t); + return 0; } - PROPerr(PROP_F_PARSE_NAME, PROP_R_NAME_TOO_LONG); - return 0; + *t = skip_space(s); + *idx = ossl_property_name(ctx, name, user_name && create); + return 1; } static int parse_number(const char *t[], PROPERTY_DEFINITION *res) @@ -131,6 +133,7 @@ static int parse_number(const char *t[], PROPERTY_DEFINITION *res) } while (ossl_isdigit(*s)); if (!ossl_isspace(*s) && *s != '\0' && *s != ',') { PROPerr(PROP_F_PARSE_NUMBER, PROP_R_NOT_A_DECIMAL_DIGIT); + ERR_add_error_data(2, "HERE-->", *t); return 0; } *t = skip_space(s); @@ -155,6 +158,7 @@ static int parse_hex(const char *t[], PROPERTY_DEFINITION *res) } while (ossl_isxdigit(*++s)); if (!ossl_isspace(*s) && *s != '\0' && *s != ',') { PROPerr(PROP_F_PARSE_HEX, PROP_R_NOT_AN_HEXADECIMAL_DIGIT); + ERR_add_error_data(2, "HERE-->", *t); return 0; } *t = skip_space(s); @@ -175,6 +179,7 @@ static int parse_oct(const char *t[], PROPERTY_DEFINITION *res) } while (ossl_isdigit(*++s) && *s != '9' && *s != '8'); if (!ossl_isspace(*s) && *s != '\0' && *s != ',') { PROPerr(PROP_F_PARSE_OCT, PROP_R_NOT_AN_OCTAL_DIGIT); + ERR_add_error_data(2, "HERE-->", *t); return 0; } *t = skip_space(s); @@ -199,16 +204,22 @@ static int parse_string(OPENSSL_CTX *ctx, const char *t[], char delim, s++; } if (*s == '\0') { + char buf[2] = { 0, 0 }; + PROPerr(PROP_F_PARSE_STRING, PROP_R_NO_MATCHING_STRING_DELIMETER); + buf[0] = delim; + ERR_add_error_data(3, "HERE-->", buf, *t); return 0; } v[i] = '\0'; - *t = skip_space(s + 1); - if (err) + if (err) { PROPerr(PROP_F_PARSE_STRING, PROP_R_STRING_TOO_LONG); - else + ERR_add_error_data(2, "HERE-->", *t); + } else { res->v.str_val = ossl_property_value(ctx, v, create); + } + *t = skip_space(s + 1); res->type = PROPERTY_TYPE_STRING; return !err; } @@ -232,14 +243,17 @@ static int parse_unquoted(OPENSSL_CTX *ctx, const char *t[], } if (!ossl_isspace(*s) && *s != '\0' && *s != ',') { PROPerr(PROP_F_PARSE_UNQUOTED, PROP_R_NOT_AN_ASCII_CHARACTER); + ERR_add_error_data(2, "HERE-->", s); return 0; } v[i] = 0; - *t = skip_space(s); - if (err) + if (err) { PROPerr(PROP_F_PARSE_UNQUOTED, PROP_R_STRING_TOO_LONG); - else + ERR_add_error_data(2, "HERE-->", *t); + } else { res->v.str_val = ossl_property_value(ctx, v, create); + } + *t = skip_space(s); res->type = PROPERTY_TYPE_STRING; return !err; } @@ -333,6 +347,8 @@ OSSL_PROPERTY_LIST *ossl_parse_property(OPENSSL_CTX *ctx, const char *defn) s = skip_space(s); done = *s == '\0'; while (!done) { + const char *start = s; + prop = OPENSSL_malloc(sizeof(*prop)); if (prop == NULL) goto err; @@ -343,11 +359,13 @@ OSSL_PROPERTY_LIST *ossl_parse_property(OPENSSL_CTX *ctx, const char *defn) prop->oper = PROPERTY_OPER_EQ; if (prop->name_idx == 0) { PROPerr(PROP_F_OSSL_PARSE_PROPERTY, PROP_R_PARSE_FAILED); + ERR_add_error_data(2, "Unknown name HERE-->", start); goto err; } if (match_ch(&s, '=')) { if (!parse_value(ctx, &s, prop, 1)) { PROPerr(PROP_F_OSSL_PARSE_PROPERTY, PROP_R_NO_VALUE); + ERR_add_error_data(2, "HERE-->", start); goto err; } } else { @@ -363,6 +381,7 @@ OSSL_PROPERTY_LIST *ossl_parse_property(OPENSSL_CTX *ctx, const char *defn) } if (*s != '\0') { PROPerr(PROP_F_OSSL_PARSE_PROPERTY, PROP_R_TRAILING_CHARACTERS); + ERR_add_error_data(2, "HERE-->", s); goto err; } res = stack_to_property_list(sk); @@ -424,6 +443,7 @@ skip_value: } if (*s != '\0') { PROPerr(PROP_F_OSSL_PARSE_QUERY, PROP_R_TRAILING_CHARACTERS); + ERR_add_error_data(2, "HERE-->", s); goto err; } res = stack_to_property_list(sk); From builds at travis-ci.org Wed Jun 19 09:25:33 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 09:25:33 +0000 Subject: Still Failing: openssl/openssl#25906 (master - 03361af) In-Reply-To: Message-ID: <5d09ff8d8192b_43fc4dbc6b7243873a7@be1fe9ac-ee43-4895-895b-a677761e35f4.mail> Build Update for openssl/openssl ------------------------------------- Build: #25906 Status: Still Failing Duration: 21 mins and 0 secs Commit: 03361af (master) Author: Matt Caswell Message: Don't create an OPENSSL_CTX twice The fips provider was creating the OPENSSL_CTX twice due to a previous merge error. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9184) View the changeset: https://github.com/openssl/openssl/compare/b720949ec09f...03361afb3ca2 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547615242?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 Jun 19 09:44:24 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 09:44:24 +0000 Subject: Still Failing: openssl/openssl#25907 (master - 4cdb302) In-Reply-To: Message-ID: <5d0a03f876c5b_43fdcc4434078388676@d7630d12-446d-4ee5-b2b1-6a588f31bf28.mail> Build Update for openssl/openssl ------------------------------------- Build: #25907 Status: Still Failing Duration: 18 mins and 14 secs Commit: 4cdb302 (master) Author: Richard Levitte Message: Add extra error text in the property parser With properties being specified in all kinds of places, including hard coded in providers, it's not always easy to figure out exactly what string was incorrect when the parser would just say something like 'parse failed' with no more details. Adding extra data to the error, showing exactly what string is incorrect, helps a bit. At the very least, this gives anyone interested something to grep for. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9190) View the changeset: https://github.com/openssl/openssl/compare/03361afb3ca2...4cdb302fef1f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547623231?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 Wed Jun 19 10:43:45 2019 From: levitte at openssl.org (Richard Levitte) Date: Wed, 19 Jun 2019 10:43:45 +0000 Subject: [openssl] master update Message-ID: <1560941025.738237.8560.nullmailer@dev.openssl.org> The branch master has been updated via d73458d17ac7e44270a2bcbace45ab99334754b4 (commit) from 4cdb302fef1f2160b74acbe1739f62c713fd99f5 (commit) - Log ----------------------------------------------------------------- commit d73458d17ac7e44270a2bcbace45ab99334754b4 Author: Richard Levitte Date: Wed Jun 19 08:44:20 2019 +0200 Add tracing capability in test utilities If a test program goes wrong, it's sometimes helpful to be able to trace what goes on in libcrypto and libssl. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9191) ----------------------------------------------------------------------- Summary of changes: test/build.info | 2 +- test/testutil/init.c | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+), 1 deletion(-) diff --git a/test/build.info b/test/build.info index 8c0f606..272c439 100644 --- a/test/build.info +++ b/test/build.info @@ -13,7 +13,7 @@ ENDIF IF[{- $config{target} =~ /^vms-/ -}] $AUXLIBAPPSSRC=../apps/vms_term_sock.c ../apps/vms_decc_argv.c ENDIF -$LIBAPPSSRC=../apps/opt.c $AUXLIBAPPSSRC +$LIBAPPSSRC=../apps/opt.c ../apps/bf_prefix.c $AUXLIBAPPSSRC IF[{- !$disabled{tests} -}] LIBS{noinst,has_main}=libtestutil.a diff --git a/test/testutil/init.c b/test/testutil/init.c index 4415902..b4a7277 100644 --- a/test/testutil/init.c +++ b/test/testutil/init.c @@ -7,9 +7,134 @@ * https://www.openssl.org/source/license.html */ +#include +#include +#include +#include "apps.h" #include "../testutil.h" +#ifndef OPENSSL_NO_TRACE +typedef struct tracedata_st { + BIO *bio; + unsigned int ingroup:1; +} tracedata; + +static size_t internal_trace_cb(const char *buf, size_t cnt, + int category, int cmd, void *vdata) +{ + int ret = 0; + tracedata *trace_data = vdata; + union { + CRYPTO_THREAD_ID tid; + unsigned long ltid; + } tid; + char buffer[256]; + + switch (cmd) { + case OSSL_TRACE_CTRL_BEGIN: + trace_data->ingroup = 1; + + tid.ltid = 0; + tid.tid = CRYPTO_THREAD_get_current_id(); + + BIO_snprintf(buffer, sizeof(buffer), "TRACE[%lx]:%s: ", tid.ltid, + OSSL_trace_get_category_name(category)); + BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX, + strlen(buffer), buffer); + break; + case OSSL_TRACE_CTRL_WRITE: + ret = BIO_write(trace_data->bio, buf, cnt); + break; + case OSSL_TRACE_CTRL_END: + trace_data->ingroup = 0; + + BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX, 0, NULL); + break; + } + + return ret < 0 ? 0 : ret; +} + +DEFINE_STACK_OF(tracedata) +static STACK_OF(tracedata) *trace_data_stack; + +static void tracedata_free(tracedata *data) +{ + BIO_free_all(data->bio); + OPENSSL_free(data); +} + +static STACK_OF(tracedata) *trace_data_stack; + +static void cleanup_trace(void) +{ + sk_tracedata_pop_free(trace_data_stack, tracedata_free); +} + +static void setup_trace_category(int category) +{ + BIO *channel; + tracedata *trace_data; + + if (OSSL_trace_enabled(category)) + return; + + channel = BIO_push(BIO_new(apps_bf_prefix()), + BIO_new_fp(stderr, BIO_NOCLOSE | BIO_FP_TEXT)); + trace_data = OPENSSL_zalloc(sizeof(*trace_data)); + + if (trace_data == NULL + || (trace_data->bio = channel) == NULL + || OSSL_trace_set_callback(category, internal_trace_cb, + trace_data) == 0 + || sk_tracedata_push(trace_data_stack, trace_data) == 0) { + + fprintf(stderr, + "warning: unable to setup trace callback for category '%s'.\n", + OSSL_trace_get_category_name(category)); + + OSSL_trace_set_callback(category, NULL, NULL); + BIO_free_all(channel); + } +} + +static void setup_trace(const char *str) +{ + char *val; + + trace_data_stack = sk_tracedata_new_null(); + val = OPENSSL_strdup(str); + + if (val != NULL) { + char *valp = val; + char *item; + + for (valp = val; (item = strtok(valp, ",")) != NULL; valp = NULL) { + int category = OSSL_trace_get_category_num(item); + + if (category == OSSL_TRACE_CATEGORY_ALL) { + while (++category < OSSL_TRACE_CATEGORY_NUM) + setup_trace_category(category); + break; + } else if (category > 0) { + setup_trace_category(category); + } else { + fprintf(stderr, + "warning: unknown trace category: '%s'.\n", item); + } + } + } + + OPENSSL_free(val); + atexit(cleanup_trace); +} +#endif /* OPENSSL_NO_TRACE */ + int global_init(void) { +#ifndef OPENSSL_NO_TRACE + setup_trace(getenv("OPENSSL_TRACE")); +#endif + return 1; } From no-reply at appveyor.com Wed Jun 19 10:57:38 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 10:57:38 +0000 Subject: Build failed: openssl master.25339 Message-ID: <20190619105738.1.64972FDC405B6CD3@appveyor.com> An HTML attachment was scrubbed... URL: From matt at openssl.org Wed Jun 19 11:02:19 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 19 Jun 2019 11:02:19 +0000 Subject: [openssl] master update Message-ID: <1560942139.061626.12417.nullmailer@dev.openssl.org> The branch master has been updated via a1998897f66858ec7d2d184e98f2be1e46ae2d78 (commit) via 6913f5fe05a38fa72213b5b5d1f41ef10ca908bd (commit) from d73458d17ac7e44270a2bcbace45ab99334754b4 (commit) - Log ----------------------------------------------------------------- commit a1998897f66858ec7d2d184e98f2be1e46ae2d78 Author: Matt Caswell Date: Wed Jun 19 10:31:39 2019 +0100 Add some internal documentation for some thread related functions Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9186) commit 6913f5fe05a38fa72213b5b5d1f41ef10ca908bd Author: Matt Caswell Date: Tue Jun 18 18:37:38 2019 +0100 Provide an ability to deregister thread stop handlers If a provider gets unloaded then any thread stop handlers that it had registered will be left hanging. We should clean them up before tearing down the provider. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9186) ----------------------------------------------------------------------- Summary of changes: crypto/async/async.c | 4 +- crypto/err/err.c | 2 +- crypto/include/internal/cryptlib_int.h | 3 +- crypto/init.c | 4 +- crypto/initthread.c | 167 +++++++++++++++++++++- crypto/provider_core.c | 5 +- crypto/rand/drbg_lib.c | 4 +- doc/internal/man3/ossl_init_thread_deregister.pod | 64 +++++++++ 8 files changed, 238 insertions(+), 15 deletions(-) create mode 100644 doc/internal/man3/ossl_init_thread_deregister.pod diff --git a/crypto/async/async.c b/crypto/async/async.c index bcb0030..43b16a7 100644 --- a/crypto/async/async.c +++ b/crypto/async/async.c @@ -36,7 +36,7 @@ static async_ctx *async_ctx_new(void) { async_ctx *nctx; - if (!ossl_init_thread_start(NULL, async_delete_thread_state)) + if (!ossl_init_thread_start(NULL, NULL, async_delete_thread_state)) return NULL; nctx = OPENSSL_malloc(sizeof(*nctx)); @@ -328,7 +328,7 @@ int ASYNC_init_thread(size_t max_size, size_t init_size) if (!OPENSSL_init_crypto(OPENSSL_INIT_ASYNC, NULL)) return 0; - if (!ossl_init_thread_start(NULL, async_delete_thread_state)) + if (!ossl_init_thread_start(NULL, NULL, async_delete_thread_state)) return 0; pool = OPENSSL_zalloc(sizeof(*pool)); diff --git a/crypto/err/err.c b/crypto/err/err.c index 9eb477c..8752c11 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -741,7 +741,7 @@ ERR_STATE *ERR_get_state(void) return NULL; } - if (!ossl_init_thread_start(NULL, err_delete_thread_state) + if (!ossl_init_thread_start(NULL, NULL, err_delete_thread_state) || !CRYPTO_THREAD_set_local(&err_thread_local, state)) { ERR_STATE_free(state); CRYPTO_THREAD_set_local(&err_thread_local, NULL); diff --git a/crypto/include/internal/cryptlib_int.h b/crypto/include/internal/cryptlib_int.h index a69bdcd..673a004 100644 --- a/crypto/include/internal/cryptlib_int.h +++ b/crypto/include/internal/cryptlib_int.h @@ -12,8 +12,9 @@ /* This file is not scanned by mkdef.pl, whereas cryptlib.h is */ -int ossl_init_thread_start(void *arg, +int ossl_init_thread_start(const void *index, void *arg, OSSL_thread_stop_handler_fn handfn); +int ossl_init_thread_deregister(void *index); int ossl_init_thread(void); void ossl_cleanup_thread(void); void ossl_ctx_thread_stop(void *arg); diff --git a/crypto/init.c b/crypto/init.c index 8755e21..d5f0ebd 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -428,8 +428,6 @@ void OPENSSL_cleanup(void) err_free_strings_int(); } - ossl_cleanup_thread(); - /* * Note that cleanup order is important: * - rand_cleanup_int could call an ENGINE's RAND cleanup function so @@ -457,6 +455,8 @@ void OPENSSL_cleanup(void) OSSL_TRACE(INIT, "OPENSSL_cleanup: openssl_ctx_default_deinit()\n"); openssl_ctx_default_deinit(); + ossl_cleanup_thread(); + OSSL_TRACE(INIT, "OPENSSL_cleanup: bio_cleanup()\n"); bio_cleanup(); diff --git a/crypto/initthread.c b/crypto/initthread.c index b4ee177..b398b05 100644 --- a/crypto/initthread.c +++ b/crypto/initthread.c @@ -11,6 +11,7 @@ #include #include "internal/cryptlib_int.h" #include "internal/providercommon.h" +#include "internal/thread_once.h" #ifdef FIPS_MODE /* @@ -30,11 +31,52 @@ extern OSSL_core_thread_start_fn *c_thread_start; typedef struct thread_event_handler_st THREAD_EVENT_HANDLER; struct thread_event_handler_st { + const void *index; void *arg; OSSL_thread_stop_handler_fn handfn; THREAD_EVENT_HANDLER *next; }; +#ifndef FIPS_MODE +DEFINE_SPECIAL_STACK_OF(THREAD_EVENT_HANDLER_PTR, THREAD_EVENT_HANDLER *) + +typedef struct global_tevent_register_st GLOBAL_TEVENT_REGISTER; +struct global_tevent_register_st { + STACK_OF(THREAD_EVENT_HANDLER_PTR) *skhands; + CRYPTO_RWLOCK *lock; +}; + +static GLOBAL_TEVENT_REGISTER *glob_tevent_reg = NULL; + +static CRYPTO_ONCE tevent_register_runonce = CRYPTO_ONCE_STATIC_INIT; + +DEFINE_RUN_ONCE_STATIC(create_global_tevent_register) +{ + glob_tevent_reg = OPENSSL_zalloc(sizeof(*glob_tevent_reg)); + if (glob_tevent_reg == NULL) + return 0; + + glob_tevent_reg->skhands = sk_THREAD_EVENT_HANDLER_PTR_new_null(); + glob_tevent_reg->lock = CRYPTO_THREAD_lock_new(); + if (glob_tevent_reg->skhands == NULL || glob_tevent_reg->lock == NULL) { + sk_THREAD_EVENT_HANDLER_PTR_free(glob_tevent_reg->skhands); + CRYPTO_THREAD_lock_free(glob_tevent_reg->lock); + OPENSSL_free(glob_tevent_reg); + glob_tevent_reg = NULL; + return 0; + } + + return 1; +} + +static GLOBAL_TEVENT_REGISTER *get_global_tevent_register(void) +{ + if (!RUN_ONCE(&tevent_register_runonce, create_global_tevent_register)) + return NULL; + return glob_tevent_reg; +} +#endif + static void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands); static THREAD_EVENT_HANDLER ** @@ -43,11 +85,41 @@ init_get_thread_local(CRYPTO_THREAD_LOCAL *local, int alloc, int keep) THREAD_EVENT_HANDLER **hands = CRYPTO_THREAD_get_local(local); if (alloc) { - if (hands == NULL - && (hands = OPENSSL_zalloc(sizeof(*hands))) != NULL - && !CRYPTO_THREAD_set_local(local, hands)) { - OPENSSL_free(hands); - return NULL; + if (hands == NULL) { +#ifndef FIPS_MODE + GLOBAL_TEVENT_REGISTER *gtr; +#endif + + if ((hands = OPENSSL_zalloc(sizeof(*hands))) == NULL) { + OPENSSL_free(hands); + return NULL; + } + +#ifndef FIPS_MODE + /* + * The thread event handler is thread specific and is a linked + * list of all handler functions that should be called for the + * current thread. We also keep a global reference to that linked + * list, so that we can deregister handlers if necessary before all + * the threads are stopped. + */ + gtr = get_global_tevent_register(); + if (gtr == NULL) { + OPENSSL_free(hands); + return NULL; + } + CRYPTO_THREAD_write_lock(gtr->lock); + if (!sk_THREAD_EVENT_HANDLER_PTR_push(gtr->skhands, hands)) { + OPENSSL_free(hands); + CRYPTO_THREAD_unlock(gtr->lock); + return NULL; + } + CRYPTO_THREAD_unlock(gtr->lock); +#endif + if (!CRYPTO_THREAD_set_local(local, hands)) { + OPENSSL_free(hands); + return NULL; + } } } else if (!keep) { CRYPTO_THREAD_set_local(local, NULL); @@ -76,9 +148,33 @@ static union { CRYPTO_THREAD_LOCAL value; } destructor_key = { -1 }; +static void init_thread_remove_handlers(THREAD_EVENT_HANDLER **handsin) +{ + GLOBAL_TEVENT_REGISTER *gtr; + int i; + + gtr = get_global_tevent_register(); + if (gtr == NULL) + return; + CRYPTO_THREAD_write_lock(gtr->lock); + for (i = 0; i < sk_THREAD_EVENT_HANDLER_PTR_num(gtr->skhands); i++) { + THREAD_EVENT_HANDLER **hands + = sk_THREAD_EVENT_HANDLER_PTR_value(gtr->skhands, i); + + if (hands == handsin) { + hands = sk_THREAD_EVENT_HANDLER_PTR_delete(gtr->skhands, i); + CRYPTO_THREAD_unlock(gtr->lock); + return; + } + } + CRYPTO_THREAD_unlock(gtr->lock); + return; +} + static void init_thread_destructor(void *hands) { init_thread_stop(NULL, (THREAD_EVENT_HANDLER **)hands); + init_thread_remove_handlers(hands); OPENSSL_free(hands); } @@ -91,8 +187,11 @@ int ossl_init_thread(void) return 1; } +static int init_thread_deregister(void *arg, int all); + void ossl_cleanup_thread(void) { + init_thread_deregister(NULL, 1); CRYPTO_THREAD_cleanup_local(&destructor_key.value); destructor_key.sane = -1; } @@ -114,6 +213,8 @@ void OPENSSL_thread_stop(void) THREAD_EVENT_HANDLER **hands = init_get_thread_local(&destructor_key.value, 0, 0); init_thread_stop(NULL, hands); + + init_thread_remove_handlers(hands); OPENSSL_free(hands); } } @@ -205,7 +306,8 @@ static void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands) } } -int ossl_init_thread_start(void *arg, OSSL_thread_stop_handler_fn handfn) +int ossl_init_thread_start(const void *index, void *arg, + OSSL_thread_stop_handler_fn handfn) { THREAD_EVENT_HANDLER **hands; THREAD_EVENT_HANDLER *hand; @@ -252,8 +354,61 @@ int ossl_init_thread_start(void *arg, OSSL_thread_stop_handler_fn handfn) hand->handfn = handfn; hand->arg = arg; + hand->index = index; hand->next = *hands; *hands = hand; return 1; } + +#ifndef FIPS_MODE +static int init_thread_deregister(void *index, int all) +{ + GLOBAL_TEVENT_REGISTER *gtr; + int i; + + gtr = get_global_tevent_register(); + if (!all) + CRYPTO_THREAD_write_lock(gtr->lock); + for (i = 0; i < sk_THREAD_EVENT_HANDLER_PTR_num(gtr->skhands); i++) { + THREAD_EVENT_HANDLER **hands + = sk_THREAD_EVENT_HANDLER_PTR_value(gtr->skhands, i); + THREAD_EVENT_HANDLER *curr = *hands, *prev = NULL, *tmp; + + if (hands == NULL) { + if (!all) + CRYPTO_THREAD_unlock(gtr->lock); + return 0; + } + while (curr != NULL) { + if (all || curr->index == index) { + if (prev != NULL) + prev->next = curr->next; + else + *hands = curr->next; + tmp = curr; + curr = curr->next; + OPENSSL_free(tmp); + continue; + } + prev = curr; + curr = curr->next; + } + if (all) + OPENSSL_free(hands); + } + if (all) { + CRYPTO_THREAD_lock_free(gtr->lock); + sk_THREAD_EVENT_HANDLER_PTR_free(gtr->skhands); + OPENSSL_free(gtr); + } else { + CRYPTO_THREAD_unlock(gtr->lock); + } + return 1; +} + +int ossl_init_thread_deregister(void *index) +{ + return init_thread_deregister(index, 0); +} +#endif diff --git a/crypto/provider_core.c b/crypto/provider_core.c index 10948ce..274bdf9 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -269,6 +269,9 @@ void ossl_provider_free(OSSL_PROVIDER *prov) * When that happens, the provider is inactivated. */ if (ref < 2 && prov->flag_initialized) { +#ifndef FIPS_MODE + ossl_init_thread_deregister(prov); +#endif if (prov->teardown != NULL) prov->teardown(prov->provctx); prov->flag_initialized = 0; @@ -670,7 +673,7 @@ static OPENSSL_CTX *core_get_libctx(const OSSL_PROVIDER *prov) static int core_thread_start(const OSSL_PROVIDER *prov, OSSL_thread_stop_handler_fn handfn) { - return ossl_init_thread_start(prov->provctx, handfn); + return ossl_init_thread_start(prov, prov->provctx, handfn); } static const OSSL_DISPATCH core_dispatch_[] = { diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 5d6ea1e..33bc81c 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -1339,7 +1339,7 @@ RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->public_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(NULL, drbg_delete_thread_state)) + if (!ossl_init_thread_start(NULL, NULL, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PUBLIC); CRYPTO_THREAD_set_local(&dgbl->public_drbg, drbg); @@ -1366,7 +1366,7 @@ RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->private_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(NULL, drbg_delete_thread_state)) + if (!ossl_init_thread_start(NULL, NULL, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PRIVATE); CRYPTO_THREAD_set_local(&dgbl->private_drbg, drbg); diff --git a/doc/internal/man3/ossl_init_thread_deregister.pod b/doc/internal/man3/ossl_init_thread_deregister.pod new file mode 100644 index 0000000..4481d0c --- /dev/null +++ b/doc/internal/man3/ossl_init_thread_deregister.pod @@ -0,0 +1,64 @@ +=pod + +=head1 NAME +OSSL_thread_stop_handler_fn, +ossl_init_thread_start, +ossl_init_thread_deregister +- internal thread routines +=head1 SYNOPSIS + + #include "internal/cryptlib_int.h" + #include + + typedef void (*OSSL_thread_stop_handler_fn)(void *arg); + + int ossl_init_thread_start(const void *index, void *arg, + OSSL_thread_stop_handler_fn handfn); + int ossl_init_thread_deregister(void *index); + +=head1 DESCRIPTION + +Thread aware code may be informed about when a thread is stopping, typically to +perform some cleanup operation. +Thread stop events may be detected by OpenSSL either automatically (using the +capabilities of the underlying threading library) where possible or explicitly +by the application calling OPENSSL_thread_stop() or OPENSSL_thread_stop_ex(). + +Thread aware code registers a "stop handler" for each new thread that it uses. +Typically, when a new thread is being used, code will add a new value to some +thread local variable and then register a stop handler. When the thread is +stopping the stop handler is called (while on that thread) and the code can +clean up the value stored in the thread local variable. + +A new stop handler is registerd using the function ossl_init_thread_start(). +The B parameter should be a unique value that can be used to identify a +set of common stop handlers and is passed in a later call to +ossl_init_thread_deregister. If no later call to ossl_init_thread_deregister is +made then NULL can be passed for this parameter. The B parameter is passed +back as an argument to the stop handler when it is later invoked. Finally the +B is a function pointer to the stop handler itself. + +In the event that previously registered stop handlers need to be deregistered +then this can be done using the function ossl_init_thread_deregister(). +This will deregister all stop handlers (no matter which thread they were +registered for) which the same B value. + +=head1 RETURN VALUES + +ossl_init_thread_start() and ossl_init_thread_deregister() return 1 for success +or 0 on error. + +=head1 HISTORY + +The functions described here were all added in OpenSSL 3.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 From builds at travis-ci.org Wed Jun 19 11:03:59 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 11:03:59 +0000 Subject: Still Failing: openssl/openssl#25912 (master - d73458d) In-Reply-To: Message-ID: <5d0a169ed0027_43fc4d684f6cc4137ee@be1fe9ac-ee43-4895-895b-a677761e35f4.mail> Build Update for openssl/openssl ------------------------------------- Build: #25912 Status: Still Failing Duration: 19 mins and 33 secs Commit: d73458d (master) Author: Richard Levitte Message: Add tracing capability in test utilities If a test program goes wrong, it's sometimes helpful to be able to trace what goes on in libcrypto and libssl. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9191) View the changeset: https://github.com/openssl/openssl/compare/4cdb302fef1f...d73458d17ac7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547652957?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 Jun 19 11:22:46 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 11:22:46 +0000 Subject: Still Failing: openssl/openssl#25913 (master - a199889) In-Reply-To: Message-ID: <5d0a1b05ca2c7_43f87d4215584251753@8c4a5665-aab6-42e3-a034-8b458d784775.mail> Build Update for openssl/openssl ------------------------------------- Build: #25913 Status: Still Failing Duration: 19 mins and 55 secs Commit: a199889 (master) Author: Matt Caswell Message: Add some internal documentation for some thread related functions Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9186) View the changeset: https://github.com/openssl/openssl/compare/d73458d17ac7...a1998897f668 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547659751?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 Jun 19 11:27:51 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 11:27:51 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-sse2 Message-ID: <1560943671.562823.10347.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sse2 Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host From tmraz at fedoraproject.org Wed Jun 19 12:30:32 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 12:30:32 +0000 Subject: [openssl] master update Message-ID: <1560947432.832852.16890.nullmailer@dev.openssl.org> The branch master has been updated via 8b7b32921e63c492fa7233d81b11ee4d7ba266de (commit) from a1998897f66858ec7d2d184e98f2be1e46ae2d78 (commit) - Log ----------------------------------------------------------------- commit 8b7b32921e63c492fa7233d81b11ee4d7ba266de Author: Tomas Mraz Date: Tue Jun 18 16:41:48 2019 +0200 Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO The BIO_FLAGS_NONCLEAR_RST flag behavior was not properly documented and it also caused the length to be incorrectly set after the reset operation. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9179) ----------------------------------------------------------------------- Summary of changes: crypto/bio/bss_mem.c | 4 +--- doc/man3/BIO_s_mem.pod | 26 ++++++++++++++++++-------- test/bio_memleak_test.c | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/crypto/bio/bss_mem.c b/crypto/bio/bss_mem.c index a7f2bfb..19a3bd8 100644 --- a/crypto/bio/bss_mem.c +++ b/crypto/bio/bss_mem.c @@ -259,9 +259,7 @@ static long mem_ctrl(BIO *b, int cmd, long num, void *ptr) bm = bbm->buf; if (bm->data != NULL) { if (!(b->flags & BIO_FLAGS_MEM_RDONLY)) { - if (b->flags & BIO_FLAGS_NONCLEAR_RST) { - bm->length = bm->max; - } else { + if (!(b->flags & BIO_FLAGS_NONCLEAR_RST)) { memset(bm->data, 0, bm->max); bm->length = 0; } diff --git a/doc/man3/BIO_s_mem.pod b/doc/man3/BIO_s_mem.pod index 6d9e747..42fc294 100644 --- a/doc/man3/BIO_s_mem.pod +++ b/doc/man3/BIO_s_mem.pod @@ -41,9 +41,10 @@ If the BIO_CLOSE flag is set when a memory BIO is freed then the underlying BUF_MEM structure is also freed. Calling BIO_reset() on a read write memory BIO clears any data in it if the -flag BIO_FLAGS_NONCLEAR_RST is not set. On a read only BIO or if the flag -BIO_FLAGS_NONCLEAR_RST is set it restores the BIO to its original state and -the data can be read again. +flag BIO_FLAGS_NONCLEAR_RST is not set, otherwise it just restores the read +pointer to the state it was just after the last write was performed and the +data can be read again. On a read only BIO it similarly restores the BIO to +its original state and the read only data can be read again. BIO_eof() is true if no data is in the BIO. @@ -79,11 +80,11 @@ first, so the supplied area of memory must be unchanged until the BIO is freed. Writes to memory BIOs will always succeed if memory is available: that is their size can grow indefinitely. -Every read from a read write memory BIO will remove the data just read with -an internal copy operation, if a BIO contains a lot of data and it is -read in small chunks the operation can be very slow. The use of a read only -memory BIO avoids this problem. If the BIO must be read write then adding -a buffering BIO to the chain will speed up the process. +Every write after partial read (not all data in the memory buffer was read) +to a read write memory BIO will have to move the unread data with an internal +copy operation, if a BIO contains a lot of data and it is read in small +chunks intertwined with writes the operation can be very slow. Adding +a buffering BIO to the chain can speed up the process. Calling BIO_set_mem_buf() on a BIO created with BIO_new_secmem() will give undefined results, including perhaps a program crash. @@ -104,6 +105,15 @@ BIO is set to BIO_NOCLOSE, before freeing the BUF_MEM the data pointer in it must be set to NULL as the data pointer does not point to an allocated memory. +Calling BIO_reset() on a read write memory BIO with BIO_FLAGS_NONCLEAR_RST +flag set can have unexpected outcome when the reads and writes to the +BIO are intertwined. As documented above the BIO will be reset to the +state after the last completed write operation. The effects of reads +preceeding that write operation cannot be undone. + +Calling BIO_get_mem_ptr() prior to a BIO_reset() call with +BIO_FLAGS_NONCLEAR_RST set has the same effect as a write operation. + =head1 BUGS There should be an option to set the maximum size of a memory BIO. diff --git a/test/bio_memleak_test.c b/test/bio_memleak_test.c index fab5ce7..dab61f6 100644 --- a/test/bio_memleak_test.c +++ b/test/bio_memleak_test.c @@ -181,6 +181,45 @@ finish: return ok; } +static int test_bio_nonclear_rst(void) +{ + int ok = 0; + BIO *bio = NULL; + char data[16]; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_puts(bio, "Hello World\n"), 12)) + goto finish; + + BIO_set_flags(bio, BIO_FLAGS_NONCLEAR_RST); + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + + BIO_clear_flags(bio, BIO_FLAGS_NONCLEAR_RST); + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_lt(BIO_read(bio, data, 16), 1)) + goto finish; + + ok = 1; + +finish: + BIO_free(bio); + return ok; +} int global_init(void) { @@ -196,5 +235,6 @@ int setup_tests(void) ADD_TEST(test_bio_new_mem_buf); ADD_TEST(test_bio_rdonly_mem_buf); ADD_TEST(test_bio_rdwr_rdonly); + ADD_TEST(test_bio_nonclear_rst); return 1; } From tmraz at fedoraproject.org Wed Jun 19 12:31:08 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 12:31:08 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560947468.533264.4031.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via c6991655c4ce4764861dd5bdf64a92be5f54dbb3 (commit) from daa6f2c0bedc3e54f58fd420a217b74b9ddc1c02 (commit) - Log ----------------------------------------------------------------- commit c6991655c4ce4764861dd5bdf64a92be5f54dbb3 Author: Tomas Mraz Date: Tue Jun 18 16:41:48 2019 +0200 Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO The BIO_FLAGS_NONCLEAR_RST flag behavior was not properly documented and it also caused the length to be incorrectly set after the reset operation. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9179) (cherry picked from commit 8b7b32921e63c492fa7233d81b11ee4d7ba266de) ----------------------------------------------------------------------- Summary of changes: crypto/bio/bss_mem.c | 4 +--- doc/man3/BIO_s_mem.pod | 26 ++++++++++++++++++-------- test/bio_memleak_test.c | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/crypto/bio/bss_mem.c b/crypto/bio/bss_mem.c index 8c621d6..2d536e9 100644 --- a/crypto/bio/bss_mem.c +++ b/crypto/bio/bss_mem.c @@ -259,9 +259,7 @@ static long mem_ctrl(BIO *b, int cmd, long num, void *ptr) bm = bbm->buf; if (bm->data != NULL) { if (!(b->flags & BIO_FLAGS_MEM_RDONLY)) { - if (b->flags & BIO_FLAGS_NONCLEAR_RST) { - bm->length = bm->max; - } else { + if (!(b->flags & BIO_FLAGS_NONCLEAR_RST)) { memset(bm->data, 0, bm->max); bm->length = 0; } diff --git a/doc/man3/BIO_s_mem.pod b/doc/man3/BIO_s_mem.pod index 2a5d423..9c62955 100644 --- a/doc/man3/BIO_s_mem.pod +++ b/doc/man3/BIO_s_mem.pod @@ -41,9 +41,10 @@ If the BIO_CLOSE flag is set when a memory BIO is freed then the underlying BUF_MEM structure is also freed. Calling BIO_reset() on a read write memory BIO clears any data in it if the -flag BIO_FLAGS_NONCLEAR_RST is not set. On a read only BIO or if the flag -BIO_FLAGS_NONCLEAR_RST is set it restores the BIO to its original state and -the data can be read again. +flag BIO_FLAGS_NONCLEAR_RST is not set, otherwise it just restores the read +pointer to the state it was just after the last write was performed and the +data can be read again. On a read only BIO it similarly restores the BIO to +its original state and the read only data can be read again. BIO_eof() is true if no data is in the BIO. @@ -79,11 +80,11 @@ first, so the supplied area of memory must be unchanged until the BIO is freed. Writes to memory BIOs will always succeed if memory is available: that is their size can grow indefinitely. -Every read from a read write memory BIO will remove the data just read with -an internal copy operation, if a BIO contains a lot of data and it is -read in small chunks the operation can be very slow. The use of a read only -memory BIO avoids this problem. If the BIO must be read write then adding -a buffering BIO to the chain will speed up the process. +Every write after partial read (not all data in the memory buffer was read) +to a read write memory BIO will have to move the unread data with an internal +copy operation, if a BIO contains a lot of data and it is read in small +chunks intertwined with writes the operation can be very slow. Adding +a buffering BIO to the chain can speed up the process. Calling BIO_set_mem_buf() on a BIO created with BIO_new_secmem() will give undefined results, including perhaps a program crash. @@ -104,6 +105,15 @@ BIO is set to BIO_NOCLOSE, before freeing the BUF_MEM the data pointer in it must be set to NULL as the data pointer does not point to an allocated memory. +Calling BIO_reset() on a read write memory BIO with BIO_FLAGS_NONCLEAR_RST +flag set can have unexpected outcome when the reads and writes to the +BIO are intertwined. As documented above the BIO will be reset to the +state after the last completed write operation. The effects of reads +preceeding that write operation cannot be undone. + +Calling BIO_get_mem_ptr() prior to a BIO_reset() call with +BIO_FLAGS_NONCLEAR_RST set has the same effect as a write operation. + =head1 BUGS There should be an option to set the maximum size of a memory BIO. diff --git a/test/bio_memleak_test.c b/test/bio_memleak_test.c index 9724148..383c82d 100644 --- a/test/bio_memleak_test.c +++ b/test/bio_memleak_test.c @@ -181,6 +181,45 @@ finish: return ok; } +static int test_bio_nonclear_rst(void) +{ + int ok = 0; + BIO *bio = NULL; + char data[16]; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_puts(bio, "Hello World\n"), 12)) + goto finish; + + BIO_set_flags(bio, BIO_FLAGS_NONCLEAR_RST); + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + + BIO_clear_flags(bio, BIO_FLAGS_NONCLEAR_RST); + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_lt(BIO_read(bio, data, 16), 1)) + goto finish; + + ok = 1; + +finish: + BIO_free(bio); + return ok; +} int global_init(void) { @@ -196,5 +235,6 @@ int setup_tests(void) ADD_TEST(test_bio_new_mem_buf); ADD_TEST(test_bio_rdonly_mem_buf); ADD_TEST(test_bio_rdwr_rdonly); + ADD_TEST(test_bio_nonclear_rst); return 1; } From matt at openssl.org Wed Jun 19 12:31:25 2019 From: matt at openssl.org (Matt Caswell) Date: Wed, 19 Jun 2019 12:31:25 +0000 Subject: [openssl] master update Message-ID: <1560947485.739346.26739.nullmailer@dev.openssl.org> The branch master has been updated via 1ff030c0a6f0415577b07366861a41b101e6af92 (commit) from 8b7b32921e63c492fa7233d81b11ee4d7ba266de (commit) - Log ----------------------------------------------------------------- commit 1ff030c0a6f0415577b07366861a41b101e6af92 Author: Matt Caswell Date: Wed Jun 19 13:13:55 2019 +0100 Fix a doc-nits failure We need blank lines on each side of a section heading. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9192) ----------------------------------------------------------------------- Summary of changes: doc/internal/man3/ossl_init_thread_deregister.pod | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/internal/man3/ossl_init_thread_deregister.pod b/doc/internal/man3/ossl_init_thread_deregister.pod index 4481d0c..4d4c716 100644 --- a/doc/internal/man3/ossl_init_thread_deregister.pod +++ b/doc/internal/man3/ossl_init_thread_deregister.pod @@ -1,10 +1,12 @@ =pod =head1 NAME + OSSL_thread_stop_handler_fn, ossl_init_thread_start, ossl_init_thread_deregister - internal thread routines + =head1 SYNOPSIS #include "internal/cryptlib_int.h" From tmraz at fedoraproject.org Wed Jun 19 12:41:52 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 12:41:52 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560948112.909802.2958.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 444ec8d5e78c37c456b46297d809535b5434137a (commit) from c6991655c4ce4764861dd5bdf64a92be5f54dbb3 (commit) - Log ----------------------------------------------------------------- commit 444ec8d5e78c37c456b46297d809535b5434137a Author: Rebecca Cran Date: Wed Jun 12 14:03:36 2019 -0600 Fix UEFI build on FreeBSD by not including system headers CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Ben Kaduk Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9149) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 4b91903..114c40b 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -21,7 +21,7 @@ #if defined(__linux) # include #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) && !defined(OPENSSL_SYS_UEFI) # include # include # include From tmraz at fedoraproject.org Wed Jun 19 12:43:01 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 12:43:01 +0000 Subject: [openssl] master update Message-ID: <1560948181.144499.3979.nullmailer@dev.openssl.org> The branch master has been updated via 1fa90bb3a9089f974e9b07f3e76a964bd2da6976 (commit) from 1ff030c0a6f0415577b07366861a41b101e6af92 (commit) - Log ----------------------------------------------------------------- commit 1fa90bb3a9089f974e9b07f3e76a964bd2da6976 Author: Rebecca Cran Date: Wed Jun 12 14:03:36 2019 -0600 Fix UEFI build on FreeBSD by not including system headers CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Ben Kaduk Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9149) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 3a6e009..6161909 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -21,7 +21,7 @@ #if defined(__linux) # include #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) && !defined(OPENSSL_SYS_UEFI) # include # include # include From builds at travis-ci.org Wed Jun 19 12:51:23 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 12:51:23 +0000 Subject: Still Failing: openssl/openssl#25919 (master - 8b7b329) In-Reply-To: Message-ID: <5d0a2fcb5f82d_43fba9f946bac73336@c2969dd8-1245-470b-8373-ead2826d84d9.mail> Build Update for openssl/openssl ------------------------------------- Build: #25919 Status: Still Failing Duration: 15 mins and 12 secs Commit: 8b7b329 (master) Author: Tomas Mraz Message: Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO The BIO_FLAGS_NONCLEAR_RST flag behavior was not properly documented and it also caused the length to be incorrectly set after the reset operation. Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9179) View the changeset: https://github.com/openssl/openssl/compare/a1998897f668...8b7b32921e63 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547693891?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 tmraz at fedoraproject.org Wed Jun 19 13:12:05 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 13:12:05 +0000 Subject: [openssl] master update Message-ID: <1560949925.931804.10003.nullmailer@dev.openssl.org> The branch master has been updated via df9fd168ceb1f187365d24fef829d6d48b1077a9 (commit) from 1fa90bb3a9089f974e9b07f3e76a964bd2da6976 (commit) - Log ----------------------------------------------------------------- commit df9fd168ceb1f187365d24fef829d6d48b1077a9 Author: Miquel Ruiz Date: Mon Oct 22 22:34:57 2018 +0100 Add SSL_shutdown to SSL_get_error's documentation SSL_shutdown can fail if called during initialization, and in such case, it'll add an error to the error queue. This adds SSL_shutdown to the list of functions that should preceed the call to SSL_get_error. CLA: trivial Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/7465) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_get_error.pod | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/man3/SSL_get_error.pod b/doc/man3/SSL_get_error.pod index 150dd50..8d081a5 100644 --- a/doc/man3/SSL_get_error.pod +++ b/doc/man3/SSL_get_error.pod @@ -14,9 +14,9 @@ SSL_get_error - obtain result code for TLS/SSL I/O operation SSL_get_error() returns a result code (suitable for the C "switch" statement) for a preceding call to SSL_connect(), SSL_accept(), SSL_do_handshake(), -SSL_read_ex(), SSL_read(), SSL_peek_ex(), SSL_peek(), SSL_write_ex() or -SSL_write() on B. The value returned by that TLS/SSL I/O function must be -passed to SSL_get_error() in parameter B. +SSL_read_ex(), SSL_read(), SSL_peek_ex(), SSL_peek(), SSL_shutdown(), +SSL_write_ex() or SSL_write() on B. The value returned by that TLS/SSL I/O +function must be passed to SSL_get_error() in parameter B. In addition to B and B, SSL_get_error() inspects the current thread's OpenSSL error queue. Thus, SSL_get_error() must be From tmraz at fedoraproject.org Wed Jun 19 13:12:30 2019 From: tmraz at fedoraproject.org (tmraz at fedoraproject.org) Date: Wed, 19 Jun 2019 13:12:30 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1560949950.842114.13442.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 441c1e093feb9c98733a0fc524b7f82661de2322 (commit) from 444ec8d5e78c37c456b46297d809535b5434137a (commit) - Log ----------------------------------------------------------------- commit 441c1e093feb9c98733a0fc524b7f82661de2322 Author: Miquel Ruiz Date: Mon Oct 22 22:34:57 2018 +0100 Add SSL_shutdown to SSL_get_error's documentation SSL_shutdown can fail if called during initialization, and in such case, it'll add an error to the error queue. This adds SSL_shutdown to the list of functions that should preceed the call to SSL_get_error. CLA: trivial Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/7465) (cherry picked from commit df9fd168ceb1f187365d24fef829d6d48b1077a9) ----------------------------------------------------------------------- Summary of changes: doc/man3/SSL_get_error.pod | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/man3/SSL_get_error.pod b/doc/man3/SSL_get_error.pod index 32668a0..97320a6 100644 --- a/doc/man3/SSL_get_error.pod +++ b/doc/man3/SSL_get_error.pod @@ -14,9 +14,9 @@ SSL_get_error - obtain result code for TLS/SSL I/O operation SSL_get_error() returns a result code (suitable for the C "switch" statement) for a preceding call to SSL_connect(), SSL_accept(), SSL_do_handshake(), -SSL_read_ex(), SSL_read(), SSL_peek_ex(), SSL_peek(), SSL_write_ex() or -SSL_write() on B. The value returned by that TLS/SSL I/O function must be -passed to SSL_get_error() in parameter B. +SSL_read_ex(), SSL_read(), SSL_peek_ex(), SSL_peek(), SSL_shutdown(), +SSL_write_ex() or SSL_write() on B. The value returned by that TLS/SSL I/O +function must be passed to SSL_get_error() in parameter B. In addition to B and B, SSL_get_error() inspects the current thread's OpenSSL error queue. Thus, SSL_get_error() must be From no-reply at appveyor.com Wed Jun 19 13:13:15 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 13:13:15 +0000 Subject: Build failed: openssl master.25346 Message-ID: <20190619131315.1.19D76D5B1C3BB942@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Jun 19 13:18:02 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 13:18:02 +0000 Subject: Still Failing: openssl/openssl#25921 (master - 1ff030c) In-Reply-To: Message-ID: <5d0a360a9527a_43fd0acf51b6425981@1cf1fcba-4725-447a-9545-19e4347a3952.mail> Build Update for openssl/openssl ------------------------------------- Build: #25921 Status: Still Failing Duration: 27 mins and 12 secs Commit: 1ff030c (master) Author: Matt Caswell Message: Fix a doc-nits failure We need blank lines on each side of a section heading. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9192) View the changeset: https://github.com/openssl/openssl/compare/8b7b32921e63...1ff030c0a6f0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547694211?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 Jun 19 13:26:47 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 13:26:47 +0000 Subject: Build failed: openssl master.25347 Message-ID: <20190619132647.1.0E9AEEFAF779DFD1@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Jun 19 13:38:08 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 13:38:08 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings 386 Message-ID: <1560951488.668678.4149.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings 386 Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host From builds at travis-ci.org Wed Jun 19 13:56:12 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 13:56:12 +0000 Subject: Still Failing: openssl/openssl#25923 (master - 1fa90bb) In-Reply-To: Message-ID: <5d0a3efaf1c56_43fd0aca0c5c82722ef@1cf1fcba-4725-447a-9545-19e4347a3952.mail> Build Update for openssl/openssl ------------------------------------- Build: #25923 Status: Still Failing Duration: 38 mins and 6 secs Commit: 1fa90bb (master) Author: Rebecca Cran Message: Fix UEFI build on FreeBSD by not including system headers CLA: trivial Reviewed-by: Richard Levitte Reviewed-by: Ben Kaduk Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9149) View the changeset: https://github.com/openssl/openssl/compare/1ff030c0a6f0...1fa90bb3a908 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547699338?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 Jun 19 13:57:52 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 19 Jun 2019 13:57:52 +0000 Subject: Still Failing: openssl/openssl#25924 (master - df9fd16) In-Reply-To: Message-ID: <5d0a3f608d1c5_43fad5f9dbbb43969f5@13c6330a-05f6-443e-bef4-659b8052cb83.mail> Build Update for openssl/openssl ------------------------------------- Build: #25924 Status: Still Failing Duration: 27 mins and 14 secs Commit: df9fd16 (master) Author: Miquel Ruiz Message: Add SSL_shutdown to SSL_get_error's documentation SSL_shutdown can fail if called during initialization, and in such case, it'll add an error to the error queue. This adds SSL_shutdown to the list of functions that should preceed the call to SSL_get_error. CLA: trivial Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/7465) View the changeset: https://github.com/openssl/openssl/compare/1fa90bb3a908...df9fd168ceb1 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/547713644?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 Jun 19 14:31:00 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 14:31:00 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1560954660.559550.24673.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 269 wallclock secs ( 1.67 usr 0.34 sys + 254.75 cusr 20.88 csys = 277.64 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Wed Jun 19 15:24:36 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 15:24:36 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1560957876.010286.16188.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 8908d18cb1 Change ERR_add_error_[v]data to append 7f02a0932c crypto/modes/build.conf: Fix MODES asm mistakes 2ce15a95da crypto/aes/build.info: Fix AES assembler specs cd0fb43cbe Following the previous 2 commits also move ecpointformats out of session eee2a6a718 Fix a race condition in ciphers handling 45436e611b Fix a race condition in supported groups handling e7a4682d0b Fix error handling at openssl_strerror_r e24bdcde5a Swap #if blocks in uid.c so target platform gets checked before host Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 269 wallclock secs ( 1.70 usr 0.36 sys + 254.19 cusr 20.30 csys = 276.55 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Wed Jun 19 16:18:37 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 16:18:37 +0000 Subject: Build failed: openssl master.25357 Message-ID: <20190619161837.1.3EE5BD6C6DEBCDD1@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Jun 19 16:53:05 2019 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 19 Jun 2019 16:53:05 +0000 Subject: Build completed: openssl master.25358 Message-ID: <20190619165305.1.9DF3E3DBA1CB7472@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Jun 19 22:52:57 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 19 Jun 2019 22:52:57 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Message-ID: <1560984777.019147.10627.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-asan no-shared -DOPENSSL_SMALL_FOOTPRINT Commit log since last time: df9fd168ce Add SSL_shutdown to SSL_get_error's documentation 1fa90bb3a9 Fix UEFI build on FreeBSD by not including system headers 1ff030c0a6 Fix a doc-nits failure 8b7b32921e Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO a1998897f6 Add some internal documentation for some thread related functions 6913f5fe05 Provide an ability to deregister thread stop handlers d73458d17a Add tracing capability in test utilities 4cdb302fef Add extra error text in the property parser 03361afb3c Don't create an OPENSSL_CTX twice b720949ec0 ARIA documentation titled itself AES From pauli at openssl.org Thu Jun 20 07:17:36 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Thu, 20 Jun 2019 07:17:36 +0000 Subject: [openssl] master update Message-ID: <1561015056.464090.15185.nullmailer@dev.openssl.org> The branch master has been updated via 7a5f5fd32a58e6c70cc0ce05a7d7391e4968663e (commit) from df9fd168ceb1f187365d24fef829d6d48b1077a9 (commit) - Log ----------------------------------------------------------------- commit 7a5f5fd32a58e6c70cc0ce05a7d7391e4968663e Author: Frederik Wedel-Heinen Date: Thu Jun 13 14:13:42 2019 +0200 Update test/README Changed a bad reference: test/Makefile -> test/build.info Add ../apps/include as include path to include opt.h used by test/testutil.h. Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9154) ----------------------------------------------------------------------- Summary of changes: test/README | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/README b/test/README index ebe7784..9a09381 100644 --- a/test/README +++ b/test/README @@ -6,7 +6,8 @@ test/recipes/, named {nn}-test_{name}.t, where {nn} is a two digit number and {name} is a unique name of your choice. Please note that if a test involves a new testing executable, you will need to -do some additions in test/Makefile. More on this later. +do some additions in test/build.info. Please refer to the section "Changes to +test/build.info" below. Naming conventions @@ -100,7 +101,7 @@ to modify the include paths and source files if you don't want to use the basic test framework: SOURCE[{name}]={name}.c - INCLUDE[{name}]=.. ../include + INCLUDE[{name}]=.. ../include ../apps/include DEPEND[{name}]=../libcrypto libtestutil.a Generic form of C test executables From openssl at openssl.org Thu Jun 20 07:31:57 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 20 Jun 2019 07:31:57 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561015917.532197.24613.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: df9fd168ce Add SSL_shutdown to SSL_get_error's documentation 1fa90bb3a9 Fix UEFI build on FreeBSD by not including system headers 1ff030c0a6 Fix a doc-nits failure 8b7b32921e Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO a1998897f6 Add some internal documentation for some thread related functions 6913f5fe05 Provide an ability to deregister thread stop handlers d73458d17a Add tracing capability in test utilities 4cdb302fef Add extra error text in the property parser 03361afb3c Don't create an OPENSSL_CTX twice b720949ec0 ARIA documentation titled itself AES Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:221: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:225: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:231: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:234: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:284: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:301: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:304: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:313: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:317: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:352: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:136: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:139: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:142: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:179: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7074: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From builds at travis-ci.org Thu Jun 20 07:40:28 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 20 Jun 2019 07:40:28 +0000 Subject: Still Failing: openssl/openssl#25939 (master - 7a5f5fd) In-Reply-To: Message-ID: <5d0b386bbdc50_43fba9d128f80328312@c2969dd8-1245-470b-8373-ead2826d84d9.mail> Build Update for openssl/openssl ------------------------------------- Build: #25939 Status: Still Failing Duration: 22 mins and 18 secs Commit: 7a5f5fd (master) Author: Frederik Wedel-Heinen Message: Update test/README Changed a bad reference: test/Makefile -> test/build.info Add ../apps/include as include path to include opt.h used by test/testutil.h. Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9154) View the changeset: https://github.com/openssl/openssl/compare/df9fd168ceb1...7a5f5fd32a58 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/548073750?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 Thu Jun 20 12:26:27 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 12:26:27 +0000 Subject: Build failed: openssl master.25376 Message-ID: <20190620122627.1.B80BA7B8CF5C7428@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 20 13:16:45 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 13:16:45 +0000 Subject: Build failed: openssl master.25377 Message-ID: <20190620131645.1.ACFD698305B5CA00@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 20 13:47:17 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 13:47:17 +0000 Subject: Build failed: openssl master.25378 Message-ID: <20190620134717.1.56369909BCB748C3@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 20 14:13:40 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 14:13:40 +0000 Subject: Build completed: openssl master.25379 Message-ID: <20190620141340.1.9517EF5EE9A80166@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 20 14:58:14 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 14:58:14 +0000 Subject: Build failed: openssl master.25380 Message-ID: <20190620145814.1.DA39F06C5F6FC69F@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 20 15:37:30 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 15:37:30 +0000 Subject: Build failed: openssl master.25381 Message-ID: <20190620153730.1.DC6AC9CD4DF2C3A5@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Thu Jun 20 15:44:44 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 20 Jun 2019 15:44:44 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561045484.383107.13719.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: df9fd168ce Add SSL_shutdown to SSL_get_error's documentation 1fa90bb3a9 Fix UEFI build on FreeBSD by not including system headers 1ff030c0a6 Fix a doc-nits failure 8b7b32921e Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO a1998897f6 Add some internal documentation for some thread related functions 6913f5fe05 Provide an ability to deregister thread stop handlers d73458d17a Add tracing capability in test utilities 4cdb302fef Add extra error text in the property parser 03361afb3c Don't create an OPENSSL_CTX twice b720949ec0 ARIA documentation titled itself AES Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 274 wallclock secs ( 1.88 usr 0.38 sys + 256.13 cusr 21.13 csys = 279.52 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Thu Jun 20 16:07:40 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 16:07:40 +0000 Subject: Build completed: openssl master.25382 Message-ID: <20190620160740.1.3099939DF0A23CCC@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Thu Jun 20 16:19:18 2019 From: levitte at openssl.org (Richard Levitte) Date: Thu, 20 Jun 2019 16:19:18 +0000 Subject: [openssl] master update Message-ID: <1561047558.085154.19908.nullmailer@dev.openssl.org> The branch master has been updated via ba4341316ce762f917f973bb4ac604062fb11724 (commit) from 7a5f5fd32a58e6c70cc0ce05a7d7391e4968663e (commit) - Log ----------------------------------------------------------------- commit ba4341316ce762f917f973bb4ac604062fb11724 Author: Richard Levitte Date: Thu Jun 20 10:38:46 2019 +0200 test/testutil/init.c, apps/openssl.c: add trace cleanup handle earlier It turned out that the internal trace cleanup handler was added too late, so it would be executed before OPENSSL_cleanup(). This results in address errors, as the trace code that's executed in OPENSSL_cleanup() itself tries to reach for data that's been freed at that point. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9196) ----------------------------------------------------------------------- Summary of changes: apps/openssl.c | 8 +++++++- test/testutil/init.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/openssl.c b/apps/openssl.c index 9c0d933..7a490cc 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -216,6 +216,13 @@ static void setup_trace(const char *str) { char *val; + /* + * We add this handler as early as possible to ensure it's executed + * as late as possible, i.e. after the TRACE code has done its cleanup + * (which happens last in OPENSSL_cleanup). + */ + atexit(cleanup_trace); + trace_data_stack = sk_tracedata_new_null(); val = OPENSSL_strdup(str); @@ -240,7 +247,6 @@ static void setup_trace(const char *str) } OPENSSL_free(val); - atexit(cleanup_trace); } #endif /* OPENSSL_NO_TRACE */ diff --git a/test/testutil/init.c b/test/testutil/init.c index b4a7277..429c1a0 100644 --- a/test/testutil/init.c +++ b/test/testutil/init.c @@ -102,6 +102,13 @@ static void setup_trace(const char *str) { char *val; + /* + * We add this handler as early as possible to ensure it's executed + * as late as possible, i.e. after the TRACE code has done its cleanup + * (which happens last in OPENSSL_cleanup). + */ + atexit(cleanup_trace); + trace_data_stack = sk_tracedata_new_null(); val = OPENSSL_strdup(str); @@ -126,7 +133,6 @@ static void setup_trace(const char *str) } OPENSSL_free(val); - atexit(cleanup_trace); } #endif /* OPENSSL_NO_TRACE */ From openssl at openssl.org Thu Jun 20 16:39:36 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 20 Jun 2019 16:39:36 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561048776.558502.5252.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: df9fd168ce Add SSL_shutdown to SSL_get_error's documentation 1fa90bb3a9 Fix UEFI build on FreeBSD by not including system headers 1ff030c0a6 Fix a doc-nits failure 8b7b32921e Fix and document BIO_FLAGS_NONCLEAR_RST behavior on memory BIO a1998897f6 Add some internal documentation for some thread related functions 6913f5fe05 Provide an ability to deregister thread stop handlers d73458d17a Add tracing capability in test utilities 4cdb302fef Add extra error text in the property parser 03361afb3c Don't create an OPENSSL_CTX twice b720949ec0 ARIA documentation titled itself AES Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 272 wallclock secs ( 1.71 usr 0.42 sys + 254.38 cusr 21.80 csys = 278.31 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Thu Jun 20 16:41:31 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 20 Jun 2019 16:41:31 +0000 Subject: Still Failing: openssl/openssl#25955 (master - ba43413) In-Reply-To: Message-ID: <5d0bb73aeb69c_43fc77db3f20c8443a@a5f4119f-0c18-4376-acb2-12368cd0b3e0.mail> Build Update for openssl/openssl ------------------------------------- Build: #25955 Status: Still Failing Duration: 21 mins and 5 secs Commit: ba43413 (master) Author: Richard Levitte Message: test/testutil/init.c, apps/openssl.c: add trace cleanup handle earlier It turned out that the internal trace cleanup handler was added too late, so it would be executed before OPENSSL_cleanup(). This results in address errors, as the trace code that's executed in OPENSSL_cleanup() itself tries to reach for data that's been freed at that point. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9196) View the changeset: https://github.com/openssl/openssl/compare/7a5f5fd32a58...ba4341316ce7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/548288395?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 Thu Jun 20 21:33:28 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 20 Jun 2019 21:33:28 +0000 Subject: Build failed: openssl master.25395 Message-ID: <20190620213328.1.DE6E195A307ABD1F@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Thu Jun 20 22:30:30 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Thu, 20 Jun 2019 22:30:30 +0000 Subject: [openssl] master update Message-ID: <1561069830.328760.10561.nullmailer@dev.openssl.org> The branch master has been updated via 2d905f6715453034d1f942a0237b0d2b9d57326c (commit) from ba4341316ce762f917f973bb4ac604062fb11724 (commit) - Log ----------------------------------------------------------------- commit 2d905f6715453034d1f942a0237b0d2b9d57326c Author: Pauli Date: Thu Jun 20 11:24:17 2019 +1000 Print thread IDs nicely. Remove the union that effectively cast thread IDs to long integers before display and instead print a hex dump of the entire object. Refer #9191 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9194) ----------------------------------------------------------------------- Summary of changes: apps/openssl.c | 19 ++++++++----------- crypto/err/err_prn.c | 22 +++++++--------------- crypto/mem_dbg.c | 36 ++++++++++++------------------------ test/testutil/init.c | 19 ++++++++----------- 4 files changed, 35 insertions(+), 61 deletions(-) diff --git a/apps/openssl.c b/apps/openssl.c index 7a490cc..d6820a1 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -130,11 +130,8 @@ static size_t internal_trace_cb(const char *buf, size_t cnt, { int ret = 0; tracedata *trace_data = vdata; - union { - CRYPTO_THREAD_ID tid; - unsigned long ltid; - } tid; - char buffer[256]; + char buffer[256], *hex; + CRYPTO_THREAD_ID tid; switch (cmd) { case OSSL_TRACE_CTRL_BEGIN: @@ -142,11 +139,11 @@ static size_t internal_trace_cb(const char *buf, size_t cnt, return 0; trace_data->ingroup = 1; - tid.ltid = 0; - tid.tid = CRYPTO_THREAD_get_current_id(); - - BIO_snprintf(buffer, sizeof(buffer), "TRACE[%lx]:%s: ", tid.ltid, - OSSL_trace_get_category_name(category)); + tid = CRYPTO_THREAD_get_current_id(); + hex = OPENSSL_buf2hexstr((const unsigned char *)&tid, sizeof(tid)); + BIO_snprintf(buffer, sizeof(buffer), "TRACE[%s]:%s: ", + hex, OSSL_trace_get_category_name(category)); + OPENSSL_free(hex); BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX, strlen(buffer), buffer); break; diff --git a/crypto/err/err_prn.c b/crypto/err/err_prn.c index ba9a7c5..b43367f 100644 --- a/crypto/err/err_prn.c +++ b/crypto/err/err_prn.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,27 +16,19 @@ void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), void *u) { + CRYPTO_THREAD_ID tid = CRYPTO_THREAD_get_current_id(); unsigned long l; char buf[256]; - char buf2[4096]; + char buf2[4096], *hex; const char *file, *data; int line, flags; - /* - * We don't know what kind of thing CRYPTO_THREAD_ID is. Here is our best - * attempt to convert it into something we can print. - */ - union { - CRYPTO_THREAD_ID tid; - unsigned long ltid; - } tid; - - tid.ltid = 0; - tid.tid = CRYPTO_THREAD_get_current_id(); while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0) { ERR_error_string_n(l, buf, sizeof(buf)); - BIO_snprintf(buf2, sizeof(buf2), "%lu:%s:%s:%d:%s\n", tid.ltid, buf, - file, line, (flags & ERR_TXT_STRING) ? data : ""); + hex = OPENSSL_buf2hexstr((const unsigned char *)&tid, sizeof(tid)); + BIO_snprintf(buf2, sizeof(buf2), "%s:%s:%s:%d:%s\n", hex, buf, file, + line, (flags & ERR_TXT_STRING) ? data : ""); + OPENSSL_free(hex); if (cb(buf2, strlen(buf2), u) <= 0) break; /* abort outputting the error report */ } diff --git a/crypto/mem_dbg.c b/crypto/mem_dbg.c index 703cc30..8fcdbec 100644 --- a/crypto/mem_dbg.c +++ b/crypto/mem_dbg.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -455,20 +455,11 @@ typedef struct mem_leak_st { static void print_leak(const MEM *m, MEM_LEAK *l) { char buf[1024]; - char *bufp = buf; + char *bufp = buf, *hex; size_t len = sizeof(buf), ami_cnt; APP_INFO *amip; int n; struct tm *lcl = NULL; - /* - * Convert between CRYPTO_THREAD_ID (which could be anything at all) and - * a long. This may not be meaningful depending on what CRYPTO_THREAD_ID is - * but hopefully should give something sensible on most platforms - */ - union { - CRYPTO_THREAD_ID tid; - unsigned long ltid; - } tid; CRYPTO_THREAD_ID ti; lcl = localtime(&m->time); @@ -488,15 +479,11 @@ static void print_leak(const MEM *m, MEM_LEAK *l) bufp += n; len -= n; - tid.ltid = 0; - tid.tid = m->threadid; - n = BIO_snprintf(bufp, len, "thread=%lu, ", tid.ltid); - if (n <= 0) - return; - bufp += n; - len -= n; - - n = BIO_snprintf(bufp, len, "number=%d, address=%p\n", m->num, m->addr); + hex = OPENSSL_buf2hexstr((const unsigned char *)&m->threadid, + sizeof(m->threadid)); + n = BIO_snprintf(bufp, len, "thread=%s, number=%d, address=%p\n", hex, + m->num, m->addr); + OPENSSL_free(hex); if (n <= 0) return; bufp += n; @@ -522,11 +509,12 @@ static void print_leak(const MEM *m, MEM_LEAK *l) break; memset(buf, '>', ami_cnt); buf[ami_cnt] = '\0'; - tid.ltid = 0; - tid.tid = amip->threadid; + hex = OPENSSL_buf2hexstr((const unsigned char *)&amip->threadid, + sizeof(amip->threadid)); n = BIO_snprintf(buf + ami_cnt, sizeof(buf) - ami_cnt, - " thread=%lu, file=%s, line=%d, info=\"", - tid.ltid, amip->file, amip->line); + "thread=%s, file=%s, line=%d, info=\"", + hex, amip->file, amip->line); + OPENSSL_free(hex); if (n <= 0) break; buf_len = ami_cnt + n; diff --git a/test/testutil/init.c b/test/testutil/init.c index 429c1a0..7c6041a 100644 --- a/test/testutil/init.c +++ b/test/testutil/init.c @@ -1,5 +1,5 @@ /* - * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -24,21 +24,18 @@ static size_t internal_trace_cb(const char *buf, size_t cnt, { int ret = 0; tracedata *trace_data = vdata; - union { - CRYPTO_THREAD_ID tid; - unsigned long ltid; - } tid; - char buffer[256]; + char buffer[256], *hex; + CRYPTO_THREAD_ID tid; switch (cmd) { case OSSL_TRACE_CTRL_BEGIN: trace_data->ingroup = 1; - tid.ltid = 0; - tid.tid = CRYPTO_THREAD_get_current_id(); - - BIO_snprintf(buffer, sizeof(buffer), "TRACE[%lx]:%s: ", tid.ltid, - OSSL_trace_get_category_name(category)); + tid = CRYPTO_THREAD_get_current_id(); + hex = OPENSSL_buf2hexstr((const unsigned char *)&tid, sizeof(tid)); + BIO_snprintf(buffer, sizeof(buffer), "TRACE[%s]:%s: ", + hex, OSSL_trace_get_category_name(category)); + OPENSSL_free(hex); BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX, strlen(buffer), buffer); break; From builds at travis-ci.org Thu Jun 20 23:21:12 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 20 Jun 2019 23:21:12 +0000 Subject: Errored: openssl/openssl#25971 (master - 2d905f6) In-Reply-To: Message-ID: <5d0c14e8379e2_43fd69a5462d41703a8@ff8d7a43-2333-4c1b-86b3-5655efe61f69.mail> Build Update for openssl/openssl ------------------------------------- Build: #25971 Status: Errored Duration: 18 mins and 55 secs Commit: 2d905f6 (master) Author: Pauli Message: Print thread IDs nicely. Remove the union that effectively cast thread IDs to long integers before display and instead print a hex dump of the entire object. Refer #9191 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9194) View the changeset: https://github.com/openssl/openssl/compare/ba4341316ce7...2d905f671545 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/548432696?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 Fri Jun 21 06:44:59 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Fri, 21 Jun 2019 06:44:59 +0000 Subject: [openssl] master update Message-ID: <1561099499.265021.15409.nullmailer@dev.openssl.org> The branch master has been updated via 32ee452496f8cf4558d645f9db908b09df919f04 (commit) from 2d905f6715453034d1f942a0237b0d2b9d57326c (commit) - Log ----------------------------------------------------------------- commit 32ee452496f8cf4558d645f9db908b09df919f04 Author: Pauli Date: Fri Jun 21 09:27:48 2019 +1000 Remove OPENSSL_memcmp. After avoiding OPENSSL_memcmp for EC curve comparison, there are no remaining uses in the source code. The function is only defined in an internal header and thus should be safe to remove for 3.0.0. Reviewed-by: Tomas Mraz Reviewed-by: Dmitry Belyavskiy (Merged from https://github.com/openssl/openssl/pull/9207) ----------------------------------------------------------------------- Summary of changes: Configurations/unix-Makefile.tmpl | 1 - crypto/ec/ec_curve.c | 9 ++++----- crypto/o_str.c | 12 ------------ crypto/x509/v3_tlsf.c | 1 - include/internal/o_str.h | 17 ----------------- util/libcrypto.num | 2 +- util/missingcrypto.txt | 1 - 7 files changed, 5 insertions(+), 38 deletions(-) delete mode 100644 include/internal/o_str.h diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index ce93a4e..52eeaa9 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -804,7 +804,6 @@ errors: our @cryptoheaders = qw( include/internal/dso.h include/internal/o_dir.h - include/internal/o_str.h include/internal/err.h include/internal/sslconf.h ); our @cryptoskipheaders = ( @sslheaders, diff --git a/crypto/ec/ec_curve.c b/crypto/ec/ec_curve.c index 6c7c9dd..1ea8594 100644 --- a/crypto/ec/ec_curve.c +++ b/crypto/ec/ec_curve.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -14,7 +14,6 @@ #include #include #include "internal/nelem.h" -#include "internal/o_str.h" typedef struct { int field_type, /* either NID_X9_62_prime_field or @@ -3302,10 +3301,10 @@ int ec_curve_nid_from_params(const EC_GROUP *group) /* Check the optional seed (ignore if its not set) */ && (data->seed_len == 0 || seed_len == 0 || ((size_t)data->seed_len == seed_len - && OPENSSL_memcmp(params_seed, seed, seed_len) == 0)) + && memcmp(params_seed, seed, seed_len) == 0)) /* Check that the groups params match the built-in curve params */ - && OPENSSL_memcmp(param_bytes, params, param_len * NUM_BN_FIELDS) - == 0) { + && memcmp(param_bytes, params, param_len * NUM_BN_FIELDS) + == 0) { ret = curve.nid; goto end; } diff --git a/crypto/o_str.c b/crypto/o_str.c index 0403982..467ceb2 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -11,18 +11,6 @@ #include #include #include "internal/cryptlib.h" -#include "internal/o_str.h" - -int OPENSSL_memcmp(const void *v1, const void *v2, size_t n) -{ - const unsigned char *c1 = v1, *c2 = v2; - int ret = 0; - - while (n && (ret = *c1 - *c2) == 0) - n--, c1++, c2++; - - return ret; -} char *CRYPTO_strdup(const char *str, const char* file, int line) { diff --git a/crypto/x509/v3_tlsf.c b/crypto/x509/v3_tlsf.c index d3ab3f8..28e83bb 100644 --- a/crypto/x509/v3_tlsf.c +++ b/crypto/x509/v3_tlsf.c @@ -10,7 +10,6 @@ #include "e_os.h" #include "internal/cryptlib.h" #include -#include "internal/o_str.h" #include #include #include diff --git a/include/internal/o_str.h b/include/internal/o_str.h deleted file mode 100644 index dc236ca..0000000 --- a/include/internal/o_str.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2003-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the Apache License 2.0 (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 - */ - -#ifndef HEADER_O_STR_H -# define HEADER_O_STR_H - -# include /* to get size_t */ - -int OPENSSL_memcmp(const void *p1, const void *p2, size_t n); - -#endif diff --git a/util/libcrypto.num b/util/libcrypto.num index 0b18107..af6e2b9 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -462,7 +462,7 @@ X509v3_asid_add_id_or_range 462 3_0_0 EXIST::FUNCTION:RFC3779 X509_NAME_ENTRY_create_by_NID 463 3_0_0 EXIST::FUNCTION: EC_KEY_METHOD_get_init 464 3_0_0 EXIST::FUNCTION:EC ASN1_INTEGER_to_BN 465 3_0_0 EXIST::FUNCTION: -OPENSSL_memcmp 466 3_0_0 EXIST::FUNCTION: +OPENSSL_memcmp 466 3_0_0 NOEXIST::FUNCTION: BUF_MEM_new 467 3_0_0 EXIST::FUNCTION: DSO_set_filename 468 3_0_0 EXIST::FUNCTION: DH_new 469 3_0_0 EXIST::FUNCTION:DH diff --git a/util/missingcrypto.txt b/util/missingcrypto.txt index e68ddc8..30b1e2d 100644 --- a/util/missingcrypto.txt +++ b/util/missingcrypto.txt @@ -729,7 +729,6 @@ OPENSSL_gmtime_diff OPENSSL_init OPENSSL_isservice OPENSSL_issetugid -OPENSSL_memcmp OPENSSL_sk_deep_copy OPENSSL_sk_delete OPENSSL_sk_delete_ptr From builds at travis-ci.org Fri Jun 21 07:04:13 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 21 Jun 2019 07:04:13 +0000 Subject: Failed: openssl/openssl#25979 (master - 32ee452) In-Reply-To: Message-ID: <5d0c816d7b177_43feaabe7cd2412542a@3289e87e-0fae-4f1e-b5b0-e18eeb19e28a.mail> Build Update for openssl/openssl ------------------------------------- Build: #25979 Status: Failed Duration: 18 mins and 28 secs Commit: 32ee452 (master) Author: Pauli Message: Remove OPENSSL_memcmp. After avoiding OPENSSL_memcmp for EC curve comparison, there are no remaining uses in the source code. The function is only defined in an internal header and thus should be safe to remove for 3.0.0. Reviewed-by: Tomas Mraz Reviewed-by: Dmitry Belyavskiy (Merged from https://github.com/openssl/openssl/pull/9207) View the changeset: https://github.com/openssl/openssl/compare/2d905f671545...32ee452496f8 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/548542045?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 Fri Jun 21 07:47:20 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 21 Jun 2019 07:47:20 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561103240.005480.11121.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: ba4341316c test/testutil/init.c, apps/openssl.c: add trace cleanup handle earlier 7a5f5fd32a Update test/README Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:221: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:225: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:231: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:234: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:284: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:301: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:304: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:313: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:317: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:352: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:136: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:139: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:142: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:179: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7074: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Fri Jun 21 08:07:47 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 21 Jun 2019 08:07:47 +0000 Subject: Build failed: openssl master.25411 Message-ID: <20190621080747.1.1291CAA566E9C5BF@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 21 08:34:26 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 21 Jun 2019 08:34:26 +0000 Subject: Build completed: openssl master.25412 Message-ID: <20190621083426.1.C766A1727855F1FE@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 21 08:50:09 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 21 Jun 2019 08:50:09 +0000 Subject: Build failed: openssl master.25413 Message-ID: <20190621085009.1.AF7026E760A4BC7B@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Jun 21 09:51:17 2019 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 21 Jun 2019 09:51:17 +0000 Subject: Build completed: openssl master.25414 Message-ID: <20190621095117.1.9AA9440DDE99F804@appveyor.com> An HTML attachment was scrubbed... URL: From bernd.edlinger at hotmail.de Fri Jun 21 10:21:34 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Fri, 21 Jun 2019 10:21:34 +0000 Subject: [openssl] master update Message-ID: <1561112494.175078.9641.nullmailer@dev.openssl.org> The branch master has been updated via f8922b5107d098c78f846c8c999f96111345de8d (commit) from 32ee452496f8cf4558d645f9db908b09df919f04 (commit) - Log ----------------------------------------------------------------- commit f8922b5107d098c78f846c8c999f96111345de8d Author: Bernd Edlinger Date: Mon Jun 17 16:57:25 2019 +0200 Handle CTRL-C as non-redoable abort signal This is a bit annoying, if for instance "openssl genrsa -aes128" tries to read a 4+ character size password, but CTRL-C does no longer work after a RETURN key, since the flag UI_FLAG_REDOABLE is set by UI_set_result_ex, together with the error "You must type in 4 to 1023 characters". Thus remove the REDOABLE flag to allow CTRL-C to work. [extended tests] Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9170) ----------------------------------------------------------------------- Summary of changes: crypto/ui/ui_lib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/ui/ui_lib.c b/crypto/ui/ui_lib.c index a3a00652..8c3502e 100644 --- a/crypto/ui/ui_lib.c +++ b/crypto/ui/ui_lib.c @@ -500,6 +500,7 @@ int UI_process(UI *ui) if (ui->meth->ui_flush != NULL) switch (ui->meth->ui_flush(ui)) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */ @@ -517,6 +518,7 @@ int UI_process(UI *ui) sk_UI_STRING_value(ui->strings, i))) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */ From bernd.edlinger at hotmail.de Fri Jun 21 10:22:41 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Fri, 21 Jun 2019 10:22:41 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561112561.055557.10550.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via a7581949e463e198db21cb3c46a688a5cb4d1730 (commit) from 441c1e093feb9c98733a0fc524b7f82661de2322 (commit) - Log ----------------------------------------------------------------- commit a7581949e463e198db21cb3c46a688a5cb4d1730 Author: Bernd Edlinger Date: Mon Jun 17 16:57:25 2019 +0200 Handle CTRL-C as non-redoable abort signal This is a bit annoying, if for instance "openssl genrsa -aes128" tries to read a 4+ character size password, but CTRL-C does no longer work after a RETURN key, since the flag UI_FLAG_REDOABLE is set by UI_set_result_ex, together with the error "You must type in 4 to 1023 characters". Thus remove the REDOABLE flag to allow CTRL-C to work. [extended tests] Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9170) (cherry picked from commit f8922b5107d098c78f846c8c999f96111345de8d) ----------------------------------------------------------------------- Summary of changes: crypto/ui/ui_lib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/ui/ui_lib.c b/crypto/ui/ui_lib.c index 139485d..8dce578 100644 --- a/crypto/ui/ui_lib.c +++ b/crypto/ui/ui_lib.c @@ -500,6 +500,7 @@ int UI_process(UI *ui) if (ui->meth->ui_flush != NULL) switch (ui->meth->ui_flush(ui)) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */ @@ -517,6 +518,7 @@ int UI_process(UI *ui) sk_UI_STRING_value(ui->strings, i))) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */ From builds at travis-ci.org Fri Jun 21 10:41:14 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 21 Jun 2019 10:41:14 +0000 Subject: Still Failing: openssl/openssl#25985 (master - f8922b5) In-Reply-To: Message-ID: <5d0cb44a8b3e2_43fa29b03e788191577@9a7efed6-cbe5-48c3-950a-175bab3932dd.mail> Build Update for openssl/openssl ------------------------------------- Build: #25985 Status: Still Failing Duration: 19 mins and 2 secs Commit: f8922b5 (master) Author: Bernd Edlinger Message: Handle CTRL-C as non-redoable abort signal This is a bit annoying, if for instance "openssl genrsa -aes128" tries to read a 4+ character size password, but CTRL-C does no longer work after a RETURN key, since the flag UI_FLAG_REDOABLE is set by UI_set_result_ex, together with the error "You must type in 4 to 1023 characters". Thus remove the REDOABLE flag to allow CTRL-C to work. [extended tests] Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9170) View the changeset: https://github.com/openssl/openssl/compare/32ee452496f8...f8922b5107d0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/548616018?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 Fri Jun 21 16:09:14 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 21 Jun 2019 16:09:14 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561133354.476765.1837.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: ba4341316c test/testutil/init.c, apps/openssl.c: add trace cleanup handle earlier 7a5f5fd32a Update test/README Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 275 wallclock secs ( 1.79 usr 0.35 sys + 262.13 cusr 20.11 csys = 284.38 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Fri Jun 21 17:05:10 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 21 Jun 2019 17:05:10 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561136710.090053.25882.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: ba4341316c test/testutil/init.c, apps/openssl.c: add trace cleanup handle earlier 7a5f5fd32a Update test/README Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 264 wallclock secs ( 1.81 usr 0.38 sys + 246.98 cusr 20.77 csys = 269.94 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From levitte at openssl.org Sat Jun 22 07:02:28 2019 From: levitte at openssl.org (Richard Levitte) Date: Sat, 22 Jun 2019 07:02:28 +0000 Subject: [openssl] master update Message-ID: <1561186948.379117.19417.nullmailer@dev.openssl.org> The branch master has been updated via fe26f798526c14a3f8c9bb55d0eaf8eaa0d086e1 (commit) from f8922b5107d098c78f846c8c999f96111345de8d (commit) - Log ----------------------------------------------------------------- commit fe26f798526c14a3f8c9bb55d0eaf8eaa0d086e1 Author: Richard Levitte Date: Fri Jun 21 11:20:15 2019 +0200 OSSL_TRACE: ensure it's initialised When OSSL_TRACE functionality is called before anything else, it finds itself uninitialised, i.e. its global lock hasn't been created yet. Fortunately, we have an internal general setup function for the trace functionality, that makes for a perfect spot to trigger initialisation. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9212) ----------------------------------------------------------------------- Summary of changes: crypto/trace.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/crypto/trace.c b/crypto/trace.c index ecfc6d4..f4b9686 100644 --- a/crypto/trace.c +++ b/crypto/trace.c @@ -132,6 +132,8 @@ static const struct trace_category_st trace_categories[] = { TRACE_CATEGORY_(PKCS12_DECRYPT), TRACE_CATEGORY_(X509V3_POLICY), TRACE_CATEGORY_(BN_CTX), + TRACE_CATEGORY_(PROV), + TRACE_CATEGORY_(FETCH), }; const char *OSSL_trace_get_category_name(int num) @@ -223,9 +225,16 @@ static int set_trace_data(int category, int type, BIO **channel, int (*attach_cb)(int, int, const void *), int (*detach_cb)(int, int, const void *)) { - BIO *curr_channel = trace_channels[category].bio; - char *curr_prefix = trace_channels[category].prefix; - char *curr_suffix = trace_channels[category].suffix; + BIO *curr_channel = NULL; + char *curr_prefix = NULL; + char *curr_suffix = NULL; + + /* Ensure ossl_trace_init() is called */ + OPENSSL_init_crypto(0, NULL); + + curr_channel = trace_channels[category].bio; + curr_prefix = trace_channels[category].prefix; + curr_suffix = trace_channels[category].suffix; /* Make sure to run the detach callback first on all data */ if (prefix != NULL && curr_prefix != NULL) { From no-reply at appveyor.com Sat Jun 22 07:09:51 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 07:09:51 +0000 Subject: Build failed: openssl master.25422 Message-ID: <20190622070951.1.49FD6929E414992D@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 22 07:32:39 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 07:32:39 +0000 Subject: Build failed: openssl master.25423 Message-ID: <20190622073239.1.835A1B9E7AF92176@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Jun 22 07:27:51 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 22 Jun 2019 07:27:51 +0000 Subject: Still Failing: openssl/openssl#25992 (master - fe26f79) In-Reply-To: Message-ID: <5d0dd8779334e_43f83b1c4cc7c113035@9d0a0de7-f173-445b-b76f-3b047b254d01.mail> Build Update for openssl/openssl ------------------------------------- Build: #25992 Status: Still Failing Duration: 6 mins and 25 secs Commit: fe26f79 (master) Author: Richard Levitte Message: OSSL_TRACE: ensure it's initialised When OSSL_TRACE functionality is called before anything else, it finds itself uninitialised, i.e. its global lock hasn't been created yet. Fortunately, we have an internal general setup function for the trace functionality, that makes for a perfect spot to trigger initialisation. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9212) View the changeset: https://github.com/openssl/openssl/compare/f8922b5107d0...fe26f798526c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549021177?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 Jun 22 08:33:29 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 08:33:29 +0000 Subject: Build completed: openssl master.25424 Message-ID: <20190622083329.1.554231CA299C6D79@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 22 09:43:49 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 09:43:49 +0000 Subject: Build failed: openssl master.25425 Message-ID: <20190622094349.1.CB74169DDF00A7C2@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 22 13:38:43 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 13:38:43 +0000 Subject: Build failed: openssl master.25426 Message-ID: <20190622133843.1.240ADAD72EE078B5@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 22 16:09:59 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 16:09:59 +0000 Subject: Build failed: openssl master.25427 Message-ID: <20190622160959.1.468024324BC8EFB0@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Jun 22 16:16:36 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 22 Jun 2019 16:16:36 +0000 Subject: Build failed: openssl master.25428 Message-ID: <20190622161636.1.0DAAF9E728BA0360@appveyor.com> An HTML attachment was scrubbed... URL: From levitte at openssl.org Sat Jun 22 19:14:34 2019 From: levitte at openssl.org (Richard Levitte) Date: Sat, 22 Jun 2019 19:14:34 +0000 Subject: [openssl] master update Message-ID: <1561230874.917058.13703.nullmailer@dev.openssl.org> The branch master has been updated via 1d12afc310e8334e731d2c7acf1c3f1d0395cd03 (commit) from fe26f798526c14a3f8c9bb55d0eaf8eaa0d086e1 (commit) - Log ----------------------------------------------------------------- commit 1d12afc310e8334e731d2c7acf1c3f1d0395cd03 Author: Richard Levitte Date: Sat Jun 22 10:08:05 2019 +0200 crypto/trace.c: Remove unexisting categories Reverts an inadvertent change from commit fe26f798526c14a3f8c9bb55d0eaf8eaa0d086e1 Fixes #9220 Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9218) ----------------------------------------------------------------------- Summary of changes: crypto/trace.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/crypto/trace.c b/crypto/trace.c index f4b9686..d9524da 100644 --- a/crypto/trace.c +++ b/crypto/trace.c @@ -132,8 +132,6 @@ static const struct trace_category_st trace_categories[] = { TRACE_CATEGORY_(PKCS12_DECRYPT), TRACE_CATEGORY_(X509V3_POLICY), TRACE_CATEGORY_(BN_CTX), - TRACE_CATEGORY_(PROV), - TRACE_CATEGORY_(FETCH), }; const char *OSSL_trace_get_category_name(int num) From builds at travis-ci.org Sat Jun 22 19:39:44 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 22 Jun 2019 19:39:44 +0000 Subject: Still Failing: openssl/openssl#26000 (master - 1d12afc) In-Reply-To: Message-ID: <5d0e84009a09a_43f81197d19bc3378dc@010c7565-7672-494e-93ad-3fae19d17bf4.mail> Build Update for openssl/openssl ------------------------------------- Build: #26000 Status: Still Failing Duration: 24 mins and 23 secs Commit: 1d12afc (master) Author: Richard Levitte Message: crypto/trace.c: Remove unexisting categories Reverts an inadvertent change from commit fe26f798526c14a3f8c9bb55d0eaf8eaa0d086e1 Fixes #9220 Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9218) View the changeset: https://github.com/openssl/openssl/compare/fe26f798526c...1d12afc310e8 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549175240?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 Sun Jun 23 15:36:49 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 23 Jun 2019 15:36:49 +0000 Subject: Build failed: openssl master.25431 Message-ID: <20190623153649.1.195454727C767C1C@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 23 16:43:52 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 23 Jun 2019 16:43:52 +0000 Subject: Build failed: openssl master.25432 Message-ID: <20190623164352.1.71887F3100EE5B75@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 23 16:59:58 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 23 Jun 2019 16:59:58 +0000 Subject: Build failed: openssl master.25433 Message-ID: <20190623165958.1.031725E63F99A266@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Jun 23 18:16:51 2019 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 23 Jun 2019 18:16:51 +0000 Subject: Build completed: openssl master.25434 Message-ID: <20190623181651.1.15EE7147CA74BD26@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Jun 24 00:01:03 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 24 Jun 2019 00:01:03 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-capieng Message-ID: <1561334463.626282.30525.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-capieng Commit log since last time: 1d12afc310 crypto/trace.c: Remove unexisting categories fe26f79852 OSSL_TRACE: ensure it's initialised f8922b5107 Handle CTRL-C as non-redoable abort signal 32ee452496 Remove OPENSSL_memcmp. 2d905f6715 Print thread IDs nicely. Build log ended with (last 100 lines): /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13MCELFStreamer14EmitInstToDataERKNS_6MCInstERKNS_15MCSubtargetInfoE+0xe5)[0x7f91d7ef75a5] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm16MCObjectStreamer19EmitInstructionImplERKNS_6MCInstERKNS_15MCSubtargetInfoE+0x1c2)[0x7f91d7f080f2] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm16MCObjectStreamer15EmitInstructionERKNS_6MCInstERKNS_15MCSubtargetInfoEb+0x2b)[0x7f91d7f0812b] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x246ea30)[0x7f91d8baea30] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x2471436)[0x7f91d8bb1436] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm10AsmPrinter16EmitFunctionBodyEv+0x54c)[0x7f91d7590b9c] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x230155b)[0x7f91d8a4155b] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x90)[0x7f91d7202fe0] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x278)[0x7f91d70387f8] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x33)[0x7f91d7038843] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x30f)[0x7f91d703808f] /usr/lib/llvm-6.0/bin/clang(_ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_19HeaderSearchOptionsERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsERKN4llvm10DataLayoutEPNSE_6ModuleENS_13BackendActionESt10unique_ptrINSE_17raw_pwrite_streamESt14default_deleteISM_EE+0x1422)[0x55b3bd583a62] /usr/lib/llvm-6.0/bin/clang(+0xa598a4)[0x55b3bdb2e8a4] /usr/lib/llvm-6.0/bin/clang(_ZN5clang8ParseASTERNS_4SemaEbb+0x31a)[0x55b3bddda9aa] /usr/lib/llvm-6.0/bin/clang(_ZN5clang13CodeGenAction13ExecuteActionEv+0x37)[0x55b3bdb2da27] /usr/lib/llvm-6.0/bin/clang(_ZN5clang14FrontendAction7ExecuteEv+0xb6)[0x55b3bd964b56] /usr/lib/llvm-6.0/bin/clang(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x18c)[0x55b3bd92ebfc] /usr/lib/llvm-6.0/bin/clang(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xbc3)[0x55b3bda0ff13] /usr/lib/llvm-6.0/bin/clang(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x9e8)[0x55b3bd52de08] /usr/lib/llvm-6.0/bin/clang(main+0x2587)[0x55b3bd51c807] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f91d57ffb97] /usr/lib/llvm-6.0/bin/clang(_start+0x2a)[0x55b3bd52b8aa] Stack dump: 0. Program arguments: /usr/lib/llvm-6.0/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -mnoexecstack -disable-free -disable-llvm-verifier -discard-value-names -main-file-name options.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file /home/openssl/run-checker/no-capieng/test/testutil/libtestutil-lib-options.gcno -resource-dir /usr/lib/llvm-6.0/lib/clang/6.0.0 -dependency-file test/testutil/libtestutil-lib-options.d.tmp -MT test/testutil/libtestutil-lib-options.o -I include -I apps/include -I . -I ../openssl/include -I ../openssl/apps/include -I ../openssl -D DEBUG_UNUSED -D PEDANTIC -D OPENSSL_USE_NODELETE -D L_ENDIAN -D OPENSSL_PIC -D OPENSSLDIR="/usr/local/ssl" -D ENGINESDIR="/usr/local/lib/engines-3" -D MODULESDIR="/usr/local/lib/ossl-modules" -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-6.0/lib/clang/6.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -pedantic -fdebug-compilation-dir /home/openssl/run-checker/no-capieng -ferror-limit 19 -fmessage-length 0 -pthread -fobjc-runtime=gcc -fdiagnostics-show-option -o test/testutil/libtestutil-lib-options.o -x c ../openssl/test/testutil/options.c 1. parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '../openssl/test/testutil/options.c'. 4. Running pass 'X86 Assembly Printer' on function '@opt_check_usage' clang -Iinclude -Iapps/include -I. -I../openssl/include -I../openssl/apps/include -I../openssl -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF test/testutil/libtestutil-lib-tap_bio.d.tmp -MT test/testutil/libtestutil-lib-tap_bio.o -c -o test/testutil/libtestutil-lib-tap_bio.o ../openssl/test/testutil/tap_bio.c clang -Iinclude -Iapps/include -I. -I../openssl/include -I../openssl/apps/include -I../openssl -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF test/testutil/libtestutil-lib-test_cleanup.d.tmp -MT test/testutil/libtestutil-lib-test_cleanup.o -c -o test/testutil/libtestutil-lib-test_cleanup.o ../openssl/test/testutil/test_cleanup.c clang -Iinclude -Iapps/include -I. -I../openssl/include -I../openssl/apps/include -I../openssl -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF test/testutil/libtestutil-lib-test_options.d.tmp -MT test/testutil/libtestutil-lib-test_options.o -c -o test/testutil/libtestutil-lib-test_options.o ../openssl/test/testutil/test_options.c clang -Iinclude -Iapps/include -I. -I../openssl/include -I../openssl/apps/include -I../openssl -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF test/testutil/libtestutil-lib-tests.d.tmp -MT test/testutil/libtestutil-lib-tests.o -c -o test/testutil/libtestutil-lib-tests.o ../openssl/test/testutil/tests.c clang -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -c -o crypto/aes/libcrypto-shlib-aes-x86_64.o crypto/aes/aes-x86_64.s clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_cfb.d.tmp -MT crypto/aes/libcrypto-shlib-aes_cfb.o -c -o crypto/aes/libcrypto-shlib-aes_cfb.o ../openssl/crypto/aes/aes_cfb.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_ecb.d.tmp -MT crypto/aes/libcrypto-shlib-aes_ecb.o -c -o crypto/aes/libcrypto-shlib-aes_ecb.o ../openssl/crypto/aes/aes_ecb.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_ige.d.tmp -MT crypto/aes/libcrypto-shlib-aes_ige.o -c -o crypto/aes/libcrypto-shlib-aes_ige.o ../openssl/crypto/aes/aes_ige.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_misc.d.tmp -MT crypto/aes/libcrypto-shlib-aes_misc.o -c -o crypto/aes/libcrypto-shlib-aes_misc.o ../openssl/crypto/aes/aes_misc.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_ofb.d.tmp -MT crypto/aes/libcrypto-shlib-aes_ofb.o -c -o crypto/aes/libcrypto-shlib-aes_ofb.o ../openssl/crypto/aes/aes_ofb.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/aes/libcrypto-shlib-aes_wrap.d.tmp -MT crypto/aes/libcrypto-shlib-aes_wrap.o -c -o crypto/aes/libcrypto-shlib-aes_wrap.o ../openssl/crypto/aes/aes_wrap.c clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/output_helpers-e08c53.c clang: note: diagnostic msg: /tmp/output_helpers-e08c53.sh clang: note: diagnostic msg: ******************** Makefile:13023: recipe for target 'test/testutil/libtestutil-lib-output_helpers.o' failed make[1]: *** [test/testutil/libtestutil-lib-output_helpers.o] Error 254 make[1]: *** Waiting for unfinished jobs.... clang: error: unable to execute command: Segmentation fault (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/options-5caa47.c clang: note: diagnostic msg: /tmp/options-5caa47.sh clang: note: diagnostic msg: ******************** Makefile:13015: recipe for target 'test/testutil/libtestutil-lib-options.o' failed make[1]: *** [test/testutil/libtestutil-lib-options.o] Error 254 clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/init-ceaf82.c clang: note: diagnostic msg: /tmp/init-ceaf82.sh clang: note: diagnostic msg: ******************** Makefile:12999: recipe for target 'test/testutil/libtestutil-lib-init.o' failed make[1]: *** [test/testutil/libtestutil-lib-init.o] Error 254 make[1]: Leaving directory '/home/openssl/run-checker/no-capieng' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From pauli at openssl.org Mon Jun 24 00:36:10 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 00:36:10 +0000 Subject: [openssl] master update Message-ID: <1561336570.794639.26972.nullmailer@dev.openssl.org> The branch master has been updated via 0ccff7a7ea82a921f780a483fc91c6b90a1378d9 (commit) from 1d12afc310e8334e731d2c7acf1c3f1d0395cd03 (commit) - Log ----------------------------------------------------------------- commit 0ccff7a7ea82a921f780a483fc91c6b90a1378d9 Author: Pauli Date: Mon Jun 24 09:18:48 2019 +1000 Add documentation for CRYPTO_memcmp. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9225) ----------------------------------------------------------------------- Summary of changes: doc/man3/CRYPTO_memcmp.pod | 39 +++++++++++++++++++++++++++++++++++++++ util/missingcrypto.txt | 1 - util/missingcrypto111.txt | 1 - 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 doc/man3/CRYPTO_memcmp.pod diff --git a/doc/man3/CRYPTO_memcmp.pod b/doc/man3/CRYPTO_memcmp.pod new file mode 100644 index 0000000..9182d00 --- /dev/null +++ b/doc/man3/CRYPTO_memcmp.pod @@ -0,0 +1,39 @@ +=pod + +=head1 NAME + +CRYPTO_memcmp - Constant time memory comparison + +=head1 SYNOPSIS + + #include + + int CRYPTO_memcmp(const void *a, const void *b, size_t len); + +=head1 DESCRIPTION + +The CRYPTO_memcmp function compares the B bytes pointed to by B and B +for equality. +It takes an amount of time dependent on B, but independent of the +contents of the memory regions pointed to by B and B. + +=head1 RETURN VALUES + +CRYPTO_memcmp() returns 0 if the memory regions are equal and non-zero +otherwise. + +=head1 NOTES + +Unlike memcmp(2), this function cannot be used to order the two memory regions +as the return value when they differ is undefined, other than being non-zero. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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/util/missingcrypto.txt b/util/missingcrypto.txt index 30b1e2d..0dc4379 100644 --- a/util/missingcrypto.txt +++ b/util/missingcrypto.txt @@ -300,7 +300,6 @@ CRYPTO_gcm128_tag CRYPTO_mem_debug_free CRYPTO_mem_debug_malloc CRYPTO_mem_debug_realloc -CRYPTO_memcmp CRYPTO_memdup CRYPTO_nistcts128_decrypt CRYPTO_nistcts128_decrypt_block diff --git a/util/missingcrypto111.txt b/util/missingcrypto111.txt index 0b223af..1fb924b 100644 --- a/util/missingcrypto111.txt +++ b/util/missingcrypto111.txt @@ -317,7 +317,6 @@ CRYPTO_gcm128_tag CRYPTO_mem_debug_free CRYPTO_mem_debug_malloc CRYPTO_mem_debug_realloc -CRYPTO_memcmp CRYPTO_memdup CRYPTO_nistcts128_decrypt CRYPTO_nistcts128_decrypt_block From pauli at openssl.org Mon Jun 24 00:38:18 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 00:38:18 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561336698.073673.23029.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 1075139ca2b16229435c623fffbd58973d3970a7 (commit) from a7581949e463e198db21cb3c46a688a5cb4d1730 (commit) - Log ----------------------------------------------------------------- commit 1075139ca2b16229435c623fffbd58973d3970a7 Author: Pauli Date: Mon Jun 24 09:18:48 2019 +1000 Add documentation for CRYPTO_memcmp. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9225) (cherry picked from commit 0ccff7a7ea82a921f780a483fc91c6b90a1378d9) ----------------------------------------------------------------------- Summary of changes: doc/man3/CRYPTO_memcmp.pod | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 doc/man3/CRYPTO_memcmp.pod diff --git a/doc/man3/CRYPTO_memcmp.pod b/doc/man3/CRYPTO_memcmp.pod new file mode 100644 index 0000000..9182d00 --- /dev/null +++ b/doc/man3/CRYPTO_memcmp.pod @@ -0,0 +1,39 @@ +=pod + +=head1 NAME + +CRYPTO_memcmp - Constant time memory comparison + +=head1 SYNOPSIS + + #include + + int CRYPTO_memcmp(const void *a, const void *b, size_t len); + +=head1 DESCRIPTION + +The CRYPTO_memcmp function compares the B bytes pointed to by B and B +for equality. +It takes an amount of time dependent on B, but independent of the +contents of the memory regions pointed to by B and B. + +=head1 RETURN VALUES + +CRYPTO_memcmp() returns 0 if the memory regions are equal and non-zero +otherwise. + +=head1 NOTES + +Unlike memcmp(2), this function cannot be used to order the two memory regions +as the return value when they differ is undefined, other than being non-zero. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 From builds at travis-ci.org Mon Jun 24 01:00:48 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 01:00:48 +0000 Subject: Still Failing: openssl/openssl#26010 (master - 0ccff7a) In-Reply-To: Message-ID: <5d1020c077208_43f9b6b239d6c5376d@e6bc70d9-d490-4b84-b3d5-b056679b5086.mail> Build Update for openssl/openssl ------------------------------------- Build: #26010 Status: Still Failing Duration: 22 mins and 29 secs Commit: 0ccff7a (master) Author: Pauli Message: Add documentation for CRYPTO_memcmp. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9225) View the changeset: https://github.com/openssl/openssl/compare/1d12afc310e8...0ccff7a7ea82 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549511688?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 Jun 24 04:44:57 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 04:44:57 +0000 Subject: [openssl] master update Message-ID: <1561351497.267639.22454.nullmailer@dev.openssl.org> The branch master has been updated via 4e7991b497b65145ec5d570485020e1658208866 (commit) from 0ccff7a7ea82a921f780a483fc91c6b90a1378d9 (commit) - Log ----------------------------------------------------------------- commit 4e7991b497b65145ec5d570485020e1658208866 Author: Pauli Date: Mon Jun 24 14:43:55 2019 +1000 Change OSSL_PARAM return size to not be a pointer. Instead of referencing the return size from the OSSL_PARAM structure, make the size a field within the structure. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9135) ----------------------------------------------------------------------- Summary of changes: crypto/evp/digest.c | 12 +- crypto/params.c | 207 ++++++++++++++---------------- crypto/provider.c | 3 +- crypto/provider_core.c | 7 +- doc/internal/man3/ossl_provider_new.pod | 3 +- doc/man3/EVP_DigestInit.pod | 2 +- doc/man3/OSSL_PARAM.pod | 33 ++--- doc/man3/OSSL_PARAM_int.pod | 101 ++++++--------- doc/man3/OSSL_PROVIDER.pod | 4 +- include/internal/provider.h | 3 +- include/openssl/core.h | 2 +- include/openssl/core_numbers.h | 10 +- include/openssl/evp.h | 2 +- include/openssl/params.h | 153 ++++++++-------------- include/openssl/provider.h | 3 +- providers/common/ciphers/aes.c | 10 +- providers/common/digests/sha2_prov.c | 2 +- providers/common/digests/sha3_prov.c | 2 +- providers/default/defltprov.c | 5 +- providers/default/digests/md5_sha1_prov.c | 2 +- providers/fips/fipsprov.c | 5 +- providers/legacy/digests/mdc2_prov.c | 2 +- providers/legacy/legacyprov.c | 5 +- ssl/s3_enc.c | 3 +- test/mdc2test.c | 2 +- test/p_test.c | 16 +-- test/params_api_test.c | 110 +++++++--------- test/params_conversion_test.c | 4 +- test/params_test.c | 120 ++++++++--------- test/provider_internal_test.c | 5 +- test/provider_test.c | 5 +- util/libcrypto.num | 1 + util/private.num | 13 +- 33 files changed, 359 insertions(+), 498 deletions(-) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 604bf7f..9f19744 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -365,8 +365,7 @@ int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, size_t size) return 0; } - params[i++] = OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, - &size, NULL); + params[i++] = OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, &size); params[i++] = OSSL_PARAM_construct_end(); if (EVP_MD_CTX_set_params(ctx, params) > 0) @@ -532,7 +531,7 @@ int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) return 0; } -int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]) +int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]) { if (ctx->digest != NULL && ctx->digest->get_params != NULL) return ctx->digest->get_params(ctx->provctx, params); @@ -545,7 +544,7 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) if (ctx->digest != NULL) { if (ctx->digest->prov != NULL) { OSSL_PARAM params[2]; - size_t i, sz, n = 0; + size_t i, n = 0; switch (cmd) { case EVP_MD_CTRL_XOF_LEN: @@ -553,8 +552,7 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) break; i = (size_t)p1; params[n++] = - OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, &i, - &sz); + OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, &i); params[n++] = OSSL_PARAM_construct_end(); return ctx->digest->set_params(ctx->provctx, params); case EVP_MD_CTRL_MICALG: @@ -562,7 +560,7 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) break; params[n++] = OSSL_PARAM_construct_utf8_string(OSSL_DIGEST_PARAM_MICALG, - p2, p1 ? p1 : 9999, &sz); + p2, p1 ? p1 : 9999); params[n++] = OSSL_PARAM_construct_end(); return ctx->digest->get_params(ctx->provctx, params); } diff --git a/crypto/params.c b/crypto/params.c index 183884f..0c9e6f3 100644 --- a/crypto/params.c +++ b/crypto/params.c @@ -12,11 +12,7 @@ #include #include "internal/thread_once.h" -#define SET_RETURN_SIZE(p, sz) \ - if ((p)->return_size != NULL) \ - *(p)->return_size = (sz) - -const OSSL_PARAM *OSSL_PARAM_locate(const OSSL_PARAM *p, const char *key) +OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key) { if (p != NULL && key != NULL) for (; p->key != NULL; p++) @@ -25,9 +21,13 @@ const OSSL_PARAM *OSSL_PARAM_locate(const OSSL_PARAM *p, const char *key) return NULL; } +const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const char *key) +{ + return OSSL_PARAM_locate((OSSL_PARAM *)p, key); +} + static OSSL_PARAM ossl_param_construct(const char *key, unsigned int data_type, - void *data, size_t data_size, - size_t *return_size) + void *data, size_t data_size) { OSSL_PARAM res; @@ -35,7 +35,7 @@ static OSSL_PARAM ossl_param_construct(const char *key, unsigned int data_type, res.data_type = data_type; res.data = data; res.data_size = data_size; - res.return_size = return_size; + res.return_size = 0; return res; } @@ -50,7 +50,7 @@ int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val) return 0; } -int OSSL_PARAM_set_int(const OSSL_PARAM *p, int val) +int OSSL_PARAM_set_int(OSSL_PARAM *p, int val) { switch (sizeof(int)) { case sizeof(int32_t): @@ -61,10 +61,9 @@ int OSSL_PARAM_set_int(const OSSL_PARAM *p, int val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf, size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf) { - return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(int), - rsize); + return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(int)); } int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val) @@ -78,7 +77,7 @@ int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val) return 0; } -int OSSL_PARAM_set_uint(const OSSL_PARAM *p, unsigned int val) +int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val) { switch (sizeof(unsigned int)) { case sizeof(uint32_t): @@ -89,11 +88,10 @@ int OSSL_PARAM_set_uint(const OSSL_PARAM *p, unsigned int val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int *buf) { return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, buf, - sizeof(unsigned int), rsize); + sizeof(unsigned int)); } int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val) @@ -107,7 +105,7 @@ int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val) return 0; } -int OSSL_PARAM_set_long(const OSSL_PARAM *p, long int val) +int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val) { switch (sizeof(long int)) { case sizeof(int32_t): @@ -118,11 +116,9 @@ int OSSL_PARAM_set_long(const OSSL_PARAM *p, long int val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf) { - return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(long int), - rsize); + return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(long int)); } int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val) @@ -136,7 +132,7 @@ int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val) return 0; } -int OSSL_PARAM_set_ulong(const OSSL_PARAM *p, unsigned long int val) +int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val) { switch (sizeof(unsigned long int)) { case sizeof(uint32_t): @@ -147,11 +143,10 @@ int OSSL_PARAM_set_ulong(const OSSL_PARAM *p, unsigned long int val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long int *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long int *buf) { return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, buf, - sizeof(unsigned long int), rsize); + sizeof(unsigned long int)); } int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val) @@ -208,35 +203,35 @@ int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val) return 0; } -int OSSL_PARAM_set_int32(const OSSL_PARAM *p, int32_t val) +int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (p->data_type == OSSL_PARAM_INTEGER) { - SET_RETURN_SIZE(p, sizeof(int32_t)); /* Minimum expected size */ + p->return_size = sizeof(int32_t); /* Minimum expected size */ switch (p->data_size) { case sizeof(int32_t): *(int32_t *)p->data = val; return 1; case sizeof(int64_t): - SET_RETURN_SIZE(p, sizeof(int64_t)); + p->return_size = sizeof(int64_t); *(int64_t *)p->data = (int64_t)val; return 1; } } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) { - SET_RETURN_SIZE(p, sizeof(uint32_t)); /* Minimum expected size */ + p->return_size = sizeof(uint32_t); /* Minimum expected size */ switch (p->data_size) { case sizeof(uint32_t): *(uint32_t *)p->data = (uint32_t)val; return 1; case sizeof(uint64_t): - SET_RETURN_SIZE(p, sizeof(uint64_t)); + p->return_size = sizeof(uint64_t); *(uint64_t *)p->data = (uint64_t)val; return 1; } } else if (p->data_type == OSSL_PARAM_REAL) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(double): *(double *)p->data = (double)val; @@ -246,11 +241,10 @@ int OSSL_PARAM_set_int32(const OSSL_PARAM *p, int32_t val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf) { return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, - sizeof(int32_t), rsize); + sizeof(int32_t)); } int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val) @@ -307,25 +301,25 @@ int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val) return 0; } -int OSSL_PARAM_set_uint32(const OSSL_PARAM *p, uint32_t val) +int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { - SET_RETURN_SIZE(p, sizeof(uint32_t)); /* Minimum expected size */ + p->return_size = sizeof(uint32_t); /* Minimum expected size */ switch (p->data_size) { case sizeof(uint32_t): *(uint32_t *)p->data = val; return 1; case sizeof(uint64_t): - SET_RETURN_SIZE(p, sizeof(uint64_t)); + p->return_size = sizeof(uint64_t); *(uint64_t *)p->data = val; return 1; } } else if (p->data_type == OSSL_PARAM_INTEGER) { - SET_RETURN_SIZE(p, sizeof(int32_t)); /* Minimum expected size */ + p->return_size = sizeof(int32_t); /* Minimum expected size */ switch (p->data_size) { case sizeof(int32_t): if (val <= INT32_MAX) { @@ -334,12 +328,12 @@ int OSSL_PARAM_set_uint32(const OSSL_PARAM *p, uint32_t val) } break; case sizeof(int64_t): - SET_RETURN_SIZE(p, sizeof(int64_t)); + p->return_size = sizeof(int64_t); *(int64_t *)p->data = (int64_t)val; return 1; } } else if (p->data_type == OSSL_PARAM_REAL) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(double): *(double *)p->data = (double)val; @@ -349,11 +343,10 @@ int OSSL_PARAM_set_uint32(const OSSL_PARAM *p, uint32_t val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf) { return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, buf, - sizeof(uint32_t), rsize); + sizeof(uint32_t)); } int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val) @@ -400,19 +393,19 @@ int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val) return 0; } -int OSSL_PARAM_set_int64(const OSSL_PARAM *p, int64_t val) +int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val) { uint64_t u64; if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (p->data_type == OSSL_PARAM_INTEGER) { - SET_RETURN_SIZE(p, sizeof(int64_t)); /* Expected size */ + p->return_size = sizeof(int64_t); /* Expected size */ switch (p->data_size) { case sizeof(int32_t): if (val >= INT32_MIN && val <= INT32_MAX) { - SET_RETURN_SIZE(p, sizeof(int32_t)); + p->return_size = sizeof(int32_t); *(int32_t *)p->data = (int32_t)val; return 1; } @@ -422,11 +415,11 @@ int OSSL_PARAM_set_int64(const OSSL_PARAM *p, int64_t val) return 1; } } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) { - SET_RETURN_SIZE(p, sizeof(uint64_t)); /* Expected size */ + p->return_size = sizeof(uint64_t); /* Expected size */ switch (p->data_size) { case sizeof(uint32_t): if (val <= UINT32_MAX) { - SET_RETURN_SIZE(p, sizeof(uint32_t)); + p->return_size = sizeof(uint32_t); *(uint32_t *)p->data = (uint32_t)val; return 1; } @@ -436,7 +429,7 @@ int OSSL_PARAM_set_int64(const OSSL_PARAM *p, int64_t val) return 1; } } else if (p->data_type == OSSL_PARAM_REAL) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(double): u64 = val < 0 ? -val : val; @@ -450,11 +443,9 @@ int OSSL_PARAM_set_int64(const OSSL_PARAM *p, int64_t val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf) { - return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(int64_t), - rsize); + return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(int64_t)); } int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val) @@ -506,18 +497,18 @@ int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val) return 0; } -int OSSL_PARAM_set_uint64(const OSSL_PARAM *p, uint64_t val) +int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { - SET_RETURN_SIZE(p, sizeof(uint64_t)); /* Expected size */ + p->return_size = sizeof(uint64_t); /* Expected size */ switch (p->data_size) { case sizeof(uint32_t): if (val <= UINT32_MAX) { - SET_RETURN_SIZE(p, sizeof(uint32_t)); + p->return_size = sizeof(uint32_t); *(uint32_t *)p->data = (uint32_t)val; return 1; } @@ -527,11 +518,11 @@ int OSSL_PARAM_set_uint64(const OSSL_PARAM *p, uint64_t val) return 1; } } else if (p->data_type == OSSL_PARAM_INTEGER) { - SET_RETURN_SIZE(p, sizeof(int64_t)); /* Expected size */ + p->return_size = sizeof(int64_t); /* Expected size */ switch (p->data_size) { case sizeof(int32_t): if (val <= INT32_MAX) { - SET_RETURN_SIZE(p, sizeof(int32_t)); + p->return_size = sizeof(int32_t); *(int32_t *)p->data = (int32_t)val; return 1; } @@ -544,7 +535,7 @@ int OSSL_PARAM_set_uint64(const OSSL_PARAM *p, uint64_t val) break; } } else if (p->data_type == OSSL_PARAM_REAL) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(double): if ((val >> 53) == 0) { /* 53 significant bits in the mantissa */ @@ -557,10 +548,10 @@ int OSSL_PARAM_set_uint64(const OSSL_PARAM *p, uint64_t val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf, - size_t *rsize) { +OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf) +{ return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, buf, - sizeof(uint64_t), rsize); + sizeof(uint64_t)); } int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val) @@ -574,7 +565,7 @@ int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val) return 0; } -int OSSL_PARAM_set_size_t(const OSSL_PARAM *p, size_t val) +int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val) { switch (sizeof(size_t)) { case sizeof(uint32_t): @@ -585,11 +576,11 @@ int OSSL_PARAM_set_size_t(const OSSL_PARAM *p, size_t val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf) { return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, buf, - sizeof(size_t), rsize); } + sizeof(size_t)); +} #ifndef FIPS_MODE /* @@ -615,13 +606,13 @@ int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val) return 0; } -int OSSL_PARAM_set_BN(const OSSL_PARAM *p, const BIGNUM *val) +int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val) { size_t bytes; if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (val == NULL || p->data_type != OSSL_PARAM_UNSIGNED_INTEGER) return 0; @@ -630,16 +621,16 @@ int OSSL_PARAM_set_BN(const OSSL_PARAM *p, const BIGNUM *val) return 0; bytes = (size_t)BN_num_bytes(val); - SET_RETURN_SIZE(p, bytes); + p->return_size = bytes; return p->data_size >= bytes && BN_bn2nativepad(val, p->data, bytes) >= 0; } OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char *buf, - size_t bsize, size_t *rsize) + size_t bsize) { return ossl_param_construct(key, OSSL_PARAM_UNSIGNED_INTEGER, - buf, bsize, rsize); + buf, bsize); } #endif @@ -688,14 +679,14 @@ int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val) return 0; } -int OSSL_PARAM_set_double(const OSSL_PARAM *p, double val) +int OSSL_PARAM_set_double(OSSL_PARAM *p, double val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (p->data_type == OSSL_PARAM_REAL) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(double): *(double *)p->data = val; @@ -703,35 +694,35 @@ int OSSL_PARAM_set_double(const OSSL_PARAM *p, double val) } } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val == (uintmax_t)val) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(uint32_t): if (val >= 0 && val <= UINT32_MAX) { - SET_RETURN_SIZE(p, sizeof(uint32_t)); + p->return_size = sizeof(uint32_t); *(uint32_t *)p->data = (uint32_t)val; return 1; } break; case sizeof(uint64_t): if (val >= 0 && val <= UINT64_MAX) { - SET_RETURN_SIZE(p, sizeof(uint64_t)); + p->return_size = sizeof(uint64_t); *(uint64_t *)p->data = (uint64_t)val; return 1; } break; } } else if (p->data_type == OSSL_PARAM_INTEGER && val == (intmax_t)val) { - SET_RETURN_SIZE(p, sizeof(double)); + p->return_size = sizeof(double); switch (p->data_size) { case sizeof(int32_t): if (val >= INT32_MIN && val <= INT32_MAX) { - SET_RETURN_SIZE(p, sizeof(int32_t)); + p->return_size = sizeof(int32_t); *(int32_t *)p->data = (int32_t)val; return 1; } break; case sizeof(int64_t): if (val >= INT64_MIN && val <= INT64_MAX) { - SET_RETURN_SIZE(p, sizeof(int64_t)); + p->return_size = sizeof(int64_t); *(int64_t *)p->data = (int64_t)val; return 1; } @@ -741,11 +732,9 @@ int OSSL_PARAM_set_double(const OSSL_PARAM *p, double val) return 0; } -OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf, - size_t *rsize) +OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf) { - return ossl_param_construct(key, OSSL_PARAM_REAL, buf, sizeof(double), - rsize); + return ossl_param_construct(key, OSSL_PARAM_REAL, buf, sizeof(double)); } static int get_string_internal(const OSSL_PARAM *p, void **val, size_t max_len, @@ -789,10 +778,10 @@ int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len, OSSL_PARAM_OCTET_STRING); } -static int set_string_internal(const OSSL_PARAM *p, const void *val, size_t len, +static int set_string_internal(OSSL_PARAM *p, const void *val, size_t len, unsigned int type) { - SET_RETURN_SIZE(p, len); + p->return_size = len; if (p->data_type != type || p->data_size < len) return 0; @@ -800,41 +789,39 @@ static int set_string_internal(const OSSL_PARAM *p, const void *val, size_t len, return 1; } -int OSSL_PARAM_set_utf8_string(const OSSL_PARAM *p, const char *val) +int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (val == NULL) return 0; return set_string_internal(p, val, strlen(val) + 1, OSSL_PARAM_UTF8_STRING); } -int OSSL_PARAM_set_octet_string(const OSSL_PARAM *p, const void *val, +int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, size_t len) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (val == NULL) return 0; return set_string_internal(p, val, len, OSSL_PARAM_OCTET_STRING); } OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char *buf, - size_t bsize, size_t *rsize) + size_t bsize) { - return ossl_param_construct(key, OSSL_PARAM_UTF8_STRING, buf, bsize, - rsize); + return ossl_param_construct(key, OSSL_PARAM_UTF8_STRING, buf, bsize); } OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf, - size_t bsize, size_t *rsize) + size_t bsize) { - return ossl_param_construct(key, OSSL_PARAM_OCTET_STRING, buf, bsize, - rsize); + return ossl_param_construct(key, OSSL_PARAM_OCTET_STRING, buf, bsize); } static int get_ptr_internal(const OSSL_PARAM *p, const void **val, @@ -859,47 +846,47 @@ int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val, return get_ptr_internal(p, val, used_len, OSSL_PARAM_OCTET_PTR); } -static int set_ptr_internal(const OSSL_PARAM *p, const void *val, +static int set_ptr_internal(OSSL_PARAM *p, const void *val, unsigned int type, size_t len) { - SET_RETURN_SIZE(p, len); + p->return_size = len; if (p->data_type != type) return 0; *(const void **)p->data = val; return 1; } -int OSSL_PARAM_set_utf8_ptr(const OSSL_PARAM *p, const char *val) +int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (val == NULL) return 0; return set_ptr_internal(p, val, OSSL_PARAM_UTF8_PTR, strlen(val) + 1); } -int OSSL_PARAM_set_octet_ptr(const OSSL_PARAM *p, const void *val, +int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, size_t used_len) { if (p == NULL) return 0; - SET_RETURN_SIZE(p, 0); + p->return_size = 0; if (val == NULL) return 0; return set_ptr_internal(p, val, OSSL_PARAM_OCTET_PTR, used_len); } OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf, - size_t bsize, size_t *rsize) + size_t bsize) { - return ossl_param_construct(key, OSSL_PARAM_UTF8_PTR, buf, bsize, rsize); + return ossl_param_construct(key, OSSL_PARAM_UTF8_PTR, buf, bsize); } OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf, - size_t bsize, size_t *rsize) + size_t bsize) { - return ossl_param_construct(key, OSSL_PARAM_OCTET_PTR, buf, bsize, rsize); + return ossl_param_construct(key, OSSL_PARAM_OCTET_PTR, buf, bsize); } OSSL_PARAM OSSL_PARAM_construct_end(void) diff --git a/crypto/provider.c b/crypto/provider.c index 2495024..4e21bfe 100644 --- a/crypto/provider.c +++ b/crypto/provider.c @@ -40,8 +40,7 @@ const OSSL_ITEM *OSSL_PROVIDER_get_param_types(const OSSL_PROVIDER *prov) return ossl_provider_get_param_types(prov); } -int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { return ossl_provider_get_params(prov, params); } diff --git a/crypto/provider_core.c b/crypto/provider_core.c index 274bdf9..f1b3925 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -603,8 +603,7 @@ const OSSL_ITEM *ossl_provider_get_param_types(const OSSL_PROVIDER *prov) ? NULL : prov->get_param_types(prov->provctx); } -int ossl_provider_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { return prov->get_params == NULL ? 0 : prov->get_params(prov->provctx, params); @@ -641,10 +640,10 @@ static const OSSL_ITEM *core_get_param_types(const OSSL_PROVIDER *prov) return param_types; } -static int core_get_params(const OSSL_PROVIDER *prov, const OSSL_PARAM params[]) +static int core_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { int i; - const OSSL_PARAM *p; + OSSL_PARAM *p; if ((p = OSSL_PARAM_locate(params, "openssl-version")) != NULL) OSSL_PARAM_set_utf8_ptr(p, OPENSSL_VERSION_STR); diff --git a/doc/internal/man3/ossl_provider_new.pod b/doc/internal/man3/ossl_provider_new.pod index 0453508..9e96c72 100644 --- a/doc/internal/man3/ossl_provider_new.pod +++ b/doc/internal/man3/ossl_provider_new.pod @@ -47,8 +47,7 @@ ossl_provider_get_params, ossl_provider_query_operation /* Thin wrappers around calls to the provider */ void ossl_provider_teardown(const OSSL_PROVIDER *prov); const OSSL_ITEM *ossl_provider_get_param_types(const OSSL_PROVIDER *prov); - int ossl_provider_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]); + int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]); const OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER *prov, int operation_id, int *no_cache); diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod index ec8f6cc..bc10fa3 100644 --- a/doc/man3/EVP_DigestInit.pod +++ b/doc/man3/EVP_DigestInit.pod @@ -22,7 +22,7 @@ EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); void EVP_MD_CTX_free(EVP_MD_CTX *ctx); void EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void* p2); - int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); + int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]); int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); diff --git a/doc/man3/OSSL_PARAM.pod b/doc/man3/OSSL_PARAM.pod index fb8c6fd..fbe37b4 100644 --- a/doc/man3/OSSL_PARAM.pod +++ b/doc/man3/OSSL_PARAM.pod @@ -14,7 +14,7 @@ OSSL_PARAM - a structure to pass or request object parameters unsigned char data_type; /* declare what kind of content is in data */ void *data; /* value being passed in or out */ size_t data_size; /* data size */ - size_t *return_size; /* OPTIONAL: address to content size */ + size_t return_size; /* returned size */ }; =head1 DESCRIPTION @@ -143,7 +143,7 @@ C must be set to the size of the data, not the size of the pointer to the data. If this is used in a parameter request, C is not relevant. However, the I will set -C<*return_size> to the size of the data. +C to the size of the data. Note that the use of this type is B and can only be safely used for data that remains constant and in a constant location for a @@ -166,7 +166,7 @@ C must be set to the size of the data, not the size of the pointer to the data. If this is used in a parameter request, C is not relevant. However, the I will set -C<*return_size> to the size of the data. +C to the size of the data. Note that the use of this type is B and can only be safely used for data that remains constant and in a constant location for a @@ -196,9 +196,10 @@ enough set of data, that call should succeed. =item * -A I must never change the fields of an C, it -may only change the contents of the memory that C and -C point at. +Apart from the C, a I must never change the fields +of an C. +To return a value, it should change the contents of the memory that +C points at. =item * @@ -214,7 +215,7 @@ C), but this is in no way mandatory. =item * If a I finds that some data sizes are too small for the -requested data, it must set C<*return_size> for each such +requested data, it must set C for each such C item to the required size, and eventually return an error. @@ -244,9 +245,9 @@ This example is for setting parameters on some object: const char *foo = "some string"; size_t foo_l = strlen(foo) + 1; const char bar[] = "some other string"; - const OSSL_PARAM set[] = { - { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, foo_l, NULL }, - { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), NULL }, + OSSL_PARAM set[] = { + { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, foo_l, 0 }, + { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), 0 }, { NULL, 0, NULL, 0, NULL } }; @@ -258,26 +259,26 @@ This example is for requesting parameters on some object: size_t foo_l; char bar[1024]; size_t bar_l; - const OSSL_PARAM request[] = { - { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, 0 /*irrelevant*/, &foo_l }, - { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), &bar_l }, + OSSL_PARAM request[] = { + { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, 0 /*irrelevant*/, 0 }, + { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), 0 }, { NULL, 0, NULL, 0, NULL } }; A I that receives this array (as C in this example) could fill in the parameters like this: - /* const OSSL_PARAM *params */ + /* OSSL_PARAM *params */ int i; for (i = 0; params[i].key != NULL; i++) { if (strcmp(params[i].key, "foo") == 0) { *(char **)params[i].data = "foo value"; - *params[i].return_size = 10; /* size of "foo value" */ + params[i].return_size = 10; /* size of "foo value" */ } else if (strcmp(params[i].key, "bar") == 0) { memcpy(params[i].data, "bar value", 10); - *params[i].return_size = 10; /* size of "bar value" */ + params[i].return_size = 10; /* size of "bar value" */ } /* Ignore stuff we don't know */ } diff --git a/doc/man3/OSSL_PARAM_int.pod b/doc/man3/OSSL_PARAM_int.pod index f8d8c50..6d19068 100644 --- a/doc/man3/OSSL_PARAM_int.pod +++ b/doc/man3/OSSL_PARAM_int.pod @@ -4,14 +4,9 @@ OSSL_PARAM_double, OSSL_PARAM_int, OSSL_PARAM_int32, OSSL_PARAM_int64, OSSL_PARAM_long, OSSL_PARAM_size_t, OSSL_PARAM_uint, OSSL_PARAM_uint32, -OSSL_PARAM_uint64, OSSL_PARAM_ulong, OSSL_PARAM_utf8_string, +OSSL_PARAM_uint64, OSSL_PARAM_ulong, OSSL_PARAM_BN, OSSL_PARAM_utf8_string, OSSL_PARAM_octet_string, OSSL_PARAM_utf8_ptr, OSSL_PARAM_octet_ptr, -OSSL_PARAM_SIZED_double, OSSL_PARAM_SIZED_int, OSSL_PARAM_SIZED_int32, -OSSL_PARAM_SIZED_int64, OSSL_PARAM_SIZED_long, OSSL_PARAM_SIZED_size_t, -OSSL_PARAM_SIZED_uint, OSSL_PARAM_SIZED_uint32, OSSL_PARAM_SIZED_uint64, -OSSL_PARAM_SIZED_ulong, OSSL_PARAM_SIZED_BN, OSSL_PARAM_SIZED_utf8_string, -OSSL_PARAM_SIZED_octet_string, OSSL_PARAM_SIZED_utf8_ptr, -OSSL_PARAM_SIZED_octet_ptr, OSSL_PARAM_END, OSSL_PARAM_construct_double, +OSSL_PARAM_END, OSSL_PARAM_construct_BN, OSSL_PARAM_construct_double, OSSL_PARAM_construct_int, OSSL_PARAM_construct_int32, OSSL_PARAM_construct_int64, OSSL_PARAM_construct_long, OSSL_PARAM_construct_size_t, OSSL_PARAM_construct_uint, @@ -19,15 +14,15 @@ OSSL_PARAM_construct_uint32, OSSL_PARAM_construct_uint64, OSSL_PARAM_construct_ulong, OSSL_PARAM_END, OSSL_PARAM_construct_BN, OSSL_PARAM_construct_utf8_string, OSSL_PARAM_construct_utf8_ptr, OSSL_PARAM_construct_octet_string, OSSL_PARAM_construct_octet_ptr, -OSSL_PARAM_construct_end, OSSL_PARAM_locate, OSSL_PARAM_get_double, -OSSL_PARAM_get_int, OSSL_PARAM_get_int32, OSSL_PARAM_get_int64, -OSSL_PARAM_get_long, OSSL_PARAM_get_size_t, OSSL_PARAM_get_uint, -OSSL_PARAM_get_uint32, OSSL_PARAM_get_uint64, OSSL_PARAM_get_ulong, -OSSL_PARAM_set_double, OSSL_PARAM_set_int, OSSL_PARAM_set_int32, -OSSL_PARAM_set_int64, OSSL_PARAM_set_long, OSSL_PARAM_set_size_t, -OSSL_PARAM_set_uint, OSSL_PARAM_set_uint32, OSSL_PARAM_set_uint64, -OSSL_PARAM_set_ulong, OSSL_PARAM_get_BN, OSSL_PARAM_set_BN, -OSSL_PARAM_get_utf8_string, OSSL_PARAM_set_utf8_string, +OSSL_PARAM_construct_end, OSSL_PARAM_locate, OSSL_PARAM_locate_const, +OSSL_PARAM_get_double, OSSL_PARAM_get_int, OSSL_PARAM_get_int32, +OSSL_PARAM_get_int64, OSSL_PARAM_get_long, OSSL_PARAM_get_size_t, +OSSL_PARAM_get_uint, OSSL_PARAM_get_uint32, OSSL_PARAM_get_uint64, +OSSL_PARAM_get_ulong, OSSL_PARAM_set_double, OSSL_PARAM_set_int, +OSSL_PARAM_set_int32, OSSL_PARAM_set_int64, OSSL_PARAM_set_long, +OSSL_PARAM_set_size_t, OSSL_PARAM_set_uint, OSSL_PARAM_set_uint32, +OSSL_PARAM_set_uint64, OSSL_PARAM_set_ulong, OSSL_PARAM_get_BN, +OSSL_PARAM_set_BN, OSSL_PARAM_get_utf8_string, OSSL_PARAM_set_utf8_string, OSSL_PARAM_get_octet_string, OSSL_PARAM_set_octet_string, OSSL_PARAM_get_utf8_ptr, OSSL_PARAM_set_utf8_ptr, OSSL_PARAM_get_octet_ptr, OSSL_PARAM_set_octet_ptr @@ -44,52 +39,46 @@ OSSL_PARAM_set_octet_ptr #define OSSL_PARAM_octet_string(key, address, size) #define OSSL_PARAM_utf8_ptr(key, address, size) #define OSSL_PARAM_octet_ptr(key, address, size) - - #define OSSL_PARAM_SIZED_TYPE(key, address, return_size) - #define OSSL_PARAM_SIZED_BN(key, address, size, return_size) - #define OSSL_PARAM_SIZED_utf8_string(key, address, size, return_size) - #define OSSL_PARAM_SIZED_octet_string(key, address, size, return_size) - #define OSSL_PARAM_SIZED_utf8_ptr(key, address, size, return_size) - #define OSSL_PARAM_SIZED_octet_ptr(key, address, size, return_size) - + #define OSSL_PARAM_BN(key, address, size) #define OSSL_PARAM_END OSSL_PARAM OSSL_PARAM_construct_TYPE(const char *key, TYPE *buf, size_t *ret); OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char *buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char *buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_end(void); OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *array, const char *key); + const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *array, + const char *key); int OSSL_PARAM_get_TYPE(const OSSL_PARAM *p, const char *key, TYPE *val); - int OSSL_PARAM_set_TYPE(const OSSL_PARAM *p, const char *key, TYPE val); + int OSSL_PARAM_set_TYPE(OSSL_PARAM *p, const char *key, TYPE val); int OSSL_PARAM_get_BN(const OSSL_PARAM *p, const char *key, BIGNUM **val); - int OSSL_PARAM_set_BN(const OSSL_PARAM *p, const char *key, const BIGNUM *val); + int OSSL_PARAM_set_BN(OSSL_PARAM *p, const char *key, const BIGNUM *val); int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len); - int OSSL_PARAM_set_utf8_string(const OSSL_PARAM *p, const char *val); + int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val); int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len, size_t *used_len); - int OSSL_PARAM_set_octet_string(const OSSL_PARAM *p, const void *val, - size_t len); + int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, size_t len); int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, char **val); - int OSSL_PARAM_set_utf8_ptr(const OSSL_PARAM *p, char *val); + int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, char *val); int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, void **val, size_t *used_len); - int OSSL_PARAM_set_octet_ptr(const OSSL_PARAM *p, void *val, size_t used_len); + int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, void *val, size_t used_len); =head1 DESCRIPTION @@ -146,26 +135,11 @@ Each of these macros defines a parameter of the specified B with the provided B and parameter variable B
. OSSL_PARAM_utf8_string(), OSSL_PARAM_octet_string(), OSSL_PARAM_utf8_ptr(), -OSSL_PARAM_octet_ptr() are macros that provide support for defining UTF8 -strings and OCTET strings. +OSSL_PARAM_octet_ptr(), OSSL_PARAM_BN() are macros that provide support +for defining UTF8 strings, OCTET strings and big numbers. A parameter with name B is defined. The storage for this parameter is at B
and is of B bytes. -OSSL_PARAM_SIZED_TYPE() are a second series of macros designed to assist with -the initialisation of OSSL_PARAM structures. -They are similar to the OSSL_PARAM_TYPE() macros but also include a -B argument which contains the address of a size_t variable which -will be populated with the actual size of the parameter upon return from a -OSSL_PARAM_set_TYPE() call. - -OSSL_PARAM_SIZED_BN(), OSSL_PARAM_SIZED_utf8_string(), -OSSL_PARAM_SIZED_octet_string(), OSSL_PARAM_SIZED_utf8_ptr(), -OSSL_PARAM_SIZED_octet_ptr() are macros that provide support for defining large -integers, UTF8 string and OCTET strings in an OSSL_PARAM array. -A parameter with name B is defined. -The storage for this parameter is at B
and is of B bytes. -The size used by the parameter value, in bytes, is written to B. - OSSL_PARAM_END provides an end of parameter list marker. This should terminate all OSSL_PARAM arrays. @@ -205,6 +179,9 @@ OSSL_PARAM structure. OSSL_PARAM_locate() is a function that searches an B of parameters for the one matching the B name. +OSSL_PARAM_locate_const() behaves exactly like OSSL_PARAM_locate() except for +the presence of I for the B argument and its return value. + OSSL_PARAM_get_TYPE() retrieves a value of type B from the parameter B

. The value is copied to the address B. Type coercion takes place as discussed in the NOTES section. @@ -260,9 +237,9 @@ OSSL_PARAM_construct_utf8_string(), OSSL_PARAM_construct_octet_string(), OSSL_PARAM_construct_utf8_ptr() and OSSL_PARAM_construct_octet_ptr() return a populated OSSL_PARAM structure. -OSSL_PARAM_locate() returns a pointer to the matching OSSL_PARAM object. -It returns B on error or when no object matching B exists in -the B. +OSSL_PARAM_locate() and OSSL_PARAM_locate_const() return a pointer to +the matching OSSL_PARAM object. They return B on error or when +no object matching B exists in the B. All other functions return B<1> on success and B<0> on failure. @@ -308,21 +285,19 @@ demonstrates that the requestor isn't obligated to request all available parameters: const char *foo = NULL; - size_t foo_l; char bar[1024]; - size_t bar_l; - const OSSL_PARAM request[] = { - OSSL_PARAM_UTF8_PTR("foo", foo, 0, foo_l), - OSSL_PARAM_UTF8_STRING("bar", bar, sizeof(bar), bar_l), + OSSL_PARAM request[] = { + OSSL_PARAM_utf8_ptr("foo", foo, 0), + OSSL_PARAM_utf8_string("bar", bar, sizeof(bar)), OSSL_PARAM_END }; A I that receives this array (as C in this example) could fill in the parameters like this: - /* const OSSL_PARAM *params */ + /* OSSL_PARAM *params */ - const OSSL_PARAM *p; + OSSL_PARAM *p; if ((p = OSSL_PARAM_locate(params, "foo")) == NULL) OSSL_PARAM_set_utf8_ptr(p, "foo value"); diff --git a/doc/man3/OSSL_PROVIDER.pod b/doc/man3/OSSL_PROVIDER.pod index e365366..9fe2e18 100644 --- a/doc/man3/OSSL_PROVIDER.pod +++ b/doc/man3/OSSL_PROVIDER.pod @@ -16,7 +16,7 @@ OSSL_PROVIDER_add_builtin - provider routines int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov); const OSSL_ITEM *OSSL_PROVIDER_get_param_types(OSSL_PROVIDER *prov); - int OSSL_PROVIDER_get_params(OSSL_PROVIDER *prov, const OSSL_PARAM params[]); + int OSSL_PROVIDER_get_params(OSSL_PROVIDER *prov, OSSL_PARAM params[]); int OSSL_PROVIDER_add_builtin(OPENSSL_CTX *, const char *name, ossl_provider_init_fn *init_fn); @@ -81,7 +81,7 @@ its build number. OSSL_PROVIDER *prov = NULL; const char *build = NULL; size_t built_l = 0; - const OSSL_PARAM request[] = { + OSSL_PARAM request[] = { { "build", OSSL_PARAM_UTF8_STRING_PTR, &build, 0, &build_l }, { NULL, 0, NULL, 0, NULL } }; diff --git a/include/internal/provider.h b/include/internal/provider.h index f48c758..7d50701 100644 --- a/include/internal/provider.h +++ b/include/internal/provider.h @@ -63,8 +63,7 @@ const char *ossl_provider_module_path(const OSSL_PROVIDER *prov); /* Thin wrappers around calls to the provider */ void ossl_provider_teardown(const OSSL_PROVIDER *prov); const OSSL_ITEM *ossl_provider_get_param_types(const OSSL_PROVIDER *prov); -int ossl_provider_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]); +int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]); const OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER *prov, int operation_id, int *no_cache); diff --git a/include/openssl/core.h b/include/openssl/core.h index f596957..848b714 100644 --- a/include/openssl/core.h +++ b/include/openssl/core.h @@ -77,7 +77,7 @@ struct ossl_param_st { unsigned int data_type; /* declare what kind of content is in buffer */ void *data; /* value being passed in or out */ size_t data_size; /* data size */ - size_t *return_size; /* OPTIONAL: address to content size */ + size_t return_size; /* returned content size */ }; /* Currently supported OSSL_PARAM data types */ diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index e1f0200..8807942 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -57,7 +57,7 @@ OSSL_CORE_MAKE_FUNC(const OSSL_ITEM *, core_get_param_types,(const OSSL_PROVIDER *prov)) # define OSSL_FUNC_CORE_GET_PARAMS 2 OSSL_CORE_MAKE_FUNC(int,core_get_params,(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[])) + OSSL_PARAM params[])) # define OSSL_FUNC_CORE_THREAD_START 3 OSSL_CORE_MAKE_FUNC(int,core_thread_start,(const OSSL_PROVIDER *prov, OSSL_thread_stop_handler_fn handfn)) @@ -79,7 +79,7 @@ OSSL_CORE_MAKE_FUNC(const OSSL_ITEM *, provider_get_param_types,(void *provctx)) # define OSSL_FUNC_PROVIDER_GET_PARAMS 1026 OSSL_CORE_MAKE_FUNC(int,provider_get_params,(void *provctx, - const OSSL_PARAM params[])) + OSSL_PARAM params[])) # define OSSL_FUNC_PROVIDER_QUERY_OPERATION 1027 OSSL_CORE_MAKE_FUNC(const OSSL_ALGORITHM *,provider_query_operation, (void *provctx, int operation_id, const int *no_store)) @@ -120,7 +120,7 @@ OSSL_CORE_MAKE_FUNC(size_t, OP_digest_block_size, (void)) OSSL_CORE_MAKE_FUNC(int, OP_digest_set_params, (void *vctx, const OSSL_PARAM params[])) OSSL_CORE_MAKE_FUNC(int, OP_digest_get_params, - (void *vctx, const OSSL_PARAM params[])) + (void *vctx, OSSL_PARAM params[])) /* Symmetric Ciphers */ @@ -168,9 +168,9 @@ OSSL_CORE_MAKE_FUNC(void *, OP_cipher_dupctx, (void *cctx)) OSSL_CORE_MAKE_FUNC(size_t, OP_cipher_key_length, (void)) OSSL_CORE_MAKE_FUNC(size_t, OP_cipher_iv_length, (void)) OSSL_CORE_MAKE_FUNC(size_t, OP_cipher_block_size, (void)) -OSSL_CORE_MAKE_FUNC(int, OP_cipher_get_params, (const OSSL_PARAM params[])) +OSSL_CORE_MAKE_FUNC(int, OP_cipher_get_params, (OSSL_PARAM params[])) OSSL_CORE_MAKE_FUNC(int, OP_cipher_ctx_get_params, (void *cctx, - const OSSL_PARAM params[])) + OSSL_PARAM params[])) OSSL_CORE_MAKE_FUNC(int, OP_cipher_ctx_set_params, (void *cctx, const OSSL_PARAM params[])) diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 5fb04d1..8195d11 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -541,7 +541,7 @@ void BIO_set_md(BIO *, const EVP_MD *md); OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); -int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); +int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]); int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); EVP_MD_CTX *EVP_MD_CTX_new(void); int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); diff --git a/include/openssl/params.h b/include/openssl/params.h index aea24bb..0e830de 100644 --- a/include/openssl/params.h +++ b/include/openssl/params.h @@ -19,124 +19,74 @@ extern "C" { # endif # define OSSL_PARAM_END \ - { NULL, 0, NULL, 0, NULL } + { NULL, 0, NULL, 0, 0 } -# define OSSL_PARAM_DEFN(key, type, addr, sz, rsz) \ - { (key), (type), (addr), (sz), (rsz) } +# define OSSL_PARAM_DEFN(key, type, addr, sz) \ + { (key), (type), (addr), (sz), 0 } /* Basic parameter types without return sizes */ # define OSSL_PARAM_int(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int), NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int)) # define OSSL_PARAM_uint(key, addr) \ OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(unsigned int), NULL) + sizeof(unsigned int)) # define OSSL_PARAM_long(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(long int), \ - NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(long int)) # define OSSL_PARAM_ulong(key, addr) \ OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(unsigned long int), NULL) + sizeof(unsigned long int)) # define OSSL_PARAM_int32(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int32_t), NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int32_t)) # define OSSL_PARAM_uint32(key, addr) \ OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(uint32_t), NULL) + sizeof(uint32_t)) # define OSSL_PARAM_int64(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int64_t), NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int64_t)) # define OSSL_PARAM_uint64(key, addr) \ OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(uint64_t), NULL) + sizeof(uint64_t)) # define OSSL_PARAM_size_t(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), sizeof(size_t), \ - NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), sizeof(size_t)) # define OSSL_PARAM_double(key, addr) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_REAL, (addr), sizeof(double), NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_REAL, (addr), sizeof(double)) +# define OSSL_PARAM_BN(key, bn, sz) \ + OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (bn), (sz)) # define OSSL_PARAM_utf8_string(key, addr, sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_STRING, (addr), sz, NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_STRING, (addr), sz) # define OSSL_PARAM_octet_string(key, addr, sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_STRING, (addr), sz, NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_STRING, (addr), sz) # define OSSL_PARAM_utf8_ptr(key, addr, sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_PTR, &(addr), sz, NULL) + OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_PTR, &(addr), sz) # define OSSL_PARAM_octet_ptr(key, addr, sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_PTR, &(addr), sz, NULL) - -/* Basic parameter types including return sizes */ -# define OSSL_PARAM_SIZED_int(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int), &(r_sz)) -# define OSSL_PARAM_SIZED_uint(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(unsigned int), &(r_sz)) -# define OSSL_PARAM_SIZED_long(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(long int), \ - &(r_sz)) -# define OSSL_PARAM_SIZED_ulong(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(unsigned long int), &(r_sz)) -# define OSSL_PARAM_SIZED_int32(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int32_t), &(r_sz)) -# define OSSL_PARAM_SIZED_uint32(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(uint32_t), &(r_sz)) -# define OSSL_PARAM_SIZED_int64(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int64_t), &(r_sz)) -# define OSSL_PARAM_SIZED_uint64(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(uint64_t), &(r_sz)) -# define OSSL_PARAM_SIZED_size_t(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \ - sizeof(size_t), &(r_sz)) -# define OSSL_PARAM_SIZED_double(key, addr, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_REAL, (addr), sizeof(double), &(r_sz)) - -# define OSSL_PARAM_SIZED_BN(key, addr, sz, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), sz, \ - &(r_sz)) - -# define OSSL_PARAM_SIZED_utf8_string(key, addr, sz, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_STRING, (addr), sz, &(r_sz)) -# define OSSL_PARAM_SIZED_octet_string(key, addr, sz, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_STRING, (addr), sz, &(r_sz)) - -# define OSSL_PARAM_SIZED_utf8_ptr(key, addr, sz, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_PTR, &(addr), sz, &(r_sz)) -# define OSSL_PARAM_SIZED_octet_ptr(key, addr, sz, r_sz) \ - OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_PTR, &(addr), sz, &(r_sz)) + OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_PTR, &(addr), sz) /* Search an OSSL_PARAM array for a matching name */ -const OSSL_PARAM *OSSL_PARAM_locate(const OSSL_PARAM *p, const char *key); +OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key); +const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const char *key); /* Basic parameter type run-time construction */ -OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf, size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long int *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf, - size_t *ret); -OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf, - size_t *ret); +OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf); +OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int *buf); +OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf); +OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long int *buf); +OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf); +OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf); +OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf); +OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf); +OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf); OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char *buf, - size_t bsize, size_t *rsize); -OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf, - size_t *rsize); + size_t bsize); +OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf); OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char *buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf, - size_t bsize, size_t *rsize); + size_t bsize); OSSL_PARAM OSSL_PARAM_construct_end(void); int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val); @@ -149,36 +99,35 @@ int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val); int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val); int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val); -int OSSL_PARAM_set_int(const OSSL_PARAM *p, int val); -int OSSL_PARAM_set_uint(const OSSL_PARAM *p, unsigned int val); -int OSSL_PARAM_set_long(const OSSL_PARAM *p, long int val); -int OSSL_PARAM_set_ulong(const OSSL_PARAM *p, unsigned long int val); -int OSSL_PARAM_set_int32(const OSSL_PARAM *p, int32_t val); -int OSSL_PARAM_set_uint32(const OSSL_PARAM *p, uint32_t val); -int OSSL_PARAM_set_int64(const OSSL_PARAM *p, int64_t val); -int OSSL_PARAM_set_uint64(const OSSL_PARAM *p, uint64_t val); -int OSSL_PARAM_set_size_t(const OSSL_PARAM *p, size_t val); +int OSSL_PARAM_set_int(OSSL_PARAM *p, int val); +int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val); +int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val); +int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val); +int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val); +int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val); +int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val); +int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val); +int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val); int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val); -int OSSL_PARAM_set_double(const OSSL_PARAM *p, double val); +int OSSL_PARAM_set_double(OSSL_PARAM *p, double val); int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val); -int OSSL_PARAM_set_BN(const OSSL_PARAM *p, const BIGNUM *val); +int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val); int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len); -int OSSL_PARAM_set_utf8_string(const OSSL_PARAM *p, const char *val); +int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val); int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len, size_t *used_len); -int OSSL_PARAM_set_octet_string(const OSSL_PARAM *p, const void *val, - size_t len); +int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, size_t len); int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val); -int OSSL_PARAM_set_utf8_ptr(const OSSL_PARAM *p, const char *val); +int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val); int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val, size_t *used_len); -int OSSL_PARAM_set_octet_ptr(const OSSL_PARAM *p, const void *val, +int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, size_t used_len); # ifdef __cplusplus diff --git a/include/openssl/provider.h b/include/openssl/provider.h index ce75ee9..c7f6664 100644 --- a/include/openssl/provider.h +++ b/include/openssl/provider.h @@ -21,8 +21,7 @@ OSSL_PROVIDER *OSSL_PROVIDER_load(OPENSSL_CTX *, const char *name); int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov); const OSSL_ITEM *OSSL_PROVIDER_get_param_types(const OSSL_PROVIDER *prov); -int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]); +int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]); /* Add a built in providers */ int OSSL_PROVIDER_add_builtin(OPENSSL_CTX *, const char *name, diff --git a/providers/common/ciphers/aes.c b/providers/common/ciphers/aes.c index 8d91ff4..be769e8 100644 --- a/providers/common/ciphers/aes.c +++ b/providers/common/ciphers/aes.c @@ -257,9 +257,9 @@ static int aes_cipher(void *vctx, #define IMPLEMENT_new_params(lcmode, UCMODE) \ static OSSL_OP_cipher_get_params_fn aes_##lcmode##_get_params; \ - static int aes_##lcmode##_get_params(const OSSL_PARAM params[]) \ + static int aes_##lcmode##_get_params(OSSL_PARAM params[]) \ { \ - const OSSL_PARAM *p; \ + OSSL_PARAM *p; \ \ p = OSSL_PARAM_locate(params, OSSL_CIPHER_PARAM_MODE); \ if (p != NULL && !OSSL_PARAM_set_int(p, EVP_CIPH_##UCMODE##_MODE)) \ @@ -375,10 +375,10 @@ static size_t block_size_1(void) return 1; } -static int aes_ctx_get_params(void *vctx, const OSSL_PARAM params[]) +static int aes_ctx_get_params(void *vctx, OSSL_PARAM params[]) { PROV_AES_KEY *ctx = (PROV_AES_KEY *)vctx; - const OSSL_PARAM *p; + OSSL_PARAM *p; p = OSSL_PARAM_locate(params, OSSL_CIPHER_PARAM_PADDING); if (p != NULL && !OSSL_PARAM_set_int(p, ctx->pad)) { @@ -394,7 +394,7 @@ static int aes_ctx_set_params(void *vctx, const OSSL_PARAM params[]) PROV_AES_KEY *ctx = (PROV_AES_KEY *)vctx; const OSSL_PARAM *p; - p = OSSL_PARAM_locate(params, OSSL_CIPHER_PARAM_PADDING); + p = OSSL_PARAM_locate_const(params, OSSL_CIPHER_PARAM_PADDING); if (p != NULL) { int pad; diff --git a/providers/common/digests/sha2_prov.c b/providers/common/digests/sha2_prov.c index 547d1bc..0e49ae6 100644 --- a/providers/common/digests/sha2_prov.c +++ b/providers/common/digests/sha2_prov.c @@ -26,7 +26,7 @@ static int sha1_set_params(void *vctx, const OSSL_PARAM params[]) SHA_CTX *ctx = (SHA_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_SSL3_MS); + p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS); if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING) return sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET, p->data_size, p->data); diff --git a/providers/common/digests/sha3_prov.c b/providers/common/digests/sha3_prov.c index 7b898b6..278ddfb 100644 --- a/providers/common/digests/sha3_prov.c +++ b/providers/common/digests/sha3_prov.c @@ -246,7 +246,7 @@ static int shake_set_params(void *vctx, const OSSL_PARAM params[]) KECCAK1600_CTX *ctx = (KECCAK1600_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_XOFLEN); + p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_XOFLEN); if (p != NULL && !OSSL_PARAM_get_size_t(p, &ctx->md_size)) return 0; return 1; diff --git a/providers/default/defltprov.c b/providers/default/defltprov.c index b9c8c36..76ef2bc 100644 --- a/providers/default/defltprov.c +++ b/providers/default/defltprov.c @@ -32,10 +32,9 @@ static const OSSL_ITEM *deflt_get_param_types(const OSSL_PROVIDER *prov) return deflt_param_types; } -static int deflt_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +static int deflt_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { - const OSSL_PARAM *p; + OSSL_PARAM *p; p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_NAME); if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, "OpenSSL Default Provider")) diff --git a/providers/default/digests/md5_sha1_prov.c b/providers/default/digests/md5_sha1_prov.c index e6091bd..490134e 100644 --- a/providers/default/digests/md5_sha1_prov.c +++ b/providers/default/digests/md5_sha1_prov.c @@ -26,7 +26,7 @@ static int md5_sha1_set_params(void *vctx, const OSSL_PARAM params[]) MD5_SHA1_CTX *ctx = (MD5_SHA1_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_SSL3_MS); + p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS); if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING) return md5_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET, p->data_size, p->data); diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 61729e5..78e3026 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -127,10 +127,9 @@ static const OSSL_ITEM *fips_get_param_types(const OSSL_PROVIDER *prov) return fips_param_types; } -static int fips_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +static int fips_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { - const OSSL_PARAM *p; + OSSL_PARAM *p; p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_NAME); if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, "OpenSSL FIPS Provider")) diff --git a/providers/legacy/digests/mdc2_prov.c b/providers/legacy/digests/mdc2_prov.c index 75d9398..31e95cb 100644 --- a/providers/legacy/digests/mdc2_prov.c +++ b/providers/legacy/digests/mdc2_prov.c @@ -23,7 +23,7 @@ static int mdc2_set_params(void *vctx, const OSSL_PARAM params[]) MDC2_CTX *ctx = (MDC2_CTX *)vctx; if (ctx != NULL && params != NULL) { - p = OSSL_PARAM_locate(params, OSSL_DIGEST_PARAM_PAD_TYPE); + p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_PAD_TYPE); if (p != NULL && !OSSL_PARAM_get_int(p, &ctx->pad_type)) return 0; return 1; diff --git a/providers/legacy/legacyprov.c b/providers/legacy/legacyprov.c index 9b55337..0be58d8 100644 --- a/providers/legacy/legacyprov.c +++ b/providers/legacy/legacyprov.c @@ -32,10 +32,9 @@ static const OSSL_ITEM *legacy_get_param_types(const OSSL_PROVIDER *prov) return legacy_param_types; } -static int legacy_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +static int legacy_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { - const OSSL_PARAM *p; + OSSL_PARAM *p; p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_NAME); if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, "OpenSSL Legacy Provider")) diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index 6c3b711..3edbae2 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -417,8 +417,7 @@ void ssl3_digest_master_key_set_params(const SSL_SESSION *session, int n = 0; params[n++] = OSSL_PARAM_construct_octet_string(OSSL_DIGEST_PARAM_SSL3_MS, (void *)session->master_key, - session->master_key_length, - NULL); + session->master_key_length); params[n++] = OSSL_PARAM_construct_end(); } diff --git a/test/mdc2test.c b/test/mdc2test.c index 418a256..5b54f10 100644 --- a/test/mdc2test.c +++ b/test/mdc2test.c @@ -48,7 +48,7 @@ static int test_mdc2(void) OSSL_PARAM params[2]; params[i++] = OSSL_PARAM_construct_int(OSSL_DIGEST_PARAM_PAD_TYPE, - &pad_type, NULL), + &pad_type), params[i++] = OSSL_PARAM_construct_end(); prov = OSSL_PROVIDER_load(NULL, "legacy"); diff --git a/test/p_test.c b/test/p_test.c index 15213b6..925e3b8 100644 --- a/test/p_test.c +++ b/test/p_test.c @@ -47,10 +47,10 @@ static const OSSL_ITEM *p_get_param_types(void *_) return p_param_types; } -static int p_get_params(void *vprov, const OSSL_PARAM params[]) +static int p_get_params(void *vprov, OSSL_PARAM params[]) { const OSSL_PROVIDER *prov = vprov; - const OSSL_PARAM *p = params; + OSSL_PARAM *p = params; int ok = 1; for (; ok && p->key != NULL; p++) { @@ -58,18 +58,18 @@ static int p_get_params(void *vprov, const OSSL_PARAM params[]) static char *opensslv; static char *provname; static char *greeting; - static const OSSL_PARAM counter_request[] = { + static OSSL_PARAM counter_request[] = { /* Known libcrypto provided parameters */ { "openssl-version", OSSL_PARAM_UTF8_PTR, - &opensslv, sizeof(&opensslv), NULL }, + &opensslv, sizeof(&opensslv), 0 }, { "provider-name", OSSL_PARAM_UTF8_PTR, - &provname, sizeof(&provname), NULL}, + &provname, sizeof(&provname), 0}, /* This might be present, if there's such a configuration */ { "greeting", OSSL_PARAM_UTF8_PTR, - &greeting, sizeof(&greeting), NULL }, + &greeting, sizeof(&greeting), 0 }, - { NULL, 0, NULL, 0, NULL } + { NULL, 0, NULL, 0, 0 } }; char buf[256]; size_t buf_l; @@ -90,7 +90,7 @@ static int p_get_params(void *vprov, const OSSL_PARAM params[]) sprintf(buf, "Howdy stranger..."); } - *p->return_size = buf_l = strlen(buf) + 1; + p->return_size = buf_l = strlen(buf) + 1; if (p->data_size >= buf_l) strncpy(p->data, buf, buf_l); else diff --git a/test/params_api_test.c b/test/params_api_test.c index df708da..616035e 100644 --- a/test/params_api_test.c +++ b/test/params_api_test.c @@ -58,8 +58,8 @@ static const struct { 0x89, 0x67, 0xf2, 0x68, 0x33, 0xa0, 0x14, 0xb0 } }, }; -static int test_param_type_extra(const OSSL_PARAM *param, - const unsigned char *cmp, size_t width) +static int test_param_type_extra(OSSL_PARAM *param, const unsigned char *cmp, + size_t width) { int32_t i32; int64_t i64; @@ -374,24 +374,22 @@ static int test_param_bignum(int n) { unsigned char buf[MAX_LEN], bnbuf[MAX_LEN]; const size_t len = raw_values[n].len; - size_t bnsize; BIGNUM *b = NULL, *c = NULL; OSSL_PARAM param = OSSL_PARAM_DEFN("bn", OSSL_PARAM_UNSIGNED_INTEGER, - NULL, 0, NULL); + NULL, 0); int ret = 0; param.data = bnbuf; param.data_size = len; - param.return_size = &bnsize; le_copy(buf, raw_values[n].value, len); if (!TEST_ptr(b = BN_lebin2bn(raw_values[n].value, (int)len, NULL))) goto err; if (!TEST_true(OSSL_PARAM_set_BN(¶m, b)) - || !TEST_mem_eq(bnbuf, bnsize, buf, bnsize)) + || !TEST_mem_eq(bnbuf, param.return_size, buf, param.return_size)) goto err; - param.data_size = *param.return_size; + param.data_size = param.return_size; if (!TEST_true(OSSL_PARAM_get_BN(¶m, &c)) || !TEST_BN_eq(b, c)) goto err; @@ -413,23 +411,6 @@ static int test_param_real(void) && TEST_double_eq(p, 3.14159); } -/* - * The tests are a bit special in that they are trying to do both sides - * of the param passing. This means that the OSSL_PARAM structure needs to - * be updated so that a get call matches size with the corresponding set call. - * This is not a problem in normal usage because the owner of the OSSL_PARAM - * "knows" the size of what it wants to put in and gets the size back via the - * return_size pointer when it needs to get data out. That is, the owner - * does not need to call these APIs since it has direct access. - * - * The result is that the tests need the locate call to return a non-const - * pointer at times. Hence the cast here. - */ -static OSSL_PARAM *locate(OSSL_PARAM *p, const char *name) -{ - return (OSSL_PARAM *)OSSL_PARAM_locate(p, name); -} - static int test_param_construct(void) { static const char *int_names[] = { @@ -446,8 +427,7 @@ static int test_param_construct(void) char buf[100], buf2[100], *bufp, *bufp2; unsigned char ubuf[100]; void *vp, *vpn = NULL, *vp2; - OSSL_PARAM *p; - const OSSL_PARAM *cp; + OSSL_PARAM *cp; int i, n = 0, ret = 0; unsigned int u; long int l; @@ -456,27 +436,25 @@ static int test_param_construct(void) uint32_t u32; int64_t i64; uint64_t u64; - size_t j, k, s, sz; + size_t j, k, s; double d, d2; BIGNUM *bn = NULL, *bn2 = NULL; - params[n++] = OSSL_PARAM_construct_int("int", &i, &sz); - params[n++] = OSSL_PARAM_construct_uint("uint", &u, &sz); - params[n++] = OSSL_PARAM_construct_long("long", &l, &sz); - params[n++] = OSSL_PARAM_construct_ulong("ulong", &ul, &sz); - params[n++] = OSSL_PARAM_construct_int32("int32", &i32, &sz); - params[n++] = OSSL_PARAM_construct_int64("int64", &i64, &sz); - params[n++] = OSSL_PARAM_construct_uint32("uint32", &u32, &sz); - params[n++] = OSSL_PARAM_construct_uint64("uint64", &u64, &sz); - params[n++] = OSSL_PARAM_construct_size_t("size_t", &s, &sz); - params[n++] = OSSL_PARAM_construct_double("double", &d, &sz); - params[n++] = OSSL_PARAM_construct_BN("bignum", ubuf, sizeof(ubuf), &sz); - params[n++] = OSSL_PARAM_construct_utf8_string("utf8str", buf, sizeof(buf), - &sz); - params[n++] = OSSL_PARAM_construct_octet_string("octstr", buf, sizeof(buf), - &sz); - params[n++] = OSSL_PARAM_construct_utf8_ptr("utf8ptr", &bufp, 0, &sz); - params[n++] = OSSL_PARAM_construct_octet_ptr("octptr", &vp, 0, &sz); + params[n++] = OSSL_PARAM_construct_int("int", &i); + params[n++] = OSSL_PARAM_construct_uint("uint", &u); + params[n++] = OSSL_PARAM_construct_long("long", &l); + params[n++] = OSSL_PARAM_construct_ulong("ulong", &ul); + params[n++] = OSSL_PARAM_construct_int32("int32", &i32); + params[n++] = OSSL_PARAM_construct_int64("int64", &i64); + params[n++] = OSSL_PARAM_construct_uint32("uint32", &u32); + params[n++] = OSSL_PARAM_construct_uint64("uint64", &u64); + params[n++] = OSSL_PARAM_construct_size_t("size_t", &s); + params[n++] = OSSL_PARAM_construct_double("double", &d); + params[n++] = OSSL_PARAM_construct_BN("bignum", ubuf, sizeof(ubuf)); + params[n++] = OSSL_PARAM_construct_utf8_string("utf8str", buf, sizeof(buf)); + params[n++] = OSSL_PARAM_construct_octet_string("octstr", buf, sizeof(buf)); + params[n++] = OSSL_PARAM_construct_utf8_ptr("utf8ptr", &bufp, 0); + params[n++] = OSSL_PARAM_construct_octet_ptr("octptr", &vp, 0); params[n] = OSSL_PARAM_construct_end(); /* Search failure */ @@ -488,7 +466,7 @@ static int test_param_construct(void) if (!TEST_ptr(cp = OSSL_PARAM_locate(params, int_names[j])) || !TEST_true(OSSL_PARAM_set_int32(cp, (int32_t)(3 + j))) || !TEST_true(OSSL_PARAM_get_int64(cp, &i64)) - || !TEST_size_t_eq(cp->data_size, sz) + || !TEST_size_t_eq(cp->data_size, cp->return_size) || !TEST_size_t_eq((size_t)i64, 3 + j)) { TEST_note("iteration %zu var %s", j + 1, int_names[j]); goto err; @@ -499,7 +477,7 @@ static int test_param_construct(void) if (!TEST_ptr(cp = OSSL_PARAM_locate(params, uint_names[j])) || !TEST_true(OSSL_PARAM_set_uint32(cp, (uint32_t)(3 + j))) || !TEST_true(OSSL_PARAM_get_uint64(cp, &u64)) - || !TEST_size_t_eq(cp->data_size, sz) + || !TEST_size_t_eq(cp->data_size, cp->return_size) || !TEST_size_t_eq((size_t)u64, 3 + j)) { TEST_note("iteration %zu var %s", j + 1, uint_names[j]); goto err; @@ -509,14 +487,14 @@ static int test_param_construct(void) if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "double")) || !TEST_true(OSSL_PARAM_set_double(cp, 3.14)) || !TEST_true(OSSL_PARAM_get_double(cp, &d2)) - || !TEST_size_t_eq(sz, sizeof(double)) + || !TEST_size_t_eq(cp->return_size, sizeof(double)) || !TEST_double_eq(d, d2)) goto err; /* UTF8 string */ bufp = NULL; if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "utf8str")) || !TEST_true(OSSL_PARAM_set_utf8_string(cp, "abcdef")) - || !TEST_size_t_eq(sz, sizeof("abcdef")) + || !TEST_size_t_eq(cp->return_size, sizeof("abcdef")) || !TEST_true(OSSL_PARAM_get_utf8_string(cp, &bufp, 0)) || !TEST_str_eq(bufp, "abcdef")) goto err; @@ -527,56 +505,54 @@ static int test_param_construct(void) goto err; /* UTF8 pointer */ bufp = buf; - sz = 0; if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "utf8ptr")) || !TEST_true(OSSL_PARAM_set_utf8_ptr(cp, "tuvwxyz")) - || !TEST_size_t_eq(sz, sizeof("tuvwxyz")) + || !TEST_size_t_eq(cp->return_size, sizeof("tuvwxyz")) || !TEST_str_eq(bufp, "tuvwxyz") || !TEST_true(OSSL_PARAM_get_utf8_ptr(cp, (const char **)&bufp2)) || !TEST_ptr_eq(bufp2, bufp)) goto err; /* OCTET string */ - if (!TEST_ptr(p = locate(params, "octstr")) - || !TEST_true(OSSL_PARAM_set_octet_string(p, "abcdefghi", + if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "octstr")) + || !TEST_true(OSSL_PARAM_set_octet_string(cp, "abcdefghi", sizeof("abcdefghi"))) - || !TEST_size_t_eq(sz, sizeof("abcdefghi"))) + || !TEST_size_t_eq(cp->return_size, sizeof("abcdefghi"))) goto err; /* Match the return size to avoid trailing garbage bytes */ - p->data_size = *p->return_size; - if (!TEST_true(OSSL_PARAM_get_octet_string(p, &vpn, 0, &s)) + cp->data_size = cp->return_size; + if (!TEST_true(OSSL_PARAM_get_octet_string(cp, &vpn, 0, &s)) || !TEST_size_t_eq(s, sizeof("abcdefghi")) || !TEST_mem_eq(vpn, sizeof("abcdefghi"), "abcdefghi", sizeof("abcdefghi"))) goto err; vp = buf2; - if (!TEST_true(OSSL_PARAM_get_octet_string(p, &vp, sizeof(buf2), &s)) + if (!TEST_true(OSSL_PARAM_get_octet_string(cp, &vp, sizeof(buf2), &s)) || !TEST_size_t_eq(s, sizeof("abcdefghi")) || !TEST_mem_eq(vp, sizeof("abcdefghi"), "abcdefghi", sizeof("abcdefghi"))) goto err; /* OCTET pointer */ vp = &l; - sz = 0; - if (!TEST_ptr(p = locate(params, "octptr")) - || !TEST_true(OSSL_PARAM_set_octet_ptr(p, &ul, sizeof(ul))) - || !TEST_size_t_eq(sz, sizeof(ul)) + if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "octptr")) + || !TEST_true(OSSL_PARAM_set_octet_ptr(cp, &ul, sizeof(ul))) + || !TEST_size_t_eq(cp->return_size, sizeof(ul)) || !TEST_ptr_eq(vp, &ul)) goto err; /* Match the return size to avoid trailing garbage bytes */ - p->data_size = *p->return_size; - if (!TEST_true(OSSL_PARAM_get_octet_ptr(p, (const void **)&vp2, &k)) + cp->data_size = cp->return_size; + if (!TEST_true(OSSL_PARAM_get_octet_ptr(cp, (const void **)&vp2, &k)) || !TEST_size_t_eq(k, sizeof(ul)) || !TEST_ptr_eq(vp2, vp)) goto err; /* BIGNUM */ - if (!TEST_ptr(p = locate(params, "bignum")) + if (!TEST_ptr(cp = OSSL_PARAM_locate(params, "bignum")) || !TEST_ptr(bn = BN_lebin2bn(bn_val, (int)sizeof(bn_val), NULL)) - || !TEST_true(OSSL_PARAM_set_BN(p, bn)) - || !TEST_size_t_eq(sz, sizeof(bn_val))) + || !TEST_true(OSSL_PARAM_set_BN(cp, bn)) + || !TEST_size_t_eq(cp->return_size, sizeof(bn_val))) goto err; /* Match the return size to avoid trailing garbage bytes */ - p->data_size = *p->return_size; - if(!TEST_true(OSSL_PARAM_get_BN(p, &bn2)) + cp->data_size = cp->return_size; + if(!TEST_true(OSSL_PARAM_get_BN(cp, &bn2)) || !TEST_BN_eq(bn, bn2)) goto err; ret = 1; diff --git a/test/params_conversion_test.c b/test/params_conversion_test.c index 9db5bd8..d649083 100644 --- a/test/params_conversion_test.c +++ b/test/params_conversion_test.c @@ -20,7 +20,7 @@ # endif typedef struct { - const OSSL_PARAM *param; + OSSL_PARAM *param; int32_t i32; int64_t i64; uint32_t u32; @@ -39,7 +39,7 @@ static int param_conversion_load_stanza(PARAM_CONVERSION *pc, const STANZA *s) static uint32_t datum_u32, ref_u32; static uint64_t datum_u64, ref_u64; static double datum_d, ref_d; - static const OSSL_PARAM params[] = { + static OSSL_PARAM params[] = { OSSL_PARAM_int32("int32", &datum_i32), OSSL_PARAM_int64("int64", &datum_i64), OSSL_PARAM_uint32("uint32", &datum_u32), diff --git a/test/params_test.c b/test/params_test.c index aae91f1..64fd4b8 100644 --- a/test/params_test.c +++ b/test/params_test.c @@ -152,40 +152,35 @@ static int raw_set_params(void *vobj, const OSSL_PARAM *params) return 1; } -static int raw_get_params(void *vobj, const OSSL_PARAM *params) +static int raw_get_params(void *vobj, OSSL_PARAM *params) { struct object_st *obj = vobj; for (; params->key != NULL; params++) if (strcmp(params->key, "p1") == 0) { - if (params->return_size != NULL) - *params->return_size = sizeof(obj->p1); + params->return_size = sizeof(obj->p1); *(int *)params->data = obj->p1; } else if (strcmp(params->key, "p2") == 0) { - if (params->return_size != NULL) - *params->return_size = sizeof(obj->p2); + params->return_size = sizeof(obj->p2); *(double *)params->data = obj->p2; } else if (strcmp(params->key, "p3") == 0) { size_t bytes = BN_num_bytes(obj->p3); - if (params->return_size != NULL) - *params->return_size = bytes; + params->return_size = bytes; if (!TEST_size_t_ge(params->data_size, bytes)) return 0; BN_bn2nativepad(obj->p3, params->data, bytes); } else if (strcmp(params->key, "p4") == 0) { size_t bytes = strlen(obj->p4) + 1; - if (params->return_size != NULL) - *params->return_size = bytes; + params->return_size = bytes; if (!TEST_size_t_ge(params->data_size, bytes)) return 0; strcpy(params->data, obj->p4); } else if (strcmp(params->key, "p5") == 0) { size_t bytes = strlen(obj->p5) + 1; - if (params->return_size != NULL) - *params->return_size = bytes; + params->return_size = bytes; if (!TEST_size_t_ge(params->data_size, bytes)) return 0; strcpy(params->data, obj->p5); @@ -198,8 +193,7 @@ static int raw_get_params(void *vobj, const OSSL_PARAM *params) */ size_t bytes = strlen(obj->p6) + 1; - if (params->return_size != NULL) - *params->return_size = bytes; + params->return_size = bytes; *(const char **)params->data = obj->p6; } @@ -215,29 +209,29 @@ static int api_set_params(void *vobj, const OSSL_PARAM *params) struct object_st *obj = vobj; const OSSL_PARAM *p = NULL; - if ((p = OSSL_PARAM_locate(params, "p1")) != NULL + if ((p = OSSL_PARAM_locate_const(params, "p1")) != NULL && !TEST_true(OSSL_PARAM_get_int(p, &obj->p1))) return 0; - if ((p = OSSL_PARAM_locate(params, "p2")) != NULL + if ((p = OSSL_PARAM_locate_const(params, "p2")) != NULL && !TEST_true(OSSL_PARAM_get_double(p, &obj->p2))) return 0; - if ((p = OSSL_PARAM_locate(params, "p3")) != NULL + if ((p = OSSL_PARAM_locate_const(params, "p3")) != NULL && !TEST_true(OSSL_PARAM_get_BN(p, &obj->p3))) return 0; - if ((p = OSSL_PARAM_locate(params, "p4")) != NULL) { + if ((p = OSSL_PARAM_locate_const(params, "p4")) != NULL) { OPENSSL_free(obj->p4); obj->p4 = NULL; /* If the value pointer is NULL, we get it automatically allocated */ if (!TEST_true(OSSL_PARAM_get_utf8_string(p, &obj->p4, 0))) return 0; } - if ((p = OSSL_PARAM_locate(params, "p5")) != NULL) { + if ((p = OSSL_PARAM_locate_const(params, "p5")) != NULL) { char *p5_ptr = obj->p5; if (!TEST_true(OSSL_PARAM_get_utf8_string(p, &p5_ptr, sizeof(obj->p5)))) return 0; obj->p5_l = strlen(obj->p5) + 1; } - if ((p = OSSL_PARAM_locate(params, "p6")) != NULL) { + if ((p = OSSL_PARAM_locate_const(params, "p6")) != NULL) { if (!TEST_true(OSSL_PARAM_get_utf8_ptr(p, &obj->p6))) return 0; obj->p6_l = strlen(obj->p6) + 1; @@ -246,10 +240,10 @@ static int api_set_params(void *vobj, const OSSL_PARAM *params) return 1; } -static int api_get_params(void *vobj, const OSSL_PARAM *params) +static int api_get_params(void *vobj, OSSL_PARAM *params) { struct object_st *obj = vobj; - const OSSL_PARAM *p = NULL; + OSSL_PARAM *p = NULL; if ((p = OSSL_PARAM_locate(params, "p1")) != NULL && !TEST_true(OSSL_PARAM_set_int(p, obj->p1))) @@ -279,7 +273,7 @@ static int api_get_params(void *vobj, const OSSL_PARAM *params) */ struct provider_dispatch_st { int (*set_params)(void *obj, const OSSL_PARAM *params); - int (*get_params)(void *obj, const OSSL_PARAM *params); + int (*get_params)(void *obj, OSSL_PARAM *params); }; /* "raw" provider */ @@ -312,13 +306,9 @@ static BIGNUM *app_p3 = NULL; /* "p3" */ static unsigned char bignumbin[4096]; /* "p3" */ static size_t bignumbin_l; /* "p3" */ static char app_p4[256]; /* "p4" */ -static size_t app_p4_l; /* "p4" */ static char app_p5[256]; /* "p5" */ -static size_t app_p5_l; /* "p5" */ static const char *app_p6 = NULL; /* "p6" */ -static size_t app_p6_l; /* "p6" */ static unsigned char foo[1]; /* "foo" */ -static size_t foo_l; /* "foo" */ #define app_p1_init 17 /* A random number */ #define app_p2_init 47.11 /* Another random number */ @@ -348,12 +338,9 @@ static int init_app_variables(void) return 0; bignumbin_l = (size_t)l; strcpy(app_p4, app_p4_init); - app_p4_l = sizeof(app_p4_init); strcpy(app_p5, app_p5_init); - app_p5_l = sizeof(app_p5_init); app_p6 = app_p6_init; foo[0] = app_foo_init; - foo_l = sizeof(app_foo_init); return 1; } @@ -363,30 +350,26 @@ static int init_app_variables(void) */ /* An array of OSSL_PARAM, specific in the most raw manner possible */ -static const OSSL_PARAM static_raw_params[] = { - { "p1", OSSL_PARAM_INTEGER, &app_p1, sizeof(app_p1), NULL }, - { "p3", OSSL_PARAM_UNSIGNED_INTEGER, &bignumbin, sizeof(bignumbin), - &bignumbin_l }, - { "p4", OSSL_PARAM_UTF8_STRING, &app_p4, sizeof(app_p4), &app_p4_l }, - { "p5", OSSL_PARAM_UTF8_STRING, &app_p5, sizeof(app_p5), &app_p5_l }, +static OSSL_PARAM static_raw_params[] = { + { "p1", OSSL_PARAM_INTEGER, &app_p1, sizeof(app_p1), 0 }, + { "p3", OSSL_PARAM_UNSIGNED_INTEGER, &bignumbin, sizeof(bignumbin), 0 }, + { "p4", OSSL_PARAM_UTF8_STRING, &app_p4, sizeof(app_p4), 0 }, + { "p5", OSSL_PARAM_UTF8_STRING, &app_p5, sizeof(app_p5), 0 }, /* sizeof(app_p6_init), because we know that's what we're using */ - { "p6", OSSL_PARAM_UTF8_PTR, &app_p6, sizeof(app_p6_init), &app_p6_l }, - { "foo", OSSL_PARAM_OCTET_STRING, &foo, sizeof(foo), &foo_l }, - { NULL, 0, NULL, 0, NULL } + { "p6", OSSL_PARAM_UTF8_PTR, &app_p6, sizeof(app_p6_init), 0 }, + { "foo", OSSL_PARAM_OCTET_STRING, &foo, sizeof(foo), 0 }, + { NULL, 0, NULL, 0, 0 } }; /* The same array of OSSL_PARAM, specified with the macros from params.h */ -static const OSSL_PARAM static_api_params[] = { +static OSSL_PARAM static_api_params[] = { OSSL_PARAM_int("p1", &app_p1), - OSSL_PARAM_SIZED_BN("p3", &bignumbin, sizeof(bignumbin), bignumbin_l), - OSSL_PARAM_DEFN("p4", OSSL_PARAM_UTF8_STRING, - &app_p4, sizeof(app_p4), &app_p4_l), - OSSL_PARAM_DEFN("p5", OSSL_PARAM_UTF8_STRING, - &app_p5, sizeof(app_p5), &app_p5_l), + OSSL_PARAM_BN("p3", &bignumbin, sizeof(bignumbin)), + OSSL_PARAM_DEFN("p4", OSSL_PARAM_UTF8_STRING, &app_p4, sizeof(app_p4)), + OSSL_PARAM_DEFN("p5", OSSL_PARAM_UTF8_STRING, &app_p5, sizeof(app_p5)), /* sizeof(app_p6_init), because we know that's what we're using */ - OSSL_PARAM_DEFN("p6", OSSL_PARAM_UTF8_PTR, - &app_p6, sizeof(app_p6_init), &app_p6_l), - OSSL_PARAM_DEFN("foo", OSSL_PARAM_OCTET_STRING, &foo, sizeof(foo), &foo_l), + OSSL_PARAM_DEFN("p6", OSSL_PARAM_UTF8_PTR, &app_p6, sizeof(app_p6_init)), + OSSL_PARAM_DEFN("foo", OSSL_PARAM_OCTET_STRING, &foo, sizeof(foo)), OSSL_PARAM_END }; @@ -399,25 +382,23 @@ static OSSL_PARAM *construct_api_params(void) size_t n = 0; static OSSL_PARAM params[10]; - params[n++] = OSSL_PARAM_construct_int("p1", &app_p1, NULL); - params[n++] = OSSL_PARAM_construct_BN("p3", bignumbin, sizeof(bignumbin), - &bignumbin_l); - params[n++] = OSSL_PARAM_construct_utf8_string("p4", app_p4, sizeof(app_p4), - &app_p4_l); + params[n++] = OSSL_PARAM_construct_int("p1", &app_p1); + params[n++] = OSSL_PARAM_construct_BN("p3", bignumbin, sizeof(bignumbin)); + params[n++] = OSSL_PARAM_construct_utf8_string("p4", app_p4, + sizeof(app_p4)); params[n++] = OSSL_PARAM_construct_utf8_string("p5", app_p5, - sizeof(app_p5), &app_p5_l); + sizeof(app_p5)); /* sizeof(app_p6_init), because we know that's what we're using */ params[n++] = OSSL_PARAM_construct_utf8_ptr("p6", (char **)&app_p6, - sizeof(app_p6_init), &app_p6_l); - params[n++] = OSSL_PARAM_construct_octet_string("foo", &foo, sizeof(foo), - &foo_l); + sizeof(app_p6_init)); + params[n++] = OSSL_PARAM_construct_octet_string("foo", &foo, sizeof(foo)); params[n++] = OSSL_PARAM_construct_end(); return params; } struct param_owner_st { - const OSSL_PARAM *static_params; + OSSL_PARAM *static_params; OSSL_PARAM *(*constructed_params)(void); }; @@ -452,12 +433,12 @@ static struct { }; /* Generic tester of combinations of "providers" and params */ -static int test_case_variant(const OSSL_PARAM *params, - const struct provider_dispatch_st *prov) +static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_st *prov) { BIGNUM *verify_p3 = NULL; void *obj = NULL; int errcnt = 0; + OSSL_PARAM *p; /* * Initialize @@ -480,12 +461,15 @@ static int test_case_variant(const OSSL_PARAM *params, || !TEST_ptr(BN_native2bn(bignumbin, bignumbin_l, app_p3)) || !TEST_BN_eq(app_p3, verify_p3) /* "provider" value */ || !TEST_str_eq(app_p4, p4_init) /* "provider" value */ - || !TEST_size_t_eq(app_p5_l, sizeof(p5_init)) /* "provider" value */ + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5")) + || !TEST_size_t_eq(p->return_size, sizeof(p5_init)) /* "provider" value */ || !TEST_str_eq(app_p5, p5_init) /* "provider" value */ - || !TEST_size_t_eq(app_p6_l, sizeof(p6_init)) /* "provider" value */ + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p6")) + || !TEST_size_t_eq(p->return_size, sizeof(p6_init)) /* "provider" value */ || !TEST_str_eq(app_p6, p6_init) /* "provider" value */ || !TEST_char_eq(foo[0], app_foo_init) /* Should remain untouched */ - || !TEST_int_eq(foo_l, sizeof(app_foo_init))) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")) + || !TEST_int_eq(p->return_size, 0)) errcnt++; /* @@ -503,10 +487,7 @@ static int test_case_variant(const OSSL_PARAM *params, || !TEST_double_eq(sneakpeek->p2, p2_init) /* Should remain untouched */ || !TEST_BN_eq(sneakpeek->p3, app_p3) /* app value set */ || !TEST_str_eq(sneakpeek->p4, app_p4) /* app value set */ - || !TEST_size_t_eq(sneakpeek->p5_l, app_p5_l) /* app value set */ || !TEST_str_eq(sneakpeek->p5, app_p5) /* app value set */ - || !TEST_size_t_eq(sneakpeek->p6_l, - sizeof(app_p6_init)) /* app value set */ || !TEST_str_eq(sneakpeek->p6, app_p6)) /* app value set */ errcnt++; } @@ -529,14 +510,17 @@ static int test_case_variant(const OSSL_PARAM *params, || !TEST_ptr(BN_native2bn(bignumbin, bignumbin_l, app_p3)) || !TEST_BN_eq(app_p3, verify_p3) /* app value */ || !TEST_str_eq(app_p4, app_p4_init) /* app value */ - || !TEST_size_t_eq(app_p5_l, + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5")) + || !TEST_size_t_eq(p->return_size, sizeof(app_p5_init)) /* app value */ || !TEST_str_eq(app_p5, app_p5_init) /* app value */ - || !TEST_size_t_eq(app_p6_l, + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p6")) + || !TEST_size_t_eq(p->return_size, sizeof(app_p6_init)) /* app value */ || !TEST_str_eq(app_p6, app_p6_init) /* app value */ || !TEST_char_eq(foo[0], app_foo_init) /* Should remain untouched */ - || !TEST_int_eq(foo_l, sizeof(app_foo_init))) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")) + || !TEST_int_eq(p->return_size, 0)) errcnt++; fin: diff --git a/test/provider_internal_test.c b/test/provider_internal_test.c index 6123d6b..aff858f 100644 --- a/test/provider_internal_test.c +++ b/test/provider_internal_test.c @@ -15,10 +15,9 @@ extern OSSL_provider_init_fn PROVIDER_INIT_FUNCTION_NAME; static char buf[256]; -static size_t buf_l = 0; static OSSL_PARAM greeting_request[] = { - { "greeting", OSSL_PARAM_UTF8_STRING, buf, sizeof(buf), &buf_l }, - { NULL, 0, NULL, 0, NULL } + { "greeting", OSSL_PARAM_UTF8_STRING, buf, sizeof(buf), 0 }, + { NULL, 0, NULL, 0, 0 } }; static int test_provider(OSSL_PROVIDER *prov, const char *expected_greeting) diff --git a/test/provider_test.c b/test/provider_test.c index c00f5ab..acb9f20 100644 --- a/test/provider_test.c +++ b/test/provider_test.c @@ -14,10 +14,9 @@ extern OSSL_provider_init_fn PROVIDER_INIT_FUNCTION_NAME; static char buf[256]; -static size_t buf_l = 0; static OSSL_PARAM greeting_request[] = { - { "greeting", OSSL_PARAM_UTF8_STRING, buf, sizeof(buf), &buf_l }, - { NULL, 0, NULL, 0, NULL } + { "greeting", OSSL_PARAM_UTF8_STRING, buf, sizeof(buf) }, + { NULL, 0, NULL, 0, 0 } }; static int test_provider(const char *name) diff --git a/util/libcrypto.num b/util/libcrypto.num index af6e2b9..766c735 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4832,3 +4832,4 @@ OPENSSL_CTX_get0_private_drbg 4776 3_0_0 EXIST::FUNCTION: BN_CTX_new_ex 4777 3_0_0 EXIST::FUNCTION: BN_CTX_secure_new_ex 4778 3_0_0 EXIST::FUNCTION: OPENSSL_thread_stop_ex 4779 3_0_0 EXIST::FUNCTION: +OSSL_PARAM_locate_const 4780 3_0_0 EXIST::FUNCTION: diff --git a/util/private.num b/util/private.num index 7f4bf90..fb5d0b2 100644 --- a/util/private.num +++ b/util/private.num @@ -332,14 +332,15 @@ OSSL_PARAM_TYPE define OSSL_PARAM_octet_ptr define OSSL_PARAM_octet_string define OSSL_PARAM_utf8_ptr define +OSSL_PARAM_BN define +OSSL_PARAM_TYPE generic +OSSL_PARAM_construct_TYPE generic +OSSL_PARAM_octet_string define OSSL_PARAM_utf8_string define -OSSL_PARAM_SIZED_BN define -OSSL_PARAM_SIZED_TYPE define -OSSL_PARAM_SIZED_octet_ptr define -OSSL_PARAM_SIZED_octet_string define -OSSL_PARAM_SIZED_utf8_ptr define -OSSL_PARAM_SIZED_utf8_string define +OSSL_PARAM_octet_ptr define +OSSL_PARAM_get_TYPE generic OSSL_PARAM_END define +OSSL_PARAM_set_TYPE generic PEM_FLAG_EAY_COMPATIBLE define PEM_FLAG_ONLY_B64 define PEM_FLAG_SECURE define From builds at travis-ci.org Mon Jun 24 05:06:08 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 05:06:08 +0000 Subject: Still Failing: openssl/openssl#26012 (master - 4e7991b) In-Reply-To: Message-ID: <5d105a404cb62_43fb4aed61ee0137956@64fb1034-0081-46e2-8768-273b39860e40.mail> Build Update for openssl/openssl ------------------------------------- Build: #26012 Status: Still Failing Duration: 20 mins and 30 secs Commit: 4e7991b (master) Author: Pauli Message: Change OSSL_PARAM return size to not be a pointer. Instead of referencing the return size from the OSSL_PARAM structure, make the size a field within the structure. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9135) View the changeset: https://github.com/openssl/openssl/compare/0ccff7a7ea82...4e7991b497b6 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549559284?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 Jun 24 05:57:06 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 24 Jun 2019 05:57:06 +0000 Subject: [openssl] master update Message-ID: <1561355826.635481.28595.nullmailer@dev.openssl.org> The branch master has been updated via 3bbec1afed1c65b6f7f645b27808b070e6e7a509 (commit) from 4e7991b497b65145ec5d570485020e1658208866 (commit) - Log ----------------------------------------------------------------- commit 3bbec1afed1c65b6f7f645b27808b070e6e7a509 Author: Richard Levitte Date: Thu Jun 20 17:55:36 2019 +0200 Enhance and update the docs of the internal ossl_provider API Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9200) ----------------------------------------------------------------------- Summary of changes: .../man3/ossl_provider_add_conf_module.pod | 41 ++++++ doc/internal/man3/ossl_provider_new.pod | 159 ++++++++++++--------- 2 files changed, 136 insertions(+), 64 deletions(-) create mode 100644 doc/internal/man3/ossl_provider_add_conf_module.pod diff --git a/doc/internal/man3/ossl_provider_add_conf_module.pod b/doc/internal/man3/ossl_provider_add_conf_module.pod new file mode 100644 index 0000000..7e4d509 --- /dev/null +++ b/doc/internal/man3/ossl_provider_add_conf_module.pod @@ -0,0 +1,41 @@ +=pod + +=head1 NAME + +ossl_provider_add_conf_module - internal standard configuration module + +=head1 SYNOPSIS + + #include "internal/provider.h" + + /* Configuration */ + void ossl_provider_add_conf_module(void); + +=head1 DESCRIPTION + +ossl_provider_add_conf_module() adds the standard configuration module +for providers. +This allows providers to be configured with an OpenSSL L file. + +=head1 RETURN VALUES + +ossl_provider_add_conf_module() doesn't return any value. + +=head1 SEE ALSO + +L, L + +=head1 HISTORY + +The functions described here were all added in OpenSSL 3.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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/internal/man3/ossl_provider_new.pod b/doc/internal/man3/ossl_provider_new.pod index 9e96c72..5a8e97b 100644 --- a/doc/internal/man3/ossl_provider_new.pod +++ b/doc/internal/man3/ossl_provider_new.pod @@ -3,9 +3,12 @@ =head1 NAME ossl_provider_find, ossl_provider_new, ossl_provider_upref, -ossl_provider_free, ossl_provider_add_module_location, -ossl_provider_set_fallback, ossl_provider_activate, -ossl_provider_ctx, ossl_provider_forall_loaded, +ossl_provider_free, +ossl_provider_set_fallback, ossl_provider_set_module_path, +ossl_provider_add_parameter, +ossl_provider_activate, +ossl_provider_ctx, +ossl_provider_forall_loaded, ossl_provider_name, ossl_provider_dso, ossl_provider_module_name, ossl_provider_module_path, ossl_provider_teardown, ossl_provider_get_param_types, @@ -23,8 +26,10 @@ ossl_provider_get_params, ossl_provider_query_operation void ossl_provider_free(OSSL_PROVIDER *prov); /* Setters */ - int ossl_provider_add_module_location(OSSL_PROVIDER *prov, const char *loc); int ossl_provider_set_fallback(OSSL_PROVIDER *prov); + int ossl_provider_set_module_path(OSSL_PROVIDER *prov, const char *path); + int ossl_provider_add_parameter(OSSL_PROVIDER *prov, const char *name, + const char *value); /* Load and initialize the Provider */ int ossl_provider_activate(OSSL_PROVIDER *prov); @@ -54,57 +59,77 @@ ossl_provider_get_params, ossl_provider_query_operation =head1 DESCRIPTION -C is a type that holds all the necessary information +I is a type that holds all the necessary information to handle a provider, regardless of if it's built in to the application or the OpenSSL libraries, or if it's a loadable provider module. -Instances of this type are commonly refered to as Is. +Instances of this type are commonly referred to as "provider objects". -A I is always stored in a set of Is +A provider object is always stored in a set of provider objects in the library context. -Is are reference counted. +Provider objects are reference counted. -Is are initially inactive, i.e. they are only -recorded in the store, but are not used. +Provider objects are initially inactive, i.e. they are only recorded +in the store, but are not used. They are activated with the first call to ossl_provider_activate(), and are inactivated when ossl_provider_free() has been called as many times as ossl_provider_activate() has. =head2 Functions -ossl_provider_find() finds an existing I in the -I store by C. -The I it finds gets its reference count -incremented. - -ossl_provider_new() creates a new I and stores it in -the I store, unless there already is one there with -the same name. -The reference counter of a newly created I will -always be 2; one for being added to the store, and one for the -returned reference. -To indicate a built-in provider, the C argument must -point at the provider initialization function for that provider. - -ossl_provider_free() decrements a I's reference -counter; if it drops below 2, the I is assumed to -have fallen out of use and will be inactivated (its teardown function -is called); if it drops down to zero, the I is -assumed to have been taken out of the store, and the associated module -will be unloaded if one was loaded, and the I will be -freed. - -ossl_provider_add_module_location() adds a location to look for a -provider module. - -ossl_provider_set_fallback() marks an available provider as fallback. -Note that after this call, the I pointer that was +ossl_provider_find() finds an existing provider object in the provider +object store by I. +The provider object it finds has its reference count incremented. + +ossl_provider_new() creates a new provider object named I and +stores it in the provider object store, unless there already is one +there with the same name. +If there already is one with the same name, it's returned with its +reference count incremented. +The reference count of a newly created provider object will always +be 2; one for being added to the store, and one for the returned +reference. +If I is NULL, the provider is assumed to be a +dynamically loadable module, with the symbol B as +its initialisation function. +If I isn't NULL, the provider is assumed to be built +in, with I being the pointer to its initialisation +function. +For further description of the initialisation function, see the +description of ossl_provider_activate() below. + +ossl_provider_upref() increments the provider object I's +reference count. + +ossl_provider_free() decrements the provider object I's +reference count; if it drops below 2, the provider object is assumed +to have fallen out of use and will be deactivated (its I +function is called); if it drops down to zero, I is assumed to +have been taken out of the store, and the associated module will be +unloaded if one was loaded, and I itself will be freed. + +ossl_provider_set_fallback() marks an available provider I as +fallback. +Note that after this call, the provider object pointer that was used can simply be dropped, but not freed. +ossl_provider_set_module_path() sets the module path to load the +provider module given the provider object I. +This will be used in preference to automatically trying to figure out +the path from the provider name and the default module directory (more +on this in L). + +ossl_provider_add_parameter() adds a global parameter for the provider +to retrieve as it sees fit. +The parameters are a combination of I and I, and the +provider will use the name to find the value it wants. +Only text parameters can be given, and it's up to the provider to +interpret them. + ossl_provider_activate() "activates" the provider for the given -I. -What "activates" means depends on what type of I it +provider object I. +What "activates" means depends on what type of provider object it is: =over 4 @@ -117,8 +142,8 @@ function will get called. =item * If no intialization function was given with ossl_provider_new(), a -loadable module with the C that was given to ossl_provider_new() -will be located and loaded, then the symbol C will +loadable module with the I that was given to ossl_provider_new() +will be located and loaded, then the symbol B will be located in that module, and called. =back @@ -128,7 +153,7 @@ Outside of the provider, it's completely opaque, but it needs to be passed back to some of the provider functions. ossl_provider_forall_loaded() iterates over all the currently -"activated" providers, and calls C for each of them. +"activated" providers, and calls I for each of them. If no providers have been "activated" yet, it tries to activate all available fallback providers and tries another iteration. @@ -144,23 +169,23 @@ providers that come in the form of loadable modules. ossl_provider_module_path() returns the full path of the module file, for providers that come in the form of loadable modules. -ossl_provider_teardown() calls the provider's C function, if +ossl_provider_teardown() calls the provider's I function, if the provider has one. -ossl_provider_get_param_types() calls the provider's C +ossl_provider_get_param_types() calls the provider's I function, if the provider has one. -It should return an array of C to describe all the -parameters that the provider has for the I. +It should return an array of I to describe all the +parameters that the provider has for the provider object. ossl_provider_get_params() calls the provider's parameter request responder. -It should treat the given C array as described in +It should treat the given I array as described in L. ossl_provider_query_operation() calls the provider's -C function, if the provider has one. -It should return an array of C for the given -C. +I function, if the provider has one. +It should return an array of I for the given +I. =head1 NOTES @@ -170,50 +195,56 @@ Locating a provider module happens as follows: =item 1. -Look in each directory given by ossl_provider_add_module_location(). +If a path was given with ossl_provider_set_module_path(), use that as +module path. +Otherwise, use the provider object's name as module path, with +platform specific standard extensions added. =item 2. -Look in the directory given by the environment variable -B. +If the environment variable B is defined, assume its +value is a directory specification and merge it with the module path. +Otherwise, merge the value of the OpenSSL built in macro B +with the module path. -=item 3. +=back -Look in the directory given by the OpenSSL built in macro -B. +When this process is done, the result is used when trying to load the +provider module. -=back +The command C can be used to find out the value +of the built in macro B. =head1 RETURN VALUES ossl_provider_find() and ossl_provider_new() return a pointer to a -I (C) on success, or B on error. +provider object (I) on success, or NULL on error. -ossl_provider_upref() returns the value of the reference counter after +ossl_provider_upref() returns the value of the reference count after it has been incremented. ossl_provider_free() doesn't return any value. -ossl_provider_add_module_location(), ossl_provider_set_fallback() and +ossl_provider_set_module_path(), ossl_provider_set_fallback() and ossl_provider_activate() return 1 on success, or 0 on error. ossl_provider_name(), ossl_provider_dso(), ossl_provider_module_name(), and ossl_provider_module_path() return a -pointer to their respective data if it's available, otherwise B +pointer to their respective data if it's available, otherwise NULL is returned. ossl_provider_teardown() doesnt't return any value. -ossl_provider_get_param_types() returns a pointer to an C +ossl_provider_get_param_types() returns a pointer to an I array if this function is available in the provider, otherwise -B. +NULL. ossl_provider_get_params() returns 1 on success, or 0 on error. If this function isn't available in the provider, 0 is returned. =head1 SEE ALSO -L, L +L, L, L =head1 HISTORY From builds at travis-ci.org Mon Jun 24 06:15:32 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 06:15:32 +0000 Subject: Still Failing: openssl/openssl#26013 (master - 3bbec1a) In-Reply-To: Message-ID: <5d106a841071a_43fb086e33a34622c0@e54c045c-e5ef-41de-a6c0-46a2dca681e0.mail> Build Update for openssl/openssl ------------------------------------- Build: #26013 Status: Still Failing Duration: 17 mins and 49 secs Commit: 3bbec1a (master) Author: Richard Levitte Message: Enhance and update the docs of the internal ossl_provider API Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9200) View the changeset: https://github.com/openssl/openssl/compare/4e7991b497b6...3bbec1afed1c View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549576554?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 Jun 24 07:20:55 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 07:20:55 +0000 Subject: Build failed: openssl master.25444 Message-ID: <20190624072055.1.1B5D0484769A9503@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Mon Jun 24 07:25:06 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 24 Jun 2019 07:25:06 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561361106.022344.11626.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 1d12afc310 crypto/trace.c: Remove unexisting categories fe26f79852 OSSL_TRACE: ensure it's initialised f8922b5107 Handle CTRL-C as non-redoable abort signal 32ee452496 Remove OPENSSL_memcmp. 2d905f6715 Print thread IDs nicely. Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:217: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:221: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:214: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:225: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:231: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:234: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:237: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:284: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:289: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:301: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:304: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:313: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:317: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:330: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:338: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:343: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:352: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:136: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:139: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:142: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:145: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:179: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7073: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From no-reply at appveyor.com Mon Jun 24 07:46:41 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 07:46:41 +0000 Subject: Build completed: openssl master.25445 Message-ID: <20190624074641.1.C0B2863D805AA2AA@appveyor.com> An HTML attachment was scrubbed... URL: From pauli at openssl.org Mon Jun 24 07:56:16 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 07:56:16 +0000 Subject: [openssl] master update Message-ID: <1561362976.482902.30438.nullmailer@dev.openssl.org> The branch master has been updated via 2c840201e57e27fa9f1b26a970270a91813e32fe (commit) from 3bbec1afed1c65b6f7f645b27808b070e6e7a509 (commit) - Log ----------------------------------------------------------------- commit 2c840201e57e27fa9f1b26a970270a91813e32fe Author: Pauli Date: Mon Jun 24 17:54:47 2019 +1000 Allow AES XTS decryption using duplicate keys. This feature is enabled by default outside of FIPS builds which ban such actions completely. Encryption is always disallowed and will generate an error. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9112) ----------------------------------------------------------------------- Summary of changes: crypto/evp/e_aes.c | 22 ++++++++++++++++++---- test/recipes/30-test_evp_data/evpciph.txt | 21 +++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index c9dbca9..697b5a5 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -63,6 +63,12 @@ typedef struct { const unsigned char iv[16]); } EVP_AES_XTS_CTX; +#ifdef FIPS_MODE +static const int allow_insecure_decrypt = 0; +#else +static const int allow_insecure_decrypt = 1; +#endif + typedef struct { union { OSSL_UNION_ALIGN; @@ -387,6 +393,7 @@ static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; @@ -401,7 +408,8 @@ static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * This addresses Rogaway's vulnerability. * See comment in aes_xts_init_key() below. */ - if (memcmp(key, key + bytes, bytes) == 0) { + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AESNI_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } @@ -804,6 +812,7 @@ static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; @@ -818,7 +827,8 @@ static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * This addresses Rogaway's vulnerability. * See comment in aes_xts_init_key() below. */ - if (memcmp(key, key + bytes, bytes) == 0) { + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AES_T4_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } @@ -3408,10 +3418,12 @@ BLOCK_CIPHER_custom(NID_aes, 128, 1, 12, gcm, GCM, static int aes_xts_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) { - EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,c); + EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX, c); + if (type == EVP_CTRL_COPY) { EVP_CIPHER_CTX *out = ptr; EVP_AES_XTS_CTX *xctx_out = EVP_C_DATA(EVP_AES_XTS_CTX,out); + if (xctx->xts.key1) { if (xctx->xts.key1 != &xctx->ks1) return 0; @@ -3435,6 +3447,7 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; @@ -3460,7 +3473,8 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * BEFORE using the keys in the XTS-AES algorithm to process * data with them." */ - if (memcmp(key, key + bytes, bytes) == 0) { + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AES_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt index 916ba15..3dd5a87 100644 --- a/test/recipes/30-test_evp_data/evpciph.txt +++ b/test/recipes/30-test_evp_data/evpciph.txt @@ -1190,13 +1190,34 @@ Result = CIPHERFINAL_ERROR Title = AES XTS test vectors from IEEE Std 1619-2007 +# Using the same key twice for encryption is always banned. Cipher = aes-128-xts +Operation = ENCRYPT Key = 0000000000000000000000000000000000000000000000000000000000000000 IV = 00000000000000000000000000000000 Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e Result = KEY_SET_ERROR +# Using the same key twice for decryption is banned in FIPS mode. +#Cipher = aes-128-xts +#FIPS = YES +#Operation = DECRYPT +#Key = 0000000000000000000000000000000000000000000000000000000000000000 +#IV = 00000000000000000000000000000000 +#Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 +#Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e +#Result = KEY_SET_ERROR + +# Using the same key twice for decryption is allowed outside of FIPS mode. +Cipher = aes-128-xts +#FIPS = NO +Operation = DECRYPT +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e + Cipher = aes-128-xts Key = 1111111111111111111111111111111122222222222222222222222222222222 IV = 33333333330000000000000000000000 From pauli at openssl.org Mon Jun 24 07:59:44 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 07:59:44 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561363184.247755.4275.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 2a5f63c9a61be7582620c4b5da202bb3fd7e4138 (commit) from 1075139ca2b16229435c623fffbd58973d3970a7 (commit) - Log ----------------------------------------------------------------- commit 2a5f63c9a61be7582620c4b5da202bb3fd7e4138 Author: Pauli Date: Mon Jun 24 17:54:47 2019 +1000 Allow AES XTS decryption using duplicate keys. This feature is enabled by default outside of FIPS builds which ban such actions completely. Encryption is always disallowed and will generate an error. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9112) (cherry picked from commit 2c840201e57e27fa9f1b26a970270a91813e32fe) ----------------------------------------------------------------------- Summary of changes: crypto/err/openssl.txt | 4 ++ crypto/evp/e_aes.c | 72 ++++++++++++++++++++++++++++++- crypto/evp/evp_err.c | 8 +++- include/openssl/evperr.h | 6 ++- test/recipes/30-test_evp_data/evpciph.txt | 21 +++++++++ 5 files changed, 107 insertions(+), 4 deletions(-) diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index bf440f3..bb6b932 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -714,11 +714,14 @@ ENGINE_F_INT_ENGINE_CONFIGURE:188:int_engine_configure ENGINE_F_INT_ENGINE_MODULE_INIT:187:int_engine_module_init ENGINE_F_OSSL_HMAC_INIT:200:ossl_hmac_init EVP_F_AESNI_INIT_KEY:165:aesni_init_key +EVP_F_AESNI_XTS_INIT_KEY:207:aesni_xts_init_key EVP_F_AES_GCM_CTRL:196:aes_gcm_ctrl EVP_F_AES_INIT_KEY:133:aes_init_key EVP_F_AES_OCB_CIPHER:169:aes_ocb_cipher EVP_F_AES_T4_INIT_KEY:178:aes_t4_init_key +EVP_F_AES_T4_XTS_INIT_KEY:208:aes_t4_xts_init_key EVP_F_AES_WRAP_CIPHER:170:aes_wrap_cipher +EVP_F_AES_XTS_INIT_KEY:209:aes_xts_init_key EVP_F_ALG_MODULE_INIT:177:alg_module_init EVP_F_ARIA_CCM_INIT_KEY:175:aria_ccm_init_key EVP_F_ARIA_GCM_CTRL:197:aria_gcm_ctrl @@ -2289,6 +2292,7 @@ EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM:118:unsupported private key algorithm EVP_R_UNSUPPORTED_SALT_TYPE:126:unsupported salt type EVP_R_WRAP_MODE_NOT_ALLOWED:170:wrap mode not allowed EVP_R_WRONG_FINAL_BLOCK_LENGTH:109:wrong final block length +EVP_R_XTS_DUPLICATED_KEYS:183:xts duplicated keys KDF_R_INVALID_DIGEST:100:invalid digest KDF_R_MISSING_ITERATION_COUNT:109:missing iteration count KDF_R_MISSING_KEY:104:missing key diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 68322e1..e60d736 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -59,6 +59,12 @@ typedef struct { const unsigned char iv[16]); } EVP_AES_XTS_CTX; +#ifdef FIPS_MODE +static const int allow_insecure_decrypt = 0; +#else +static const int allow_insecure_decrypt = 1; +#endif + typedef struct { union { double align; @@ -383,10 +389,27 @@ static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; if (key) { + /* The key is two half length keys in reality */ + const int bytes = EVP_CIPHER_CTX_key_length(ctx) / 2; + const int bits = bytes * 8; + + /* + * Verify that the two keys are different. + * + * This addresses Rogaway's vulnerability. + * See comment in aes_xts_init_key() below. + */ + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + EVPerr(EVP_F_AESNI_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); + return 0; + } + /* key_len is two AES keys */ if (enc) { aesni_set_encrypt_key(key, EVP_CIPHER_CTX_key_length(ctx) * 4, @@ -787,11 +810,27 @@ static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; if (key) { - int bits = EVP_CIPHER_CTX_key_length(ctx) * 4; + /* The key is two half length keys in reality */ + const int bytes = EVP_CIPHER_CTX_key_length(ctx) / 2; + const int bits = bytes * 8; + + /* + * Verify that the two keys are different. + * + * This addresses Rogaway's vulnerability. + * See comment in aes_xts_init_key() below. + */ + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + EVPerr(EVP_F_AES_T4_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); + return 0; + } + xctx->stream = NULL; /* key_len is two AES keys */ if (enc) { @@ -3284,10 +3323,12 @@ BLOCK_CIPHER_custom(NID_aes, 128, 1, 12, gcm, GCM, static int aes_xts_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) { - EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,c); + EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX, c); + if (type == EVP_CTRL_COPY) { EVP_CIPHER_CTX *out = ptr; EVP_AES_XTS_CTX *xctx_out = EVP_C_DATA(EVP_AES_XTS_CTX,out); + if (xctx->xts.key1) { if (xctx->xts.key1 != &xctx->ks1) return 0; @@ -3311,11 +3352,38 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { EVP_AES_XTS_CTX *xctx = EVP_C_DATA(EVP_AES_XTS_CTX,ctx); + if (!iv && !key) return 1; if (key) do { + /* The key is two half length keys in reality */ + const int bytes = EVP_CIPHER_CTX_key_length(ctx) / 2; + const int bits = bytes * 8; + + /* + * Verify that the two keys are different. + * + * This addresses the vulnerability described in Rogaway's + * September 2004 paper: + * + * "Efficient Instantiations of Tweakable Blockciphers and + * Refinements to Modes OCB and PMAC". + * (http://web.cs.ucdavis.edu/~rogaway/papers/offsets.pdf) + * + * FIPS 140-2 IG A.9 XTS-AES Key Generation Requirements states + * that: + * "The check for Key_1 != Key_2 shall be done at any place + * BEFORE using the keys in the XTS-AES algorithm to process + * data with them." + */ + if ((!allow_insecure_decrypt || enc) + && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + EVPerr(EVP_F_AES_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); + return 0; + } + #ifdef AES_XTS_ASM xctx->stream = enc ? AES_xts_encrypt : AES_xts_decrypt; #else diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 60df27c..40ed0d9 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 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 @@ -15,11 +15,15 @@ static const ERR_STRING_DATA EVP_str_functs[] = { {ERR_PACK(ERR_LIB_EVP, EVP_F_AESNI_INIT_KEY, 0), "aesni_init_key"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_AESNI_XTS_INIT_KEY, 0), "aesni_xts_init_key"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_GCM_CTRL, 0), "aes_gcm_ctrl"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_INIT_KEY, 0), "aes_init_key"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_OCB_CIPHER, 0), "aes_ocb_cipher"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_T4_INIT_KEY, 0), "aes_t4_init_key"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_T4_XTS_INIT_KEY, 0), + "aes_t4_xts_init_key"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_WRAP_CIPHER, 0), "aes_wrap_cipher"}, + {ERR_PACK(ERR_LIB_EVP, EVP_F_AES_XTS_INIT_KEY, 0), "aes_xts_init_key"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_ALG_MODULE_INIT, 0), "alg_module_init"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_ARIA_CCM_INIT_KEY, 0), "aria_ccm_init_key"}, {ERR_PACK(ERR_LIB_EVP, EVP_F_ARIA_GCM_CTRL, 0), "aria_gcm_ctrl"}, @@ -266,6 +270,8 @@ static const ERR_STRING_DATA EVP_str_reasons[] = { "wrap mode not allowed"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_WRONG_FINAL_BLOCK_LENGTH), "wrong final block length"}, + {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_XTS_DUPLICATED_KEYS), + "xts duplicated keys"}, {0, NULL} }; diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index 84f03eb..0a5b7e2 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 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 @@ -20,11 +20,14 @@ int ERR_load_EVP_strings(void); * EVP function codes. */ # define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AESNI_XTS_INIT_KEY 207 # define EVP_F_AES_GCM_CTRL 196 # define EVP_F_AES_INIT_KEY 133 # define EVP_F_AES_OCB_CIPHER 169 # define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_AES_T4_XTS_INIT_KEY 208 # define EVP_F_AES_WRAP_CIPHER 170 +# define EVP_F_AES_XTS_INIT_KEY 209 # define EVP_F_ALG_MODULE_INIT 177 # define EVP_F_ARIA_CCM_INIT_KEY 175 # define EVP_F_ARIA_GCM_CTRL 197 @@ -190,5 +193,6 @@ int ERR_load_EVP_strings(void); # define EVP_R_UNSUPPORTED_SALT_TYPE 126 # define EVP_R_WRAP_MODE_NOT_ALLOWED 170 # define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 +# define EVP_R_XTS_DUPLICATED_KEYS 183 #endif diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt index 68eddca..634b633 100644 --- a/test/recipes/30-test_evp_data/evpciph.txt +++ b/test/recipes/30-test_evp_data/evpciph.txt @@ -1190,7 +1190,28 @@ Result = CIPHERFINAL_ERROR Title = AES XTS test vectors from IEEE Std 1619-2007 +# Using the same key twice for encryption is always banned. Cipher = aes-128-xts +Operation = ENCRYPT +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e + +# Using the same key twice for decryption is banned in FIPS mode. +#Cipher = aes-128-xts +#FIPS = YES +#Operation = DECRYPT +#Key = 0000000000000000000000000000000000000000000000000000000000000000 +#IV = 00000000000000000000000000000000 +#Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 +#Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e +#Result = KEY_SET_ERROR + +# Using the same key twice for decryption is allowed outside of FIPS mode. +Cipher = aes-128-xts +#FIPS = NO +Operation = DECRYPT Key = 0000000000000000000000000000000000000000000000000000000000000000 IV = 00000000000000000000000000000000 Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 From builds at travis-ci.org Mon Jun 24 08:16:23 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 08:16:23 +0000 Subject: Still Failing: openssl/openssl#26016 (master - 2c84020) In-Reply-To: Message-ID: <5d1086d51e00d_43fb4aca90a38164524@64fb1034-0081-46e2-8768-273b39860e40.mail> Build Update for openssl/openssl ------------------------------------- Build: #26016 Status: Still Failing Duration: 19 mins and 27 secs Commit: 2c84020 (master) Author: Pauli Message: Allow AES XTS decryption using duplicate keys. This feature is enabled by default outside of FIPS builds which ban such actions completely. Encryption is always disallowed and will generate an error. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9112) View the changeset: https://github.com/openssl/openssl/compare/3bbec1afed1c...2c840201e57e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549612532?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 Jun 24 08:26:26 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 08:26:26 +0000 Subject: Broken: openssl/openssl#26017 (OpenSSL_1_1_1-stable - 2a5f63c) In-Reply-To: Message-ID: <5d108931ca54a_43f9b0acc547c1800ee@e4efe150-5b8c-4052-9bde-aa2829d2e584.mail> Build Update for openssl/openssl ------------------------------------- Build: #26017 Status: Broken Duration: 21 mins and 59 secs Commit: 2a5f63c (OpenSSL_1_1_1-stable) Author: Pauli Message: Allow AES XTS decryption using duplicate keys. This feature is enabled by default outside of FIPS builds which ban such actions completely. Encryption is always disallowed and will generate an error. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9112) (cherry picked from commit 2c840201e57e27fa9f1b26a970270a91813e32fe) View the changeset: https://github.com/openssl/openssl/compare/1075139ca2b1...2a5f63c9a61b View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549614095?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 Jun 24 08:58:17 2019 From: levitte at openssl.org (Richard Levitte) Date: Mon, 24 Jun 2019 08:58:17 +0000 Subject: [openssl] master update Message-ID: <1561366697.724778.27647.nullmailer@dev.openssl.org> The branch master has been updated via a9550b74d3efdf1727005dada706cc2e12c273b8 (commit) via 734a462e4028e2f0136d3af0b37611138e781246 (commit) via 651d44183e86355b1eb9629a6a61d3da09369bbf (commit) from 2c840201e57e27fa9f1b26a970270a91813e32fe (commit) - Log ----------------------------------------------------------------- commit a9550b74d3efdf1727005dada706cc2e12c273b8 Author: Richard Levitte Date: Wed Jun 5 08:59:13 2019 +0200 OSSL_NAMEMAP: make names case insensitive Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8967) commit 734a462e4028e2f0136d3af0b37611138e781246 Author: Richard Levitte Date: Thu May 23 16:00:05 2019 +0200 Add a namemap test Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8967) commit 651d44183e86355b1eb9629a6a61d3da09369bbf Author: Richard Levitte Date: Thu May 23 03:18:04 2019 +0200 Replumbing: add support for multiple names per algorithm Algorithms may have multiple names, as seen in the legacy names database. We need to support that as well. This implementations modifies ossl_namemap to support multiple names for the same identifier. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8967) ----------------------------------------------------------------------- Summary of changes: crypto/core_namemap.c | 147 +++++++++++---------- crypto/evp/evp_fetch.c | 8 +- doc/internal/man3/ossl_namemap_new.pod | 46 +++++-- include/internal/namemap.h | 14 +- test/build.info | 5 + test/namemap_internal_test.c | 63 +++++++++ ...ternal_context.t => 03-test_internal_namemap.t} | 4 +- 7 files changed, 193 insertions(+), 94 deletions(-) create mode 100644 test/namemap_internal_test.c copy test/recipes/{02-test_internal_context.t => 03-test_internal_namemap.t} (82%) diff --git a/crypto/core_namemap.c b/crypto/core_namemap.c index 5155a22..d4c94190 100644 --- a/crypto/core_namemap.c +++ b/crypto/core_namemap.c @@ -7,45 +7,52 @@ * https://www.openssl.org/source/license.html */ +#include "e_os.h" /* strcasecmp */ #include "internal/namemap.h" #include -#include +#include "internal/lhash.h" /* openssl_lh_strcasehash */ -/* The namemap entry */ +/*- + * The namenum entry + * ================= + */ typedef struct { + char *name; int number; - const char *name; - char body[1]; /* Sized appropriately to contain the name */ -} NAMEMAP_ENTRY; +} NAMENUM_ENTRY; -DEFINE_LHASH_OF(NAMEMAP_ENTRY); -DEFINE_STACK_OF(NAMEMAP_ENTRY) +DEFINE_LHASH_OF(NAMENUM_ENTRY); -/* The namemap, which provides for bidirectional indexing */ +/*- + * The namemap itself + * ================== + */ struct ossl_namemap_st { /* Flags */ unsigned int stored:1; /* If 1, it's stored in a library context */ CRYPTO_RWLOCK *lock; - LHASH_OF(NAMEMAP_ENTRY) *namenum; /* Name->number mapping */ - STACK_OF(NAMEMAP_ENTRY) *numname; /* Number->name mapping */ + LHASH_OF(NAMENUM_ENTRY) *namenum; /* Name->number mapping */ + int max_number; /* Current max number */ }; /* LHASH callbacks */ -static unsigned long namemap_hash(const NAMEMAP_ENTRY *n) +static unsigned long namenum_hash(const NAMENUM_ENTRY *n) { - return OPENSSL_LH_strhash(n->name); + return openssl_lh_strcasehash(n->name); } -static int namemap_cmp(const NAMEMAP_ENTRY *a, const NAMEMAP_ENTRY *b) +static int namenum_cmp(const NAMENUM_ENTRY *a, const NAMENUM_ENTRY *b) { - return strcmp(a->name, b->name); + return strcasecmp(a->name, b->name); } -static void namemap_free(NAMEMAP_ENTRY *n) +static void namenum_free(NAMENUM_ENTRY *n) { + if (n != NULL) + OPENSSL_free(n->name); OPENSSL_free(n); } @@ -75,7 +82,10 @@ static const OPENSSL_CTX_METHOD stored_namemap_method = { stored_namemap_free, }; -/* API functions */ +/*- + * API functions + * ============= + */ OSSL_NAMEMAP *ossl_namemap_stored(OPENSSL_CTX *libctx) { @@ -89,11 +99,9 @@ OSSL_NAMEMAP *ossl_namemap_new(void) if ((namemap = OPENSSL_zalloc(sizeof(*namemap))) != NULL && (namemap->lock = CRYPTO_THREAD_lock_new()) != NULL - && (namemap->numname = sk_NAMEMAP_ENTRY_new_null()) != NULL && (namemap->namenum = - lh_NAMEMAP_ENTRY_new(namemap_hash, namemap_cmp)) != NULL) { + lh_NAMENUM_ENTRY_new(namenum_hash, namenum_cmp)) != NULL) return namemap; - } ossl_namemap_free(namemap); return NULL; @@ -104,45 +112,46 @@ void ossl_namemap_free(OSSL_NAMEMAP *namemap) if (namemap == NULL || namemap->stored) return; - /* The elements will be freed by sk_NAMEMAP_ENTRY_pop_free() */ - lh_NAMEMAP_ENTRY_free(namemap->namenum); - - sk_NAMEMAP_ENTRY_pop_free(namemap->numname, namemap_free); + lh_NAMENUM_ENTRY_doall(namemap->namenum, namenum_free); + lh_NAMENUM_ENTRY_free(namemap->namenum); CRYPTO_THREAD_lock_free(namemap->lock); OPENSSL_free(namemap); } -/* - * TODO(3.0) It isn't currently possible to have a default namemap in the - * FIPS module because if init and cleanup constraints, so we currently - * disable the code that would allow it when FIPS_MODE is defined. - */ +typedef struct doall_names_data_st { + int number; + void (*fn)(const char *name, void *data); + void *data; +} DOALL_NAMES_DATA; -const char *ossl_namemap_name(const OSSL_NAMEMAP *namemap, int number) +static void do_name(const NAMENUM_ENTRY *namenum, DOALL_NAMES_DATA *data) { - NAMEMAP_ENTRY *entry; + if (namenum->number == data->number) + data->fn(namenum->name, data->data); +} -#ifndef FIPS_MODE - if (namemap == NULL) - namemap = ossl_namemap_stored(NULL); -#endif +IMPLEMENT_LHASH_DOALL_ARG_CONST(NAMENUM_ENTRY, DOALL_NAMES_DATA); - if (namemap == NULL || number == 0) - return NULL; +void ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number, + void (*fn)(const char *name, void *data), + void *data) +{ + DOALL_NAMES_DATA cbdata; + cbdata.number = number; + cbdata.fn = fn; + cbdata.data = data; CRYPTO_THREAD_read_lock(namemap->lock); - entry = sk_NAMEMAP_ENTRY_value(namemap->numname, number); + lh_NAMENUM_ENTRY_doall_DOALL_NAMES_DATA(namemap->namenum, do_name, + &cbdata); CRYPTO_THREAD_unlock(namemap->lock); - - if (entry != NULL) - return entry->name; - return NULL; } -int ossl_namemap_number(const OSSL_NAMEMAP *namemap, const char *name) +int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name) { - NAMEMAP_ENTRY *entry, template; + NAMENUM_ENTRY *namenum_entry, namenum_tmpl; + int number = 0; #ifndef FIPS_MODE if (namemap == NULL) @@ -152,21 +161,22 @@ int ossl_namemap_number(const OSSL_NAMEMAP *namemap, const char *name) if (namemap == NULL) return 0; - template.name = name; + namenum_tmpl.name = (char *)name; + namenum_tmpl.number = 0; CRYPTO_THREAD_read_lock(namemap->lock); - entry = lh_NAMEMAP_ENTRY_retrieve(namemap->namenum, &template); + namenum_entry = + lh_NAMENUM_ENTRY_retrieve(namemap->namenum, &namenum_tmpl); + if (namenum_entry != NULL) + number = namenum_entry->number; CRYPTO_THREAD_unlock(namemap->lock); - if (entry == NULL) - return 0; - - return entry->number; + return number; } -int ossl_namemap_add(OSSL_NAMEMAP *namemap, const char *name) +int ossl_namemap_add(OSSL_NAMEMAP *namemap, int number, const char *name) { - NAMEMAP_ENTRY *entry; - int number; + NAMENUM_ENTRY *namenum = NULL; + int tmp_number; #ifndef FIPS_MODE if (namemap == NULL) @@ -176,36 +186,29 @@ int ossl_namemap_add(OSSL_NAMEMAP *namemap, const char *name) if (name == NULL || namemap == NULL) return 0; - if ((number = ossl_namemap_number(namemap, name)) != 0) - return number; /* Pretend success */ - - if ((entry = OPENSSL_zalloc(sizeof(*entry) + strlen(name))) == NULL) - goto err; - - strcpy(entry->body, name); - entry->name = entry->body; + if ((tmp_number = ossl_namemap_name2num(namemap, name)) != 0) + return tmp_number; /* Pretend success */ CRYPTO_THREAD_write_lock(namemap->lock); - entry->number = sk_NAMEMAP_ENTRY_push(namemap->numname, entry); - - if (entry->number == 0) + if ((namenum = OPENSSL_zalloc(sizeof(*namenum))) == NULL + || (namenum->name = OPENSSL_strdup(name)) == NULL) goto err; - (void)lh_NAMEMAP_ENTRY_insert(namemap->namenum, entry); - if (lh_NAMEMAP_ENTRY_error(namemap->namenum)) + namenum->number = tmp_number = + number != 0 ? number : ++namemap->max_number; + (void)lh_NAMENUM_ENTRY_insert(namemap->namenum, namenum); + + if (lh_NAMENUM_ENTRY_error(namemap->namenum)) goto err; CRYPTO_THREAD_unlock(namemap->lock); - return entry->number; + return tmp_number; err: - if (entry != NULL) { - if (entry->number != 0) - (void)sk_NAMEMAP_ENTRY_pop(namemap->numname); - lh_NAMEMAP_ENTRY_delete(namemap->namenum, entry); - CRYPTO_THREAD_unlock(namemap->lock); - } + namenum_free(namenum); + + CRYPTO_THREAD_unlock(namemap->lock); return 0; } diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index 1c9e27d..b039cc0 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -99,7 +99,7 @@ static void *get_method_from_store(OPENSSL_CTX *libctx, void *store, return NULL; if ((namemap = ossl_namemap_stored(libctx)) == NULL - || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (nameid = ossl_namemap_name2num(namemap, name)) == 0 || (methid = method_id(operation_id, nameid)) == 0) return NULL; @@ -123,7 +123,7 @@ static int put_method_in_store(OPENSSL_CTX *libctx, void *store, uint32_t methid; if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL - || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (nameid = ossl_namemap_add(namemap, 0, name)) == 0 || (methid = method_id(operation_id, nameid)) == 0) return 0; @@ -181,7 +181,7 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, * about 2^8) or too many names (more than about 2^24). In that * case, we can't create any new method. */ - if ((nameid = ossl_namemap_number(namemap, name)) != 0 + if ((nameid = ossl_namemap_name2num(namemap, name)) != 0 && (methid = method_id(operation_id, nameid)) == 0) return NULL; @@ -214,7 +214,7 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, * already been calculated in get_method_from_store() and * put_method_in_store() above. */ - nameid = ossl_namemap_number(namemap, name); + nameid = ossl_namemap_name2num(namemap, name); methid = method_id(operation_id, nameid); ossl_method_store_cache_set(store, methid, properties, method); } diff --git a/doc/internal/man3/ossl_namemap_new.pod b/doc/internal/man3/ossl_namemap_new.pod index 07dc914..8699b86 100644 --- a/doc/internal/man3/ossl_namemap_new.pod +++ b/doc/internal/man3/ossl_namemap_new.pod @@ -3,7 +3,7 @@ =head1 NAME ossl_namemap_new, ossl_namemap_free, ossl_namemap_stored, -ossl_namemap_add, ossl_namemap_name, ossl_namemap_number +ossl_namemap_add, ossl_namemap_name2num, ossl_namemap_doall_names - internal number E-E name map =head1 SYNOPSIS @@ -15,15 +15,18 @@ ossl_namemap_add, ossl_namemap_name, ossl_namemap_number OSSL_NAMEMAP *ossl_namemap_new(void); void ossl_namemap_free(OSSL_NAMEMAP *namemap); - int ossl_namemap_add(OSSL_NAMEMAP *namemap, const char *name); - const char *ossl_namemap_name(const OSSL_NAMEMAP *namemap, int number); - int ossl_namemap_number(const OSSL_NAMEMAP *namemap, const char *name); + int ossl_namemap_add(OSSL_NAMEMAP *namemap, int number, const char *name); + + int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name); + void ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number, + void (*fn)(const char *name, void *data), + void *data); =head1 DESCRIPTION -A B is a simple number E-E name map, which can -be used to give any arbitrary name (any string) a unique dynamic -identity that is valid throughout the lifetime of the associated +A B is a one-to-many number E-E names map, which +can be used to give any arbitrary set of names (any string) a unique +dynamic identity that is valid throughout the lifetime of the associated library context. ossl_namemap_new() and ossl_namemap_free() construct and destruct a @@ -38,11 +41,19 @@ ossl_namemap_free(). ossl_namemap_add() adds a new name to the namemap if it's not already present. +If the given I is zero, a new number will be allocated to +identify this I. +If the given I is non-zero, the I is added to the set of +names already associated with that number. -ossl_namemap_name() finds the name corresponding to the given number. +ossl_namemap_name2num() finds the number corresponding to the given +I. -ossl_namemap_number() finds the number corresponding to the given -name. +ossl_namemap_doall_names() walks through all names associated with +I in the given I and calls the function I for +each of them. +I is also passed the I argument, which allows any caller to +pass extra data for that function to use. =head1 RETURN VALUES @@ -52,12 +63,21 @@ B, or NULL on error. ossl_namemap_add() returns the number associated with the added string, or zero on error. -ossl_namemap_name() returns a pointer to the name corresponding to the -given number, or NULL if it's undefined in the given B. +ossl_namemap_num2names() returns a pointer to a NULL-terminated list of +pointers to the names corresponding to the given number, or NULL if +it's undefined in the given B. -ossl_namemap_number() returns the number corresponding to the given +ossl_namemap_name2num() returns the number corresponding to the given name, or 0 if it's undefined in the given B. +=head1 NOTES + +The result from ossl_namemap_num2names() isn't thread safe, other threads +dealing with the same namemap may cause the list of names to change +location. +It is therefore strongly recommended to only use the result in code +guarded by a thread lock. + =head1 HISTORY The functions described here were all added in OpenSSL 3.0. diff --git a/include/internal/namemap.h b/include/internal/namemap.h index 3002818..5742380 100644 --- a/include/internal/namemap.h +++ b/include/internal/namemap.h @@ -16,6 +16,14 @@ OSSL_NAMEMAP *ossl_namemap_stored(OPENSSL_CTX *libctx); OSSL_NAMEMAP *ossl_namemap_new(void); void ossl_namemap_free(OSSL_NAMEMAP *namemap); -int ossl_namemap_add(OSSL_NAMEMAP *namemap, const char *name); -const char *ossl_namemap_name(const OSSL_NAMEMAP *namemap, int number); -int ossl_namemap_number(const OSSL_NAMEMAP *namemap, const char *name); +int ossl_namemap_add(OSSL_NAMEMAP *namemap, int number, const char *name); + +/* + * The number<->name relationship is 1<->many + * Therefore, the name->number mapping is a simple function, while the + * number->name mapping is an iterator. + */ +int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name); +void ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number, + void (*fn)(const char *name, void *data), + void *data); diff --git a/test/build.info b/test/build.info index 272c439..1cf604e 100644 --- a/test/build.info +++ b/test/build.info @@ -642,6 +642,11 @@ IF[{- !$disabled{tests} -}] SOURCE[params_test]=params_test.c INCLUDE[params_test]=.. ../include ../apps/include DEPEND[params_test]=../libcrypto.a libtestutil.a + + PROGRAMS{noinst}=namemap_internal_test + SOURCE[namemap_internal_test]=namemap_internal_test.c + INCLUDE[namemap_internal_test]=.. ../include ../apps/include + DEPEND[namemap_internal_test]=../libcrypto.a libtestutil.a ENDIF {- diff --git a/test/namemap_internal_test.c b/test/namemap_internal_test.c new file mode 100644 index 0000000..1aee01e --- /dev/null +++ b/test/namemap_internal_test.c @@ -0,0 +1,63 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 "internal/namemap.h" +#include "testutil.h" + +#define NAME1 "name1" +#define NAME2 "name2" +#define ALIAS1 "alias1" +#define ALIAS1_UC "ALIAS1" + +static int test_namemap(OSSL_NAMEMAP *nm) +{ + int num1 = ossl_namemap_add(nm, 0, NAME1); + int num2 = ossl_namemap_add(nm, 0, NAME2); + int num3 = ossl_namemap_add(nm, num1, ALIAS1); + int num4 = ossl_namemap_add(nm, 0, ALIAS1_UC); + int check1 = ossl_namemap_name2num(nm, NAME1); + int check2 = ossl_namemap_name2num(nm, NAME2); + int check3 = ossl_namemap_name2num(nm, ALIAS1); + int check4 = ossl_namemap_name2num(nm, ALIAS1_UC); + int false1 = ossl_namemap_name2num(nm, "foo"); + + return TEST_int_ne(num1, 0) + && TEST_int_ne(num2, 0) + && TEST_int_eq(num1, num3) + && TEST_int_eq(num3, num4) + && TEST_int_eq(num1, check1) + && TEST_int_eq(num2, check2) + && TEST_int_eq(num3, check3) + && TEST_int_eq(num4, check4) + && TEST_int_eq(false1, 0); +} + +static int test_namemap_independent(void) +{ + OSSL_NAMEMAP *nm = ossl_namemap_new(); + int ok = nm != NULL && test_namemap(nm); + + ossl_namemap_free(nm); + return ok; +} + +static int test_namemap_stored(void) +{ + OSSL_NAMEMAP *nm = ossl_namemap_stored(NULL); + + return nm != NULL + && test_namemap(nm); +} + +int setup_tests(void) +{ + ADD_TEST(test_namemap_independent); + ADD_TEST(test_namemap_stored); + return 1; +} diff --git a/test/recipes/02-test_internal_context.t b/test/recipes/03-test_internal_namemap.t similarity index 82% copy from test/recipes/02-test_internal_context.t copy to test/recipes/03-test_internal_namemap.t index c4c9904..9214242 100644 --- a/test/recipes/02-test_internal_context.t +++ b/test/recipes/03-test_internal_namemap.t @@ -11,6 +11,6 @@ use OpenSSL::Test; # get 'plan' use OpenSSL::Test::Simple; use OpenSSL::Test::Utils; -setup("test_internal_context"); +setup("test_internal_namemap"); -simple_test("test_internal_context", "context_internal_test"); +simple_test("test_internal_namemap", "namemap_internal_test"); From pauli at openssl.org Mon Jun 24 09:19:04 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Mon, 24 Jun 2019 09:19:04 +0000 Subject: [openssl] master update Message-ID: <1561367944.801509.19370.nullmailer@dev.openssl.org> The branch master has been updated via 460b8d175b51075d5b28417bec4411c5f9ffcb23 (commit) from a9550b74d3efdf1727005dada706cc2e12c273b8 (commit) - Log ----------------------------------------------------------------- commit 460b8d175b51075d5b28417bec4411c5f9ffcb23 Author: Santhosh Rameshwarapu Date: Mon Jun 24 13:50:55 2019 +0530 Cross-linked the man(1) pages of kdf & pkeyutl. Fixes #8784 Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9228) ----------------------------------------------------------------------- Summary of changes: doc/man1/kdf.pod | 1 + doc/man1/pkeyutl.pod | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/man1/kdf.pod b/doc/man1/kdf.pod index 0ff7762..7282d73 100644 --- a/doc/man1/kdf.pod +++ b/doc/man1/kdf.pod @@ -150,6 +150,7 @@ L L L L +L =head1 HISTORY diff --git a/doc/man1/pkeyutl.pod b/doc/man1/pkeyutl.pod index 033360f..3a7f31b 100644 --- a/doc/man1/pkeyutl.pod +++ b/doc/man1/pkeyutl.pod @@ -395,7 +395,8 @@ Verify some data using an L certificate and a specific ID: L, L, L L, L, L, -L, L +L, L, +L =head1 COPYRIGHT From no-reply at appveyor.com Mon Jun 24 09:32:34 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 09:32:34 +0000 Subject: Build failed: openssl OpenSSL_1_1_1-stable.25447 Message-ID: <20190624093234.1.FAD3CF7EF4AC119E@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Jun 24 09:20:26 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 09:20:26 +0000 Subject: Still Failing: openssl/openssl#26025 (master - a9550b7) In-Reply-To: Message-ID: <5d1095da3109b_43fcfbcfe9eb412519e@a98b2441-3b15-4ac8-a136-c5c4b48cf39c.mail> Build Update for openssl/openssl ------------------------------------- Build: #26025 Status: Still Failing Duration: 21 mins and 36 secs Commit: a9550b7 (master) Author: Richard Levitte Message: OSSL_NAMEMAP: make names case insensitive Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8967) View the changeset: https://github.com/openssl/openssl/compare/2c840201e57e...a9550b74d3ef View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549635726?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 Jun 24 09:45:35 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 09:45:35 +0000 Subject: Still Failing: openssl/openssl#26026 (master - 460b8d1) In-Reply-To: Message-ID: <5d109bbf3f1c4_43fd73d9d5180768b6@711202eb-2d0c-4113-a722-7d290a07b519.mail> Build Update for openssl/openssl ------------------------------------- Build: #26026 Status: Still Failing Duration: 11 mins and 33 secs Commit: 460b8d1 (master) Author: Santhosh Rameshwarapu Message: Cross-linked the man(1) pages of kdf & pkeyutl. Fixes #8784 Reviewed-by: Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9228) View the changeset: https://github.com/openssl/openssl/compare/a9550b74d3ef...460b8d175b51 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549643639?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 Jun 24 13:00:33 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 13:00:33 +0000 Subject: Build failed: openssl master.25458 Message-ID: <20190624130033.1.541835E19D2D9CEF@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 24 13:46:10 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 13:46:10 +0000 Subject: Build failed: openssl master.25459 Message-ID: <20190624134610.1.65601F4955F388D7@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Jun 24 14:08:02 2019 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 24 Jun 2019 14:08:02 +0000 Subject: Build failed: openssl master.25460 Message-ID: <20190624140802.1.628BF93E0BB2F8EE@appveyor.com> An HTML attachment was scrubbed... URL: From matthias.st.pierre at ncp-e.com Mon Jun 24 14:27:33 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Mon, 24 Jun 2019 14:27:33 +0000 Subject: [openssl] master update Message-ID: <1561386453.316580.24571.nullmailer@dev.openssl.org> The branch master has been updated via 6f92692bd9df27a8902336a4c6db9eb7e00d23ba (commit) from 460b8d175b51075d5b28417bec4411c5f9ffcb23 (commit) - Log ----------------------------------------------------------------- commit 6f92692bd9df27a8902336a4c6db9eb7e00d23ba Author: Dr. Matthias St. Pierre Date: Sun Jun 23 19:25:50 2019 +0200 OSSL_TRACE: enhance documentation and fix doc-nit errors - Add the following macros to the NAME section: - with synopsis OSSL_TRACE_CANCEL, OSSL_TRACE, OSSL_TRACE_ENABLED - without synopsis OSSL_TRACEV (helper macro, not intended for public use) OSSL_TRACE[3-8] (omitted on purpose) - Revise the NOTES section Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9224) ----------------------------------------------------------------------- Summary of changes: doc/man3/OSSL_trace_enabled.pod | 97 +++++++++++++++++++++++++++++++++-------- 1 file changed, 79 insertions(+), 18 deletions(-) diff --git a/doc/man3/OSSL_trace_enabled.pod b/doc/man3/OSSL_trace_enabled.pod index e26dee5..958e8b0 100644 --- a/doc/man3/OSSL_trace_enabled.pod +++ b/doc/man3/OSSL_trace_enabled.pod @@ -3,11 +3,17 @@ =head1 NAME OSSL_trace_enabled, OSSL_trace_begin, OSSL_trace_end, -OSSL_TRACE_BEGIN, OSSL_TRACE_END, OSSL_TRACE1, OSSL_TRACE2, OSSL_TRACE9 +OSSL_TRACE_BEGIN, OSSL_TRACE_END, OSSL_TRACE_CANCEL, +OSSL_TRACE, OSSL_TRACE1, OSSL_TRACE2, OSSL_TRACE3, OSSL_TRACE4, +OSSL_TRACE5, OSSL_TRACE6, OSSL_TRACE7, OSSL_TRACE8, OSSL_TRACE9, +OSSL_TRACEV, +OSSL_TRACE_ENABLED - OpenSSL Tracing API =head1 SYNOPSIS +=for comment generic + #include int OSSL_trace_enabled(int category); @@ -17,7 +23,13 @@ OSSL_TRACE_BEGIN, OSSL_TRACE_END, OSSL_TRACE1, OSSL_TRACE2, OSSL_TRACE9 /* trace group macros */ OSSL_TRACE_BEGIN(category) { - ... + ... + if (some_error) { + /* Leave trace group prematurely in case of an error */ + OSSL_TRACE_CANCEL(category); + goto err; + } + ... } OSSL_TRACE_END(category); /* one-shot trace macros */ @@ -26,6 +38,10 @@ OSSL_TRACE_BEGIN, OSSL_TRACE_END, OSSL_TRACE1, OSSL_TRACE2, OSSL_TRACE9 ... OSSL_TRACE9(category, format, arg1, ..., arg9) + /* check whether a trace category is enabled */ + if (OSSL_TRACE_ENABLED(category)) { + ... + } =head1 DESCRIPTION @@ -113,7 +129,7 @@ jumping out of a trace section: OSSL_TRACE_BEGIN(TLS) { - if (condition) { + if (some_error) { OSSL_TRACE_CANCEL(TLS); goto err; } @@ -126,7 +142,7 @@ This will normally expand to: do { BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); if (trc_out != NULL) { - if (condition) { + if (some_error) { OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out); goto err; } @@ -136,26 +152,71 @@ This will normally expand to: } while (0); -C, ... C are one-shot macros which essentially wrap -a single BIO_printf() into a tracing group. +C and C, C, ... C are +so-called one-shot macros: + +The macro call C, produces literal text trace output. + +The macro call C produces +printf-style trace output with n format field arguments (n=1,...,9). +It expands to: + + OSSL_TRACE_BEGIN(category) { + BIO_printf(trc_out, format, arg1, ..., argN) + } OSSL_TRACE_END(category) + +Internally, all one-shot macros are implemented using a generic C +macro, since C90 does not support variadic macros. This helper macro has a rather +weird synopsis and should not be used directly. + +The C macro can be used to conditionally execute +some code only if a specific trace category is enabled. +In some situations this is simpler than entering a trace section using +C and C. +For example, the code -The call OSSL_TRACEn(category, format, arg1, ..., argN) expands to: + if (OSSL_TRACE_ENABLED(TLS)) { + ... + } - OSSL_TRACE_BEGIN(category) { - BIO_printf(trc_out, format, arg1, ..., argN) - } OSSL_TRACE_END(category) +expands to + + if (OSSL_trace_enabled(OSSL_TRACE_CATEGORY_TLS) { + ... + } =head1 NOTES -It is advisable to always check that a trace type is enabled with -OSSL_trace_enabled() before generating any output, for example: +If producing the trace output requires carrying out auxiliary calculations, +this auxiliary code should be placed inside a conditional block which is +executed only if the trace category is enabled. + +The most natural way to do this is to place the code inside the trace section +itself because it already introduces such a conditional block. + + OSSL_TRACE_BEGIN(TLS) { + int var = do_some_auxiliary_calculation(); + + BIO_printf(trc_out, "var = %d\n", var); + + } OSSL_TRACE_END(TLS); + +In some cases it is more advantageous to use a simple conditional group instead +of a trace section. This is the case if calculations and tracing happen in +different locations of the code, or if the calculations are so time consuming +that placing them inside a (critical) trace section would create too much +contention. + + if (OSSL_TRACE_ENABLED(TLS)) { + int var = do_some_auxiliary_calculation(); + + OSSL_TRACE1("var = %d\n", var); + } - if (OSSL_trace_enabled(OSSL_TRACE_CATEGORY_TLS)) { - BIO *trace = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); - BIO_printf(trace, "FOO %d\n", somevalue); - BIO_dump(trace, somememory, somememory_l); - OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trace); - } +Note however that premature optimization of tracing code is in general futile +and it's better to keep the tracing code as simple as possible. +Because most often the limiting factor for the application's speed is the time +it takes to print the trace output, not to calculate it. =head2 Configure Tracing From openssl at openssl.org Mon Jun 24 15:00:18 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 24 Jun 2019 15:00:18 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings no-ssl3 Message-ID: <1561388418.610034.11503.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ssl3 Commit log since last time: 1d12afc310 crypto/trace.c: Remove unexisting categories fe26f79852 OSSL_TRACE: ensure it's initialised f8922b5107 Handle CTRL-C as non-redoable abort signal 32ee452496 Remove OPENSSL_memcmp. 2d905f6715 Print thread IDs nicely. Build log ended with (last 100 lines): /usr/lib/llvm-6.0/bin/clang(_ZN5clang13CodeGenAction13ExecuteActionEv+0x37)[0x5615d715ca27] /usr/lib/llvm-6.0/bin/clang(_ZN5clang14FrontendAction7ExecuteEv+0xb6)[0x5615d6f93b56] /usr/lib/llvm-6.0/bin/clang(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x18c)[0x5615d6f5dbfc] /usr/lib/llvm-6.0/bin/clang(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xbc3)[0x5615d703ef13] /usr/lib/llvm-6.0/bin/clang(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x9e8)[0x5615d6b5ce08] /usr/lib/llvm-6.0/bin/clang(main+0x2587)[0x5615d6b4b807] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fce75456b97] /usr/lib/llvm-6.0/bin/clang(_start+0x2a)[0x5615d6b5a8aa] Stack dump: 0. Program arguments: /usr/lib/llvm-6.0/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -mnoexecstack -disable-free -disable-llvm-verifier -discard-value-names -main-file-name ocsp_lib.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file /home/openssl/run-checker/no-ssl3/crypto/ocsp/libcrypto-lib-ocsp_lib.gcno -resource-dir /usr/lib/llvm-6.0/lib/clang/6.0.0 -dependency-file crypto/ocsp/libcrypto-lib-ocsp_lib.d.tmp -MT crypto/ocsp/libcrypto-lib-ocsp_lib.o -I . -I crypto/include -I include -I providers/common/include -I providers/common/ciphers -I crypto -I ../openssl -I ../openssl/crypto/include -I ../openssl/include -I ../openssl/providers/common/include -I ../openssl/providers/common/ciphers -I ../openssl/crypto -D AES_ASM -D BSAES_ASM -D ECP_NISTZ256_ASM -D GHASH_ASM -D KECCAK1600_ASM -D MD5_ASM -D OPENSSL_BN_ASM_GF2m -D OPENSSL_BN_ASM_MONT -D OPENSSL_BN_ASM_MONT5 -D OPENSSL_CPUID_OBJ -D POLY1305_ASM -D SHA1_ASM -D SHA256_ASM -D SHA512_ASM -D VPAES_ASM -D WHIRLPOOL_ASM -D X25519_ASM -D DEBUG_UNUSED -D PEDANTIC -D OPENSSL_USE_NODELETE -D L_ENDIAN -D OPENSSL_PIC -D OPENSSLDIR="/usr/local/ssl" -D ENGINESDIR="/usr/local/lib/engines-3" -D MODULESDIR="/usr/local/lib/ossl-modules" -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-6.0/lib/clang/6.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -pedantic -fdebug-compilation-dir /home/openssl/run-checker/no-ssl3 -ferror-limit 19 -fmessage-length 0 -pthread -fobjc-runtime=gcc -fdiagnostics-show-option -o crypto/ocsp/libcrypto-lib-ocsp_lib.o -x c ../openssl/crypto/ocsp/ocsp_lib.c 1. parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '../openssl/crypto/ocsp/ocsp_lib.c'. 4. Running pass 'Expand Atomic instructions' on function '@OCSP_cert_to_id' terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x2a)[0x7f81656120ea] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x56)[0x7f8165610366] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x81c49b)[0x7f816561049b] /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7f81688a2890] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f8163ed0e97] /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f8163ed2801] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8c957)[0x7f81648c5957] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92ab6)[0x7f81648cbab6] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92af1)[0x7f81648cbaf1] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92d24)[0x7f81648cbd24] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x9329c)[0x7f81648cc29c] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZNSt6vectorISt4pairItN4llvm13LegalizerInfo14LegalizeActionEESaIS4_EE12emplace_backIJS4_EEEvDpOT_+0x69)[0x7f8165cdfc29] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13LegalizerInfo41increaseToLargerTypesAndDecreaseToLargestERKSt6vectorISt4pairItNS0_14LegalizeActionEESaIS4_EES3_S3_+0xea)[0x7f8165cdff7a] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0xeec0e7)[0x7f8165ce00e7] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZNSt17_Function_handlerIFSt6vectorISt4pairItN4llvm13LegalizerInfo14LegalizeActionEESaIS5_EERKS7_EPSA_E9_M_invokeERKSt9_Any_dataS9_+0x20)[0x7f8165cdcdd0] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13LegalizerInfo13computeTablesEv+0x418)[0x7f8165ce1108] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm16X86LegalizerInfoC1ERKNS_12X86SubtargetERKNS_16X86TargetMachineE+0x575)[0x7f8167260895] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm12X86SubtargetC2ERKNS_6TripleENS_9StringRefES4_RKNS_16X86TargetMachineEj+0x27c)[0x7f8167277c6c] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZNK4llvm16X86TargetMachine16getSubtargetImplERKNS_8FunctionE+0x398)[0x7f816727d588] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x988882)[0x7f816577c882] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x278)[0x7f81656ec7f8] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x33)[0x7f81656ec843] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x30f)[0x7f81656ec08f] /usr/lib/llvm-6.0/bin/clang(_ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_19HeaderSearchOptionsERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsERKN4llvm10DataLayoutEPNSE_6ModuleENS_13BackendActionESt10unique_ptrINSE_17raw_pwrite_streamESt14default_deleteISM_EE+0x1422)[0x56299e694a62] /usr/lib/llvm-6.0/bin/clang(+0xa598a4)[0x56299ec3f8a4] /usr/lib/llvm-6.0/bin/clang(_ZN5clang8ParseASTERNS_4SemaEbb+0x31a)[0x56299eeeb9aa] /usr/lib/llvm-6.0/bin/clang(_ZN5clang13CodeGenAction13ExecuteActionEv+0x37)[0x56299ec3ea27] /usr/lib/llvm-6.0/bin/clang(_ZN5clang14FrontendAction7ExecuteEv+0xb6)[0x56299ea75b56] /usr/lib/llvm-6.0/bin/clang(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x18c)[0x56299ea3fbfc] /usr/lib/llvm-6.0/bin/clang(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xbc3)[0x56299eb20f13] /usr/lib/llvm-6.0/bin/clang(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x9e8)[0x56299e63ee08] /usr/lib/llvm-6.0/bin/clang(main+0x2587)[0x56299e62d807] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f8163eb3b97] /usr/lib/llvm-6.0/bin/clang(_start+0x2a)[0x56299e63c8aa] Stack dump: 0. Program arguments: /usr/lib/llvm-6.0/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -mnoexecstack -disable-free -disable-llvm-verifier -discard-value-names -main-file-name ocsp_prn.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file /home/openssl/run-checker/no-ssl3/crypto/ocsp/libcrypto-lib-ocsp_prn.gcno -resource-dir /usr/lib/llvm-6.0/lib/clang/6.0.0 -dependency-file crypto/ocsp/libcrypto-lib-ocsp_prn.d.tmp -MT crypto/ocsp/libcrypto-lib-ocsp_prn.o -I . -I crypto/include -I include -I providers/common/include -I providers/common/ciphers -I crypto -I ../openssl -I ../openssl/crypto/include -I ../openssl/include -I ../openssl/providers/common/include -I ../openssl/providers/common/ciphers -I ../openssl/crypto -D AES_ASM -D BSAES_ASM -D ECP_NISTZ256_ASM -D GHASH_ASM -D KECCAK1600_ASM -D MD5_ASM -D OPENSSL_BN_ASM_GF2m -D OPENSSL_BN_ASM_MONT -D OPENSSL_BN_ASM_MONT5 -D OPENSSL_CPUID_OBJ -D POLY1305_ASM -D SHA1_ASM -D SHA256_ASM -D SHA512_ASM -D VPAES_ASM -D WHIRLPOOL_ASM -D X25519_ASM -D DEBUG_UNUSED -D PEDANTIC -D OPENSSL_USE_NODELETE -D L_ENDIAN -D OPENSSL_PIC -D OPENSSLDIR="/usr/local/ssl" -D ENGINESDIR="/usr/local/lib/engines-3" -D MODULESDIR="/usr/local/lib/ossl-modules" -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-6.0/lib/clang/6.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -pedantic -fdebug-compilation-dir /home/openssl/run-checker/no-ssl3 -ferror-limit 19 -fmessage-length 0 -pthread -fobjc-runtime=gcc -fdiagnostics-show-option -o crypto/ocsp/libcrypto-lib-ocsp_prn.o -x c ../openssl/crypto/ocsp/ocsp_prn.c 1. parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '../openssl/crypto/ocsp/ocsp_prn.c'. 4. Running pass 'Expand Atomic instructions' on function '@OCSP_response_status_str' clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/ocsp/libcrypto-lib-ocsp_vfy.d.tmp -MT crypto/ocsp/libcrypto-lib-ocsp_vfy.o -c -o crypto/ocsp/libcrypto-lib-ocsp_vfy.o ../openssl/crypto/ocsp/ocsp_vfy.c clang -I. -Icrypto/include -Iinclude -Iproviders/common/include -Iproviders/common/ciphers -Icrypto -I../openssl -I../openssl/crypto/include -I../openssl/include -I../openssl/providers/common/include -I../openssl/providers/common/ciphers -I../openssl/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wa,--noexecstack -Qunused-arguments -Wall -O0 -g -DDEBUG_UNUSED -DPEDANTIC -pedantic -Wno-long-long -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wswitch -Wsign-compare -Wshadow -Wformat -Wtype-limits -Wundef -Werror -Wmissing-prototypes -Wstrict-prototypes -Wswitch-default -Wno-parentheses-equality -Wno-language-extension-token -Wno-extended-offsetof -Wconditional-uninitialized -Wincompatible-pointer-types-discards-qualifiers -Wno-unknown-warning-option -Wmissing-variable-declarations -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -MMD -MF crypto/ocsp/libcrypto-lib-v3_ocsp.d.tmp -MT crypto/ocsp/libcrypto-lib-v3_ocsp.o -c -o crypto/ocsp/libcrypto-lib-v3_ocsp.o ../openssl/crypto/ocsp/v3_ocsp.c clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/ocsp_lib-91b417.c clang: note: diagnostic msg: /tmp/ocsp_lib-91b417.sh clang: note: diagnostic msg: ******************** Makefile:10393: recipe for target 'crypto/ocsp/libcrypto-lib-ocsp_lib.o' failed make[1]: *** [crypto/ocsp/libcrypto-lib-ocsp_lib.o] Error 254 make[1]: *** Waiting for unfinished jobs.... clang: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/ocsp_prn-fb1353.c clang: note: diagnostic msg: /tmp/ocsp_prn-fb1353.sh clang: note: diagnostic msg: ******************** Makefile:10401: recipe for target 'crypto/ocsp/libcrypto-lib-ocsp_prn.o' failed make[1]: *** [crypto/ocsp/libcrypto-lib-ocsp_prn.o] Error 254 make[1]: Leaving directory '/home/openssl/run-checker/no-ssl3' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From builds at travis-ci.org Mon Jun 24 14:49:05 2019 From: builds at travis-ci.org (Travis CI) Date: Mon, 24 Jun 2019 14:49:05 +0000 Subject: Still Failing: openssl/openssl#26033 (master - 6f92692) In-Reply-To: Message-ID: <5d10e2e05be27_43fb086e33bb01900b6@e54c045c-e5ef-41de-a6c0-46a2dca681e0.mail> Build Update for openssl/openssl ------------------------------------- Build: #26033 Status: Still Failing Duration: 20 mins and 47 secs Commit: 6f92692 (master) Author: Dr. Matthias St. Pierre Message: OSSL_TRACE: enhance documentation and fix doc-nit errors - Add the following macros to the NAME section: - with synopsis OSSL_TRACE_CANCEL, OSSL_TRACE, OSSL_TRACE_ENABLED - without synopsis OSSL_TRACEV (helper macro, not intended for public use) OSSL_TRACE[3-8] (omitted on purpose) - Revise the NOTES section Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9224) View the changeset: https://github.com/openssl/openssl/compare/460b8d175b51...6f92692bd9df View the full build log and details: https://travis-ci.org/openssl/openssl/builds/549774787?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 Jun 24 15:27:31 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 24 Jun 2019 15:27:31 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561390051.518399.6482.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 1d12afc310 crypto/trace.c: Remove unexisting categories fe26f79852 OSSL_TRACE: ensure it's initialised f8922b5107 Handle CTRL-C as non-redoable abort signal 32ee452496 Remove OPENSSL_memcmp. 2d905f6715 Print thread IDs nicely. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 258 wallclock secs ( 1.64 usr 0.31 sys + 242.14 cusr 19.63 csys = 263.72 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Mon Jun 24 16:22:09 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Mon, 24 Jun 2019 16:22:09 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561393329.484686.30543.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 1d12afc310 crypto/trace.c: Remove unexisting categories fe26f79852 OSSL_TRACE: ensure it's initialised f8922b5107 Handle CTRL-C as non-redoable abort signal 32ee452496 Remove OPENSSL_memcmp. 2d905f6715 Print thread IDs nicely. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=171, Tests=1557, 269 wallclock secs ( 1.71 usr 0.40 sys + 248.69 cusr 20.39 csys = 271.19 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Tue Jun 25 00:08:42 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 25 Jun 2019 00:08:42 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-capieng Message-ID: <1561421322.551754.23632.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-capieng Commit log since last time: 6f92692bd9 OSSL_TRACE: enhance documentation and fix doc-nit errors 460b8d175b Cross-linked the man(1) pages of kdf & pkeyutl. a9550b74d3 OSSL_NAMEMAP: make names case insensitive 734a462e40 Add a namemap test 651d44183e Replumbing: add support for multiple names per algorithm 2c840201e5 Allow AES XTS decryption using duplicate keys. 3bbec1afed Enhance and update the docs of the internal ossl_provider API 4e7991b497 Change OSSL_PARAM return size to not be a pointer. 0ccff7a7ea Add documentation for CRYPTO_memcmp. From shane.lontis at oracle.com Tue Jun 25 01:20:14 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 25 Jun 2019 01:20:14 +0000 Subject: [openssl] master update Message-ID: <1561425614.183869.30984.nullmailer@dev.openssl.org> The branch master has been updated via be1dc984e1a5938170188cbdb6e536f1e7ac1656 (commit) from 6f92692bd9df27a8902336a4c6db9eb7e00d23ba (commit) - Log ----------------------------------------------------------------- commit be1dc984e1a5938170188cbdb6e536f1e7ac1656 Author: Patrick Steuer Date: Tue Jun 25 00:10:20 2019 +0200 Fix s390x build errors and warnings Signed-off-by: Patrick Steuer Reviewed-by: Tim Hudson Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9236) ----------------------------------------------------------------------- Summary of changes: providers/common/digests/sha3_prov.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/providers/common/digests/sha3_prov.c b/providers/common/digests/sha3_prov.c index 278ddfb..15cd670 100644 --- a/providers/common/digests/sha3_prov.c +++ b/providers/common/digests/sha3_prov.c @@ -142,6 +142,7 @@ static int s390x_sha3_final(unsigned char *md, void *vctx) s390x_klmd(ctx->buf, ctx->bufsz, NULL, 0, ctx->pad, ctx->A); memcpy(md, ctx->A, ctx->md_size); + return 1; } static int s390x_shake_final(unsigned char *md, void *vctx) @@ -184,7 +185,7 @@ static void *name##_newctx(void *provctx) \ if (ctx == NULL) \ return NULL; \ sha3_init(ctx, pad, bitlen); \ - SHA3_SET_MD(name, typ) \ + SHA3_SET_MD(uname, typ) \ return ctx; \ } From shane.lontis at oracle.com Tue Jun 25 02:03:55 2019 From: shane.lontis at oracle.com (shane.lontis at oracle.com) Date: Tue, 25 Jun 2019 02:03:55 +0000 Subject: [openssl] master update Message-ID: <1561428235.155673.1412.nullmailer@dev.openssl.org> The branch master has been updated via 10c25644e362381844e0089504f0db42f029d855 (commit) from be1dc984e1a5938170188cbdb6e536f1e7ac1656 (commit) - Log ----------------------------------------------------------------- commit 10c25644e362381844e0089504f0db42f029d855 Author: Shane Lontis Date: Wed Jun 5 08:24:16 2019 +1000 EC only uses approved curves in FIPS mode. Once there are buildable fips tests, some tests that are data driven from files will need to be modified to exclude non approved curves in fips mode. These changes were tested by temporarily adding #define FIPS_MODE 1 to all the modified source files. Reviewed-by: Nicola Tuveri Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9081) ----------------------------------------------------------------------- Summary of changes: crypto/ec/ec_check.c | 8 +++ crypto/ec/ec_curve.c | 110 ++++++++++++++++++++++++++++++++++------- test/ecdsatest.c | 5 ++ test/ectest.c | 2 +- test/evp_extra_test.c | 4 +- test/evp_pkey_dparams_test.c | 2 +- test/recipes/20-test_pkeyutl.t | 6 +-- test/recipes/25-test_verify.t | 6 +-- 8 files changed, 115 insertions(+), 28 deletions(-) diff --git a/crypto/ec/ec_check.c b/crypto/ec/ec_check.c index 097d7e1..315b9fd 100644 --- a/crypto/ec/ec_check.c +++ b/crypto/ec/ec_check.c @@ -22,6 +22,13 @@ int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only) int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx) { +#ifdef FIPS_MODE + /* + * ECC domain parameter validation. + * See SP800-56A R3 5.5.2 "Assurances of Domain-Parameter Validity" Part 1b. + */ + return EC_GROUP_check_named_curve(group, 1) >= 0 ? 1 : 0; +#else int ret = 0; const BIGNUM *order; BN_CTX *new_ctx = NULL; @@ -84,4 +91,5 @@ int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx) BN_CTX_free(new_ctx); EC_POINT_free(point); return ret; +#endif /* FIPS_MODE */ } diff --git a/crypto/ec/ec_curve.c b/crypto/ec/ec_curve.c index 1ea8594..8b44c25 100644 --- a/crypto/ec/ec_curve.c +++ b/crypto/ec/ec_curve.c @@ -2800,6 +2800,70 @@ typedef struct _ec_list_element_st { const char *comment; } ec_list_element; +#ifdef FIPS_MODE +static const ec_list_element curve_list[] = { + /* prime field curves */ + /* secg curves */ +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 + {NID_secp224r1, &_EC_NIST_PRIME_224.h, EC_GFp_nistp224_method, + "NIST/SECG curve over a 224 bit prime field"}, +# else + {NID_secp224r1, &_EC_NIST_PRIME_224.h, 0, + "NIST/SECG curve over a 224 bit prime field"}, +# endif + /* SECG secp256r1 is the same as X9.62 prime256v1 and hence omitted */ + {NID_secp384r1, &_EC_NIST_PRIME_384.h, 0, + "NIST/SECG curve over a 384 bit prime field"}, + +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 + {NID_secp521r1, &_EC_NIST_PRIME_521.h, EC_GFp_nistp521_method, + "NIST/SECG curve over a 521 bit prime field"}, +# else + {NID_secp521r1, &_EC_NIST_PRIME_521.h, 0, + "NIST/SECG curve over a 521 bit prime field"}, +# endif + + /* X9.62 curves */ + {NID_X9_62_prime192v1, &_EC_NIST_PRIME_192.h, 0, + "NIST/X9.62/SECG curve over a 192 bit prime field"}, + {NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, +# if defined(ECP_NISTZ256_ASM) + EC_GFp_nistz256_method, +# elif !defined(OPENSSL_NO_EC_NISTP_64_GCC_128) + EC_GFp_nistp256_method, +# else + 0, +# endif + "X9.62/SECG curve over a 256 bit prime field"}, + +# ifndef OPENSSL_NO_EC2M + /* characteristic two field curves */ + /* NIST/SECG curves */ + {NID_sect163k1, &_EC_NIST_CHAR2_163K.h, 0, + "NIST/SECG/WTLS curve over a 163 bit binary field"}, + {NID_sect163r2, &_EC_NIST_CHAR2_163B.h, 0, + "NIST/SECG curve over a 163 bit binary field"}, + {NID_sect233k1, &_EC_NIST_CHAR2_233K.h, 0, + "NIST/SECG/WTLS curve over a 233 bit binary field"}, + {NID_sect233r1, &_EC_NIST_CHAR2_233B.h, 0, + "NIST/SECG/WTLS curve over a 233 bit binary field"}, + {NID_sect283k1, &_EC_NIST_CHAR2_283K.h, 0, + "NIST/SECG curve over a 283 bit binary field"}, + {NID_sect283r1, &_EC_NIST_CHAR2_283B.h, 0, + "NIST/SECG curve over a 283 bit binary field"}, + {NID_sect409k1, &_EC_NIST_CHAR2_409K.h, 0, + "NIST/SECG curve over a 409 bit binary field"}, + {NID_sect409r1, &_EC_NIST_CHAR2_409B.h, 0, + "NIST/SECG curve over a 409 bit binary field"}, + {NID_sect571k1, &_EC_NIST_CHAR2_571K.h, 0, + "NIST/SECG curve over a 571 bit binary field"}, + {NID_sect571r1, &_EC_NIST_CHAR2_571B.h, 0, + "NIST/SECG curve over a 571 bit binary field"}, +# endif +}; + +#else + static const ec_list_element curve_list[] = { /* prime field curves */ /* secg curves */ @@ -2822,25 +2886,25 @@ static const ec_list_element curve_list[] = { "SECG curve over a 192 bit prime field"}, {NID_secp224k1, &_EC_SECG_PRIME_224K1.h, 0, "SECG curve over a 224 bit prime field"}, -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 {NID_secp224r1, &_EC_NIST_PRIME_224.h, EC_GFp_nistp224_method, "NIST/SECG curve over a 224 bit prime field"}, -#else +# else {NID_secp224r1, &_EC_NIST_PRIME_224.h, 0, "NIST/SECG curve over a 224 bit prime field"}, -#endif +# endif {NID_secp256k1, &_EC_SECG_PRIME_256K1.h, 0, "SECG curve over a 256 bit prime field"}, /* SECG secp256r1 is the same as X9.62 prime256v1 and hence omitted */ {NID_secp384r1, &_EC_NIST_PRIME_384.h, 0, "NIST/SECG curve over a 384 bit prime field"}, -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 {NID_secp521r1, &_EC_NIST_PRIME_521.h, EC_GFp_nistp521_method, "NIST/SECG curve over a 521 bit prime field"}, -#else +# else {NID_secp521r1, &_EC_NIST_PRIME_521.h, 0, "NIST/SECG curve over a 521 bit prime field"}, -#endif +# endif /* X9.62 curves */ {NID_X9_62_prime192v1, &_EC_NIST_PRIME_192.h, 0, "NIST/X9.62/SECG curve over a 192 bit prime field"}, @@ -2855,15 +2919,15 @@ static const ec_list_element curve_list[] = { {NID_X9_62_prime239v3, &_EC_X9_62_PRIME_239V3.h, 0, "X9.62 curve over a 239 bit prime field"}, {NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, -#if defined(ECP_NISTZ256_ASM) +# if defined(ECP_NISTZ256_ASM) EC_GFp_nistz256_method, -#elif !defined(OPENSSL_NO_EC_NISTP_64_GCC_128) +# elif !defined(OPENSSL_NO_EC_NISTP_64_GCC_128) EC_GFp_nistp256_method, -#else +# else 0, -#endif +# endif "X9.62/SECG curve over a 256 bit prime field"}, -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M /* characteristic two field curves */ /* NIST/SECG curves */ {NID_sect113r1, &_EC_SECG_CHAR2_113R1.h, 0, @@ -2947,7 +3011,7 @@ static const ec_list_element curve_list[] = { "SECG curve over a 113 bit binary field"}, {NID_wap_wsg_idm_ecid_wtls5, &_EC_X9_62_CHAR2_163V1.h, 0, "X9.62 curve over a 163 bit binary field"}, -#endif +# endif {NID_wap_wsg_idm_ecid_wtls6, &_EC_SECG_PRIME_112R1.h, 0, "SECG/WTLS curve over a 112 bit prime field"}, {NID_wap_wsg_idm_ecid_wtls7, &_EC_SECG_PRIME_160R2.h, 0, @@ -2956,15 +3020,15 @@ static const ec_list_element curve_list[] = { "WTLS curve over a 112 bit prime field"}, {NID_wap_wsg_idm_ecid_wtls9, &_EC_WTLS_9.h, 0, "WTLS curve over a 160 bit prime field"}, -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M {NID_wap_wsg_idm_ecid_wtls10, &_EC_NIST_CHAR2_233K.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field"}, {NID_wap_wsg_idm_ecid_wtls11, &_EC_NIST_CHAR2_233B.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field"}, -#endif +# endif {NID_wap_wsg_idm_ecid_wtls12, &_EC_WTLS_12.h, 0, "WTLS curve over a 224 bit prime field"}, -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M /* IPSec curves */ {NID_ipsec3, &_EC_IPSEC_155_ID3.h, 0, "\n\tIPSec/IKE/Oakley curve #3 over a 155 bit binary field.\n" @@ -2972,7 +3036,7 @@ static const ec_list_element curve_list[] = { {NID_ipsec4, &_EC_IPSEC_185_ID4.h, 0, "\n\tIPSec/IKE/Oakley curve #4 over a 185 bit binary field.\n" "\tNot suitable for ECDSA.\n\tQuestionable extension field!"}, -#endif +# endif /* brainpool curves */ {NID_brainpoolP160r1, &_EC_brainpoolP160r1.h, 0, "RFC 5639 curve over a 160 bit prime field"}, @@ -3002,11 +3066,12 @@ static const ec_list_element curve_list[] = { "RFC 5639 curve over a 512 bit prime field"}, {NID_brainpoolP512t1, &_EC_brainpoolP512t1.h, 0, "RFC 5639 curve over a 512 bit prime field"}, -#ifndef OPENSSL_NO_SM2 +# ifndef OPENSSL_NO_SM2 {NID_sm2, &_EC_sm2p256v1.h, 0, "SM2 curve over a 256 bit prime field"}, -#endif +# endif }; +#endif /* FIPS_MODE */ #define curve_list_length OSSL_NELEM(curve_list) @@ -3125,6 +3190,15 @@ EC_GROUP *EC_GROUP_new_by_curve_name(int nid) if (nid <= 0) return NULL; +#ifdef FIPS_MODE + /* + * Only use approved NIST curves in FIPS. + * NOTE: "B-163", "K-163" & "P-192" can only be used for legacy use + * (i.e- ECDSA signature verification). + */ + if (EC_curve_nid2nist(nid) == NULL) + return NULL; +#endif /* FIPS_MODE */ for (i = 0; i < curve_list_length; i++) if (curve_list[i].nid == nid) { ret = ec_group_new_from_data(curve_list[i]); diff --git a/test/ecdsatest.c b/test/ecdsatest.c index 761832f..a62efad 100644 --- a/test/ecdsatest.c +++ b/test/ecdsatest.c @@ -118,6 +118,11 @@ static int x9_62_tests(int n) TEST_info("ECDSA KATs for curve %s", OBJ_nid2sn(nid)); +#ifdef FIPS_MODE + if (EC_curve_nid2nist(nid) == NULL) + return TEST_skip("skip non approved curves"); +#endif /* FIPS_MODE */ + if (!TEST_ptr(mctx = EVP_MD_CTX_new()) /* get the message digest */ || !TEST_ptr(message = OPENSSL_hexstr2buf(tbs, &msg_len)) diff --git a/test/ectest.c b/test/ectest.c index 3f7747e..50f8c63 100644 --- a/test/ectest.c +++ b/test/ectest.c @@ -1820,7 +1820,7 @@ static int parameter_test(void) unsigned char *buf = NULL; int r = 0, len; - if (!TEST_ptr(group = EC_GROUP_new_by_curve_name(NID_secp112r1)) + if (!TEST_ptr(group = EC_GROUP_new_by_curve_name(NID_secp224r1)) || !TEST_ptr(ecparameters = EC_GROUP_get_ecparameters(group, NULL)) || !TEST_ptr(group2 = EC_GROUP_new_from_ecparameters(ecparameters)) || !TEST_int_eq(EC_GROUP_cmp(group, group2, NULL), 0)) diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 5bf4a8c..48376a7 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -599,7 +599,7 @@ static int test_EVP_PKCS82PKEY(void) } #endif -#ifndef OPENSSL_NO_SM2 +#if !defined(OPENSSL_NO_SM2) && !defined(FIPS_MODE) static int test_EVP_SM2_verify(void) { @@ -1238,7 +1238,7 @@ int setup_tests(void) #ifndef OPENSSL_NO_EC ADD_TEST(test_EVP_PKCS82PKEY); #endif -#ifndef OPENSSL_NO_SM2 +#if !defined(OPENSSL_NO_SM2) && !defined(FIPS_MODE) ADD_TEST(test_EVP_SM2); ADD_TEST(test_EVP_SM2_verify); #endif diff --git a/test/evp_pkey_dparams_test.c b/test/evp_pkey_dparams_test.c index e11d225..f1d528e 100644 --- a/test/evp_pkey_dparams_test.c +++ b/test/evp_pkey_dparams_test.c @@ -85,7 +85,7 @@ static const unsigned char dsaparam_bin[] = { #ifndef OPENSSL_NO_EC static const unsigned char ecparam_bin[] = { -0x06,0x05,0x2b,0x81,0x04,0x00,0x0a +0x06,0x08,0x2a,0x86,0x48,0xce,0x3d,0x03,0x01,0x07 }; #endif diff --git a/test/recipes/20-test_pkeyutl.t b/test/recipes/20-test_pkeyutl.t index 5dbed98..83804d6 100644 --- a/test/recipes/20-test_pkeyutl.t +++ b/test/recipes/20-test_pkeyutl.t @@ -10,7 +10,7 @@ use strict; use warnings; use File::Spec; -use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test qw/:DEFAULT srctop_file ok_nofips/; use OpenSSL::Test::Utils; setup("test_pkeyutl"); @@ -24,13 +24,13 @@ SKIP: { if disabled("ec") || disabled("sm2") || disabled("sm3"); # SM2 - ok(run(app(([ 'openssl', 'pkeyutl', '-sign', + ok_nofips(run(app(([ 'openssl', 'pkeyutl', '-sign', '-in', srctop_file('test', 'certs', 'sm2.pem'), '-inkey', srctop_file('test', 'certs', 'sm2.key'), '-out', 'signature.dat', '-rawin', '-digest', 'sm3', '-pkeyopt', 'sm2_id:someid']))), "Sign a piece of data using SM2"); - ok(run(app(([ 'openssl', 'pkeyutl', '-verify', '-certin', + ok_nofips(run(app(([ 'openssl', 'pkeyutl', '-verify', '-certin', '-in', srctop_file('test', 'certs', 'sm2.pem'), '-inkey', srctop_file('test', 'certs', 'sm2.pem'), '-sigfile', 'signature.dat', '-rawin', diff --git a/test/recipes/25-test_verify.t b/test/recipes/25-test_verify.t index 96bfd03..915c902 100644 --- a/test/recipes/25-test_verify.t +++ b/test/recipes/25-test_verify.t @@ -11,7 +11,7 @@ use strict; use warnings; use File::Spec::Functions qw/canonpath/; -use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test qw/:DEFAULT srctop_file ok_nofips/; use OpenSSL::Test::Utils; setup("test_verify"); @@ -379,9 +379,9 @@ SKIP: { if disabled("sm2"); # Test '-sm2-id' and '-sm2-hex-id' option - ok(verify("sm2", "any", ["sm2-ca-cert"], [], "-sm2-id", "1234567812345678"), + ok_nofips(verify("sm2", "any", ["sm2-ca-cert"], [], "-sm2-id", "1234567812345678"), "SM2 ID test"); - ok(verify("sm2", "any", ["sm2-ca-cert"], [], "-sm2-hex-id", + ok_nofips(verify("sm2", "any", ["sm2-ca-cert"], [], "-sm2-hex-id", "31323334353637383132333435363738"), "SM2 hex ID test"); } From builds at travis-ci.org Tue Jun 25 02:07:41 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 25 Jun 2019 02:07:41 +0000 Subject: Still Failing: openssl/openssl#26044 (master - be1dc98) In-Reply-To: Message-ID: <5d1181ecc546e_43fe66393c93c11606@84c013d1-927f-47a3-9d21-cf1165291ccc.mail> Build Update for openssl/openssl ------------------------------------- Build: #26044 Status: Still Failing Duration: 12 mins and 52 secs Commit: be1dc98 (master) Author: Patrick Steuer Message: Fix s390x build errors and warnings Signed-off-by: Patrick Steuer Reviewed-by: Tim Hudson Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9236) View the changeset: https://github.com/openssl/openssl/compare/6f92692bd9df...be1dc984e1a5 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550024476?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 Jun 25 02:23:31 2019 From: builds at travis-ci.org (Travis CI) Date: Tue, 25 Jun 2019 02:23:31 +0000 Subject: Still Failing: openssl/openssl#26045 (master - 10c2564) In-Reply-To: Message-ID: <5d1185a2c7681_43f91179a5fb439902@b6899704-ebca-4514-8755-7075ab41f5ed.mail> Build Update for openssl/openssl ------------------------------------- Build: #26045 Status: Still Failing Duration: 19 mins and 0 secs Commit: 10c2564 (master) Author: Shane Lontis Message: EC only uses approved curves in FIPS mode. Once there are buildable fips tests, some tests that are data driven from files will need to be modified to exclude non approved curves in fips mode. These changes were tested by temporarily adding #define FIPS_MODE 1 to all the modified source files. Reviewed-by: Nicola Tuveri Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9081) View the changeset: https://github.com/openssl/openssl/compare/be1dc984e1a5...10c25644e362 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550037027?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 Jun 25 07:35:55 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 25 Jun 2019 07:35:55 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561448155.343143.5159.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 6f92692bd9 OSSL_TRACE: enhance documentation and fix doc-nit errors 460b8d175b Cross-linked the man(1) pages of kdf & pkeyutl. a9550b74d3 OSSL_NAMEMAP: make names case insensitive 734a462e40 Add a namemap test 651d44183e Replumbing: add support for multiple names per algorithm 2c840201e5 Allow AES XTS decryption using duplicate keys. 3bbec1afed Enhance and update the docs of the internal ossl_provider API 4e7991b497 Change OSSL_PARAM return size to not be a pointer. 0ccff7a7ea Add documentation for CRYPTO_memcmp. Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:250: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:252: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:255: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:275: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:220: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:213: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:230: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:283: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:300: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:303: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:312: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:350: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:135: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:137: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:140: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:144: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7073: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From openssl at openssl.org Tue Jun 25 14:35:43 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 25 Jun 2019 14:35:43 +0000 Subject: SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-ssl3 Message-ID: <1561473343.498323.31962.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-ssl3 Commit log since last time: 6f92692bd9 OSSL_TRACE: enhance documentation and fix doc-nit errors 460b8d175b Cross-linked the man(1) pages of kdf & pkeyutl. a9550b74d3 OSSL_NAMEMAP: make names case insensitive 734a462e40 Add a namemap test 651d44183e Replumbing: add support for multiple names per algorithm 2c840201e5 Allow AES XTS decryption using duplicate keys. 3bbec1afed Enhance and update the docs of the internal ossl_provider API 4e7991b497 Change OSSL_PARAM return size to not be a pointer. 0ccff7a7ea Add documentation for CRYPTO_memcmp. From openssl at openssl.org Tue Jun 25 14:58:52 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 25 Jun 2019 14:58:52 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561474732.878716.25788.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 6f92692bd9 OSSL_TRACE: enhance documentation and fix doc-nit errors 460b8d175b Cross-linked the man(1) pages of kdf & pkeyutl. a9550b74d3 OSSL_NAMEMAP: make names case insensitive 734a462e40 Add a namemap test 651d44183e Replumbing: add support for multiple names per algorithm 2c840201e5 Allow AES XTS decryption using duplicate keys. 3bbec1afed Enhance and update the docs of the internal ossl_provider API 4e7991b497 Change OSSL_PARAM return size to not be a pointer. 0ccff7a7ea Add documentation for CRYPTO_memcmp. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 233 wallclock secs ( 1.57 usr 0.38 sys + 230.04 cusr 16.48 csys = 248.47 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Tue Jun 25 15:47:41 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Tue, 25 Jun 2019 15:47:41 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561477661.618724.17306.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 6f92692bd9 OSSL_TRACE: enhance documentation and fix doc-nit errors 460b8d175b Cross-linked the man(1) pages of kdf & pkeyutl. a9550b74d3 OSSL_NAMEMAP: make names case insensitive 734a462e40 Add a namemap test 651d44183e Replumbing: add support for multiple names per algorithm 2c840201e5 Allow AES XTS decryption using duplicate keys. 3bbec1afed Enhance and update the docs of the internal ossl_provider API 4e7991b497 Change OSSL_PARAM return size to not be a pointer. 0ccff7a7ea Add documentation for CRYPTO_memcmp. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 259 wallclock secs ( 1.66 usr 0.32 sys + 247.98 cusr 18.50 csys = 268.46 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From no-reply at appveyor.com Tue Jun 25 19:08:31 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 25 Jun 2019 19:08:31 +0000 Subject: Build failed: openssl OpenSSL_1_1_1-stable.25491 Message-ID: <20190625190831.1.0A440C5129683BB6@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Jun 25 20:13:55 2019 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 25 Jun 2019 20:13:55 +0000 Subject: Build completed: openssl master.25492 Message-ID: <20190625201355.1.F0EC3890D5698CFD@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Wed Jun 26 02:25:39 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 26 Jun 2019 02:25:39 +0000 Subject: FAILED build of OpenSSL branch master with options -d --strict-warnings enable-ec_nistp_64_gcc_128 Message-ID: <1561515939.495924.7216.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-ec_nistp_64_gcc_128 Commit log since last time: 10c25644e3 EC only uses approved curves in FIPS mode. be1dc984e1 Fix s390x build errors and warnings Build log ended with (last 100 lines): ../../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_bio_memleak.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/15-test_ec.t (Wstat: 256 Tests: 5 Failed: 1) Failed test: 2 Non-zero exit status: 1 Files=172, Tests=1643, 243 wallclock secs ( 2.51 usr 0.40 sys + 234.63 cusr 18.15 csys = 255.69 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-ec_nistp_64_gcc_128' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Wed Jun 26 06:16:21 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 26 Jun 2019 06:16:21 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561529781.638263.21960.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 10c25644e3 EC only uses approved curves in FIPS mode. be1dc984e1 Fix s390x build errors and warnings Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:251: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:253: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:256: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:220: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:213: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:230: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:283: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:300: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:303: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:312: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:350: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:135: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:137: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:140: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:144: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7073: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From pauli at openssl.org Wed Jun 26 06:34:11 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Wed, 26 Jun 2019 06:34:11 +0000 Subject: [openssl] master update Message-ID: <1561530851.965984.18354.nullmailer@dev.openssl.org> The branch master has been updated via edc62356485257a37eb8775f25c5a19345b83a50 (commit) from 10c25644e362381844e0089504f0db42f029d855 (commit) - Log ----------------------------------------------------------------- commit edc62356485257a37eb8775f25c5a19345b83a50 Author: Pauli Date: Tue Jun 25 01:37:07 2019 +1000 The params_test uses wrong size for BN check. Before the return size was included in the OSSL_PARAM structure, the size global was updated via a pointer. The size global variable has been removed and the in structure return size used instead. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9248) ----------------------------------------------------------------------- Summary of changes: test/params_test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/params_test.c b/test/params_test.c index 64fd4b8..50beb17 100644 --- a/test/params_test.c +++ b/test/params_test.c @@ -304,7 +304,6 @@ static int app_p1; /* "p1" */ static double app_p2; /* "p2" is ignored */ static BIGNUM *app_p3 = NULL; /* "p3" */ static unsigned char bignumbin[4096]; /* "p3" */ -static size_t bignumbin_l; /* "p3" */ static char app_p4[256]; /* "p4" */ static char app_p5[256]; /* "p5" */ static const char *app_p6 = NULL; /* "p6" */ @@ -336,7 +335,6 @@ static int init_app_variables(void) if (!BN_hex2bn(&app_p3, app_p3_init) || (l = BN_bn2nativepad(app_p3, bignumbin, sizeof(bignumbin))) < 0) return 0; - bignumbin_l = (size_t)l; strcpy(app_p4, app_p4_init); strcpy(app_p5, app_p5_init); app_p6 = app_p6_init; @@ -458,7 +456,8 @@ static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_ if (!TEST_true(prov->get_params(obj, params)) || !TEST_int_eq(app_p1, p1_init) /* "provider" value */ || !TEST_double_eq(app_p2, app_p2_init) /* Should remain untouched */ - || !TEST_ptr(BN_native2bn(bignumbin, bignumbin_l, app_p3)) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p3")) + || !TEST_ptr(BN_native2bn(bignumbin, p->return_size, app_p3)) || !TEST_BN_eq(app_p3, verify_p3) /* "provider" value */ || !TEST_str_eq(app_p4, p4_init) /* "provider" value */ || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5")) @@ -507,7 +506,8 @@ static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_ if (!TEST_true(prov->get_params(obj, params)) || !TEST_int_eq(app_p1, app_p1_init) /* app value */ || !TEST_double_eq(app_p2, app_p2_init) /* Should remain untouched */ - || !TEST_ptr(BN_native2bn(bignumbin, bignumbin_l, app_p3)) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "p3")) + || !TEST_ptr(BN_native2bn(bignumbin, p->return_size, app_p3)) || !TEST_BN_eq(app_p3, verify_p3) /* app value */ || !TEST_str_eq(app_p4, app_p4_init) /* app value */ || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5")) From builds at travis-ci.org Wed Jun 26 06:52:44 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 26 Jun 2019 06:52:44 +0000 Subject: Still Failing: openssl/openssl#26070 (master - edc6235) In-Reply-To: Message-ID: <5d13163c345b5_43f95695798042348ac@51668d37-948c-4277-bd40-6c442da3464d.mail> Build Update for openssl/openssl ------------------------------------- Build: #26070 Status: Still Failing Duration: 30 mins and 31 secs Commit: edc6235 (master) Author: Pauli Message: The params_test uses wrong size for BN check. Before the return size was included in the OSSL_PARAM structure, the size global was updated via a pointer. The size global variable has been removed and the in structure return size used instead. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9248) View the changeset: https://github.com/openssl/openssl/compare/10c25644e362...edc623564852 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550650367?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 Jun 26 13:23:43 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 26 Jun 2019 13:23:43 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561555423.771649.10024.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 10c25644e3 EC only uses approved curves in FIPS mode. be1dc984e1 Fix s390x build errors and warnings Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 215 wallclock secs ( 1.55 usr 0.31 sys + 210.66 cusr 16.49 csys = 229.01 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Wed Jun 26 14:10:11 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Wed, 26 Jun 2019 14:10:11 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561558211.561983.1980.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 10c25644e3 EC only uses approved curves in FIPS mode. be1dc984e1 Fix s390x build errors and warnings Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 214 wallclock secs ( 1.49 usr 0.39 sys + 211.85 cusr 16.28 csys = 230.01 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From yang.yang at baishancloud.com Wed Jun 26 16:14:01 2019 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Wed, 26 Jun 2019 16:14:01 +0000 Subject: [openssl] master update Message-ID: <1561565641.122528.17144.nullmailer@dev.openssl.org> The branch master has been updated via 4b931252bedae3f1a5c1b9836ca20a5af9445bc7 (commit) from edc62356485257a37eb8775f25c5a19345b83a50 (commit) - Log ----------------------------------------------------------------- commit 4b931252bedae3f1a5c1b9836ca20a5af9445bc7 Author: Paul Yang Date: Wed Jun 26 17:36:56 2019 +0800 Fix incorrect usage of a test case test/x509_check_cert_pkey_test.c has incorrect usage description. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9250) ----------------------------------------------------------------------- Summary of changes: test/x509_check_cert_pkey_test.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/test/x509_check_cert_pkey_test.c b/test/x509_check_cert_pkey_test.c index 434054f..6c1587b 100644 --- a/test/x509_check_cert_pkey_test.c +++ b/test/x509_check_cert_pkey_test.c @@ -110,10 +110,11 @@ const OPTIONS *test_get_options(void) { enum { OPT_TEST_ENUM }; static const OPTIONS test_options[] = { - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE("certname key.pem type expected\n"), - { OPT_HELP_STR, 1, '-', "certname\tCertificate filename .pem/.req\n" }, - { OPT_HELP_STR, 1, '-', "type\t\tvalue must be 'pem' or 'req'\n" }, - { OPT_HELP_STR, 1, '-', "expected\tthe expected return value\n" }, + OPT_TEST_OPTIONS_WITH_EXTRA_USAGE("cert key type expected\n"), + { OPT_HELP_STR, 1, '-', "cert\tcertificate or CSR filename in PEM\n" }, + { OPT_HELP_STR, 1, '-', "key\tprivate key filename in PEM\n" }, + { OPT_HELP_STR, 1, '-', "type\t\tvalue must be 'cert' or 'req'\n" }, + { OPT_HELP_STR, 1, '-', "expected\tthe expected return value, either 'ok' or 'failed'\n" }, { NULL } }; return test_options; From bernd.edlinger at hotmail.de Wed Jun 26 16:35:29 2019 From: bernd.edlinger at hotmail.de (bernd.edlinger at hotmail.de) Date: Wed, 26 Jun 2019 16:35:29 +0000 Subject: [openssl] master update Message-ID: <1561566929.112938.18754.nullmailer@dev.openssl.org> The branch master has been updated via b11327929294cf825e4759d97af6f174bd6b081c (commit) from 4b931252bedae3f1a5c1b9836ca20a5af9445bc7 (commit) - Log ----------------------------------------------------------------- commit b11327929294cf825e4759d97af6f174bd6b081c Author: Bernd Edlinger Date: Mon Sep 24 13:15:22 2018 +0200 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7307) ----------------------------------------------------------------------- Summary of changes: crypto/bio/bio_lcl.h | 2 +- crypto/bio/bss_fd.c | 4 ++-- crypto/bio/bss_file.c | 42 +++++++++++++++++++++--------------------- include/internal/cryptlib.h | 5 +++-- include/openssl/bio.h | 9 +++------ 5 files changed, 30 insertions(+), 32 deletions(-) diff --git a/crypto/bio/bio_lcl.h b/crypto/bio/bio_lcl.h index 0fea5d0..95f3a93 100644 --- a/crypto/bio/bio_lcl.h +++ b/crypto/bio/bio_lcl.h @@ -152,7 +152,7 @@ extern CRYPTO_RWLOCK *bio_type_lock; void bio_sock_cleanup_int(void); -#if BIO_FLAGS_UPLINK==0 +#if BIO_FLAGS_UPLINK_INTERNAL==0 /* Shortcut UPLINK calls on most platforms... */ # define UP_stdin stdin # define UP_stdout stdout diff --git a/crypto/bio/bss_fd.c b/crypto/bio/bss_fd.c index db470fb..c599dad 100644 --- a/crypto/bio/bss_fd.c +++ b/crypto/bio/bss_fd.c @@ -94,7 +94,7 @@ static int fd_new(BIO *bi) bi->init = 0; bi->num = -1; bi->ptr = NULL; - bi->flags = BIO_FLAGS_UPLINK; /* essentially redundant */ + bi->flags = BIO_FLAGS_UPLINK_INTERNAL; /* essentially redundant */ return 1; } @@ -107,7 +107,7 @@ static int fd_free(BIO *a) UP_close(a->num); } a->init = 0; - a->flags = BIO_FLAGS_UPLINK; + a->flags = BIO_FLAGS_UPLINK_INTERNAL; } return 1; } diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index 93ba006..0e07632 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -86,8 +86,8 @@ BIO *BIO_new_file(const char *filename, const char *mode) return NULL; } - BIO_clear_flags(ret, BIO_FLAGS_UPLINK); /* we did fopen -> we disengage - * UPLINK */ + /* we did fopen -> we disengage UPLINK */ + BIO_clear_flags(ret, BIO_FLAGS_UPLINK_INTERNAL); BIO_set_fp(ret, file, fp_flags); return ret; } @@ -100,7 +100,7 @@ BIO *BIO_new_fp(FILE *stream, int close_flag) return NULL; /* redundant flag, left for documentation purposes */ - BIO_set_flags(ret, BIO_FLAGS_UPLINK); + BIO_set_flags(ret, BIO_FLAGS_UPLINK_INTERNAL); BIO_set_fp(ret, stream, close_flag); return ret; } @@ -115,7 +115,7 @@ static int file_new(BIO *bi) bi->init = 0; bi->num = 0; bi->ptr = NULL; - bi->flags = BIO_FLAGS_UPLINK; /* default to UPLINK */ + bi->flags = BIO_FLAGS_UPLINK_INTERNAL; /* default to UPLINK */ return 1; } @@ -125,12 +125,12 @@ static int file_free(BIO *a) return 0; if (a->shutdown) { if ((a->init) && (a->ptr != NULL)) { - if (a->flags & BIO_FLAGS_UPLINK) + if (a->flags & BIO_FLAGS_UPLINK_INTERNAL) UP_fclose(a->ptr); else fclose(a->ptr); a->ptr = NULL; - a->flags = BIO_FLAGS_UPLINK; + a->flags = BIO_FLAGS_UPLINK_INTERNAL; } a->init = 0; } @@ -142,13 +142,13 @@ static int file_read(BIO *b, char *out, int outl) int ret = 0; if (b->init && (out != NULL)) { - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_fread(out, 1, (int)outl, b->ptr); else ret = fread(out, 1, (int)outl, (FILE *)b->ptr); if (ret == 0 - && (b->flags & BIO_FLAGS_UPLINK) ? UP_ferror((FILE *)b->ptr) : - ferror((FILE *)b->ptr)) { + && (b->flags & BIO_FLAGS_UPLINK_INTERNAL + ? UP_ferror((FILE *)b->ptr) : ferror((FILE *)b->ptr))) { SYSerr(SYS_F_FREAD, get_last_sys_error()); BIOerr(BIO_F_FILE_READ, ERR_R_SYS_LIB); ret = -1; @@ -162,7 +162,7 @@ static int file_write(BIO *b, const char *in, int inl) int ret = 0; if (b->init && (in != NULL)) { - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_fwrite(in, (int)inl, 1, b->ptr); else ret = fwrite(in, (int)inl, 1, (FILE *)b->ptr); @@ -189,20 +189,20 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) switch (cmd) { case BIO_C_FILE_SEEK: case BIO_CTRL_RESET: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = (long)UP_fseek(b->ptr, num, 0); else ret = (long)fseek(fp, num, 0); break; case BIO_CTRL_EOF: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = (long)UP_feof(fp); else ret = (long)feof(fp); break; case BIO_C_FILE_TELL: case BIO_CTRL_INFO: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_ftell(b->ptr); else ret = ftell(fp); @@ -212,22 +212,22 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) b->shutdown = (int)num & BIO_CLOSE; b->ptr = ptr; b->init = 1; -# if BIO_FLAGS_UPLINK!=0 +# if BIO_FLAGS_UPLINK_INTERNAL!=0 # if defined(__MINGW32__) && defined(__MSVCRT__) && !defined(_IOB_ENTRIES) # define _IOB_ENTRIES 20 # endif /* Safety net to catch purely internal BIO_set_fp calls */ # if defined(_MSC_VER) && _MSC_VER>=1900 if (ptr == stdin || ptr == stdout || ptr == stderr) - BIO_clear_flags(b, BIO_FLAGS_UPLINK); + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); # elif defined(_IOB_ENTRIES) if ((size_t)ptr >= (size_t)stdin && (size_t)ptr < (size_t)(stdin + _IOB_ENTRIES)) - BIO_clear_flags(b, BIO_FLAGS_UPLINK); + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); # endif # endif # ifdef UP_fsetmod - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) UP_fsetmod(b->ptr, (char)((num & BIO_FP_TEXT) ? 't' : 'b')); else # endif @@ -296,8 +296,8 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) } b->ptr = fp; b->init = 1; - BIO_clear_flags(b, BIO_FLAGS_UPLINK); /* we did fopen -> we disengage - * UPLINK */ + /* we did fopen -> we disengage UPLINK */ + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); break; case BIO_C_GET_FILE_PTR: /* the ptr parameter is actually a FILE ** in this case. */ @@ -313,7 +313,7 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) b->shutdown = (int)num; break; case BIO_CTRL_FLUSH: - st = b->flags & BIO_FLAGS_UPLINK + st = b->flags & BIO_FLAGS_UPLINK_INTERNAL ? UP_fflush(b->ptr) : fflush((FILE *)b->ptr); if (st == EOF) { SYSerr(SYS_F_FFLUSH, get_last_sys_error()); @@ -342,7 +342,7 @@ static int file_gets(BIO *bp, char *buf, int size) int ret = 0; buf[0] = '\0'; - if (bp->flags & BIO_FLAGS_UPLINK) { + if (bp->flags & BIO_FLAGS_UPLINK_INTERNAL) { if (!UP_fgets(buf, size, bp->ptr)) goto err; } else { diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h index f7bd06b..1aa1dc6 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -14,9 +14,10 @@ # include # ifdef OPENSSL_USE_APPLINK -# undef BIO_FLAGS_UPLINK -# define BIO_FLAGS_UPLINK 0x8000 +# define BIO_FLAGS_UPLINK_INTERNAL 0x8000 # include "ms/uplink.h" +# else +# define BIO_FLAGS_UPLINK_INTERNAL 0 # endif # include diff --git a/include/openssl/bio.h b/include/openssl/bio.h index a0c9220..17b2c0e 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -174,12 +174,9 @@ extern "C" { # define BIO_FLAGS_IO_SPECIAL 0x04 # define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) # define BIO_FLAGS_SHOULD_RETRY 0x08 -# ifndef BIO_FLAGS_UPLINK -/* - * "UPLINK" flag denotes file descriptors provided by application. It - * defaults to 0, as most platforms don't require UPLINK interface. - */ -# define BIO_FLAGS_UPLINK 0 +# if !OPENSSL_API_3 +/* This #define was replaced by an internal constant and should not be used. */ +# define BIO_FLAGS_UPLINK 0 # endif # define BIO_FLAGS_BASE64_NO_NL 0x100 From builds at travis-ci.org Wed Jun 26 16:46:10 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 26 Jun 2019 16:46:10 +0000 Subject: Still Failing: openssl/openssl#26081 (master - 4b93125) In-Reply-To: Message-ID: <5d13a1522f1b9_43ffd7a6526a82237ee@4b8319eb-ccd8-4c5e-8bf9-4f8a89c3b4bc.mail> Build Update for openssl/openssl ------------------------------------- Build: #26081 Status: Still Failing Duration: 31 mins and 25 secs Commit: 4b93125 (master) Author: Paul Yang Message: Fix incorrect usage of a test case test/x509_check_cert_pkey_test.c has incorrect usage description. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9250) View the changeset: https://github.com/openssl/openssl/compare/edc623564852...4b931252beda View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550890712?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 Jun 26 17:01:18 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 26 Jun 2019 17:01:18 +0000 Subject: Still Failing: openssl/openssl#26082 (master - b113279) In-Reply-To: Message-ID: <5d13a4ddc3f4f_43ffd79670b7c2279fb@4b8319eb-ccd8-4c5e-8bf9-4f8a89c3b4bc.mail> Build Update for openssl/openssl ------------------------------------- Build: #26082 Status: Still Failing Duration: 25 mins and 17 secs Commit: b113279 (master) Author: Bernd Edlinger Message: Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7307) View the changeset: https://github.com/openssl/openssl/compare/4b931252beda...b11327929294 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550900268?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 kaduk at mit.edu Wed Jun 26 17:57:36 2019 From: kaduk at mit.edu (kaduk at mit.edu) Date: Wed, 26 Jun 2019 17:57:36 +0000 Subject: [openssl] master update Message-ID: <1561571856.220164.22589.nullmailer@dev.openssl.org> The branch master has been updated via 29948ac80c1388cfeb0bd64539ac1fa6e0bb8990 (commit) via 6f34d7bc7d0c7fcd86c6f2772f26e42c925d8505 (commit) via 7cb8fb07e8b71dc1fdcb0de10af7fed4347f6ea4 (commit) from b11327929294cf825e4759d97af6f174bd6b081c (commit) - Log ----------------------------------------------------------------- commit 29948ac80c1388cfeb0bd64539ac1fa6e0bb8990 Author: Benjamin Kaduk Date: Thu Jun 13 12:26:12 2019 -0700 Move 'shared_sigalgs' from cert_st to ssl_st It was only ever in cert_st because ssl_st was a public structure and could not be modified without breaking the API. However, both structures are now opaque, and thus we can freely change their layout without breaking applications. In this case, keeping the shared sigalgs in the SSL object prevents complications wherein they would inadvertently get cleared during SSL_set_SSL_CTX() (e.g., as run during a cert_cb). Fixes #9099 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) commit 6f34d7bc7d0c7fcd86c6f2772f26e42c925d8505 Author: Benjamin Kaduk Date: Thu Jun 13 12:04:52 2019 -0700 Revert "Delay setting the sig algs until after the cert_cb has been called" This reverts commit 524006dd1b80c1a86a20119ad988666a80d8d8f5. While this change did prevent the sigalgs from getting inadvertently clobbered by SSL_set_SSL_CTX(), it also caused the sigalgs to not be set when the cert_cb runs. This, in turn, caused significant breakage, such as SSL_check_chain() failing to find any valid chain. An alternate approach to fixing the issue from #7244 will follow. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) commit 7cb8fb07e8b71dc1fdcb0de10af7fed4347f6ea4 Author: Benjamin Kaduk Date: Thu Jun 13 12:02:03 2019 -0700 Add regression test for #9099 Augment the cert_cb sslapitest to include a run that uses SSL_check_chain() to inspect the certificate prior to installing it on the SSL object. If the check shows the certificate as not valid in that context, we do not install a certificate at all, so the handshake will fail later on in processing (tls_choose_sigalg()), exposing the indicated regression. Currently it fails, since we have not yet set the shared sigalgs by the time the cert_cb runs. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_cert.c | 3 --- ssl/ssl_lib.c | 6 +++++ ssl/ssl_locl.h | 13 ++++++----- ssl/statem/statem_srvr.c | 32 ++++++++++++-------------- ssl/t1_lib.c | 60 +++++++++++++++++++++++------------------------- test/sslapitest.c | 40 ++++++++++++++++++++++++++++++-- 6 files changed, 95 insertions(+), 59 deletions(-) diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 04963f1..5538e4d 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -154,8 +154,6 @@ CERT *ssl_cert_dup(CERT *cert) ret->client_sigalgslen = cert->client_sigalgslen; } else ret->client_sigalgs = NULL; - /* Shared sigalgs also NULL */ - ret->shared_sigalgs = NULL; /* Copy any custom client certificate types */ if (cert->ctype) { ret->ctype = OPENSSL_memdup(cert->ctype, cert->ctype_len); @@ -240,7 +238,6 @@ void ssl_cert_free(CERT *c) ssl_cert_clear_certs(c); OPENSSL_free(c->conf_sigalgs); OPENSSL_free(c->client_sigalgs); - OPENSSL_free(c->shared_sigalgs); OPENSSL_free(c->ctype); X509_STORE_free(c->verify_store); X509_STORE_free(c->chain_store); diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index d15b743..211a828 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -629,6 +629,11 @@ int SSL_clear(SSL *s) /* Clear the verification result peername */ X509_VERIFY_PARAM_move_peername(s->param, NULL); + /* Clear any shared connection state */ + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; + /* * Check to see if we were changed into a different method, if so, revert * back. @@ -1182,6 +1187,7 @@ void SSL_free(SSL *s) clear_ciphers(s); ssl_cert_free(s->cert); + OPENSSL_free(s->shared_sigalgs); /* Free up if allocated */ OPENSSL_free(s->ext.hostname); diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index a61987f..269f542 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -1661,6 +1661,13 @@ struct ssl_st { /* Callback for SSL async handling */ SSL_async_callback_fn async_cb; void *async_cb_arg; + + /* + * Signature algorithms shared by client and server: cached because these + * are used most often. + */ + const struct sigalg_lookup_st **shared_sigalgs; + size_t shared_sigalgslen; }; /* @@ -1926,12 +1933,6 @@ typedef struct cert_st { /* Size of above array */ size_t client_sigalgslen; /* - * Signature algorithms shared by client and server: cached because these - * are used most often. - */ - const SIGALG_LOOKUP **shared_sigalgs; - size_t shared_sigalgslen; - /* * Certificate setup callback: if set is called whenever a certificate * may be required (client or server). the callback can then examine any * appropriate parameters and setup any certificates required. This diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 79c2aa0..acd3e27 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2065,6 +2065,10 @@ static int tls_early_post_process_client_hello(SSL *s) #else s->session->compress_meth = (comp == NULL) ? 0 : comp->id; #endif + if (!tls1_set_server_sigalgs(s)) { + /* SSLfatal() already called */ + goto err; + } } sk_SSL_CIPHER_free(ciphers); @@ -2232,25 +2236,19 @@ WORK_STATE tls_post_process_client_hello(SSL *s, WORK_STATE wst) if (wst == WORK_MORE_B) { if (!s->hit || SSL_IS_TLS13(s)) { /* Let cert callback update server certificates if required */ - if (!s->hit) { - if (s->cert->cert_cb != NULL) { - int rv = s->cert->cert_cb(s, s->cert->cert_cb_arg); - if (rv == 0) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, - SSL_F_TLS_POST_PROCESS_CLIENT_HELLO, - SSL_R_CERT_CB_ERROR); - goto err; - } - if (rv < 0) { - s->rwstate = SSL_X509_LOOKUP; - return WORK_MORE_B; - } - s->rwstate = SSL_NOTHING; - } - if (!tls1_set_server_sigalgs(s)) { - /* SSLfatal already called */ + if (!s->hit && s->cert->cert_cb != NULL) { + int rv = s->cert->cert_cb(s, s->cert->cert_cb_arg); + if (rv == 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_TLS_POST_PROCESS_CLIENT_HELLO, + SSL_R_CERT_CB_ERROR); goto err; } + if (rv < 0) { + s->rwstate = SSL_X509_LOOKUP; + return WORK_MORE_B; + } + s->rwstate = SSL_NOTHING; } /* In TLSv1.3 we selected the ciphersuite before resumption */ diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 95622de..05c4ba5 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -650,7 +650,6 @@ static int tls1_check_cert_param(SSL *s, X509 *x, int check_ee_md) if (check_ee_md && tls1_suiteb(s)) { int check_md; size_t i; - CERT *c = s->cert; /* Check to see we have necessary signing algorithm */ if (group_id == TLSEXT_curve_P_256) @@ -659,8 +658,8 @@ static int tls1_check_cert_param(SSL *s, X509 *x, int check_ee_md) check_md = NID_ecdsa_with_SHA384; else return 0; /* Should never happen */ - for (i = 0; i < c->shared_sigalgslen; i++) { - if (check_md == c->shared_sigalgs[i]->sigandhash) + for (i = 0; i < s->shared_sigalgslen; i++) { + if (check_md == s->shared_sigalgs[i]->sigandhash) return 1;; } return 0; @@ -1287,9 +1286,9 @@ int tls1_set_server_sigalgs(SSL *s) size_t i; /* Clear any shared signature algorithms */ - OPENSSL_free(s->cert->shared_sigalgs); - s->cert->shared_sigalgs = NULL; - s->cert->shared_sigalgslen = 0; + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; /* Clear certificate validity flags */ for (i = 0; i < SSL_PKEY_NUM; i++) s->s3.tmp.valid_flags[i] = 0; @@ -1324,7 +1323,7 @@ int tls1_set_server_sigalgs(SSL *s) SSL_F_TLS1_SET_SERVER_SIGALGS, ERR_R_INTERNAL_ERROR); return 0; } - if (s->cert->shared_sigalgs != NULL) + if (s->shared_sigalgs != NULL) return 1; /* Fatal error if no shared signature algorithms */ @@ -1796,9 +1795,9 @@ static int tls1_set_shared_sigalgs(SSL *s) CERT *c = s->cert; unsigned int is_suiteb = tls1_suiteb(s); - OPENSSL_free(c->shared_sigalgs); - c->shared_sigalgs = NULL; - c->shared_sigalgslen = 0; + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; /* If client use client signature algorithms if not NULL */ if (!s->server && c->client_sigalgs && !is_suiteb) { conf = c->client_sigalgs; @@ -1829,8 +1828,8 @@ static int tls1_set_shared_sigalgs(SSL *s) } else { salgs = NULL; } - c->shared_sigalgs = salgs; - c->shared_sigalgslen = nmatch; + s->shared_sigalgs = salgs; + s->shared_sigalgslen = nmatch; return 1; } @@ -1891,7 +1890,6 @@ int tls1_process_sigalgs(SSL *s) { size_t i; uint32_t *pvalid = s->s3.tmp.valid_flags; - CERT *c = s->cert; if (!tls1_set_shared_sigalgs(s)) return 0; @@ -1899,8 +1897,8 @@ int tls1_process_sigalgs(SSL *s) for (i = 0; i < SSL_PKEY_NUM; i++) pvalid[i] = 0; - for (i = 0; i < c->shared_sigalgslen; i++) { - const SIGALG_LOOKUP *sigptr = c->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + const SIGALG_LOOKUP *sigptr = s->shared_sigalgs[i]; int idx = sigptr->sig_idx; /* Ignore PKCS1 based sig algs in TLSv1.3 */ @@ -1947,12 +1945,12 @@ int SSL_get_shared_sigalgs(SSL *s, int idx, unsigned char *rsig, unsigned char *rhash) { const SIGALG_LOOKUP *shsigalgs; - if (s->cert->shared_sigalgs == NULL + if (s->shared_sigalgs == NULL || idx < 0 - || idx >= (int)s->cert->shared_sigalgslen - || s->cert->shared_sigalgslen > INT_MAX) + || idx >= (int)s->shared_sigalgslen + || s->shared_sigalgslen > INT_MAX) return 0; - shsigalgs = s->cert->shared_sigalgs[idx]; + shsigalgs = s->shared_sigalgs[idx]; if (phash != NULL) *phash = shsigalgs->hash; if (psign != NULL) @@ -1963,7 +1961,7 @@ int SSL_get_shared_sigalgs(SSL *s, int idx, *rsig = (unsigned char)(shsigalgs->sigalg & 0xff); if (rhash != NULL) *rhash = (unsigned char)((shsigalgs->sigalg >> 8) & 0xff); - return (int)s->cert->shared_sigalgslen; + return (int)s->shared_sigalgslen; } /* Maximum possible number of unique entries in sigalgs array */ @@ -2144,7 +2142,7 @@ int tls1_set_sigalgs(CERT *c, const int *psig_nids, size_t salglen, int client) return 0; } -static int tls1_check_sig_alg(CERT *c, X509 *x, int default_nid) +static int tls1_check_sig_alg(SSL *s, X509 *x, int default_nid) { int sig_nid; size_t i; @@ -2153,8 +2151,8 @@ static int tls1_check_sig_alg(CERT *c, X509 *x, int default_nid) sig_nid = X509_get_signature_nid(x); if (default_nid) return sig_nid == default_nid ? 1 : 0; - for (i = 0; i < c->shared_sigalgslen; i++) - if (sig_nid == c->shared_sigalgs[i]->sigandhash) + for (i = 0; i < s->shared_sigalgslen; i++) + if (sig_nid == s->shared_sigalgs[i]->sigandhash) return 1; return 0; } @@ -2312,14 +2310,14 @@ int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain, } } /* Check signature algorithm of each cert in chain */ - if (!tls1_check_sig_alg(c, x, default_nid)) { + if (!tls1_check_sig_alg(s, x, default_nid)) { if (!check_flags) goto end; } else rv |= CERT_PKEY_EE_SIGNATURE; rv |= CERT_PKEY_CA_SIGNATURE; for (i = 0; i < sk_X509_num(chain); i++) { - if (!tls1_check_sig_alg(c, sk_X509_value(chain, i), default_nid)) { + if (!tls1_check_sig_alg(s, sk_X509_value(chain, i), default_nid)) { if (check_flags) { rv &= ~CERT_PKEY_CA_SIGNATURE; break; @@ -2684,8 +2682,8 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) #endif /* Look for a certificate matching shared sigalgs */ - for (i = 0; i < s->cert->shared_sigalgslen; i++) { - lu = s->cert->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + lu = s->shared_sigalgs[i]; sig_idx = -1; /* Skip SHA1, SHA224, DSA and RSA if not PSS */ @@ -2719,7 +2717,7 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) } break; } - if (i == s->cert->shared_sigalgslen) { + if (i == s->shared_sigalgslen) { if (!fatalerrs) return 1; SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_F_TLS_CHOOSE_SIGALG, @@ -2752,8 +2750,8 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) * Find highest preference signature algorithm matching * cert type */ - for (i = 0; i < s->cert->shared_sigalgslen; i++) { - lu = s->cert->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + lu = s->shared_sigalgs[i]; if (s->server) { if ((sig_idx = tls12_get_cert_sigalg_idx(s, lu)) == -1) @@ -2780,7 +2778,7 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) #endif break; } - if (i == s->cert->shared_sigalgslen) { + if (i == s->shared_sigalgslen) { if (!fatalerrs) return 1; SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, diff --git a/test/sslapitest.c b/test/sslapitest.c index 9a993f7..bc1f006 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -6239,6 +6239,9 @@ static int cert_cb_cnt; static int cert_cb(SSL *s, void *arg) { SSL_CTX *ctx = (SSL_CTX *)arg; + BIO *in = NULL; + EVP_PKEY *pkey = NULL; + X509 *x509 = NULL; if (cert_cb_cnt == 0) { /* Suspend the handshake */ @@ -6259,9 +6262,39 @@ static int cert_cb(SSL *s, void *arg) return 0; cert_cb_cnt++; return 1; + } else if (cert_cb_cnt == 3) { + int rv; + if (!TEST_ptr(in = BIO_new(BIO_s_file())) + || !TEST_int_ge(BIO_read_filename(in, cert), 0) + || !TEST_ptr(x509 = PEM_read_bio_X509(in, NULL, NULL, NULL))) + goto out; + BIO_free(in); + if (!TEST_ptr(in = BIO_new(BIO_s_file())) + || !TEST_int_ge(BIO_read_filename(in, privkey), 0) + || !TEST_ptr(pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, NULL))) + goto out; + rv = SSL_check_chain(s, x509, pkey, NULL); + /* + * If the cert doesn't show as valid here (e.g., because we don't + * have any shared sigalgs), then we will not set it, and there will + * be no certificate at all on the SSL or SSL_CTX. This, in turn, + * will cause tls_choose_sigalgs() to fail the connection. + */ + if ((rv & CERT_PKEY_VALID)) { + if (!SSL_use_cert_and_key(s, x509, pkey, NULL, 1)) + goto out; + } + BIO_free(in); + EVP_PKEY_free(pkey); + X509_free(x509); + return 1; } /* Abort the handshake */ + out: + BIO_free(in); + EVP_PKEY_free(pkey); + X509_free(x509); return 0; } @@ -6286,6 +6319,8 @@ static int test_cert_cb_int(int prot, int tst) if (tst == 0) cert_cb_cnt = -1; + else if (tst == 3) + cert_cb_cnt = 3; else cert_cb_cnt = 0; if (tst == 2) @@ -6298,7 +6333,8 @@ static int test_cert_cb_int(int prot, int tst) ret = create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE); if (!TEST_true(tst == 0 ? !ret : ret) - || (tst > 0 && !TEST_int_eq(cert_cb_cnt, 2))) { + || (tst > 0 + && !TEST_int_eq((cert_cb_cnt - 2) * (cert_cb_cnt - 3), 0))) { goto end; } @@ -6686,7 +6722,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_ssl_get_shared_ciphers, OSSL_NELEM(shared_ciphers_data)); ADD_ALL_TESTS(test_ticket_callbacks, 12); ADD_ALL_TESTS(test_shutdown, 7); - ADD_ALL_TESTS(test_cert_cb, 3); + ADD_ALL_TESTS(test_cert_cb, 4); ADD_ALL_TESTS(test_client_cert_cb, 2); ADD_ALL_TESTS(test_ca_names, 3); return 1; From builds at travis-ci.org Wed Jun 26 18:20:20 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 26 Jun 2019 18:20:20 +0000 Subject: Still Failing: openssl/openssl#26083 (master - 29948ac) In-Reply-To: Message-ID: <5d13b763d4b56_43fb0b8e57c403788eb@5122446e-74ec-49f3-a4d0-f0d9be28b234.mail> Build Update for openssl/openssl ------------------------------------- Build: #26083 Status: Still Failing Duration: 22 mins and 4 secs Commit: 29948ac (master) Author: Benjamin Kaduk Message: Move 'shared_sigalgs' from cert_st to ssl_st It was only ever in cert_st because ssl_st was a public structure and could not be modified without breaking the API. However, both structures are now opaque, and thus we can freely change their layout without breaking applications. In this case, keeping the shared sigalgs in the SSL object prevents complications wherein they would inadvertently get cleared during SSL_set_SSL_CTX() (e.g., as run during a cert_cb). Fixes #9099 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) View the changeset: https://github.com/openssl/openssl/compare/b11327929294...29948ac80c13 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550939414?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 kaduk at mit.edu Wed Jun 26 19:12:47 2019 From: kaduk at mit.edu (kaduk at mit.edu) Date: Wed, 26 Jun 2019 19:12:47 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561576367.978926.1500.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 915430a0a9b3602017689cdd65934b3582ea1e01 (commit) via 572492aaf0657fd40c96b889966350ce20d310b4 (commit) via 9863b41989968fd88d1b772ac7e20e3cdaea8beb (commit) from 2a5f63c9a61be7582620c4b5da202bb3fd7e4138 (commit) - Log ----------------------------------------------------------------- commit 915430a0a9b3602017689cdd65934b3582ea1e01 Author: Benjamin Kaduk Date: Thu Jun 13 12:26:12 2019 -0700 Move 'shared_sigalgs' from cert_st to ssl_st It was only ever in cert_st because ssl_st was a public structure and could not be modified without breaking the API. However, both structures are now opaque, and thus we can freely change their layout without breaking applications. In this case, keeping the shared sigalgs in the SSL object prevents complications wherein they would inadvertently get cleared during SSL_set_SSL_CTX() (e.g., as run during a cert_cb). Fixes #9099 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) (cherry picked from commit 29948ac80c1388cfeb0bd64539ac1fa6e0bb8990) commit 572492aaf0657fd40c96b889966350ce20d310b4 Author: Benjamin Kaduk Date: Thu Jun 13 12:04:52 2019 -0700 Revert "Delay setting the sig algs until after the cert_cb has been called" This reverts commit 524006dd1b80c1a86a20119ad988666a80d8d8f5. While this change did prevent the sigalgs from getting inadvertently clobbered by SSL_set_SSL_CTX(), it also caused the sigalgs to not be set when the cert_cb runs. This, in turn, caused significant breakage, such as SSL_check_chain() failing to find any valid chain. An alternate approach to fixing the issue from #7244 will follow. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) (cherry picked from commit 6f34d7bc7d0c7fcd86c6f2772f26e42c925d8505) commit 9863b41989968fd88d1b772ac7e20e3cdaea8beb Author: Benjamin Kaduk Date: Thu Jun 13 12:02:03 2019 -0700 Add regression test for #9099 Augment the cert_cb sslapitest to include a run that uses SSL_check_chain() to inspect the certificate prior to installing it on the SSL object. If the check shows the certificate as not valid in that context, we do not install a certificate at all, so the handshake will fail later on in processing (tls_choose_sigalg()), exposing the indicated regression. Currently it fails, since we have not yet set the shared sigalgs by the time the cert_cb runs. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) (cherry picked from commit 7cb8fb07e8b71dc1fdcb0de10af7fed4347f6ea4) ----------------------------------------------------------------------- Summary of changes: ssl/ssl_cert.c | 3 --- ssl/ssl_lib.c | 6 +++++ ssl/ssl_locl.h | 13 ++++++----- ssl/statem/statem_srvr.c | 32 ++++++++++++-------------- ssl/t1_lib.c | 60 +++++++++++++++++++++++------------------------- test/sslapitest.c | 40 ++++++++++++++++++++++++++++++-- 6 files changed, 95 insertions(+), 59 deletions(-) diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 3314507..4805c6a 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -154,8 +154,6 @@ CERT *ssl_cert_dup(CERT *cert) ret->client_sigalgslen = cert->client_sigalgslen; } else ret->client_sigalgs = NULL; - /* Shared sigalgs also NULL */ - ret->shared_sigalgs = NULL; /* Copy any custom client certificate types */ if (cert->ctype) { ret->ctype = OPENSSL_memdup(cert->ctype, cert->ctype_len); @@ -240,7 +238,6 @@ void ssl_cert_free(CERT *c) ssl_cert_clear_certs(c); OPENSSL_free(c->conf_sigalgs); OPENSSL_free(c->client_sigalgs); - OPENSSL_free(c->shared_sigalgs); OPENSSL_free(c->ctype); X509_STORE_free(c->verify_store); X509_STORE_free(c->chain_store); diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 40ab874..4e945dc 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -628,6 +628,11 @@ int SSL_clear(SSL *s) /* Clear the verification result peername */ X509_VERIFY_PARAM_move_peername(s->param, NULL); + /* Clear any shared connection state */ + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; + /* * Check to see if we were changed into a different method, if so, revert * back. @@ -1173,6 +1178,7 @@ void SSL_free(SSL *s) clear_ciphers(s); ssl_cert_free(s->cert); + OPENSSL_free(s->shared_sigalgs); /* Free up if allocated */ OPENSSL_free(s->ext.hostname); diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index fa0f6d0..1c42ba6 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -1474,6 +1474,13 @@ struct ssl_st { /* Callback to determine if early_data is acceptable or not */ SSL_allow_early_data_cb_fn allow_early_data_cb; void *allow_early_data_cb_data; + + /* + * Signature algorithms shared by client and server: cached because these + * are used most often. + */ + const struct sigalg_lookup_st **shared_sigalgs; + size_t shared_sigalgslen; }; /* @@ -1908,12 +1915,6 @@ typedef struct cert_st { /* Size of above array */ size_t client_sigalgslen; /* - * Signature algorithms shared by client and server: cached because these - * are used most often. - */ - const SIGALG_LOOKUP **shared_sigalgs; - size_t shared_sigalgslen; - /* * Certificate setup callback: if set is called whenever a certificate * may be required (client or server). the callback can then examine any * appropriate parameters and setup any certificates required. This diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index e7e95c7..8cf9c40 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2062,6 +2062,10 @@ static int tls_early_post_process_client_hello(SSL *s) #else s->session->compress_meth = (comp == NULL) ? 0 : comp->id; #endif + if (!tls1_set_server_sigalgs(s)) { + /* SSLfatal() already called */ + goto err; + } } sk_SSL_CIPHER_free(ciphers); @@ -2229,25 +2233,19 @@ WORK_STATE tls_post_process_client_hello(SSL *s, WORK_STATE wst) if (wst == WORK_MORE_B) { if (!s->hit || SSL_IS_TLS13(s)) { /* Let cert callback update server certificates if required */ - if (!s->hit) { - if (s->cert->cert_cb != NULL) { - int rv = s->cert->cert_cb(s, s->cert->cert_cb_arg); - if (rv == 0) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, - SSL_F_TLS_POST_PROCESS_CLIENT_HELLO, - SSL_R_CERT_CB_ERROR); - goto err; - } - if (rv < 0) { - s->rwstate = SSL_X509_LOOKUP; - return WORK_MORE_B; - } - s->rwstate = SSL_NOTHING; - } - if (!tls1_set_server_sigalgs(s)) { - /* SSLfatal already called */ + if (!s->hit && s->cert->cert_cb != NULL) { + int rv = s->cert->cert_cb(s, s->cert->cert_cb_arg); + if (rv == 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_TLS_POST_PROCESS_CLIENT_HELLO, + SSL_R_CERT_CB_ERROR); goto err; } + if (rv < 0) { + s->rwstate = SSL_X509_LOOKUP; + return WORK_MORE_B; + } + s->rwstate = SSL_NOTHING; } /* In TLSv1.3 we selected the ciphersuite before resumption */ diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 2b1b0bd..7997bc7 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -578,7 +578,6 @@ static int tls1_check_cert_param(SSL *s, X509 *x, int check_ee_md) if (check_ee_md && tls1_suiteb(s)) { int check_md; size_t i; - CERT *c = s->cert; /* Check to see we have necessary signing algorithm */ if (group_id == TLSEXT_curve_P_256) @@ -587,8 +586,8 @@ static int tls1_check_cert_param(SSL *s, X509 *x, int check_ee_md) check_md = NID_ecdsa_with_SHA384; else return 0; /* Should never happen */ - for (i = 0; i < c->shared_sigalgslen; i++) { - if (check_md == c->shared_sigalgs[i]->sigandhash) + for (i = 0; i < s->shared_sigalgslen; i++) { + if (check_md == s->shared_sigalgs[i]->sigandhash) return 1;; } return 0; @@ -1215,9 +1214,9 @@ int tls1_set_server_sigalgs(SSL *s) size_t i; /* Clear any shared signature algorithms */ - OPENSSL_free(s->cert->shared_sigalgs); - s->cert->shared_sigalgs = NULL; - s->cert->shared_sigalgslen = 0; + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; /* Clear certificate validity flags */ for (i = 0; i < SSL_PKEY_NUM; i++) s->s3->tmp.valid_flags[i] = 0; @@ -1252,7 +1251,7 @@ int tls1_set_server_sigalgs(SSL *s) SSL_F_TLS1_SET_SERVER_SIGALGS, ERR_R_INTERNAL_ERROR); return 0; } - if (s->cert->shared_sigalgs != NULL) + if (s->shared_sigalgs != NULL) return 1; /* Fatal error if no shared signature algorithms */ @@ -1724,9 +1723,9 @@ static int tls1_set_shared_sigalgs(SSL *s) CERT *c = s->cert; unsigned int is_suiteb = tls1_suiteb(s); - OPENSSL_free(c->shared_sigalgs); - c->shared_sigalgs = NULL; - c->shared_sigalgslen = 0; + OPENSSL_free(s->shared_sigalgs); + s->shared_sigalgs = NULL; + s->shared_sigalgslen = 0; /* If client use client signature algorithms if not NULL */ if (!s->server && c->client_sigalgs && !is_suiteb) { conf = c->client_sigalgs; @@ -1757,8 +1756,8 @@ static int tls1_set_shared_sigalgs(SSL *s) } else { salgs = NULL; } - c->shared_sigalgs = salgs; - c->shared_sigalgslen = nmatch; + s->shared_sigalgs = salgs; + s->shared_sigalgslen = nmatch; return 1; } @@ -1819,7 +1818,6 @@ int tls1_process_sigalgs(SSL *s) { size_t i; uint32_t *pvalid = s->s3->tmp.valid_flags; - CERT *c = s->cert; if (!tls1_set_shared_sigalgs(s)) return 0; @@ -1827,8 +1825,8 @@ int tls1_process_sigalgs(SSL *s) for (i = 0; i < SSL_PKEY_NUM; i++) pvalid[i] = 0; - for (i = 0; i < c->shared_sigalgslen; i++) { - const SIGALG_LOOKUP *sigptr = c->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + const SIGALG_LOOKUP *sigptr = s->shared_sigalgs[i]; int idx = sigptr->sig_idx; /* Ignore PKCS1 based sig algs in TLSv1.3 */ @@ -1875,12 +1873,12 @@ int SSL_get_shared_sigalgs(SSL *s, int idx, unsigned char *rsig, unsigned char *rhash) { const SIGALG_LOOKUP *shsigalgs; - if (s->cert->shared_sigalgs == NULL + if (s->shared_sigalgs == NULL || idx < 0 - || idx >= (int)s->cert->shared_sigalgslen - || s->cert->shared_sigalgslen > INT_MAX) + || idx >= (int)s->shared_sigalgslen + || s->shared_sigalgslen > INT_MAX) return 0; - shsigalgs = s->cert->shared_sigalgs[idx]; + shsigalgs = s->shared_sigalgs[idx]; if (phash != NULL) *phash = shsigalgs->hash; if (psign != NULL) @@ -1891,7 +1889,7 @@ int SSL_get_shared_sigalgs(SSL *s, int idx, *rsig = (unsigned char)(shsigalgs->sigalg & 0xff); if (rhash != NULL) *rhash = (unsigned char)((shsigalgs->sigalg >> 8) & 0xff); - return (int)s->cert->shared_sigalgslen; + return (int)s->shared_sigalgslen; } /* Maximum possible number of unique entries in sigalgs array */ @@ -2072,7 +2070,7 @@ int tls1_set_sigalgs(CERT *c, const int *psig_nids, size_t salglen, int client) return 0; } -static int tls1_check_sig_alg(CERT *c, X509 *x, int default_nid) +static int tls1_check_sig_alg(SSL *s, X509 *x, int default_nid) { int sig_nid; size_t i; @@ -2081,8 +2079,8 @@ static int tls1_check_sig_alg(CERT *c, X509 *x, int default_nid) sig_nid = X509_get_signature_nid(x); if (default_nid) return sig_nid == default_nid ? 1 : 0; - for (i = 0; i < c->shared_sigalgslen; i++) - if (sig_nid == c->shared_sigalgs[i]->sigandhash) + for (i = 0; i < s->shared_sigalgslen; i++) + if (sig_nid == s->shared_sigalgs[i]->sigandhash) return 1; return 0; } @@ -2240,14 +2238,14 @@ int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain, } } /* Check signature algorithm of each cert in chain */ - if (!tls1_check_sig_alg(c, x, default_nid)) { + if (!tls1_check_sig_alg(s, x, default_nid)) { if (!check_flags) goto end; } else rv |= CERT_PKEY_EE_SIGNATURE; rv |= CERT_PKEY_CA_SIGNATURE; for (i = 0; i < sk_X509_num(chain); i++) { - if (!tls1_check_sig_alg(c, sk_X509_value(chain, i), default_nid)) { + if (!tls1_check_sig_alg(s, sk_X509_value(chain, i), default_nid)) { if (check_flags) { rv &= ~CERT_PKEY_CA_SIGNATURE; break; @@ -2607,8 +2605,8 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) #endif /* Look for a certificate matching shared sigalgs */ - for (i = 0; i < s->cert->shared_sigalgslen; i++) { - lu = s->cert->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + lu = s->shared_sigalgs[i]; sig_idx = -1; /* Skip SHA1, SHA224, DSA and RSA if not PSS */ @@ -2642,7 +2640,7 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) } break; } - if (i == s->cert->shared_sigalgslen) { + if (i == s->shared_sigalgslen) { if (!fatalerrs) return 1; SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_F_TLS_CHOOSE_SIGALG, @@ -2675,8 +2673,8 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) * Find highest preference signature algorithm matching * cert type */ - for (i = 0; i < s->cert->shared_sigalgslen; i++) { - lu = s->cert->shared_sigalgs[i]; + for (i = 0; i < s->shared_sigalgslen; i++) { + lu = s->shared_sigalgs[i]; if (s->server) { if ((sig_idx = tls12_get_cert_sigalg_idx(s, lu)) == -1) @@ -2703,7 +2701,7 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) #endif break; } - if (i == s->cert->shared_sigalgslen) { + if (i == s->shared_sigalgslen) { if (!fatalerrs) return 1; SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, diff --git a/test/sslapitest.c b/test/sslapitest.c index 5773426..8c6e16c 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -5662,6 +5662,9 @@ static int cert_cb_cnt; static int cert_cb(SSL *s, void *arg) { SSL_CTX *ctx = (SSL_CTX *)arg; + BIO *in = NULL; + EVP_PKEY *pkey = NULL; + X509 *x509 = NULL; if (cert_cb_cnt == 0) { /* Suspend the handshake */ @@ -5682,9 +5685,39 @@ static int cert_cb(SSL *s, void *arg) return 0; cert_cb_cnt++; return 1; + } else if (cert_cb_cnt == 3) { + int rv; + if (!TEST_ptr(in = BIO_new(BIO_s_file())) + || !TEST_int_ge(BIO_read_filename(in, cert), 0) + || !TEST_ptr(x509 = PEM_read_bio_X509(in, NULL, NULL, NULL))) + goto out; + BIO_free(in); + if (!TEST_ptr(in = BIO_new(BIO_s_file())) + || !TEST_int_ge(BIO_read_filename(in, privkey), 0) + || !TEST_ptr(pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, NULL))) + goto out; + rv = SSL_check_chain(s, x509, pkey, NULL); + /* + * If the cert doesn't show as valid here (e.g., because we don't + * have any shared sigalgs), then we will not set it, and there will + * be no certificate at all on the SSL or SSL_CTX. This, in turn, + * will cause tls_choose_sigalgs() to fail the connection. + */ + if ((rv & CERT_PKEY_VALID)) { + if (!SSL_use_cert_and_key(s, x509, pkey, NULL, 1)) + goto out; + } + BIO_free(in); + EVP_PKEY_free(pkey); + X509_free(x509); + return 1; } /* Abort the handshake */ + out: + BIO_free(in); + EVP_PKEY_free(pkey); + X509_free(x509); return 0; } @@ -5709,6 +5742,8 @@ static int test_cert_cb_int(int prot, int tst) if (tst == 0) cert_cb_cnt = -1; + else if (tst == 3) + cert_cb_cnt = 3; else cert_cb_cnt = 0; if (tst == 2) @@ -5721,7 +5756,8 @@ static int test_cert_cb_int(int prot, int tst) ret = create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE); if (!TEST_true(tst == 0 ? !ret : ret) - || (tst > 0 && !TEST_int_eq(cert_cb_cnt, 2))) { + || (tst > 0 + && !TEST_int_eq((cert_cb_cnt - 2) * (cert_cb_cnt - 3), 0))) { goto end; } @@ -6084,7 +6120,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_ssl_get_shared_ciphers, OSSL_NELEM(shared_ciphers_data)); ADD_ALL_TESTS(test_ticket_callbacks, 12); ADD_ALL_TESTS(test_shutdown, 7); - ADD_ALL_TESTS(test_cert_cb, 3); + ADD_ALL_TESTS(test_cert_cb, 4); ADD_ALL_TESTS(test_client_cert_cb, 2); ADD_ALL_TESTS(test_ca_names, 3); return 1; From builds at travis-ci.org Wed Jun 26 19:30:51 2019 From: builds at travis-ci.org (Travis CI) Date: Wed, 26 Jun 2019 19:30:51 +0000 Subject: Still Failing: openssl/openssl#26084 (OpenSSL_1_1_1-stable - 915430a) In-Reply-To: Message-ID: <5d13c7e9e40e3_43fb0b903736c408059@5122446e-74ec-49f3-a4d0-f0d9be28b234.mail> Build Update for openssl/openssl ------------------------------------- Build: #26084 Status: Still Failing Duration: 17 mins and 19 secs Commit: 915430a (OpenSSL_1_1_1-stable) Author: Benjamin Kaduk Message: Move 'shared_sigalgs' from cert_st to ssl_st It was only ever in cert_st because ssl_st was a public structure and could not be modified without breaking the API. However, both structures are now opaque, and thus we can freely change their layout without breaking applications. In this case, keeping the shared sigalgs in the SSL object prevents complications wherein they would inadvertently get cleared during SSL_set_SSL_CTX() (e.g., as run during a cert_cb). Fixes #9099 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9157) (cherry picked from commit 29948ac80c1388cfeb0bd64539ac1fa6e0bb8990) View the changeset: https://github.com/openssl/openssl/compare/2a5f63c9a61b...915430a0a9b3 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/550968098?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 Thu Jun 27 01:20:25 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 27 Jun 2019 01:20:25 +0000 Subject: Build failed: openssl master.25522 Message-ID: <20190627012025.1.37F566D71234CF3E@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Jun 27 02:21:52 2019 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 27 Jun 2019 02:21:52 +0000 Subject: Build completed: openssl master.25523 Message-ID: <20190627022152.1.A51C96760BCD6C1F@appveyor.com> An HTML attachment was scrubbed... URL: From openssl at openssl.org Thu Jun 27 02:22:37 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 27 Jun 2019 02:22:37 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings enable-ec_nistp_64_gcc_128 Message-ID: <1561602157.078914.26011.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-ec_nistp_64_gcc_128 Commit log since last time: 29948ac80c Move 'shared_sigalgs' from cert_st to ssl_st 6f34d7bc7d Revert "Delay setting the sig algs until after the cert_cb has been called" 7cb8fb07e8 Add regression test for #9099 b113279292 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. 4b931252be Fix incorrect usage of a test case edc6235648 The params_test uses wrong size for BN check. Build log ended with (last 100 lines): ../../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_bio_memleak.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/15-test_ec.t (Wstat: 256 Tests: 5 Failed: 1) Failed test: 2 Non-zero exit status: 1 Files=172, Tests=1643, 253 wallclock secs ( 3.00 usr 0.35 sys + 241.24 cusr 22.12 csys = 266.71 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-ec_nistp_64_gcc_128' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From pauli at openssl.org Thu Jun 27 03:42:16 2019 From: pauli at openssl.org (Dr. Paul Dale) Date: Thu, 27 Jun 2019 03:42:16 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561606936.697218.9432.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 58ae5a47da1e4843b0cd1846eb297b341d0e7201 (commit) from 915430a0a9b3602017689cdd65934b3582ea1e01 (commit) - Log ----------------------------------------------------------------- commit 58ae5a47da1e4843b0cd1846eb297b341d0e7201 Author: Pauli Date: Tue Jun 25 03:37:17 2019 +1000 Excise AES-XTS FIPS check. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9255) ----------------------------------------------------------------------- Summary of changes: crypto/evp/e_aes.c | 17 +++-------------- test/recipes/30-test_evp_data/evpciph.txt | 12 +----------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index e60d736..e77ad5c 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -59,12 +59,6 @@ typedef struct { const unsigned char iv[16]); } EVP_AES_XTS_CTX; -#ifdef FIPS_MODE -static const int allow_insecure_decrypt = 0; -#else -static const int allow_insecure_decrypt = 1; -#endif - typedef struct { union { double align; @@ -396,7 +390,6 @@ static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, if (key) { /* The key is two half length keys in reality */ const int bytes = EVP_CIPHER_CTX_key_length(ctx) / 2; - const int bits = bytes * 8; /* * Verify that the two keys are different. @@ -404,8 +397,7 @@ static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * This addresses Rogaway's vulnerability. * See comment in aes_xts_init_key() below. */ - if ((!allow_insecure_decrypt || enc) - && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + if (enc && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AESNI_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } @@ -825,8 +817,7 @@ static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * This addresses Rogaway's vulnerability. * See comment in aes_xts_init_key() below. */ - if ((!allow_insecure_decrypt || enc) - && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + if (enc && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AES_T4_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } @@ -3360,7 +3351,6 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, do { /* The key is two half length keys in reality */ const int bytes = EVP_CIPHER_CTX_key_length(ctx) / 2; - const int bits = bytes * 8; /* * Verify that the two keys are different. @@ -3378,8 +3368,7 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, * BEFORE using the keys in the XTS-AES algorithm to process * data with them." */ - if ((!allow_insecure_decrypt || enc) - && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { + if (enc && CRYPTO_memcmp(key, key + bytes, bytes) == 0) { EVPerr(EVP_F_AES_XTS_INIT_KEY, EVP_R_XTS_DUPLICATED_KEYS); return 0; } diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt index 634b633..29c317a 100644 --- a/test/recipes/30-test_evp_data/evpciph.txt +++ b/test/recipes/30-test_evp_data/evpciph.txt @@ -1197,20 +1197,10 @@ Key = 0000000000000000000000000000000000000000000000000000000000000000 IV = 00000000000000000000000000000000 Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e - -# Using the same key twice for decryption is banned in FIPS mode. -#Cipher = aes-128-xts -#FIPS = YES -#Operation = DECRYPT -#Key = 0000000000000000000000000000000000000000000000000000000000000000 -#IV = 00000000000000000000000000000000 -#Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 -#Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e -#Result = KEY_SET_ERROR +Result = KEY_SET_ERROR # Using the same key twice for decryption is allowed outside of FIPS mode. Cipher = aes-128-xts -#FIPS = NO Operation = DECRYPT Key = 0000000000000000000000000000000000000000000000000000000000000000 IV = 00000000000000000000000000000000 From builds at travis-ci.org Thu Jun 27 03:58:33 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 03:58:33 +0000 Subject: Fixed: openssl/openssl#26095 (OpenSSL_1_1_1-stable - 58ae5a4) In-Reply-To: Message-ID: <5d143ee8dca9b_43f9a6ef47ef8109334@64e21e9f-7e2e-4fe8-8186-1b4d5e1b9d1c.mail> Build Update for openssl/openssl ------------------------------------- Build: #26095 Status: Fixed Duration: 15 mins and 30 secs Commit: 58ae5a4 (OpenSSL_1_1_1-stable) Author: Pauli Message: Excise AES-XTS FIPS check. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9255) View the changeset: https://github.com/openssl/openssl/compare/915430a0a9b3...58ae5a47da1e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551113570?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 Thu Jun 27 06:14:42 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 27 Jun 2019 06:14:42 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561616082.966605.8650.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 29948ac80c Move 'shared_sigalgs' from cert_st to ssl_st 6f34d7bc7d Revert "Delay setting the sig algs until after the cert_cb has been called" 7cb8fb07e8 Add regression test for #9099 b113279292 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. 4b931252be Fix incorrect usage of a test case edc6235648 The params_test uses wrong size for BN check. Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:251: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:253: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:256: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:220: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:213: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:230: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:283: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:300: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:303: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:312: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:350: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:135: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:137: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:140: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:144: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7073: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From matt at openssl.org Thu Jun 27 08:59:07 2019 From: matt at openssl.org (Matt Caswell) Date: Thu, 27 Jun 2019 08:59:07 +0000 Subject: [openssl] master update Message-ID: <1561625947.711390.18463.nullmailer@dev.openssl.org> The branch master has been updated via 743694a6c29e5a6387819523fad5e3b7e613f1ee (commit) from 29948ac80c1388cfeb0bd64539ac1fa6e0bb8990 (commit) - Log ----------------------------------------------------------------- commit 743694a6c29e5a6387819523fad5e3b7e613f1ee Author: Matt Caswell Date: Mon Jun 24 16:07:30 2019 +0100 Move the public SIV mode functions from public headers to internal ones SIV mode is accessible via EVP. There should be no reason to make the low level SIV functions from the modes directory part of the public API. Since these functions do not exist in 1.1.1 we are still able to make this change. This also reduces the list of newly added undocumented symbols from issue #9095. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9232) ----------------------------------------------------------------------- Summary of changes: crypto/evp/e_aes.c | 9 +++++---- crypto/include/internal/modes_int.h | 34 ++++++++++++++++++++++++++++++++++ crypto/modes/siv128.c | 1 + include/openssl/modes.h | 26 -------------------------- util/libcrypto.num | 22 +++++++++++----------- 5 files changed, 51 insertions(+), 41 deletions(-) create mode 100644 crypto/include/internal/modes_int.h diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 697b5a5..6f58e27 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -7,18 +7,19 @@ * https://www.openssl.org/source/license.html */ +#include +#include #include #include #include #include -#include -#include #include +#include +#include #include "internal/evp_int.h" #include "internal/cryptlib.h" +#include "internal/modes_int.h" #include "modes_lcl.h" -#include -#include #include "evp_locl.h" typedef struct { diff --git a/crypto/include/internal/modes_int.h b/crypto/include/internal/modes_int.h new file mode 100644 index 0000000..8a8ef6e --- /dev/null +++ b/crypto/include/internal/modes_int.h @@ -0,0 +1,34 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef OPENSSL_NO_SIV + +typedef struct siv128_context SIV128_CONTEXT; + +SIV128_CONTEXT *CRYPTO_siv128_new(const unsigned char *key, int klen, + EVP_CIPHER* cbc, EVP_CIPHER* ctr); +int CRYPTO_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key, int klen, + const EVP_CIPHER* cbc, const EVP_CIPHER* ctr); +int CRYPTO_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src); +int CRYPTO_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_siv128_encrypt(SIV128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_siv128_decrypt(SIV128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_siv128_finish(SIV128_CONTEXT *ctx); +int CRYPTO_siv128_set_tag(SIV128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +int CRYPTO_siv128_get_tag(SIV128_CONTEXT *ctx, unsigned char *tag, size_t len); +int CRYPTO_siv128_cleanup(SIV128_CONTEXT *ctx); +int CRYPTO_siv128_speed(SIV128_CONTEXT *ctx, int arg); + +#endif /* OPENSSL_NO_SIV */ diff --git a/crypto/modes/siv128.c b/crypto/modes/siv128.c index 9bb5eea..4445cf3 100644 --- a/crypto/modes/siv128.c +++ b/crypto/modes/siv128.c @@ -10,6 +10,7 @@ #include #include #include +#include "internal/modes_int.h" #include "modes_lcl.h" #ifndef OPENSSL_NO_SIV diff --git a/include/openssl/modes.h b/include/openssl/modes.h index 0934482..212c846 100644 --- a/include/openssl/modes.h +++ b/include/openssl/modes.h @@ -202,32 +202,6 @@ int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len); void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx); # endif /* OPENSSL_NO_OCB */ -# ifndef OPENSSL_NO_SIV - -typedef struct siv128_context SIV128_CONTEXT; - -# define SIV_LEN 16 - -SIV128_CONTEXT *CRYPTO_siv128_new(const unsigned char *key, int klen, EVP_CIPHER* cbc, EVP_CIPHER* ctr); -int CRYPTO_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key, int klen, - const EVP_CIPHER* cbc, const EVP_CIPHER* ctr); -int CRYPTO_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src); -int CRYPTO_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad, - size_t len); -int CRYPTO_siv128_encrypt(SIV128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_siv128_decrypt(SIV128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_siv128_finish(SIV128_CONTEXT *ctx); -int CRYPTO_siv128_set_tag(SIV128_CONTEXT *ctx, const unsigned char *tag, size_t len); -int CRYPTO_siv128_get_tag(SIV128_CONTEXT *ctx, unsigned char *tag, size_t len); -int CRYPTO_siv128_cleanup(SIV128_CONTEXT *ctx); -int CRYPTO_siv128_speed(SIV128_CONTEXT *ctx, int arg); - -# endif /* OPENSSL_NO_SIV */ - # ifdef __cplusplus } # endif diff --git a/util/libcrypto.num b/util/libcrypto.num index 766c735..40e80ff 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4609,17 +4609,17 @@ OPENSSL_version_build_metadata 4564 3_0_0 EXIST::FUNCTION: EVP_aes_128_siv 4565 3_0_0 EXIST::FUNCTION:SIV EVP_aes_192_siv 4566 3_0_0 EXIST::FUNCTION:SIV EVP_aes_256_siv 4567 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_new 4568 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_init 4569 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_copy_ctx 4570 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_aad 4571 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_encrypt 4572 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_decrypt 4573 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_finish 4574 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_set_tag 4575 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_get_tag 4576 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_cleanup 4577 3_0_0 EXIST::FUNCTION:SIV -CRYPTO_siv128_speed 4578 3_0_0 EXIST::FUNCTION:SIV +CRYPTO_siv128_new 4568 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_init 4569 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_copy_ctx 4570 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_aad 4571 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_encrypt 4572 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_decrypt 4573 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_finish 4574 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_set_tag 4575 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_get_tag 4576 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_cleanup 4577 3_0_0 NOEXIST::FUNCTION:SIV +CRYPTO_siv128_speed 4578 3_0_0 NOEXIST::FUNCTION:SIV OPENSSL_INIT_set_config_filename 4579 3_0_0 EXIST::FUNCTION:STDIO OPENSSL_INIT_set_config_file_flags 4580 3_0_0 EXIST::FUNCTION:STDIO ASYNC_WAIT_CTX_get_callback 4581 3_0_0 EXIST::FUNCTION: From builds at travis-ci.org Thu Jun 27 09:19:46 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 09:19:46 +0000 Subject: Still Failing: openssl/openssl#26097 (master - 743694a) In-Reply-To: Message-ID: <5d148a31c70e2_43f8246f45e6813202e@8a5a3cb4-98af-4ef1-8c8d-211d6062fb2e.mail> Build Update for openssl/openssl ------------------------------------- Build: #26097 Status: Still Failing Duration: 19 mins and 58 secs Commit: 743694a (master) Author: Matt Caswell Message: Move the public SIV mode functions from public headers to internal ones SIV mode is accessible via EVP. There should be no reason to make the low level SIV functions from the modes directory part of the public API. Since these functions do not exist in 1.1.1 we are still able to make this change. This also reduces the list of newly added undocumented symbols from issue #9095. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9232) View the changeset: https://github.com/openssl/openssl/compare/29948ac80c13...743694a6c29e View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551208205?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 Thu Jun 27 11:39:26 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 27 Jun 2019 11:39:26 +0000 Subject: [openssl] master update Message-ID: <1561635566.752371.6359.nullmailer@dev.openssl.org> The branch master has been updated via 0588be2e01c244c41b0215689f411a6223063fd7 (commit) from 743694a6c29e5a6387819523fad5e3b7e613f1ee (commit) - Log ----------------------------------------------------------------- commit 0588be2e01c244c41b0215689f411a6223063fd7 Author: Dr. Matthias St. Pierre Date: Thu Jun 27 12:50:26 2019 +0200 man: fix documentation for RSA_generate_key() Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9260) ----------------------------------------------------------------------- Summary of changes: doc/man3/RSA_generate_key.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod index b4ff54f..b463392 100644 --- a/doc/man3/RSA_generate_key.pod +++ b/doc/man3/RSA_generate_key.pod @@ -16,7 +16,7 @@ Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining B with a suitable version value, see L: - RSA *RSA_generate_key(int num, unsigned long e, + RSA *RSA_generate_key(int bits, unsigned long e, void (*callback)(int, int, void *), void *cb_arg); =head1 DESCRIPTION @@ -47,7 +47,7 @@ progress of the key generation. If B is not B, it will be called as follows using the BN_GENCB_call() function described on the L page. -RSA_generate_prime() is similar to RSA_generate_prime_ex() but +RSA_generate_key() is similar to RSA_generate_key_ex() but expects an old-style callback function; see L for information on the old-style callback. From matthias.st.pierre at ncp-e.com Thu Jun 27 11:45:37 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 27 Jun 2019 11:45:37 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561635937.661582.31371.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via 4fb5fdb758cb2f0e830109ada066328507708d0c (commit) from 58ae5a47da1e4843b0cd1846eb297b341d0e7201 (commit) - Log ----------------------------------------------------------------- commit 4fb5fdb758cb2f0e830109ada066328507708d0c Author: Dr. Matthias St. Pierre Date: Thu Jun 27 12:50:26 2019 +0200 man: fix documentation for RSA_generate_key() Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9260) (cherry picked from commit 0588be2e01c244c41b0215689f411a6223063fd7) ----------------------------------------------------------------------- Summary of changes: doc/man3/RSA_generate_key.pod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod index a4c078a..508caa1 100644 --- a/doc/man3/RSA_generate_key.pod +++ b/doc/man3/RSA_generate_key.pod @@ -15,7 +15,7 @@ RSA_generate_multi_prime_key - generate RSA key pair Deprecated: #if OPENSSL_API_COMPAT < 0x00908000L - RSA *RSA_generate_key(int num, unsigned long e, + RSA *RSA_generate_key(int bits, unsigned long e, void (*callback)(int, int, void *), void *cb_arg); #endif @@ -47,7 +47,7 @@ progress of the key generation. If B is not B, it will be called as follows using the BN_GENCB_call() function described on the L page. -RSA_generate_prime() is similar to RSA_generate_prime_ex() but +RSA_generate_key() is similar to RSA_generate_key_ex() but expects an old-style callback function; see L for information on the old-style callback. From builds at travis-ci.org Thu Jun 27 12:04:33 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 12:04:33 +0000 Subject: Still Failing: openssl/openssl#26105 (master - 0588be2) In-Reply-To: Message-ID: <5d14b0d0b28e5_43f877ae94fbc1979e9@8c742b0a-484f-4f6a-b273-629c0150bc7a.mail> Build Update for openssl/openssl ------------------------------------- Build: #26105 Status: Still Failing Duration: 22 mins and 12 secs Commit: 0588be2 (master) Author: Dr. Matthias St. Pierre Message: man: fix documentation for RSA_generate_key() Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9260) View the changeset: https://github.com/openssl/openssl/compare/743694a6c29e...0588be2e01c2 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551270933?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 Jun 27 12:14:18 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 12:14:18 +0000 Subject: Errored: openssl/openssl#26106 (OpenSSL_1_1_1-stable - 4fb5fdb) In-Reply-To: Message-ID: <5d14b3199bdde_43f8783635a342027c6@8c742b0a-484f-4f6a-b273-629c0150bc7a.mail> Build Update for openssl/openssl ------------------------------------- Build: #26106 Status: Errored Duration: 20 mins and 31 secs Commit: 4fb5fdb (OpenSSL_1_1_1-stable) Author: Dr. Matthias St. Pierre Message: man: fix documentation for RSA_generate_key() Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9260) (cherry picked from commit 0588be2e01c244c41b0215689f411a6223063fd7) View the changeset: https://github.com/openssl/openssl/compare/58ae5a47da1e...4fb5fdb758cb View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551273576?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 Thu Jun 27 12:48:24 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 27 Jun 2019 12:48:24 +0000 Subject: [openssl] master update Message-ID: <1561639704.821414.31161.nullmailer@dev.openssl.org> The branch master has been updated via 262c00882a2fd7cf16672bf467a86f75b4098a7c (commit) from 0588be2e01c244c41b0215689f411a6223063fd7 (commit) - Log ----------------------------------------------------------------- commit 262c00882a2fd7cf16672bf467a86f75b4098a7c Author: Dr. Matthias St. Pierre Date: Thu Jun 27 10:12:08 2019 +0200 man: clarify the 'random number generator must be seeded' requirement The manual pages require for some API functions that the 'random number generator must be seeded' before calling the function. Initially, this was meant literally, i.e. the OpenSSL CSPRNG had to be seeded manually before calling these functions. Since version 1.1.1, the CSPRNG is seeded automatically on first use, so it's not the responsibility of the programmer anymore. Still, he needs to be aware that the seeding might fail. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9257) ----------------------------------------------------------------------- Summary of changes: doc/man3/BN_generate_prime.pod | 12 ++++++++---- doc/man3/DES_random_key.pod | 8 +++++--- doc/man3/DSA_generate_key.pod | 4 +++- doc/man3/DSA_sign.pod | 7 +++++-- doc/man3/EVP_DigestSignInit.pod | 8 +++++--- doc/man3/EVP_DigestVerifyInit.pod | 8 +++++--- doc/man3/EVP_SealInit.pod | 7 +++++-- doc/man3/EVP_SignInit.pod | 7 ++++--- doc/man3/RSA_blinding_on.pod | 3 +-- doc/man3/RSA_generate_key.pod | 9 ++++++--- doc/man3/RSA_padding_add_PKCS1_type_1.pod | 5 ++++- doc/man3/RSA_sign_ASN1_OCTET_STRING.pod | 8 ++++++-- doc/man7/RAND.pod | 6 ++++++ 13 files changed, 63 insertions(+), 29 deletions(-) diff --git a/doc/man3/BN_generate_prime.pod b/doc/man3/BN_generate_prime.pod index 253fde3..eb5d89a 100644 --- a/doc/man3/BN_generate_prime.pod +++ b/doc/man3/BN_generate_prime.pod @@ -51,7 +51,9 @@ L: =head1 DESCRIPTION BN_generate_prime_ex() generates a pseudo-random prime number of -at least bit length B. +at least bit length B. The returned number is probably prime +with a negligible error. + If B is not B, it will be used to store the number. If B is not B, it is used as follows: @@ -89,8 +91,9 @@ generator. If B is true, it will be a safe prime (i.e. a prime p so that (p-1)/2 is also prime). -The PRNG must be seeded prior to calling BN_generate_prime_ex(). -The prime number generation has a negligible error probability. +The random generator must be seeded prior to calling BN_generate_prime_ex(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. BN_is_prime_ex() and BN_is_prime_fasttest_ex() test if the number B

is prime. The following tests are performed until one of them shows that @@ -193,7 +196,8 @@ Instead applications should create a BN_GENCB structure using BN_GENCB_new: =head1 SEE ALSO L, L, -L, L, L +L, L, L, +L =head1 HISTORY diff --git a/doc/man3/DES_random_key.pod b/doc/man3/DES_random_key.pod index 4f0f25a..a148000 100644 --- a/doc/man3/DES_random_key.pod +++ b/doc/man3/DES_random_key.pod @@ -104,9 +104,11 @@ consists of 8 bytes with odd parity. The least significant bit in each byte is the parity bit. The key schedule is an expanded form of the key; it is used to speed the encryption process. -DES_random_key() generates a random key. The PRNG must be seeded -prior to using this function (see L). If the PRNG -could not generate a secure key, 0 is returned. +DES_random_key() generates a random key. The random generator must be +seeded when calling this function. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. +If the function fails, 0 is returned. Before a DES key can be used, it must be converted into the architecture dependent I via the diff --git a/doc/man3/DSA_generate_key.pod b/doc/man3/DSA_generate_key.pod index 6dc2f79..079c2fe 100644 --- a/doc/man3/DSA_generate_key.pod +++ b/doc/man3/DSA_generate_key.pod @@ -15,7 +15,9 @@ DSA_generate_key - generate DSA key pair DSA_generate_key() expects B to contain DSA parameters. It generates a new key pair and stores it in Bpub_key> and Bpriv_key>. -The PRNG must be seeded prior to calling DSA_generate_key(). +The random generator must be seeded prior to calling DSA_generate_key(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. =head1 RETURN VALUES diff --git a/doc/man3/DSA_sign.pod b/doc/man3/DSA_sign.pod index 07fa3ca..bf99ecc 100644 --- a/doc/man3/DSA_sign.pod +++ b/doc/man3/DSA_sign.pod @@ -36,8 +36,10 @@ B is the signer's public key. The B parameter is ignored. -The PRNG must be seeded before DSA_sign() (or DSA_sign_setup()) +The random generator must be seeded when DSA_sign() (or DSA_sign_setup()) is called. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. =head1 RETURN VALUES @@ -54,7 +56,8 @@ Standard, DSS), ANSI X9.30 =head1 SEE ALSO L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man3/EVP_DigestSignInit.pod b/doc/man3/EVP_DigestSignInit.pod index b584d70..4c497fa 100644 --- a/doc/man3/EVP_DigestSignInit.pod +++ b/doc/man3/EVP_DigestSignInit.pod @@ -125,8 +125,9 @@ and public key algorithms. This meant that "clone" digests such as EVP_dss1() needed to be used to sign using SHA1 and DSA. This is no longer necessary and the use of clone digest is now discouraged. -For some key types and parameters the random number generator must be seeded -or the operation will fail. +For some key types and parameters the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The call to EVP_DigestSignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_DigestSignUpdate() and @@ -147,7 +148,8 @@ L, L, L, L, L, L, L, L, -L, L +L, L, +L =head1 HISTORY diff --git a/doc/man3/EVP_DigestVerifyInit.pod b/doc/man3/EVP_DigestVerifyInit.pod index abb2930..9e2a045 100644 --- a/doc/man3/EVP_DigestVerifyInit.pod +++ b/doc/man3/EVP_DigestVerifyInit.pod @@ -76,8 +76,9 @@ and public key algorithms. This meant that "clone" digests such as EVP_dss1() needed to be used to sign using SHA1 and DSA. This is no longer necessary and the use of clone digest is now discouraged. -For some key types and parameters the random number generator must be seeded -or the operation will fail. +For some key types and parameters the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The call to EVP_DigestVerifyFinal() internally finalizes a copy of the digest context. This means that EVP_VerifyUpdate() and EVP_VerifyFinal() can @@ -93,7 +94,8 @@ L, L, L, L, L, L, L, L, -L, L +L, L, +L =head1 HISTORY diff --git a/doc/man3/EVP_SealInit.pod b/doc/man3/EVP_SealInit.pod index f630e1b..73d9bb7 100644 --- a/doc/man3/EVP_SealInit.pod +++ b/doc/man3/EVP_SealInit.pod @@ -55,7 +55,9 @@ failure. =head1 NOTES Because a random secret key is generated the random number generator -must be seeded before calling EVP_SealInit(). +must be seeded when EVP_SealInit() is called. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The public key must be RSA because it is the only OpenSSL public key algorithm that supports key transport. @@ -75,7 +77,8 @@ with B set to NULL. L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man3/EVP_SignInit.pod b/doc/man3/EVP_SignInit.pod index 02786d0..8dbc644 100644 --- a/doc/man3/EVP_SignInit.pod +++ b/doc/man3/EVP_SignInit.pod @@ -66,9 +66,10 @@ The B interface to digital signatures should almost always be used in preference to the low level interfaces. This is because the code then becomes transparent to the algorithm used and much more flexible. -When signing with DSA private keys the random number generator must be seeded -or the operation will fail. The random number generator does not need to be -seeded for RSA signatures. +When signing with DSA private keys the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. +This requirement does not hold for RSA signatures. The call to EVP_SignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_SignUpdate() and EVP_SignFinal() can be called diff --git a/doc/man3/RSA_blinding_on.pod b/doc/man3/RSA_blinding_on.pod index 3bdf734..db06b2f 100644 --- a/doc/man3/RSA_blinding_on.pod +++ b/doc/man3/RSA_blinding_on.pod @@ -20,8 +20,7 @@ must be used to protect the RSA operation from that attack. RSA_blinding_on() turns blinding on for key B and generates a random blinding factor. B is B or a pre-allocated and -initialized B. The random number generator must be seeded -prior to calling RSA_blinding_on(). +initialized B. RSA_blinding_off() turns blinding off and frees the memory used for the blinding factor. diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod index b463392..9d8b422 100644 --- a/doc/man3/RSA_generate_key.pod +++ b/doc/man3/RSA_generate_key.pod @@ -27,8 +27,10 @@ be seeded prior to calling RSA_generate_key_ex(). RSA_generate_multi_prime_key() generates a multi-prime RSA key pair and stores it in the B structure provided in B. The number of primes is given by -the B parameter. The pseudo-random number generator must be seeded prior -to calling RSA_generate_multi_prime_key(). +the B parameter. The random number generator must be seeded when +calling RSA_generate_multi_prime_key(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The modulus size will be of length B, the number of primes to form the modulus will be B, and the public exponent will be B. Key sizes @@ -88,7 +90,8 @@ B is used with two different meanings. =head1 SEE ALSO -L, L, L +L, L, L, +L =head1 HISTORY diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod index 685063b..40eb8f9 100644 --- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod @@ -100,6 +100,8 @@ simply copy the data The random number generator must be seeded prior to calling RSA_padding_add_xxx(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. RSA_padding_check_xxx() verifies that the B bytes at B contain a valid encoding for a B byte RSA key in the respective @@ -143,7 +145,8 @@ including PKCS1_OAEP. L, L, -L, L +L, L, +L =head1 COPYRIGHT diff --git a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod index fad65e0..27e7cdf 100644 --- a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod +++ b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod @@ -26,7 +26,10 @@ memory. B is ignored. -The random number generator must be seeded prior to calling RSA_sign_ASN1_OCTET_STRING(). +The random number generator must be seeded when calling +RSA_sign_ASN1_OCTET_STRING(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. RSA_verify_ASN1_OCTET_STRING() verifies that the signature B of size B is the DER representation of a given octet string @@ -49,7 +52,8 @@ These functions serve no recognizable purpose. L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man7/RAND.pod b/doc/man7/RAND.pod index 3d47666..e253e90 100644 --- a/doc/man7/RAND.pod +++ b/doc/man7/RAND.pod @@ -28,6 +28,12 @@ As a normal application developer, you do not have to worry about any details, just use L to obtain random data. Having said that, there is one important rule to obey: Always check the error return value of L and do not take randomness for granted. +Although (re-)seeding is automatic, it can fail because no trusted random source +is available or the trusted source(s) temporarily fail to provide sufficient +random seed material. +In this case the CSPRNG enters an error state and ceases to provide output, +until it is able to recover from the error by reseeding itself. +For more details on reseeding and error recovery, see L. For values that should remain secret, you can use L instead. From matthias.st.pierre at ncp-e.com Thu Jun 27 12:48:54 2019 From: matthias.st.pierre at ncp-e.com (matthias.st.pierre at ncp-e.com) Date: Thu, 27 Jun 2019 12:48:54 +0000 Subject: [openssl] OpenSSL_1_1_1-stable update Message-ID: <1561639734.411952.11518.nullmailer@dev.openssl.org> The branch OpenSSL_1_1_1-stable has been updated via f987a4dd8929b4552f2fa19f09fd2d4115709647 (commit) from 4fb5fdb758cb2f0e830109ada066328507708d0c (commit) - Log ----------------------------------------------------------------- commit f987a4dd8929b4552f2fa19f09fd2d4115709647 Author: Dr. Matthias St. Pierre Date: Thu Jun 27 10:12:08 2019 +0200 man: clarify the 'random number generator must be seeded' requirement The manual pages require for some API functions that the 'random number generator must be seeded' before calling the function. Initially, this was meant literally, i.e. the OpenSSL CSPRNG had to be seeded manually before calling these functions. Since version 1.1.1, the CSPRNG is seeded automatically on first use, so it's not the responsibility of the programmer anymore. Still, he needs to be aware that the seeding might fail. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9257) (cherry picked from commit 262c00882a2fd7cf16672bf467a86f75b4098a7c) ----------------------------------------------------------------------- Summary of changes: doc/man3/BN_generate_prime.pod | 12 ++++++++---- doc/man3/DES_random_key.pod | 8 +++++--- doc/man3/DSA_generate_key.pod | 4 +++- doc/man3/DSA_sign.pod | 7 +++++-- doc/man3/EVP_DigestSignInit.pod | 8 +++++--- doc/man3/EVP_DigestVerifyInit.pod | 8 +++++--- doc/man3/EVP_SealInit.pod | 7 +++++-- doc/man3/EVP_SignInit.pod | 7 ++++--- doc/man3/RSA_blinding_on.pod | 3 +-- doc/man3/RSA_generate_key.pod | 9 ++++++--- doc/man3/RSA_padding_add_PKCS1_type_1.pod | 5 ++++- doc/man3/RSA_sign_ASN1_OCTET_STRING.pod | 8 ++++++-- doc/man7/RAND.pod | 6 ++++++ 13 files changed, 63 insertions(+), 29 deletions(-) diff --git a/doc/man3/BN_generate_prime.pod b/doc/man3/BN_generate_prime.pod index b6e9145..fbccd51 100644 --- a/doc/man3/BN_generate_prime.pod +++ b/doc/man3/BN_generate_prime.pod @@ -51,7 +51,9 @@ Deprecated: =head1 DESCRIPTION BN_generate_prime_ex() generates a pseudo-random prime number of -at least bit length B. +at least bit length B. The returned number is probably prime +with a negligible error. + If B is not B, it will be used to store the number. If B is not B, it is used as follows: @@ -89,8 +91,9 @@ generator. If B is true, it will be a safe prime (i.e. a prime p so that (p-1)/2 is also prime). -The PRNG must be seeded prior to calling BN_generate_prime_ex(). -The prime number generation has a negligible error probability. +The random generator must be seeded prior to calling BN_generate_prime_ex(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. BN_is_prime_ex() and BN_is_prime_fasttest_ex() test if the number B

is prime. The following tests are performed until one of them shows that @@ -193,7 +196,8 @@ Instead applications should create a BN_GENCB structure using BN_GENCB_new: =head1 SEE ALSO L, L, -L, L, L +L, L, L, +L =head1 HISTORY diff --git a/doc/man3/DES_random_key.pod b/doc/man3/DES_random_key.pod index bd4bd97..04df6ec 100644 --- a/doc/man3/DES_random_key.pod +++ b/doc/man3/DES_random_key.pod @@ -104,9 +104,11 @@ consists of 8 bytes with odd parity. The least significant bit in each byte is the parity bit. The key schedule is an expanded form of the key; it is used to speed the encryption process. -DES_random_key() generates a random key. The PRNG must be seeded -prior to using this function (see L). If the PRNG -could not generate a secure key, 0 is returned. +DES_random_key() generates a random key. The random generator must be +seeded when calling this function. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. +If the function fails, 0 is returned. Before a DES key can be used, it must be converted into the architecture dependent I via the diff --git a/doc/man3/DSA_generate_key.pod b/doc/man3/DSA_generate_key.pod index 9ff7553..8701b95 100644 --- a/doc/man3/DSA_generate_key.pod +++ b/doc/man3/DSA_generate_key.pod @@ -15,7 +15,9 @@ DSA_generate_key - generate DSA key pair DSA_generate_key() expects B to contain DSA parameters. It generates a new key pair and stores it in Bpub_key> and Bpriv_key>. -The PRNG must be seeded prior to calling DSA_generate_key(). +The random generator must be seeded prior to calling DSA_generate_key(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. =head1 RETURN VALUES diff --git a/doc/man3/DSA_sign.pod b/doc/man3/DSA_sign.pod index 889c7a1..82d8ce9 100644 --- a/doc/man3/DSA_sign.pod +++ b/doc/man3/DSA_sign.pod @@ -36,8 +36,10 @@ B is the signer's public key. The B parameter is ignored. -The PRNG must be seeded before DSA_sign() (or DSA_sign_setup()) +The random generator must be seeded when DSA_sign() (or DSA_sign_setup()) is called. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. =head1 RETURN VALUES @@ -54,7 +56,8 @@ Standard, DSS), ANSI X9.30 =head1 SEE ALSO L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man3/EVP_DigestSignInit.pod b/doc/man3/EVP_DigestSignInit.pod index 7b74a23..4f3b03e 100644 --- a/doc/man3/EVP_DigestSignInit.pod +++ b/doc/man3/EVP_DigestSignInit.pod @@ -125,8 +125,9 @@ and public key algorithms. This meant that "clone" digests such as EVP_dss1() needed to be used to sign using SHA1 and DSA. This is no longer necessary and the use of clone digest is now discouraged. -For some key types and parameters the random number generator must be seeded -or the operation will fail. +For some key types and parameters the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The call to EVP_DigestSignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_DigestSignUpdate() and @@ -147,7 +148,8 @@ L, L, L, L, L, L, L, L, -L, L +L, L, +L =head1 HISTORY diff --git a/doc/man3/EVP_DigestVerifyInit.pod b/doc/man3/EVP_DigestVerifyInit.pod index 592a750..02d6632 100644 --- a/doc/man3/EVP_DigestVerifyInit.pod +++ b/doc/man3/EVP_DigestVerifyInit.pod @@ -76,8 +76,9 @@ and public key algorithms. This meant that "clone" digests such as EVP_dss1() needed to be used to sign using SHA1 and DSA. This is no longer necessary and the use of clone digest is now discouraged. -For some key types and parameters the random number generator must be seeded -or the operation will fail. +For some key types and parameters the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The call to EVP_DigestVerifyFinal() internally finalizes a copy of the digest context. This means that EVP_VerifyUpdate() and EVP_VerifyFinal() can @@ -93,7 +94,8 @@ L, L, L, L, L, L, L, L, -L, L +L, L, +L =head1 HISTORY diff --git a/doc/man3/EVP_SealInit.pod b/doc/man3/EVP_SealInit.pod index 29d89c3..b3333f9 100644 --- a/doc/man3/EVP_SealInit.pod +++ b/doc/man3/EVP_SealInit.pod @@ -55,7 +55,9 @@ failure. =head1 NOTES Because a random secret key is generated the random number generator -must be seeded before calling EVP_SealInit(). +must be seeded when EVP_SealInit() is called. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The public key must be RSA because it is the only OpenSSL public key algorithm that supports key transport. @@ -75,7 +77,8 @@ with B set to NULL. L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man3/EVP_SignInit.pod b/doc/man3/EVP_SignInit.pod index 86fec82..2eadcb2 100644 --- a/doc/man3/EVP_SignInit.pod +++ b/doc/man3/EVP_SignInit.pod @@ -66,9 +66,10 @@ The B interface to digital signatures should almost always be used in preference to the low level interfaces. This is because the code then becomes transparent to the algorithm used and much more flexible. -When signing with DSA private keys the random number generator must be seeded -or the operation will fail. The random number generator does not need to be -seeded for RSA signatures. +When signing with DSA private keys the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. +This requirement does not hold for RSA signatures. The call to EVP_SignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_SignUpdate() and EVP_SignFinal() can be called diff --git a/doc/man3/RSA_blinding_on.pod b/doc/man3/RSA_blinding_on.pod index 33d49d3..7e016ad 100644 --- a/doc/man3/RSA_blinding_on.pod +++ b/doc/man3/RSA_blinding_on.pod @@ -20,8 +20,7 @@ must be used to protect the RSA operation from that attack. RSA_blinding_on() turns blinding on for key B and generates a random blinding factor. B is B or a pre-allocated and -initialized B. The random number generator must be seeded -prior to calling RSA_blinding_on(). +initialized B. RSA_blinding_off() turns blinding off and frees the memory used for the blinding factor. diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod index 508caa1..fcac08e 100644 --- a/doc/man3/RSA_generate_key.pod +++ b/doc/man3/RSA_generate_key.pod @@ -27,8 +27,10 @@ be seeded prior to calling RSA_generate_key_ex(). RSA_generate_multi_prime_key() generates a multi-prime RSA key pair and stores it in the B structure provided in B. The number of primes is given by -the B parameter. The pseudo-random number generator must be seeded prior -to calling RSA_generate_multi_prime_key(). +the B parameter. The random number generator must be seeded when +calling RSA_generate_multi_prime_key(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. The modulus size will be of length B, the number of primes to form the modulus will be B, and the public exponent will be B. Key sizes @@ -88,7 +90,8 @@ B is used with two different meanings. =head1 SEE ALSO -L, L, L +L, L, L, +L =head1 HISTORY diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod index 2092600..407eec8 100644 --- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod @@ -100,6 +100,8 @@ simply copy the data The random number generator must be seeded prior to calling RSA_padding_add_xxx(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. RSA_padding_check_xxx() verifies that the B bytes at B contain a valid encoding for a B byte RSA key in the respective @@ -143,7 +145,8 @@ including PKCS1_OAEP. L, L, -L, L +L, L, +L =head1 COPYRIGHT diff --git a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod index f577e15..9f40291 100644 --- a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod +++ b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod @@ -26,7 +26,10 @@ memory. B is ignored. -The random number generator must be seeded prior to calling RSA_sign_ASN1_OCTET_STRING(). +The random number generator must be seeded when calling +RSA_sign_ASN1_OCTET_STRING(). +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L), the operation will fail. RSA_verify_ASN1_OCTET_STRING() verifies that the signature B of size B is the DER representation of a given octet string @@ -49,7 +52,8 @@ These functions serve no recognizable purpose. L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man7/RAND.pod b/doc/man7/RAND.pod index 971b3cd..bc6db30 100644 --- a/doc/man7/RAND.pod +++ b/doc/man7/RAND.pod @@ -28,6 +28,12 @@ As a normal application developer, you do not have to worry about any details, just use L to obtain random data. Having said that, there is one important rule to obey: Always check the error return value of L and do not take randomness for granted. +Although (re-)seeding is automatic, it can fail because no trusted random source +is available or the trusted source(s) temporarily fail to provide sufficient +random seed material. +In this case the CSPRNG enters an error state and ceases to provide output, +until it is able to recover from the error by reseeding itself. +For more details on reseeding and error recovery, see L. For values that should remain secret, you can use L instead. From openssl at openssl.org Thu Jun 27 13:21:44 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 27 Jun 2019 13:21:44 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561641704.461891.29726.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 29948ac80c Move 'shared_sigalgs' from cert_st to ssl_st 6f34d7bc7d Revert "Delay setting the sig algs until after the cert_cb has been called" 7cb8fb07e8 Add regression test for #9099 b113279292 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. 4b931252be Fix incorrect usage of a test case edc6235648 The params_test uses wrong size for BN check. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 227 wallclock secs ( 1.82 usr 0.33 sys + 219.92 cusr 19.34 csys = 241.41 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Thu Jun 27 13:21:10 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 13:21:10 +0000 Subject: Passed: openssl/openssl#26108 (OpenSSL_1_1_1-stable - f987a4d) In-Reply-To: Message-ID: <5d14c2c67e356_43f9a6e248f6831977f@64e21e9f-7e2e-4fe8-8186-1b4d5e1b9d1c.mail> Build Update for openssl/openssl ------------------------------------- Build: #26108 Status: Passed Duration: 16 mins and 54 secs Commit: f987a4d (OpenSSL_1_1_1-stable) Author: Dr. Matthias St. Pierre Message: man: clarify the 'random number generator must be seeded' requirement The manual pages require for some API functions that the 'random number generator must be seeded' before calling the function. Initially, this was meant literally, i.e. the OpenSSL CSPRNG had to be seeded manually before calling these functions. Since version 1.1.1, the CSPRNG is seeded automatically on first use, so it's not the responsibility of the programmer anymore. Still, he needs to be aware that the seeding might fail. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9257) (cherry picked from commit 262c00882a2fd7cf16672bf467a86f75b4098a7c) View the changeset: https://github.com/openssl/openssl/compare/4fb5fdb758cb...f987a4dd8929 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551300141?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 Jun 27 13:27:11 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 13:27:11 +0000 Subject: Still Failing: openssl/openssl#26107 (master - 262c008) In-Reply-To: Message-ID: <5d14c42f43bad_43fb7efe9c4b03011c8@98c7d885-912d-4f56-946b-8c63f7cd4607.mail> Build Update for openssl/openssl ------------------------------------- Build: #26107 Status: Still Failing Duration: 23 mins and 45 secs Commit: 262c008 (master) Author: Dr. Matthias St. Pierre Message: man: clarify the 'random number generator must be seeded' requirement The manual pages require for some API functions that the 'random number generator must be seeded' before calling the function. Initially, this was meant literally, i.e. the OpenSSL CSPRNG had to be seeded manually before calling these functions. Since version 1.1.1, the CSPRNG is seeded automatically on first use, so it's not the responsibility of the programmer anymore. Still, he needs to be aware that the seeding might fail. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/9257) View the changeset: https://github.com/openssl/openssl/compare/0588be2e01c2...262c00882a2f View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551299892?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 Jun 27 13:37:37 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 13:37:37 +0000 Subject: Failed: openssl/openssl#26109 (readme-hacking - 5d5f384) In-Reply-To: Message-ID: <5d14c6a1796d8_43fc061a9c7f02605b9@958bd922-39cc-4c38-b072-2ea790d55f1e.mail> Build Update for openssl/openssl ------------------------------------- Build: #26109 Status: Failed Duration: 18 mins and 52 secs Commit: 5d5f384 (readme-hacking) Author: Dmitry Belyavskiy Message: Adding new API HOWTO Very brief explanation how to add custom functions to OpenSSL. Inspired by Rich Salz's letter to openssl-users@ View the changeset: https://github.com/openssl/openssl/commit/5d5f38443cc7 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551301021?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 Thu Jun 27 14:10:23 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Thu, 27 Jun 2019 14:10:23 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561644623.169873.21423.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 29948ac80c Move 'shared_sigalgs' from cert_st to ssl_st 6f34d7bc7d Revert "Delay setting the sig algs until after the cert_cb has been called" 7cb8fb07e8 Add regression test for #9099 b113279292 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. 4b931252be Fix incorrect usage of a test case edc6235648 The params_test uses wrong size for BN check. Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 237 wallclock secs ( 1.76 usr 0.36 sys + 231.23 cusr 19.82 csys = 253.17 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From builds at travis-ci.org Thu Jun 27 21:40:56 2019 From: builds at travis-ci.org (Travis CI) Date: Thu, 27 Jun 2019 21:40:56 +0000 Subject: Still Failing: openssl/openssl#26121 (readme-hacking - 2e14064) In-Reply-To: Message-ID: <5d1537e87dc1_43f85028ac7b45353fb@486f4847-4ae5-4f11-a87f-71900a66d415.mail> Build Update for openssl/openssl ------------------------------------- Build: #26121 Status: Still Failing Duration: 24 mins and 48 secs Commit: 2e14064 (readme-hacking) Author: Dmitry Belyavskiy Message: fixup! doc-nits mentioning View the changeset: https://github.com/openssl/openssl/compare/5d5f38443cc7...2e1406419550 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551511801?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 Fri Jun 28 02:48:14 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 28 Jun 2019 02:48:14 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings enable-ec_nistp_64_gcc_128 Message-ID: <1561690094.498130.14630.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-ec_nistp_64_gcc_128 Commit log since last time: 262c00882a man: clarify the 'random number generator must be seeded' requirement 0588be2e01 man: fix documentation for RSA_generate_key() 743694a6c2 Move the public SIV mode functions from public headers to internal ones Build log ended with (last 100 lines): ../../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_bio_memleak.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/15-test_ec.t (Wstat: 256 Tests: 5 Failed: 1) Failed test: 2 Non-zero exit status: 1 Files=172, Tests=1643, 287 wallclock secs ( 3.00 usr 0.48 sys + 266.66 cusr 24.13 csys = 294.27 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-ec_nistp_64_gcc_128' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Fri Jun 28 07:12:10 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 28 Jun 2019 07:12:10 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d enable-fuzz-afl no-shared Message-ID: <1561705930.088430.924.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=afl-clang-fast ../openssl/config -d enable-fuzz-afl no-shared Commit log since last time: 262c00882a man: clarify the 'random number generator must be seeded' requirement 0588be2e01 man: fix documentation for RSA_generate_key() 743694a6c2 Move the public SIV mode functions from public headers to internal ones Build log ended with (last 100 lines): /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:251: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:253: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:256: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `shake_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:276: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_128_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:277: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_newctx': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `keccak_kmac_256_block_size': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:278: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_absorb': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:103: undefined reference to `__afl_area_ptr' providers/common/digests/fips-dso-sha3_prov.o: In function `generic_sha3_final': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/common/digests/sha3_prov.c:110: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `OSSL_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:216: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:220: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:213: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:224: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:230: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:233: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:236: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:283: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:288: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `OSSL_get_core_get_library_context': /home/openssl/run-checker/enable-fuzz-afl/../openssl/include/openssl/core_numbers.h:70: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_intern_provider_init': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:300: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:303: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:312: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `ERR_put_error': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:316: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_data': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:329: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `ERR_add_error_vdata': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:337: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `FIPS_get_provider': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:342: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:350: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:351: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_new': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:45: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_prov_ossl_ctx_free': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:52: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_param_types': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:125: undefined reference to `__afl_area_ptr' providers/fips/fips-dso-fipsprov.o: In function `fips_get_params': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:130: undefined reference to `__afl_area_ptr' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:135: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:137: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:138: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:140: undefined reference to `__afl_prev_loc' /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:141: undefined reference to `__afl_prev_loc' providers/fips/fips-dso-fipsprov.o:/home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:144: more undefined references to `__afl_prev_loc' follow providers/fips/fips-dso-fipsprov.o: In function `fips_query': /home/openssl/run-checker/enable-fuzz-afl/../openssl/providers/fips/fipsprov.c:178: undefined reference to `__afl_area_ptr' clang: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:7073: recipe for target 'providers/fips.so' failed make[1]: *** [providers/fips.so] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/enable-fuzz-afl' Makefile:165: recipe for target 'all' failed make: *** [all] Error 2 From matt at openssl.org Fri Jun 28 09:07:43 2019 From: matt at openssl.org (Matt Caswell) Date: Fri, 28 Jun 2019 09:07:43 +0000 Subject: [openssl] master update Message-ID: <1561712863.477087.28002.nullmailer@dev.openssl.org> The branch master has been updated via 0da1d43a94ffc8f2aaadcaa441f556ed54f0ecda (commit) via 70c35fd1f6467da5563c6cab3ea373e6359cf080 (commit) via 42738cdeaa1103c0bd1e7500cf64ac62a015b3a2 (commit) from 262c00882a2fd7cf16672bf467a86f75b4098a7c (commit) - Log ----------------------------------------------------------------- commit 0da1d43a94ffc8f2aaadcaa441f556ed54f0ecda Author: Matt Caswell Date: Mon Jun 24 17:47:04 2019 +0100 Document EVP_CIPHER_up_ref() Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9233) commit 70c35fd1f6467da5563c6cab3ea373e6359cf080 Author: Matt Caswell Date: Mon Jun 24 17:38:01 2019 +0100 Rename EVP_MD_upref/EVP_CIPHER_upref to EVP_MD_up_ref/EVP_CIPHER_up_ref All the other upref functions are spelled as "up_ref". These new functions should be consistent. Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9233) commit 42738cdeaa1103c0bd1e7500cf64ac62a015b3a2 Author: Matt Caswell Date: Mon Jun 24 17:34:14 2019 +0100 Add documentation for EVP_CIPHER_fetch We extend the EVP_MD_fetch documentation to be more generic and to also cover EVP_CIPHER_fetch. We expect this to be further expanded with other "fetch" functions in the future. Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9233) ----------------------------------------------------------------------- Summary of changes: crypto/evp/cmeth_lib.c | 2 +- crypto/evp/digest.c | 8 +-- crypto/evp/evp_enc.c | 8 +-- crypto/evp/evp_lib.c | 2 +- doc/man3/EVP_CIPHER_meth_new.pod | 9 ++- doc/man3/EVP_MD_fetch.pod | 128 ++++++++++++++++++++++++++++----------- doc/man3/EVP_MD_meth_new.pod | 10 +-- include/openssl/evp.h | 4 +- test/evp_extra_test.c | 4 +- util/libcrypto.num | 4 +- util/missingcrypto.txt | 2 - 11 files changed, 123 insertions(+), 58 deletions(-) diff --git a/crypto/evp/cmeth_lib.c b/crypto/evp/cmeth_lib.c index 0520157..40aca34 100644 --- a/crypto/evp/cmeth_lib.c +++ b/crypto/evp/cmeth_lib.c @@ -60,7 +60,7 @@ void EVP_CIPHER_meth_free(EVP_CIPHER *cipher) } } -int EVP_CIPHER_upref(EVP_CIPHER *cipher) +int EVP_CIPHER_up_ref(EVP_CIPHER *cipher) { int ref = 0; diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 9f19744..f26caed 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -422,7 +422,7 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in) out->provctx = NULL; if (in->fetched_digest != NULL) - EVP_MD_upref(in->fetched_digest); + EVP_MD_up_ref(in->fetched_digest); out->provctx = in->digest->dupctx(in->provctx); if (out->provctx == NULL) { @@ -665,9 +665,9 @@ static void *evp_md_from_dispatch(const OSSL_DISPATCH *fns, return md; } -static int evp_md_upref(void *md) +static int evp_md_up_ref(void *md) { - return EVP_MD_upref(md); + return EVP_MD_up_ref(md); } static void evp_md_free(void *md) @@ -680,7 +680,7 @@ EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm, { EVP_MD *md = evp_generic_fetch(ctx, OSSL_OP_DIGEST, algorithm, properties, - evp_md_from_dispatch, evp_md_upref, + evp_md_from_dispatch, evp_md_up_ref, evp_md_free); #ifndef FIPS_MODE diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 02f0e00..e7bebdc 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -1016,7 +1016,7 @@ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in) *out = *in; out->provctx = NULL; - if (in->fetched_cipher != NULL && !EVP_CIPHER_upref(in->fetched_cipher)) { + if (in->fetched_cipher != NULL && !EVP_CIPHER_up_ref(in->fetched_cipher)) { out->fetched_cipher = NULL; return 0; } @@ -1179,9 +1179,9 @@ static void *evp_cipher_from_dispatch(const OSSL_DISPATCH *fns, return cipher; } -static int evp_cipher_upref(void *cipher) +static int evp_cipher_up_ref(void *cipher) { - return EVP_CIPHER_upref(cipher); + return EVP_CIPHER_up_ref(cipher); } static void evp_cipher_free(void *cipher) @@ -1194,7 +1194,7 @@ EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm, { EVP_CIPHER *cipher = evp_generic_fetch(ctx, OSSL_OP_CIPHER, algorithm, properties, - evp_cipher_from_dispatch, evp_cipher_upref, + evp_cipher_from_dispatch, evp_cipher_up_ref, evp_cipher_free); #ifndef FIPS_MODE diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c index faaa69d..8ed39cb 100644 --- a/crypto/evp/evp_lib.c +++ b/crypto/evp/evp_lib.c @@ -469,7 +469,7 @@ EVP_MD *EVP_MD_meth_dup(const EVP_MD *md) return to; } -int EVP_MD_upref(EVP_MD *md) +int EVP_MD_up_ref(EVP_MD *md) { int ref = 0; diff --git a/doc/man3/EVP_CIPHER_meth_new.pod b/doc/man3/EVP_CIPHER_meth_new.pod index c813838..3d4da9c 100644 --- a/doc/man3/EVP_CIPHER_meth_new.pod +++ b/doc/man3/EVP_CIPHER_meth_new.pod @@ -10,7 +10,8 @@ EVP_CIPHER_meth_set_set_asn1_params, EVP_CIPHER_meth_set_get_asn1_params, EVP_CIPHER_meth_set_ctrl, EVP_CIPHER_meth_get_init, EVP_CIPHER_meth_get_do_cipher, EVP_CIPHER_meth_get_cleanup, EVP_CIPHER_meth_get_set_asn1_params, EVP_CIPHER_meth_get_get_asn1_params, -EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods +EVP_CIPHER_meth_get_ctrl, EVP_CIPHER_up_ref +- Routines to build up EVP_CIPHER methods =head1 SYNOPSIS @@ -62,6 +63,8 @@ EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods int type, int arg, void *ptr); + int EVP_CIPHER_up_ref(EVP_CIPHER *cipher); + =head1 DESCRIPTION The B type is a structure for symmetric cipher method @@ -223,6 +226,8 @@ EVP_CIPHER_meth_get_get_asn1_params() and EVP_CIPHER_meth_get_ctrl() are all used to retrieve the method data given with the EVP_CIPHER_meth_set_*() functions above. +EVP_CIPHER_up_ref() increments the reference count for an EVP_CIPHER structure. + =head1 RETURN VALUES EVP_CIPHER_meth_new() and EVP_CIPHER_meth_dup() return a pointer to a @@ -231,6 +236,8 @@ All EVP_CIPHER_meth_set_*() functions return 1. All EVP_CIPHER_meth_get_*() functions return pointers to their respective B function. +EVP_CIPHER_up_ref() returns 1 for success or 0 otherwise. + =head1 SEE ALSO L diff --git a/doc/man3/EVP_MD_fetch.pod b/doc/man3/EVP_MD_fetch.pod index cba3bc4..f229292 100644 --- a/doc/man3/EVP_MD_fetch.pod +++ b/doc/man3/EVP_MD_fetch.pod @@ -2,7 +2,7 @@ =head1 NAME -EVP_MD_fetch +EVP_MD_fetch, EVP_CIPHER_fetch - Functions to explicitly fetch algorithm implementations =head1 SYNOPSIS @@ -11,60 +11,106 @@ EVP_MD_fetch EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm, const char *properties); + EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm, + const char *properties); =head1 DESCRIPTION -The B object is used for representing a digest method implementation. +Cryptographic algorithms are represented by different OpenSSL objects depending +on what type of algorithm it is. The following cryptographic algorithm types are +supported. -Having obtained a digest implementation as an B type it can be used to -calculate the digest of input data using functions such as -L, L and L. +=over 4 + +=item B + +Represents a digest algorithm. + +=item B + +Represents a symmetric cipher algorithm. + +=item B + +Represents a Message Authentication Code algorithm. + +=item B + +Represents a Key Derivation Function algorithm. + +=back -Digest implementations may be obtained in one of three ways, i.e. implicit -fetch, explicit fetch or user defined. +The algorithm objects may or may not have an associated algorithm +implementation. +Cryptographic algorithms are implemented by providers. +Any algorithm may be supported by zero or more providers. +In order to use an algorithm an implementation must first be obtained. +This can happen in one of three ways, i.e. implicit fetch, explicit fetch or +user defined. =over 4 =item Implicit Fetch With implicit fetch an application can use functions such as L, -L or L to obtain an B object. When -used in a function like L the actual implementation to -be used will be fetched implicitly using default search criteria. Typically, -(unless the default search criteria have been changed and/or different providers -have been loaded), this will return an implementation of the appropriate -algorithm from the default provider. +L or L to obtain an algorithm object with +no associated implementation. +When used in a function like L or L +the actual implementation to be used will be fetched implicitly using default +search criteria. +Typically, this will return an implementation of the appropriate algorithm from +the default provider unless the default search criteria have been changed and/or +different providers have been loaded. =item Explicit Fetch -With explicit fetch an application uses the EVP_MD_fetch() function to obtain -an algorithm implementation. An implementation with the given name and -satisfying the search criteria specified in the B parameter -combined with the default search criteria will be looked for within the -available providers and returned. +With explicit fetch an application uses one of the "fetch" functions to obtain +an algorithm object with an associated implementation. +An implementation with the given name that satisfies the search criteria +specified in the B parameter combined with the default search +criteria will be looked for within the available providers and returned. See L for information on default search criteria and L for information about providers. =item User defined -Using the user defined approach an application constructs its own EVP_MD object. -See L for details. +Using the user defined approach an application constructs its own algorithm +object. +See L and L for details. =back -The EVP_MD_fetch() function will look for an algorithm within the providers that -have been loaded into the B given in the B parameter. This -parameter may be NULL in which case the default B will be used. See -L and L for further details. +Having obtained an algorithm implementation as an algorithm object it can then +be used to perform cryptographic operations. +For example to calculate the digest of input data with an B algorithm +object you can use functions such as L, +L and L. + +The fetch functions will look for an algorithm within the providers that +have been loaded into the B given in the B parameter. +This parameter may be NULL in which case the default B will be +used. +See L and L for further details. The B parameter gives the name of the algorithm to be looked up. -Different algorithms can be made available by loading different providers. The -built-in default provider algorithm implementation names are: SHA1, SHA224, -SHA256, SHA384, SHA512, SHA512-224, SHA512-256,SHA3-224, SHA3-256, SHA3-384, -SHA3-512, SHAKE128, SHAKE256, SM3, BLAKE2b512, BLAKE2s256 and MD5-SHA1. +Different algorithms can be made available by loading different providers. + +The built-in default provider digest algorithm implementation names are: SHA1, +SHA224, SHA256, SHA384, SHA512, SHA512-224, SHA512-256, SHA3-224, SHA3-256, +SHA3-384, SHA3-512, SHAKE128, SHAKE256, SM3, BLAKE2b512, BLAKE2s256 and +MD5-SHA1. + +The built-in default provider cipher algorithm implementation names are: +AES-256-ECB, AES-192-ECB, AES-128-ECB, AES-256-CBC, AES-192-CBC, AES-128-CBC, +AES-256-OFB, AES-192-OFB, AES-128-OFB, AES-256-CFB, AES-192-CFB, AES-128-CFB, +AES-256-CFB1, AES-192-CFB1, AES-128-CFB1, AES-256-CFB8, AES-192-CFB8, +AES-128-CFB8, AES-256-CTR, AES-192-CTR, AES-128-CTR, id-aes256-GCM, +id-aes192-GCM and id-aes128-GCM. Additional algorithm implementations may be obtained by loading the "legacy" -provider. The names of these algorithms are: RIPEMD160, MD2, MD4, MD5, MDC2 and +provider. + +The legacy provider digest algorithms are: RIPEMD160, MD2, MD4, MD5, MDC2 and whirlpool. The B parameter specifies the search criteria that will be used to @@ -82,8 +128,13 @@ NULL in which case any implementation from the available providers with the given algorithm name will be returned. The return value from a call to EVP_MD_fetch() must be freed by the caller using -L. Note that EVP_MD objects are reference counted. See -L. +L. +Note that EVP_MD objects are reference counted. See L. + +The return value from a call to EVP_CIPHER_fetch() must be freed by the caller +using L. +Note that EVP_CIPHER objects are reference counted. +See L. =head1 NOTES @@ -107,6 +158,14 @@ an EVP_MD object, or NULL on error. Fetch any available implementation of SHA256 in the default context: EVP_MD *md = EVP_MD_fetch(NULL, "SHA256", NULL); + ... + EVP_MD_meth_free(md); + +Fetch any available implementation of AES-128-CBC in the default context: + + EVP_CIPHER *cipher = EVP_CIPHER_fetch(NULL, "AES-128-CBC", NULL); + ... + EVP_CIPHER_meth_free(cipher); Fetch an implementation of SHA256 from the default provider in the default context: @@ -157,9 +216,10 @@ other providers: =head1 SEE ALSO -L, L, L, -L, L, L, -L +L, L, L, +L, L, L, +L, L, L, +L, L =head1 HISTORY diff --git a/doc/man3/EVP_MD_meth_new.pod b/doc/man3/EVP_MD_meth_new.pod index 6269a05..5e35539 100644 --- a/doc/man3/EVP_MD_meth_new.pod +++ b/doc/man3/EVP_MD_meth_new.pod @@ -11,7 +11,7 @@ EVP_MD_meth_set_ctrl, EVP_MD_meth_get_input_blocksize, EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize, EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update, EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup, -EVP_MD_meth_get_ctrl, EVP_MD_upref +EVP_MD_meth_get_ctrl, EVP_MD_up_ref - Routines to build up EVP_MD methods =head1 SYNOPSIS @@ -54,7 +54,7 @@ EVP_MD_meth_get_ctrl, EVP_MD_upref int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); - int EVP_MD_upref(EVP_MD *md); + int EVP_MD_up_ref(EVP_MD *md); =head1 DESCRIPTION @@ -162,7 +162,7 @@ EVP_MD_meth_get_cleanup() and EVP_MD_meth_get_ctrl() are all used to retrieve the method data given with the EVP_MD_meth_set_*() functions above. -EVP_MD_upref() increments the reference count for an EVP_MD structure. +EVP_MD_up_ref() increments the reference count for an EVP_MD structure. =head1 RETURN VALUES @@ -175,7 +175,7 @@ indicated sizes or flags. All other EVP_CIPHER_meth_get_*() functions return pointers to their respective B function. -EVP_MD_upref() returns 1 for success or 0 otherwise. +EVP_MD_up_ref() returns 1 for success or 0 otherwise. =head1 SEE ALSO @@ -184,7 +184,7 @@ L, L, L =head1 HISTORY The B structure was openly available in OpenSSL before version -1.1. EVP_MD_upref() was added in OpenSSL 3.0. All other functions described +1.1. EVP_MD_up_ref() was added in OpenSSL 3.0. All other functions described here were added in OpenSSL 1.1. =head1 COPYRIGHT diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 8195d11..2fb5fe2 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -80,7 +80,7 @@ int EVP_set_default_properties(OPENSSL_CTX *libctx, const char *propq); # ifndef EVP_MD EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type); EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); -int EVP_MD_upref(EVP_MD *md); +int EVP_MD_up_ref(EVP_MD *md); void EVP_MD_meth_free(EVP_MD *md); int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize); @@ -191,7 +191,7 @@ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); void EVP_CIPHER_meth_free(EVP_CIPHER *cipher); -int EVP_CIPHER_upref(EVP_CIPHER *cipher); +int EVP_CIPHER_up_ref(EVP_CIPHER *cipher); int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len); int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags); diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 48376a7..27ce98a 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -1150,8 +1150,8 @@ static int test_EVP_MD_fetch(int tst) || !TEST_int_eq(EVP_MD_block_size(md), SHA256_CBLOCK)) goto err; - /* Also test EVP_MD_upref() while we're doing this */ - if (!TEST_true(EVP_MD_upref(md))) + /* Also test EVP_MD_up_ref() while we're doing this */ + if (!TEST_true(EVP_MD_up_ref(md))) goto err; /* Ref count should now be 2. Release both */ EVP_MD_meth_free(md); diff --git a/util/libcrypto.num b/util/libcrypto.num index 40e80ff..69a1d50 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4783,12 +4783,12 @@ OSSL_PARAM_set_octet_ptr 4730 3_0_0 EXIST::FUNCTION: X509_set0_sm2_id 4731 3_0_0 EXIST::FUNCTION:SM2 X509_get0_sm2_id 4732 3_0_0 EXIST::FUNCTION:SM2 EVP_PKEY_get0_engine 4733 3_0_0 EXIST::FUNCTION:ENGINE -EVP_MD_upref 4734 3_0_0 EXIST::FUNCTION: +EVP_MD_up_ref 4734 3_0_0 EXIST::FUNCTION: EVP_MD_fetch 4735 3_0_0 EXIST::FUNCTION: EVP_set_default_properties 4736 3_0_0 EXIST::FUNCTION: OSSL_PARAM_construct_end 4737 3_0_0 EXIST::FUNCTION: EC_GROUP_check_named_curve 4738 3_0_0 EXIST::FUNCTION:EC -EVP_CIPHER_upref 4739 3_0_0 EXIST::FUNCTION: +EVP_CIPHER_up_ref 4739 3_0_0 EXIST::FUNCTION: EVP_CIPHER_fetch 4740 3_0_0 EXIST::FUNCTION: EVP_CIPHER_mode 4741 3_0_0 EXIST::FUNCTION: OPENSSL_info 4742 3_0_0 EXIST::FUNCTION: diff --git a/util/missingcrypto.txt b/util/missingcrypto.txt index 0dc4379..a7cc467 100644 --- a/util/missingcrypto.txt +++ b/util/missingcrypto.txt @@ -496,11 +496,9 @@ EVP_CIPHER_CTX_set_num EVP_CIPHER_CTX_test_flags EVP_CIPHER_do_all EVP_CIPHER_do_all_sorted -EVP_CIPHER_fetch EVP_CIPHER_get_asn1_iv EVP_CIPHER_impl_ctx_size EVP_CIPHER_set_asn1_iv -EVP_CIPHER_upref EVP_Cipher EVP_MAC_do_all EVP_MAC_do_all_sorted From matt at openssl.org Fri Jun 28 09:28:03 2019 From: matt at openssl.org (Matt Caswell) Date: Fri, 28 Jun 2019 09:28:03 +0000 Subject: [openssl] master update Message-ID: <1561714083.005108.22940.nullmailer@dev.openssl.org> The branch master has been updated via 53a11c6da09988efba93eccfdd10bf7edf1d53b2 (commit) via 671aaecd365644d6981c9542d48a1c32666da18d (commit) via 4cecf7a127fbe18316140963acf8787139f90f8d (commit) via 45c54042d02362f083143c09513e57317f983244 (commit) via f2d20f0bb8b79f37f785ca9eff5252188991dd8d (commit) via 57ca171a131e6d55b4c4f6decefedeaa509db702 (commit) from 0da1d43a94ffc8f2aaadcaa441f556ed54f0ecda (commit) - Log ----------------------------------------------------------------- commit 53a11c6da09988efba93eccfdd10bf7edf1d53b2 Author: Matt Caswell Date: Thu Jun 20 13:17:22 2019 +0100 Change the DRBG HMAC implementation to lookup allowed digest names As per the previous commit we make the same change for DRBG HMAC and more closely align the FIPS_MODE and non FIPS_MODE implementations. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) commit 671aaecd365644d6981c9542d48a1c32666da18d Author: Matt Caswell Date: Thu Jun 20 11:51:08 2019 +0100 Change the DRBG HASH implementation to lookup all allowed algorithm names We use the new function ossl_prov_util_nid_to_name() to look up the algorithm and unify the FIPS_MODE and non-FIPS_MODE handling. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) commit 4cecf7a127fbe18316140963acf8787139f90f8d Author: Matt Caswell Date: Thu Jun 20 11:48:50 2019 +0100 Add a nid 2 algorithm name mapping capability Providers that link against libcrypto can just use OBJ_nid2sn() to look up the name of an algorithm given a NID. However that doesn't work for the FIPS provider because OBJ_nid2sn() is not available there (due to the reliance of the code on ASN.1 types). Therefore we provider a new function to do this mapping. For providers linking against libcrypto the new function just wraps OBJ_nid2sn(). For the FIPS provider it has a look up for all the NIDs known there. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) commit 45c54042d02362f083143c09513e57317f983244 Author: Matt Caswell Date: Tue May 28 11:26:17 2019 +0100 Call RAND_DRBG_bytes from inside the FIPS provider Insert a dummy call to RAND_DRBG_bytes from inside the FIPS provider to demonstrate that it is possible to use the RAND code from inside the module. This is temporary and will be removed once real uses of the RAND code are available inside the module. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) commit f2d20f0bb8b79f37f785ca9eff5252188991dd8d Author: Matt Caswell Date: Tue May 28 11:28:16 2019 +0100 Fix NULL pointer dereference in the ex_data code In some circumstances the global data held in the "global" variable can be NULL, so we should error out in the circumstance instead of crashing. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) commit 57ca171a131e6d55b4c4f6decefedeaa509db702 Author: Matt Caswell Date: Thu May 23 14:35:42 2019 +0100 Make the RAND code available from inside the FIPS module Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) ----------------------------------------------------------------------- Summary of changes: crypto/ex_data.c | 2 +- crypto/hmac/build.info | 7 ++- crypto/hmac/hm_meth.c | 10 ++++ crypto/rand/build.info | 10 ++-- crypto/rand/drbg_ctr.c | 13 ++++- crypto/rand/drbg_hash.c | 44 +++++++++++++-- crypto/rand/drbg_hmac.c | 40 ++++++++++++-- crypto/rand/drbg_lib.c | 6 +- crypto/rand/rand_crng_test.c | 28 ++++++---- crypto/rand/rand_lcl.h | 16 +++--- crypto/rand/rand_unix.c | 2 +- crypto/rand/rand_win.c | 2 +- doc/internal/man3/ossl_prov_util_nid_to_name.pod | 35 ++++++++++++ providers/common/build.info | 2 +- providers/common/include/internal/providercommon.h | 4 ++ .../openssl/cmperr.h => providers/common/provlib.c | 27 +++------ providers/fips/fipsprov.c | 64 +++++++++++++++++++++- test/build.info | 4 +- test/drbgtest.c | 4 +- 19 files changed, 253 insertions(+), 67 deletions(-) create mode 100644 doc/internal/man3/ossl_prov_util_nid_to_name.pod copy include/openssl/cmperr.h => providers/common/provlib.c (54%) diff --git a/crypto/ex_data.c b/crypto/ex_data.c index 055420a..d7d0d5a 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -36,7 +36,7 @@ static EX_CALLBACKS *get_and_lock(OPENSSL_CTX *ctx, int class_index) } global = openssl_ctx_get_ex_data_global(ctx); - if (global->ex_data_lock == NULL) { + if (global == NULL || global->ex_data_lock == NULL) { /* * This can happen in normal operation when using CRYPTO_mem_leaks(). * The CRYPTO_mem_leaks() function calls OPENSSL_cleanup() which cleans diff --git a/crypto/hmac/build.info b/crypto/hmac/build.info index f63524d..b1c1461 100644 --- a/crypto/hmac/build.info +++ b/crypto/hmac/build.info @@ -1,3 +1,6 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - hmac.c hm_ameth.c hm_meth.c + +$COMMON=hmac.c hm_meth.c + +SOURCE[../../libcrypto]=$COMMON hm_ameth.c +SOURCE[../../providers/fips]=$COMMON diff --git a/crypto/hmac/hm_meth.c b/crypto/hmac/hm_meth.c index db9af95..19278ef 100644 --- a/crypto/hmac/hm_meth.c +++ b/crypto/hmac/hm_meth.c @@ -152,6 +152,15 @@ static int hmac_ctrl_str(EVP_MAC_IMPL *hctx, const char *type, { if (!value) return 0; +#ifndef FIPS_MODE + /* + * We don't have EVP_get_digestbyname() in FIPS_MODE. That function returns + * an EVP_MD without an associated provider implementation (i.e. it is + * using "implicit fetch"). We could replace it with an "explicit" fetch + * using EVP_MD_fetch(), but we'd then be required to free the returned + * EVP_MD somewhere. Probably the complexity isn't worth it as we are + * unlikely to need this ctrl in FIPS_MODE anyway. + */ if (strcmp(type, "digest") == 0) { const EVP_MD *d = EVP_get_digestbyname(value); @@ -159,6 +168,7 @@ static int hmac_ctrl_str(EVP_MAC_IMPL *hctx, const char *type, return 0; return hmac_ctrl_int(hctx, EVP_MAC_CTRL_SET_MD, d); } +#endif if (strcmp(type, "key") == 0) return EVP_str2ctrl(hmac_ctrl_str_cb, hctx, EVP_MAC_CTRL_SET_KEY, value); diff --git a/crypto/rand/build.info b/crypto/rand/build.info index 70d2580..3e0a9c7 100644 --- a/crypto/rand/build.info +++ b/crypto/rand/build.info @@ -1,5 +1,7 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - randfile.c rand_lib.c rand_err.c rand_crng_test.c rand_egd.c \ - rand_win.c rand_unix.c rand_vms.c drbg_lib.c drbg_ctr.c rand_vxworks.c \ - drbg_hash.c drbg_hmac.c + +$COMMON=rand_lib.c rand_crng_test.c rand_win.c rand_unix.c rand_vms.c \ + drbg_lib.c drbg_ctr.c rand_vxworks.c drbg_hash.c drbg_hmac.c + +SOURCE[../../libcrypto]=$COMMON randfile.c rand_err.c rand_egd.c +SOURCE[../../providers/fips]=$COMMON diff --git a/crypto/rand/drbg_ctr.c b/crypto/rand/drbg_ctr.c index 4c11e65..23e504b 100644 --- a/crypto/rand/drbg_ctr.c +++ b/crypto/rand/drbg_ctr.c @@ -354,6 +354,7 @@ static int drbg_ctr_uninstantiate(RAND_DRBG *drbg) { EVP_CIPHER_CTX_free(drbg->data.ctr.ctx); EVP_CIPHER_CTX_free(drbg->data.ctr.ctx_df); + EVP_CIPHER_meth_free(drbg->data.ctr.cipher); OPENSSL_cleanse(&drbg->data.ctr, sizeof(drbg->data.ctr)); return 1; } @@ -369,6 +370,7 @@ int drbg_ctr_init(RAND_DRBG *drbg) { RAND_DRBG_CTR *ctr = &drbg->data.ctr; size_t keylen; + EVP_CIPHER *cipher = NULL; switch (drbg->type) { default: @@ -376,17 +378,22 @@ int drbg_ctr_init(RAND_DRBG *drbg) return 0; case NID_aes_128_ctr: keylen = 16; - ctr->cipher = EVP_aes_128_ecb(); + cipher = EVP_CIPHER_fetch(drbg->libctx, "AES-128-ECB", ""); break; case NID_aes_192_ctr: keylen = 24; - ctr->cipher = EVP_aes_192_ecb(); + cipher = EVP_CIPHER_fetch(drbg->libctx, "AES-192-ECB", ""); break; case NID_aes_256_ctr: keylen = 32; - ctr->cipher = EVP_aes_256_ecb(); + cipher = EVP_CIPHER_fetch(drbg->libctx, "AES-256-ECB", ""); break; } + if (cipher == NULL) + return 0; + + EVP_CIPHER_meth_free(ctr->cipher); + ctr->cipher = cipher; drbg->meth = &drbg_ctr_meth; diff --git a/crypto/rand/drbg_hash.c b/crypto/rand/drbg_hash.c index 0943180..bb6f36c 100644 --- a/crypto/rand/drbg_hash.c +++ b/crypto/rand/drbg_hash.c @@ -14,6 +14,7 @@ #include #include #include "internal/thread_once.h" +#include "internal/providercommon.h" #include "rand_lcl.h" /* 440 bits from SP800-90Ar1 10.1 table 2 */ @@ -289,6 +290,7 @@ static int drbg_hash_generate(RAND_DRBG *drbg, static int drbg_hash_uninstantiate(RAND_DRBG *drbg) { + EVP_MD_meth_free(drbg->data.hash.md); EVP_MD_CTX_free(drbg->data.hash.ctx); OPENSSL_cleanse(&drbg->data.hash, sizeof(drbg->data.hash)); return 1; @@ -303,23 +305,55 @@ static RAND_DRBG_METHOD drbg_hash_meth = { int drbg_hash_init(RAND_DRBG *drbg) { - const EVP_MD *md; + EVP_MD *md; RAND_DRBG_HASH *hash = &drbg->data.hash; - /* Any approved digest is allowed */ - md = EVP_get_digestbynid(drbg->type); + /* + * Confirm digest is allowed. Outside FIPS_MODE we allow all non-legacy + * digests. Inside FIPS_MODE we only allow approved digests. Also no XOF + * digests (such as SHAKE). + */ + switch (drbg->type) { + default: + return 0; + + case NID_sha1: + case NID_sha224: + case NID_sha256: + case NID_sha384: + case NID_sha512: + case NID_sha512_224: + case NID_sha512_256: + case NID_sha3_224: + case NID_sha3_256: + case NID_sha3_384: + case NID_sha3_512: +#ifndef FIPS_MODE + case NID_blake2b512: + case NID_blake2s256: + case NID_sm3: +#endif + break; + } + + md = EVP_MD_fetch(drbg->libctx, ossl_prov_util_nid_to_name(drbg->type), ""); if (md == NULL) return 0; + drbg->meth = &drbg_hash_meth; - hash->md = md; if (hash->ctx == NULL) { hash->ctx = EVP_MD_CTX_new(); - if (hash->ctx == NULL) + if (hash->ctx == NULL) { + EVP_MD_meth_free(md); return 0; + } } + EVP_MD_meth_free(hash->md); + hash->md = md; + /* These are taken from SP 800-90 10.1 Table 2 */ hash->blocklen = EVP_MD_size(md); /* See SP800-57 Part1 Rev4 5.6.1 Table 3 */ diff --git a/crypto/rand/drbg_hmac.c b/crypto/rand/drbg_hmac.c index cb70bcb..baafc59 100644 --- a/crypto/rand/drbg_hmac.c +++ b/crypto/rand/drbg_hmac.c @@ -13,6 +13,7 @@ #include #include #include "internal/thread_once.h" +#include "internal/providercommon.h" #include "rand_lcl.h" /* @@ -183,6 +184,7 @@ static int drbg_hmac_generate(RAND_DRBG *drbg, static int drbg_hmac_uninstantiate(RAND_DRBG *drbg) { + EVP_MD_meth_free(drbg->data.hmac.md); HMAC_CTX_free(drbg->data.hmac.ctx); OPENSSL_cleanse(&drbg->data.hmac, sizeof(drbg->data.hmac)); return 1; @@ -197,11 +199,38 @@ static RAND_DRBG_METHOD drbg_hmac_meth = { int drbg_hmac_init(RAND_DRBG *drbg) { - const EVP_MD *md = NULL; + EVP_MD *md = NULL; RAND_DRBG_HMAC *hmac = &drbg->data.hmac; - /* Any approved digest is allowed - assume we pass digest (not NID_hmac*) */ - md = EVP_get_digestbynid(drbg->type); + /* + * Confirm digest is allowed. Outside FIPS_MODE we allow all non-legacy + * digests. Inside FIPS_MODE we only allow approved digests. Also no XOF + * digests (such as SHAKE). + */ + switch (drbg->type) { + default: + return 0; + + case NID_sha1: + case NID_sha224: + case NID_sha256: + case NID_sha384: + case NID_sha512: + case NID_sha512_224: + case NID_sha512_256: + case NID_sha3_224: + case NID_sha3_256: + case NID_sha3_384: + case NID_sha3_512: +#ifndef FIPS_MODE + case NID_blake2b512: + case NID_blake2s256: + case NID_sm3: +#endif + break; + } + + md = EVP_MD_fetch(drbg->libctx, ossl_prov_util_nid_to_name(drbg->type), ""); if (md == NULL) return 0; @@ -209,11 +238,14 @@ int drbg_hmac_init(RAND_DRBG *drbg) if (hmac->ctx == NULL) { hmac->ctx = HMAC_CTX_new(); - if (hmac->ctx == NULL) + if (hmac->ctx == NULL) { + EVP_MD_meth_free(md); return 0; + } } /* These are taken from SP 800-90 10.1 Table 2 */ + EVP_MD_meth_free(hmac->md); hmac->md = md; hmac->blocklen = EVP_MD_size(md); /* See SP800-57 Part1 Rev4 5.6.1 Table 3 */ diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 33bc81c..812a52f 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -1339,7 +1339,8 @@ RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->public_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(NULL, NULL, drbg_delete_thread_state)) + ctx = openssl_ctx_get_concrete(ctx); + if (!ossl_init_thread_start(NULL, ctx, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PUBLIC); CRYPTO_THREAD_set_local(&dgbl->public_drbg, drbg); @@ -1366,7 +1367,8 @@ RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx) drbg = CRYPTO_THREAD_get_local(&dgbl->private_drbg); if (drbg == NULL) { - if (!ossl_init_thread_start(NULL, NULL, drbg_delete_thread_state)) + ctx = openssl_ctx_get_concrete(ctx); + if (!ossl_init_thread_start(NULL, ctx, drbg_delete_thread_state)) return NULL; drbg = drbg_setup(ctx, dgbl->master_drbg, RAND_DRBG_TYPE_PRIVATE); CRYPTO_THREAD_set_local(&dgbl->private_drbg, drbg); diff --git a/crypto/rand/rand_crng_test.c b/crypto/rand/rand_crng_test.c index 11d85f3..44e077e 100644 --- a/crypto/rand/rand_crng_test.c +++ b/crypto/rand/rand_crng_test.c @@ -24,8 +24,8 @@ typedef struct crng_test_global_st { RAND_POOL *crngt_pool; } CRNG_TEST_GLOBAL; -int (*crngt_get_entropy)(OPENSSL_CTX *, unsigned char *, unsigned char *, - unsigned int *) +int (*crngt_get_entropy)(OPENSSL_CTX *, RAND_POOL *, unsigned char *, + unsigned char *, unsigned int *) = &rand_crngt_get_entropy_cb; static void rand_crng_ossl_ctx_free(void *vcrngt_glob) @@ -49,7 +49,8 @@ static void *rand_crng_ossl_ctx_new(OPENSSL_CTX *ctx) OPENSSL_free(crngt_glob); return NULL; } - if (crngt_get_entropy(ctx, buf, crngt_glob->crngt_prev, NULL)) { + if (crngt_get_entropy(ctx, crngt_glob->crngt_pool, buf, + crngt_glob->crngt_prev, NULL)) { OPENSSL_cleanse(buf, sizeof(buf)); return crngt_glob; } @@ -64,6 +65,7 @@ static const OPENSSL_CTX_METHOD rand_crng_ossl_ctx_method = { }; int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, + RAND_POOL *pool, unsigned char *buf, unsigned char *md, unsigned int *md_size) @@ -71,20 +73,21 @@ int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, int r; size_t n; unsigned char *p; - CRNG_TEST_GLOBAL *crngt_glob - = openssl_ctx_get_data(ctx, OPENSSL_CTX_RAND_CRNGT_INDEX, - &rand_crng_ossl_ctx_method); - if (crngt_glob == NULL) + if (pool == NULL) return 0; - n = rand_pool_acquire_entropy(crngt_glob->crngt_pool); + n = rand_pool_acquire_entropy(pool); if (n >= CRNGT_BUFSIZ) { - p = rand_pool_detach(crngt_glob->crngt_pool); - r = EVP_Digest(p, CRNGT_BUFSIZ, md, md_size, EVP_sha256(), NULL); + EVP_MD *fmd = EVP_MD_fetch(ctx, "SHA256", ""); + if (fmd == NULL) + return 0; + p = rand_pool_detach(pool); + r = EVP_Digest(p, CRNGT_BUFSIZ, md, md_size, fmd, NULL); if (r != 0) memcpy(buf, p, CRNGT_BUFSIZ); - rand_pool_reattach(crngt_glob->crngt_pool, p); + rand_pool_reattach(pool, p); + EVP_MD_meth_free(fmd); return r; } return 0; @@ -112,7 +115,8 @@ size_t rand_crngt_get_entropy(RAND_DRBG *drbg, while ((q = rand_pool_bytes_needed(pool, 1)) > 0 && attempts-- > 0) { s = q > sizeof(buf) ? sizeof(buf) : q; - if (!crngt_get_entropy(drbg->libctx, buf, md, &sz) + if (!crngt_get_entropy(drbg->libctx, crngt_glob->crngt_pool, buf, md, + &sz) || memcmp(crngt_glob->crngt_prev, md, sz) == 0 || !rand_pool_add(pool, buf, s, s * 8)) goto err; diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 97126bc..416237a 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -17,6 +17,7 @@ # include # include # include "internal/tsan_assist.h" +# include "internal/rand_int.h" # include "internal/numbers.h" @@ -129,7 +130,7 @@ typedef struct rand_drbg_method_st { #define HASH_PRNG_MAX_SEEDLEN (888/8) typedef struct rand_drbg_hash_st { - const EVP_MD *md; + EVP_MD *md; EVP_MD_CTX *ctx; size_t blocklen; unsigned char V[HASH_PRNG_MAX_SEEDLEN]; @@ -139,7 +140,7 @@ typedef struct rand_drbg_hash_st { } RAND_DRBG_HASH; typedef struct rand_drbg_hmac_st { - const EVP_MD *md; + EVP_MD *md; HMAC_CTX *ctx; size_t blocklen; unsigned char K[EVP_MAX_MD_SIZE]; @@ -152,7 +153,7 @@ typedef struct rand_drbg_hmac_st { typedef struct rand_drbg_ctr_st { EVP_CIPHER_CTX *ctx; EVP_CIPHER_CTX *ctx_df; - const EVP_CIPHER *cipher; + EVP_CIPHER *cipher; size_t keylen; unsigned char K[32]; unsigned char V[16]; @@ -336,10 +337,11 @@ int drbg_hmac_init(RAND_DRBG *drbg); * Entropy call back for the FIPS 140-2 section 4.9.2 Conditional Tests. * These need to be exposed for the unit tests. */ -int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, unsigned char *buf, - unsigned char *md, unsigned int *md_size); -extern int (*crngt_get_entropy)(OPENSSL_CTX *ctx, unsigned char *buf, - unsigned char *md, +int rand_crngt_get_entropy_cb(OPENSSL_CTX *ctx, RAND_POOL *pool, + unsigned char *buf, unsigned char *md, + unsigned int *md_size); +extern int (*crngt_get_entropy)(OPENSSL_CTX *ctx, RAND_POOL *pool, + unsigned char *buf, unsigned char *md, unsigned int *md_size); #endif diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 6161909..e45e018 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -285,7 +285,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) if (getentropy != NULL) return getentropy(buf, buflen) == 0 ? (ssize_t)buflen : -1; -# else +# elif !defined(FIPS_MODE) union { void *p; int (*f)(void *buffer, size_t length); diff --git a/crypto/rand/rand_win.c b/crypto/rand/rand_win.c index 17ab137..8b87419 100644 --- a/crypto/rand/rand_win.c +++ b/crypto/rand/rand_win.c @@ -162,7 +162,7 @@ int rand_pool_add_additional_data(RAND_POOL *pool) return rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0); } -# if !OPENSSL_API_1_1_0 +# if !OPENSSL_API_1_1_0 && !defined(FIPS_MODE) int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam) { RAND_poll(); diff --git a/doc/internal/man3/ossl_prov_util_nid_to_name.pod b/doc/internal/man3/ossl_prov_util_nid_to_name.pod new file mode 100644 index 0000000..56a16d3 --- /dev/null +++ b/doc/internal/man3/ossl_prov_util_nid_to_name.pod @@ -0,0 +1,35 @@ +=pod + +=head1 NAME + +ossl_prov_util_nid_to_name +- provider utility functions + +=head1 SYNOPSIS + + #include "internal/providercommon.h" + + const char *ossl_prov_util_nid_to_name(int nid); + +=head1 DESCRIPTION + +The ossl_prov_util_nid_to_name() returns the name of an algorithm given a NID +in the B parameter. For the default and legacy providers it is equivalent +to calling OBJ_nid2sn(). The FIPS provider does not have the object database +code available to it (because that code relies on the ASN.1 code), so this +function is a static lookup of all known FIPS algorithm NIDs. + +=head1 RETURN VALUES + +Returns a pointer to the algorithm name, or NULL on error. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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/providers/common/build.info b/providers/common/build.info index 1617467..500ef64 100644 --- a/providers/common/build.info +++ b/providers/common/build.info @@ -1,4 +1,4 @@ SUBDIRS=digests ciphers SOURCE[../../libcrypto]=\ - provider_err.c + provider_err.c provlib.c diff --git a/providers/common/include/internal/providercommon.h b/providers/common/include/internal/providercommon.h index 663d9c6..d54fafa 100644 --- a/providers/common/include/internal/providercommon.h +++ b/providers/common/include/internal/providercommon.h @@ -7,4 +7,8 @@ * https://www.openssl.org/source/license.html */ +#include + const OSSL_PROVIDER *FIPS_get_provider(OPENSSL_CTX *ctx); + +const char *ossl_prov_util_nid_to_name(int nid); diff --git a/include/openssl/cmperr.h b/providers/common/provlib.c similarity index 54% copy from include/openssl/cmperr.h copy to providers/common/provlib.c index 7c1402c..43da7cd 100644 --- a/include/openssl/cmperr.h +++ b/providers/common/provlib.c @@ -1,5 +1,4 @@ /* - * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -8,25 +7,15 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CMPERR_H -# define HEADER_CMPERR_H - -# include - -# ifndef OPENSSL_NO_CMP - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_CMP_strings(void); - -/* - * CMP function codes. - */ +#include +#include "internal/providercommon.h" /* - * CMP reason codes. + * The FIPS provider has its own version of this in fipsprov.c because it does + * not have OBJ_nid2sn(); */ +const char *ossl_prov_util_nid_to_name(int nid) +{ + return OBJ_nid2sn(nid); +} -# endif -#endif diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index 78e3026..b0196f0 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -15,8 +15,11 @@ #include #include #include + /* TODO(3.0): Needed for dummy_evp_call(). To be removed */ #include +#include + #include "internal/cryptlib.h" #include "internal/property.h" #include "internal/evp_int.h" @@ -85,8 +88,10 @@ static int dummy_evp_call(void *provctx) int ret = 0; BN_CTX *bnctx = NULL; BIGNUM *a = NULL, *b = NULL; + unsigned char randbuf[128]; + RAND_DRBG *drbg = OPENSSL_CTX_get0_public_drbg(libctx); - if (ctx == NULL || sha256 == NULL) + if (ctx == NULL || sha256 == NULL || drbg == NULL) goto err; if (!EVP_DigestInit_ex(ctx, sha256, NULL)) @@ -112,6 +117,9 @@ static int dummy_evp_call(void *provctx) || BN_cmp(a, b) != 0) goto err; + if (RAND_DRBG_bytes(drbg, randbuf, sizeof(randbuf)) <= 0) + goto err; + ret = 1; err: BN_CTX_end(bnctx); @@ -144,6 +152,60 @@ static int fips_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) return 1; } +/* FIPS specific version of the function of the same name in provlib.c */ +const char *ossl_prov_util_nid_to_name(int nid) +{ + /* We don't have OBJ_nid2n() in FIPS_MODE so we have an explicit list */ + + switch (nid) { + /* Digests */ + case NID_sha1: + return "SHA224"; + case NID_sha224: + return "SHA224"; + case NID_sha256: + return "SHA256"; + case NID_sha384: + return "SHA384"; + case NID_sha512: + return "SHA512"; + case NID_sha512_224: + return "SHA512-224"; + case NID_sha512_256: + return "SHA512-256"; + case NID_sha3_224: + return "SHA3-224"; + case NID_sha3_256: + return "SHA3-256"; + case NID_sha3_384: + return "SHA3-384"; + case NID_sha3_512: + return "SHA3-512"; + + /* Ciphers */ + case NID_aes_256_ecb: + return "AES-256-ECB"; + case NID_aes_192_ecb: + return "AES-192-ECB"; + case NID_aes_128_ecb: + return "AES-128-ECB"; + case NID_aes_256_cbc: + return "AES-256-CBC"; + case NID_aes_192_cbc: + return "AES-192-CBC"; + case NID_aes_128_cbc: + return "AES-128-CBC"; + case NID_aes_256_ctr: + return "AES-256-CTR"; + case NID_aes_192_ctr: + return "AES-192-CTR"; + case NID_aes_128_ctr: + return "AES-128-CTR"; + } + + return NULL; +} + static const OSSL_ALGORITHM fips_digests[] = { { "SHA1", "fips=yes", sha1_functions }, { "SHA224", "fips=yes", sha224_functions }, diff --git a/test/build.info b/test/build.info index 1cf604e..f5b802d 100644 --- a/test/build.info +++ b/test/build.info @@ -371,13 +371,13 @@ IF[{- !$disabled{tests} -}] DEPEND[recordlentest]=../libcrypto ../libssl libtestutil.a SOURCE[drbgtest]=drbgtest.c - INCLUDE[drbgtest]=../include ../apps/include + INCLUDE[drbgtest]=../include ../apps/include ../crypto/include 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 - INCLUDE[drbg_cavs_test]=../include ../apps/include . .. + INCLUDE[drbg_cavs_test]=../include ../apps/include . .. ../crypto/include DEPEND[drbg_cavs_test]=../libcrypto libtestutil.a SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c diff --git a/test/drbgtest.c b/test/drbgtest.c index 618403f..f75c432 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -1264,8 +1264,8 @@ static const size_t crngt_num_cases = 6; static size_t crngt_case, crngt_idx; -static int crngt_entropy_cb(OPENSSL_CTX *ctx, unsigned char *buf, - unsigned char *md, +static int crngt_entropy_cb(OPENSSL_CTX *ctx, RAND_POOL *pool, + unsigned char *buf, unsigned char *md, unsigned int *md_size) { size_t i, z; From builds at travis-ci.org Fri Jun 28 09:51:07 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 28 Jun 2019 09:51:07 +0000 Subject: Still Failing: openssl/openssl#26128 (master - 53a11c6) In-Reply-To: Message-ID: <5d15e30adc56c_43fb38673057c890aa@e80aa761-d9ac-46f8-9c1a-70589869bdf1.mail> Build Update for openssl/openssl ------------------------------------- Build: #26128 Status: Still Failing Duration: 21 mins and 50 secs Commit: 53a11c6 (master) Author: Matt Caswell Message: Change the DRBG HMAC implementation to lookup allowed digest names As per the previous commit we make the same change for DRBG HMAC and more closely align the FIPS_MODE and non FIPS_MODE implementations. Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/9035) View the changeset: https://github.com/openssl/openssl/compare/0da1d43a94ff...53a11c6da099 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551697088?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 Jun 28 09:36:18 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 28 Jun 2019 09:36:18 +0000 Subject: Still Failing: openssl/openssl#26126 (master - 0da1d43) In-Reply-To: Message-ID: <5d15df91da150_43ff165f203b4129539@68b8078f-f33f-41c0-a307-662e4f3a3e14.mail> Build Update for openssl/openssl ------------------------------------- Build: #26126 Status: Still Failing Duration: 13 mins and 26 secs Commit: 0da1d43 (master) Author: Matt Caswell Message: Document EVP_CIPHER_up_ref() Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9233) View the changeset: https://github.com/openssl/openssl/compare/262c00882a2f...0da1d43a94ff View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551690110?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 Jun 28 10:59:09 2019 From: yang.yang at baishancloud.com (yang.yang at baishancloud.com) Date: Fri, 28 Jun 2019 10:59:09 +0000 Subject: [openssl] master update Message-ID: <1561719549.127565.30031.nullmailer@dev.openssl.org> The branch master has been updated via bc42bd6298702a1abf70aa6383d36886dd5af4b3 (commit) from 53a11c6da09988efba93eccfdd10bf7edf1d53b2 (commit) - Log ----------------------------------------------------------------- commit bc42bd6298702a1abf70aa6383d36886dd5af4b3 Author: Paul Yang Date: Wed Jun 5 14:46:48 2019 +0800 Support SM2 certificate signing SM2 certificate signing request can be created and signed by OpenSSL now, both in library and apps. Documentation and test cases are added. Reviewed-by: Tim Hudson Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9085) ----------------------------------------------------------------------- Summary of changes: CHANGES | 3 + apps/ca.c | 68 +++++++++++- apps/req.c | 149 +++++++++++++++++++++++++-- crypto/asn1/a_sign.c | 13 ++- crypto/ec/ec_pmeth.c | 3 +- crypto/err/openssl.txt | 3 + crypto/include/internal/x509_int.h | 3 + crypto/x509/x509_err.c | 4 + crypto/x509/x_all.c | 85 +++++++++++---- crypto/x509/x_req.c | 38 ++++++- crypto/x509/x_x509.c | 3 + doc/man1/ca.pod | 16 +++ doc/man1/req.pod | 21 ++++ doc/man3/X509_get0_sm2_id.pod | 12 ++- include/openssl/x509.h | 2 + include/openssl/x509err.h | 3 + test/certs/sm2-csr.pem | 9 ++ test/certs/{sm2-ca-cert.pem => sm2-root.crt} | 0 test/certs/sm2-root.key | 5 + test/recipes/25-test_req.t | 21 +++- test/recipes/70-test_verify_extra.t | 3 +- test/recipes/80-test_ca.t | 20 +++- test/verify_extra_test.c | 45 +++++++- util/libcrypto.num | 2 + 24 files changed, 487 insertions(+), 44 deletions(-) create mode 100644 test/certs/sm2-csr.pem copy test/certs/{sm2-ca-cert.pem => sm2-root.crt} (100%) create mode 100644 test/certs/sm2-root.key diff --git a/CHANGES b/CHANGES index 0b9add5..b99241e 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,9 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Support SM2 signing and verification schemes with X509 certificate. + [Paul Yang] + *) Use SHA256 as the default digest for TS query in the ts app. [Tomas Mraz] diff --git a/apps/ca.c b/apps/ca.c index 4464b2b..b188b9b 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -96,7 +96,8 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, const char *enddate, long days, int batch, const char *ext_sect, CONF *conf, int verbose, unsigned long certopt, unsigned long nameopt, - int default_op, int ext_copy, int selfsign); + int default_op, int ext_copy, int selfsign, + unsigned char *sm2_id, size_t sm2idlen); static int certify_cert(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(CONF_VALUE) *policy, CA_DB *db, @@ -147,7 +148,7 @@ typedef enum OPTION_choice { OPT_INFILES, OPT_SS_CERT, OPT_SPKAC, OPT_REVOKE, OPT_VALID, OPT_EXTENSIONS, OPT_EXTFILE, OPT_STATUS, OPT_UPDATEDB, OPT_CRLEXTS, OPT_RAND_SERIAL, - OPT_R_ENUM, + OPT_R_ENUM, OPT_SM2ID, OPT_SM2HEXID, /* Do not change the order here; see related case statements below */ OPT_CRL_REASON, OPT_CRL_HOLD, OPT_CRL_COMPROMISE, OPT_CRL_CA_COMPROMISE } OPTION_CHOICE; @@ -218,6 +219,12 @@ const OPTIONS ca_options[] = { #ifndef OPENSSL_NO_ENGINE {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"}, #endif +#ifndef OPENSSL_NO_SM2 + {"sm2-id", OPT_SM2ID, 's', + "Specify an ID string to verify an SM2 certificate request"}, + {"sm2-hex-id", OPT_SM2HEXID, 's', + "Specify a hex ID string to verify an SM2 certificate request"}, +#endif {NULL} }; @@ -262,6 +269,9 @@ int ca_main(int argc, char **argv) REVINFO_TYPE rev_type = REV_NONE; X509_REVOKED *r = NULL; OPTION_CHOICE o; + unsigned char *sm2_id = NULL; + size_t sm2_idlen = 0; + int sm2_free = 0; prog = opt_init(argc, argv, ca_options); while ((o = opt_next()) != OPT_EOF) { @@ -425,6 +435,30 @@ opthelp: case OPT_ENGINE: e = setup_engine(opt_arg(), 0); break; + case OPT_SM2ID: + /* we assume the input is not a hex string */ + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id'\n"); + goto end; + } + sm2_id = (unsigned char *)opt_arg(); + sm2_idlen = strlen((const char *)sm2_id); + break; + case OPT_SM2HEXID: + /* try to parse the input as hex string first */ + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id'\n"); + goto end; + } + sm2_free = 1; + sm2_id = OPENSSL_hexstr2buf(opt_arg(), (long *)&sm2_idlen); + if (sm2_id == NULL) { + BIO_printf(bio_err, "Invalid hex string input\n"); + goto end; + } + break; } } end_of_options: @@ -913,7 +947,8 @@ end_of_options: j = certify(&x, infile, pkey, x509p, dgst, sigopts, attribs, db, serial, subj, chtype, multirdn, email_dn, startdate, enddate, days, batch, extensions, conf, verbose, - certopt, get_nameopt(), default_op, ext_copy, selfsign); + certopt, get_nameopt(), default_op, ext_copy, selfsign, + sm2_id, sm2_idlen); if (j < 0) goto end; if (j > 0) { @@ -932,7 +967,8 @@ end_of_options: j = certify(&x, argv[i], pkey, x509p, dgst, sigopts, attribs, db, serial, subj, chtype, multirdn, email_dn, startdate, enddate, days, batch, extensions, conf, verbose, - certopt, get_nameopt(), default_op, ext_copy, selfsign); + certopt, get_nameopt(), default_op, ext_copy, selfsign, + sm2_id, sm2_idlen); if (j < 0) goto end; if (j > 0) { @@ -1230,6 +1266,8 @@ end_of_options: ret = 0; end: + if (sm2_free) + OPENSSL_free(sm2_id); if (ret) ERR_print_errors(bio_err); BIO_free_all(Sout); @@ -1268,7 +1306,8 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, const char *enddate, long days, int batch, const char *ext_sect, CONF *lconf, int verbose, unsigned long certopt, unsigned long nameopt, - int default_op, int ext_copy, int selfsign) + int default_op, int ext_copy, int selfsign, + unsigned char *sm2id, size_t sm2idlen) { X509_REQ *req = NULL; BIO *in = NULL; @@ -1300,6 +1339,25 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, BIO_printf(bio_err, "error unpacking public key\n"); goto end; } + if (sm2id != NULL) { +#ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING *v; + + v = ASN1_OCTET_STRING_new(); + if (v == NULL) { + BIO_printf(bio_err, "error: SM2 ID allocation failed\n"); + goto end; + } + + if (!ASN1_OCTET_STRING_set(v, sm2id, sm2idlen)) { + BIO_printf(bio_err, "error: setting SM2 ID failed\n"); + ASN1_OCTET_STRING_free(v); + goto end; + } + + X509_REQ_set0_sm2_id(req, v); +#endif + } i = X509_REQ_verify(req, pktmp); pktmp = NULL; if (i < 0) { diff --git a/apps/req.c b/apps/req.c index 67dc0c8..ae420d3 100644 --- a/apps/req.c +++ b/apps/req.c @@ -90,7 +90,7 @@ typedef enum OPTION_choice { OPT_VERIFY, OPT_NODES, OPT_NOOUT, OPT_VERBOSE, OPT_UTF8, OPT_NAMEOPT, OPT_REQOPT, OPT_SUBJ, OPT_SUBJECT, OPT_TEXT, OPT_X509, OPT_MULTIVALUE_RDN, OPT_DAYS, OPT_SET_SERIAL, OPT_ADDEXT, OPT_EXTENSIONS, - OPT_REQEXTS, OPT_PRECERT, OPT_MD, + OPT_REQEXTS, OPT_PRECERT, OPT_MD, OPT_SM2ID, OPT_SM2HEXID, OPT_R_ENUM } OPTION_CHOICE; @@ -146,6 +146,12 @@ const OPTIONS req_options[] = { {"keygen_engine", OPT_KEYGEN_ENGINE, 's', "Specify engine to be used for key generation operations"}, #endif +#ifndef OPENSSL_NO_SM2 + {"sm2-id", OPT_SM2ID, 's', + "Specify an ID string to verify an SM2 certificate request"}, + {"sm2-hex-id", OPT_SM2HEXID, 's', + "Specify a hex ID string to verify an SM2 certificate request"}, +#endif {NULL} }; @@ -239,6 +245,9 @@ int req_main(int argc, char **argv) int nodes = 0, newhdr = 0, subject = 0, pubkey = 0, precert = 0; long newkey = -1; unsigned long chtype = MBSTRING_ASC, reqflag = 0; + unsigned char *sm2_id = NULL; + size_t sm2_idlen = 0; + int sm2_free = 0; #ifndef OPENSSL_NO_DES cipher = EVP_des_ede3_cbc(); @@ -414,6 +423,29 @@ int req_main(int argc, char **argv) goto opthelp; digest = md_alg; break; + case OPT_SM2ID: + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id'\n"); + goto end; + } + sm2_id = (unsigned char *)opt_arg(); + sm2_idlen = strlen((const char *)sm2_id); + break; + case OPT_SM2HEXID: + if (sm2_id != NULL) { + BIO_printf(bio_err, + "Use one of the options 'sm2-hex-id' or 'sm2-id'\n"); + goto end; + } + /* try to parse the input as hex string first */ + sm2_free = 1; + sm2_id = OPENSSL_hexstr2buf(opt_arg(), (long *)&sm2_idlen); + if (sm2_id == NULL) { + BIO_printf(bio_err, "Invalid hex string input\n"); + goto end; + } + break; } } argc = opt_num_rest(); @@ -844,6 +876,26 @@ int req_main(int argc, char **argv) goto end; } + if (sm2_id != NULL) { +#ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING *v; + + v = ASN1_OCTET_STRING_new(); + if (v == NULL) { + BIO_printf(bio_err, "error: SM2 ID allocation failed\n"); + goto end; + } + + if (!ASN1_OCTET_STRING_set(v, sm2_id, sm2_idlen)) { + BIO_printf(bio_err, "error: setting SM2 ID failed\n"); + ASN1_OCTET_STRING_free(v); + goto end; + } + + X509_REQ_set0_sm2_id(req, v); +#endif + } + i = X509_REQ_verify(req, tpubkey); if (i < 0) { @@ -942,6 +994,8 @@ int req_main(int argc, char **argv) } ret = 0; end: + if (sm2_free) + OPENSSL_free(sm2_id); if (ret) { ERR_print_errors(bio_err); } @@ -1596,14 +1650,58 @@ static int genpkey_cb(EVP_PKEY_CTX *ctx) return 1; } +#ifndef OPENSSL_NO_SM2 +static int ec_pkey_is_sm2(EVP_PKEY *pkey) +{ + EC_KEY *eckey = NULL; + const EC_GROUP *group = NULL; + + if (EVP_PKEY_id(pkey) == EVP_PKEY_SM2) + return 1; + if (EVP_PKEY_id(pkey) == EVP_PKEY_EC + && (eckey = EVP_PKEY_get0_EC_KEY(pkey)) != NULL + && (group = EC_KEY_get0_group(eckey)) != NULL + && EC_GROUP_get_curve_name(group) == NID_sm2) + return 1; + return 0; +} +#endif + static int do_sign_init(EVP_MD_CTX *ctx, EVP_PKEY *pkey, const EVP_MD *md, STACK_OF(OPENSSL_STRING) *sigopts) { EVP_PKEY_CTX *pkctx = NULL; - int i, def_nid; +#ifndef OPENSSL_NO_SM2 + EVP_PKEY_CTX *pctx = NULL; +#endif + int i, def_nid, ret = 0; if (ctx == NULL) - return 0; + goto err; +#ifndef OPENSSL_NO_SM2 + if (ec_pkey_is_sm2(pkey)) { + /* initialize some SM2-specific code */ + if (!EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2)) { + BIO_printf(bio_err, "Internal error.\n"); + goto err; + } + pctx = EVP_PKEY_CTX_new(pkey, NULL); + if (pctx == NULL) { + BIO_printf(bio_err, "memory allocation failure.\n"); + goto err; + } + /* set SM2 ID from sig options before calling the real init routine */ + for (i = 0; i < sk_OPENSSL_STRING_num(sigopts); i++) { + char *sigopt = sk_OPENSSL_STRING_value(sigopts, i); + if (pkey_ctrl_string(pctx, sigopt) <= 0) { + BIO_printf(bio_err, "parameter error \"%s\"\n", sigopt); + ERR_print_errors(bio_err); + goto err; + } + } + EVP_MD_CTX_set_pkey_ctx(ctx, pctx); + } +#endif /* * EVP_PKEY_get_default_digest_nid() returns 2 if the digest is mandatory * for this algorithm. @@ -1614,16 +1712,23 @@ static int do_sign_init(EVP_MD_CTX *ctx, EVP_PKEY *pkey, md = NULL; } if (!EVP_DigestSignInit(ctx, &pkctx, md, NULL, pkey)) - return 0; + goto err; for (i = 0; i < sk_OPENSSL_STRING_num(sigopts); i++) { char *sigopt = sk_OPENSSL_STRING_value(sigopts, i); if (pkey_ctrl_string(pkctx, sigopt) <= 0) { BIO_printf(bio_err, "parameter error \"%s\"\n", sigopt); ERR_print_errors(bio_err); - return 0; + goto err; } } - return 1; + + ret = 1; + err: +#ifndef OPENSSL_NO_SM2 + if (!ret) + EVP_PKEY_CTX_free(pctx); +#endif + return ret; } int do_X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md, @@ -1631,10 +1736,20 @@ int do_X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md, { int rv; EVP_MD_CTX *mctx = EVP_MD_CTX_new(); +#ifndef OPENSSL_NO_SM2 + EVP_PKEY_CTX *pctx = NULL; +#endif rv = do_sign_init(mctx, pkey, md, sigopts); if (rv > 0) rv = X509_sign_ctx(x, mctx); +#ifndef OPENSSL_NO_SM2 + /* only in SM2 case we need to free the pctx explicitly */ + if (ec_pkey_is_sm2(pkey)) { + pctx = EVP_MD_CTX_pkey_ctx(mctx); + EVP_PKEY_CTX_free(pctx); + } +#endif EVP_MD_CTX_free(mctx); return rv > 0 ? 1 : 0; } @@ -1644,9 +1759,20 @@ int do_X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md, { int rv; EVP_MD_CTX *mctx = EVP_MD_CTX_new(); +#ifndef OPENSSL_NO_SM2 + EVP_PKEY_CTX *pctx = NULL; +#endif + rv = do_sign_init(mctx, pkey, md, sigopts); if (rv > 0) rv = X509_REQ_sign_ctx(x, mctx); +#ifndef OPENSSL_NO_SM2 + /* only in SM2 case we need to free the pctx explicitly */ + if (ec_pkey_is_sm2(pkey)) { + pctx = EVP_MD_CTX_pkey_ctx(mctx); + EVP_PKEY_CTX_free(pctx); + } +#endif EVP_MD_CTX_free(mctx); return rv > 0 ? 1 : 0; } @@ -1656,9 +1782,20 @@ int do_X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md, { int rv; EVP_MD_CTX *mctx = EVP_MD_CTX_new(); +#ifndef OPENSSL_NO_SM2 + EVP_PKEY_CTX *pctx = NULL; +#endif + rv = do_sign_init(mctx, pkey, md, sigopts); if (rv > 0) rv = X509_CRL_sign_ctx(x, mctx); +#ifndef OPENSSL_NO_SM2 + /* only in SM2 case we need to free the pctx explicitly */ + if (ec_pkey_is_sm2(pkey)) { + pctx = EVP_MD_CTX_pkey_ctx(mctx); + EVP_PKEY_CTX_free(pctx); + } +#endif EVP_MD_CTX_free(mctx); return rv > 0 ? 1 : 0; } diff --git a/crypto/asn1/a_sign.c b/crypto/asn1/a_sign.c index 97e8efc..e2ef60f 100644 --- a/crypto/asn1/a_sign.c +++ b/crypto/asn1/a_sign.c @@ -145,7 +145,7 @@ int ASN1_item_sign_ctx(const ASN1_ITEM *it, unsigned char *buf_in = NULL, *buf_out = NULL; size_t inl = 0, outl = 0, outll = 0; int signid, paramtype, buf_len = 0; - int rv; + int rv, pkey_id; type = EVP_MD_CTX_md(ctx); pkey = EVP_PKEY_CTX_get0_pkey(EVP_MD_CTX_pkey_ctx(ctx)); @@ -184,9 +184,14 @@ int ASN1_item_sign_ctx(const ASN1_ITEM *it, ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ASN1_R_CONTEXT_NOT_INITIALISED); goto err; } - if (!OBJ_find_sigid_by_algs(&signid, - EVP_MD_nid(type), - pkey->ameth->pkey_id)) { + + pkey_id = +#ifndef OPENSSL_NO_SM2 + EVP_PKEY_id(pkey) == NID_sm2 ? NID_sm2 : +#endif + pkey->ameth->pkey_id; + + if (!OBJ_find_sigid_by_algs(&signid, EVP_MD_nid(type), pkey_id)) { ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED); goto err; diff --git a/crypto/ec/ec_pmeth.c b/crypto/ec/ec_pmeth.c index 45798b4..e581741 100644 --- a/crypto/ec/ec_pmeth.c +++ b/crypto/ec/ec_pmeth.c @@ -327,7 +327,8 @@ static int pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) EVP_MD_type((const EVP_MD *)p2) != NID_sha3_224 && EVP_MD_type((const EVP_MD *)p2) != NID_sha3_256 && EVP_MD_type((const EVP_MD *)p2) != NID_sha3_384 && - EVP_MD_type((const EVP_MD *)p2) != NID_sha3_512) { + EVP_MD_type((const EVP_MD *)p2) != NID_sha3_512 && + EVP_MD_type((const EVP_MD *)p2) != NID_sm3) { ECerr(EC_F_PKEY_EC_CTRL, EC_R_INVALID_DIGEST_TYPE); return 0; } diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 23c0dda..c463ace 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -1832,6 +1832,7 @@ X509_F_BUILD_CHAIN:106:build_chain X509_F_BY_FILE_CTRL:101:by_file_ctrl X509_F_CHECK_NAME_CONSTRAINTS:149:check_name_constraints X509_F_CHECK_POLICY:145:check_policy +X509_F_COMMON_VERIFY_SM2:165:common_verify_sm2 X509_F_DANE_I2D:107:dane_i2d X509_F_DIR_CTRL:102:dir_ctrl X509_F_GET_CERT_BY_SUBJECT:103:get_cert_by_subject @@ -1875,6 +1876,8 @@ X509_F_X509_REQ_CHECK_PRIVATE_KEY:144:X509_REQ_check_private_key X509_F_X509_REQ_PRINT_EX:121:X509_REQ_print_ex X509_F_X509_REQ_PRINT_FP:122:X509_REQ_print_fp X509_F_X509_REQ_TO_X509:123:X509_REQ_to_X509 +X509_F_X509_REQ_VERIFY:163:X509_REQ_verify +X509_F_X509_REQ_VERIFY_SM2:164:x509_req_verify_sm2 X509_F_X509_STORE_ADD_CERT:124:X509_STORE_add_cert X509_F_X509_STORE_ADD_CRL:125:X509_STORE_add_crl X509_F_X509_STORE_ADD_LOOKUP:157:X509_STORE_add_lookup diff --git a/crypto/include/internal/x509_int.h b/crypto/include/internal/x509_int.h index 7c40b15..f6897e1 100644 --- a/crypto/include/internal/x509_int.h +++ b/crypto/include/internal/x509_int.h @@ -71,6 +71,9 @@ struct X509_req_st { ASN1_BIT_STRING *signature; /* signature */ CRYPTO_REF_COUNT references; CRYPTO_RWLOCK *lock; +# ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING *sm2_id; +# endif }; struct X509_crl_info_st { diff --git a/crypto/x509/x509_err.c b/crypto/x509/x509_err.c index fbd2cf8..c87d74d 100644 --- a/crypto/x509/x509_err.c +++ b/crypto/x509/x509_err.c @@ -20,6 +20,7 @@ static const ERR_STRING_DATA X509_str_functs[] = { {ERR_PACK(ERR_LIB_X509, X509_F_CHECK_NAME_CONSTRAINTS, 0), "check_name_constraints"}, {ERR_PACK(ERR_LIB_X509, X509_F_CHECK_POLICY, 0), "check_policy"}, + {ERR_PACK(ERR_LIB_X509, X509_F_COMMON_VERIFY_SM2, 0), "common_verify_sm2"}, {ERR_PACK(ERR_LIB_X509, X509_F_DANE_I2D, 0), "dane_i2d"}, {ERR_PACK(ERR_LIB_X509, X509_F_DIR_CTRL, 0), "dir_ctrl"}, {ERR_PACK(ERR_LIB_X509, X509_F_GET_CERT_BY_SUBJECT, 0), @@ -86,6 +87,9 @@ static const ERR_STRING_DATA X509_str_functs[] = { {ERR_PACK(ERR_LIB_X509, X509_F_X509_REQ_PRINT_EX, 0), "X509_REQ_print_ex"}, {ERR_PACK(ERR_LIB_X509, X509_F_X509_REQ_PRINT_FP, 0), "X509_REQ_print_fp"}, {ERR_PACK(ERR_LIB_X509, X509_F_X509_REQ_TO_X509, 0), "X509_REQ_to_X509"}, + {ERR_PACK(ERR_LIB_X509, X509_F_X509_REQ_VERIFY, 0), "X509_REQ_verify"}, + {ERR_PACK(ERR_LIB_X509, X509_F_X509_REQ_VERIFY_SM2, 0), + "x509_req_verify_sm2"}, {ERR_PACK(ERR_LIB_X509, X509_F_X509_STORE_ADD_CERT, 0), "X509_STORE_add_cert"}, {ERR_PACK(ERR_LIB_X509, X509_F_X509_STORE_ADD_CRL, 0), diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index 9c9e8ff..392f47e 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -24,86 +24,105 @@ # include "internal/asn1_int.h" # include "internal/evp_int.h" -static int x509_verify_sm2(X509 *x, EVP_PKEY *pkey, int mdnid, int pknid) +static int common_verify_sm2(void *data, EVP_PKEY *pkey, + int mdnid, int pknid, int req) { + X509 *x = NULL; + X509_REQ *r = NULL; EVP_MD_CTX *ctx = NULL; unsigned char *buf_in = NULL; int ret = -1, inl = 0; size_t inll = 0; EVP_PKEY_CTX *pctx = NULL; const EVP_MD *type = EVP_get_digestbynid(mdnid); + ASN1_BIT_STRING *signature = NULL; + ASN1_OCTET_STRING *sm2_id = NULL; + ASN1_VALUE *tbv = NULL; if (type == NULL) { - X509err(X509_F_X509_VERIFY_SM2, + X509err(X509_F_COMMON_VERIFY_SM2, ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM); goto err; } if (pkey == NULL) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_PASSED_NULL_PARAMETER); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_PASSED_NULL_PARAMETER); return -1; } - if (x->signature.type == V_ASN1_BIT_STRING && x->signature.flags & 0x7) { - X509err(X509_F_X509_VERIFY_SM2, ASN1_R_INVALID_BIT_STRING_BITS_LEFT); + if (req == 1) { + r = (X509_REQ *)data; + signature = r->signature; + sm2_id = r->sm2_id; + tbv = (ASN1_VALUE *)&r->req_info; + } else { + x = (X509 *)data; + signature = &x->signature; + sm2_id = x->sm2_id; + tbv = (ASN1_VALUE *)&x->cert_info; + } + + if (signature->type == V_ASN1_BIT_STRING && signature->flags & 0x7) { + X509err(X509_F_COMMON_VERIFY_SM2, ASN1_R_INVALID_BIT_STRING_BITS_LEFT); return -1; } ctx = EVP_MD_CTX_new(); if (ctx == NULL) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_MALLOC_FAILURE); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_MALLOC_FAILURE); goto err; } /* Check public key OID matches public key type */ if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id) { - X509err(X509_F_X509_VERIFY_SM2, ASN1_R_WRONG_PUBLIC_KEY_TYPE); + X509err(X509_F_COMMON_VERIFY_SM2, ASN1_R_WRONG_PUBLIC_KEY_TYPE); goto err; } if (!EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2)) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_EVP_LIB); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_EVP_LIB); ret = 0; goto err; } pctx = EVP_PKEY_CTX_new(pkey, NULL); if (pctx == NULL) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_EVP_LIB); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_EVP_LIB); ret = 0; goto err; } /* NOTE: we tolerate no actual ID, to provide maximum flexibility */ - if (x->sm2_id != NULL - && EVP_PKEY_CTX_set1_id(pctx, x->sm2_id->data, - x->sm2_id->length) != 1) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_EVP_LIB); + if (sm2_id != NULL + && EVP_PKEY_CTX_set1_id(pctx, sm2_id->data, sm2_id->length) != 1) { + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_EVP_LIB); ret = 0; goto err; } EVP_MD_CTX_set_pkey_ctx(ctx, pctx); if (!EVP_DigestVerifyInit(ctx, NULL, type, NULL, pkey)) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_EVP_LIB); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_EVP_LIB); ret = 0; goto err; } - inl = ASN1_item_i2d((ASN1_VALUE *)&x->cert_info, &buf_in, + inl = ASN1_item_i2d(tbv, &buf_in, + req == 1 ? + ASN1_ITEM_rptr(X509_REQ_INFO) : ASN1_ITEM_rptr(X509_CINF)); if (inl <= 0) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_INTERNAL_ERROR); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_INTERNAL_ERROR); goto err; } if (buf_in == NULL) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_MALLOC_FAILURE); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_MALLOC_FAILURE); goto err; } inll = inl; - ret = EVP_DigestVerify(ctx, x->signature.data, - (size_t)x->signature.length, buf_in, inl); + ret = EVP_DigestVerify(ctx, signature->data, + (size_t)signature->length, buf_in, inl); if (ret <= 0) { - X509err(X509_F_X509_VERIFY_SM2, ERR_R_EVP_LIB); + X509err(X509_F_COMMON_VERIFY_SM2, ERR_R_EVP_LIB); goto err; } ret = 1; @@ -113,6 +132,18 @@ static int x509_verify_sm2(X509 *x, EVP_PKEY *pkey, int mdnid, int pknid) EVP_PKEY_CTX_free(pctx); return ret; } + +static int x509_verify_sm2(X509 *x, EVP_PKEY *pkey, int mdnid, int pknid) +{ + return common_verify_sm2(x, pkey, mdnid, pknid, 0); +} + +static int x509_req_verify_sm2(X509_REQ *x, EVP_PKEY *pkey, + int mdnid, int pknid) +{ + return common_verify_sm2(x, pkey, mdnid, pknid, 1); +} + #endif int X509_verify(X509 *a, EVP_PKEY *r) @@ -142,6 +173,20 @@ int X509_verify(X509 *a, EVP_PKEY *r) int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) { +#ifndef OPENSSL_NO_SM2 + int mdnid, pknid; + + /* Convert signature OID into digest and public key OIDs */ + if (!OBJ_find_sigid_algs(OBJ_obj2nid(a->sig_alg.algorithm), + &mdnid, &pknid)) { + X509err(X509_F_X509_REQ_VERIFY, ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM); + return 0; + } + + if (pknid == NID_sm2) + return x509_req_verify_sm2(a, r, mdnid, pknid); +#endif + return (ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO), &a->sig_alg, a->signature, &a->req_info, r)); } diff --git a/crypto/x509/x_req.c b/crypto/x509/x_req.c index 7fb8448..5bda794 100644 --- a/crypto/x509/x_req.c +++ b/crypto/x509/x_req.c @@ -45,6 +45,29 @@ static int rinf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, return 1; } +static int req_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, + void *exarg) +{ +#ifndef OPENSSL_NO_SM2 + X509_REQ *ret = (X509_REQ *)*pval; + + switch (operation) { + case ASN1_OP_D2I_PRE: + ASN1_OCTET_STRING_free(ret->sm2_id); + /* fall thru */ + case ASN1_OP_NEW_POST: + ret->sm2_id = NULL; + break; + + case ASN1_OP_FREE_POST: + ASN1_OCTET_STRING_free(ret->sm2_id); + break; + } +#endif + + return 1; +} + ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { ASN1_SIMPLE(X509_REQ_INFO, version, ASN1_INTEGER), ASN1_SIMPLE(X509_REQ_INFO, subject, X509_NAME), @@ -57,7 +80,7 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) -ASN1_SEQUENCE_ref(X509_REQ, 0) = { +ASN1_SEQUENCE_ref(X509_REQ, req_cb) = { ASN1_EMBED(X509_REQ, req_info, X509_REQ_INFO), ASN1_EMBED(X509_REQ, sig_alg, X509_ALGOR), ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) @@ -66,3 +89,16 @@ ASN1_SEQUENCE_ref(X509_REQ, 0) = { IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) + +#ifndef OPENSSL_NO_SM2 +void X509_REQ_set0_sm2_id(X509_REQ *x, ASN1_OCTET_STRING *sm2_id) +{ + ASN1_OCTET_STRING_free(x->sm2_id); + x->sm2_id = sm2_id; +} + +ASN1_OCTET_STRING *X509_REQ_get0_sm2_id(X509_REQ *x) +{ + return x->sm2_id; +} +#endif diff --git a/crypto/x509/x_x509.c b/crypto/x509/x_x509.c index 78e1a75..d91c2d2 100644 --- a/crypto/x509/x_x509.c +++ b/crypto/x509/x_x509.c @@ -53,6 +53,9 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); ASIdentifiers_free(ret->rfc3779_asid); #endif +#ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING_free(ret->sm2_id); +#endif /* fall thru */ diff --git a/doc/man1/ca.pod b/doc/man1/ca.pod index 6e90c33..8438d1d 100644 --- a/doc/man1/ca.pod +++ b/doc/man1/ca.pod @@ -57,6 +57,8 @@ B B [B<-multivalue-rdn>] [B<-rand file...>] [B<-writerand file>] +[B<-sm2-id string>] +[B<-sm2-hex-id hex-string>] =head1 DESCRIPTION @@ -303,6 +305,16 @@ all others. Writes random data to the specified I upon exit. This can be used with a subsequent B<-rand> flag. +=item B<-sm2-id> + +Specify the ID string to use when verifying an SM2 certificate. The ID string is +required by the SM2 signature algorithm for signing and verification. + +=item B<-sm2-hex-id> + +Specify a binary ID string to use when signing or verifying using an SM2 +certificate. The argument for this option is string of hexadecimal digits. + =back =head1 CRL OPTIONS @@ -600,6 +612,10 @@ Sign a certificate request: openssl ca -in req.pem -out newcert.pem +Sign an SM2 certificate request: + + openssl ca -in sm2.csr -out sm2.crt -md sm3 -sigopt "sm2_id:1234567812345678" -sm2-id "1234567812345678" + Sign a certificate request, using CA extensions: openssl ca -in req.pem -extensions v3_ca -out newcert.pem diff --git a/doc/man1/req.pod b/doc/man1/req.pod index 8f30bd7..1e73ee5 100644 --- a/doc/man1/req.pod +++ b/doc/man1/req.pod @@ -50,6 +50,8 @@ B B [B<-batch>] [B<-verbose>] [B<-engine id>] +[B<-sm2-id string>] +[B<-sm2-hex-id hex-string>] =head1 DESCRIPTION @@ -339,6 +341,16 @@ for all available algorithms. Specifies an engine (by its unique B string) which would be used for key generation operations. +=item B<-sm2-id> + +Specify the ID string to use when verifying an SM2 certificate. The ID string is +required by the SM2 signature algorithm for signing and verification. + +=item B<-sm2-hex-id> + +Specify a binary ID string to use when signing or verifying using an SM2 +certificate. The argument for this option is string of hexadecimal digits. + =back =head1 CONFIGURATION FILE FORMAT @@ -534,6 +546,15 @@ Generate a self signed root certificate: openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem +Create an SM2 private key and then generate a certificate request from it: + + openssl ecparam -genkey -name SM2 -out sm2.key + openssl req -new -key sm2.key -out sm2.csr -sm3 -sigopt "sm2_id:1234567812345678" + +Examine and verify an SM2 certificate request: + + openssl req -verify -in sm2.csr -sm3 -sm2-id 1234567812345678 + Example of a file pointed to by the B option: 1.2.3.4 shortName A longer Name diff --git a/doc/man3/X509_get0_sm2_id.pod b/doc/man3/X509_get0_sm2_id.pod index 9698c86..d8a85d7 100644 --- a/doc/man3/X509_get0_sm2_id.pod +++ b/doc/man3/X509_get0_sm2_id.pod @@ -2,7 +2,9 @@ =head1 NAME -X509_get0_sm2_id, X509_set0_sm2_id - get or set SM2 ID for certificate operations +X509_get0_sm2_id, X509_set0_sm2_id, +X509_REQ_get0_sm2_id, X509_REQ_set0_sm2_id +- get or set SM2 ID for certificate operations =head1 SYNOPSIS @@ -10,6 +12,8 @@ X509_get0_sm2_id, X509_set0_sm2_id - get or set SM2 ID for certificate operation ASN1_OCTET_STRING *X509_get0_sm2_id(X509 *x); void X509_set0_sm2_id(X509 *x, ASN1_OCTET_STRING *sm2_id); + ASN1_OCTET_STRING *X509_REQ_get0_sm2_id(X509_REQ *x); + void X509_REQ_set0_sm2_id(X509_REQ *x, ASN1_OCTET_STRING *sm2_id); =head1 DESCRIPTION @@ -21,6 +25,10 @@ this function transfers the memory management of the value to the X509 object, and therefore the value that has been passed in should not be freed by the caller after this function has been called. +X509_REQ_get0_sm2_id() and X509_REQ_set0_sm2_id() have the same functionality +as X509_get0_sm2_id() and X509_set0_sm2_id() except that they deal with +B objects instead of B. + =head1 NOTES SM2 signature algorithm requires an ID value when generating and verifying a @@ -29,7 +37,7 @@ ability to set and retrieve the SM2 ID value. =head1 RETURN VALUES -X509_set0_sm2_id() does not return a value. +X509_set0_sm2_id() and X509_REQ_set0_sm2_id() do not return a value. =head1 SEE ALSO diff --git a/include/openssl/x509.h b/include/openssl/x509.h index 7f80da3..6e4d1e7 100644 --- a/include/openssl/x509.h +++ b/include/openssl/x509.h @@ -569,6 +569,8 @@ int X509_get_signature_nid(const X509 *x); # ifndef OPENSSL_NO_SM2 void X509_set0_sm2_id(X509 *x, ASN1_OCTET_STRING *sm2_id); ASN1_OCTET_STRING *X509_get0_sm2_id(X509 *x); +void X509_REQ_set0_sm2_id(X509_REQ *x, ASN1_OCTET_STRING *sm2_id); +ASN1_OCTET_STRING *X509_REQ_get0_sm2_id(X509_REQ *x); # endif int X509_trusted(const X509 *x); diff --git a/include/openssl/x509err.h b/include/openssl/x509err.h index 78d1c89..e796bf1 100644 --- a/include/openssl/x509err.h +++ b/include/openssl/x509err.h @@ -28,6 +28,7 @@ int ERR_load_X509_strings(void); # define X509_F_BY_FILE_CTRL 101 # define X509_F_CHECK_NAME_CONSTRAINTS 149 # define X509_F_CHECK_POLICY 145 +# define X509_F_COMMON_VERIFY_SM2 165 # define X509_F_DANE_I2D 107 # define X509_F_DIR_CTRL 102 # define X509_F_GET_CERT_BY_SUBJECT 103 @@ -71,6 +72,8 @@ int ERR_load_X509_strings(void); # define X509_F_X509_REQ_PRINT_EX 121 # define X509_F_X509_REQ_PRINT_FP 122 # define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_REQ_VERIFY 163 +# define X509_F_X509_REQ_VERIFY_SM2 164 # define X509_F_X509_STORE_ADD_CERT 124 # define X509_F_X509_STORE_ADD_CRL 125 # define X509_F_X509_STORE_ADD_LOOKUP 157 diff --git a/test/certs/sm2-csr.pem b/test/certs/sm2-csr.pem new file mode 100644 index 0000000..a6dcca8 --- /dev/null +++ b/test/certs/sm2-csr.pem @@ -0,0 +1,9 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIBMTCB1wIBADB1MQswCQYDVQQGEwJDTjERMA8GA1UECAwITGlhb25pbmcxETAP +BgNVBAcMCFNoZW55YW5nMQwwCgYDVQQKDANUZXQxDDAKBgNVBAsMA1RldDELMAkG +A1UEAwwCb28xFzAVBgkqhkiG9w0BCQEWCG9vQG9vLm9vMFkwEwYHKoZIzj0CAQYI +KoEcz1UBgi0DQgAE1NjdOpldcjTkuZpdGDNyHAnhK9cB2RZ7jAmFzt7jgEs9OHSg +rb3crjz+qGZfqyJ5AyZulQ7gdARzb1H55jvw5qAAMAoGCCqBHM9VAYN1A0kAMEYC +IQCacUXA8kyTTDwEm89Yz9qjsbfd8/N32lnzKxuKCcXJwQIhAIpugCbfeWuPxUQO +7AvQS3yxBp1yn0FbTT2XVSyYy6To +-----END CERTIFICATE REQUEST----- diff --git a/test/certs/sm2-ca-cert.pem b/test/certs/sm2-root.crt similarity index 100% copy from test/certs/sm2-ca-cert.pem copy to test/certs/sm2-root.crt diff --git a/test/certs/sm2-root.key b/test/certs/sm2-root.key new file mode 100644 index 0000000..4bda65b --- /dev/null +++ b/test/certs/sm2-root.key @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBG0wawIBAQQglktdVbLA5tyXMc+9 +KV4ikyDaFZNnXqfNAzUVqTlqn8GhRANCAAR0WJ6hK6HwXVz6bb7zu/gUlScXKR7k +xp2flD621OZFRFDGlJzTnjCWZf70RopmQpvwJEXiZkX529eREh0frLKe +-----END PRIVATE KEY----- diff --git a/test/recipes/25-test_req.t b/test/recipes/25-test_req.t index eb25fd4..127b338 100644 --- a/test/recipes/25-test_req.t +++ b/test/recipes/25-test_req.t @@ -15,7 +15,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/; setup("test_req"); -plan tests => 9; +plan tests => 10; require_ok(srctop_file('test','recipes','tconversion.pl')); @@ -58,6 +58,25 @@ subtest "generating certificate requests" => sub { "Verifying signature on request"); }; +subtest "generating SM2 certificate requests" => sub { + plan tests => 2; + + SKIP: { + skip "SM2 is not supported by this OpenSSL build", 2 + if disabled("sm2"); + ok(run(app(["openssl", "req", "-config", srctop_file("test", "test.cnf"), + "-new", "-key", srctop_file("test", "certs", "sm2.key"), + "-sigopt", "sm2_id:1234567812345678", + "-out", "testreq.pem", "-sm3"])), + "Generating SM2 certificate request"); + + ok(run(app(["openssl", "req", "-config", srctop_file("test", "test.cnf"), + "-verify", "-in", "testreq.pem", "-noout", + "-sm2-id", "1234567812345678", "-sm3"])), + "Verifying signature on SM2 certificate request"); + } +}; + my @openssl_args = ("req", "-config", srctop_file("apps", "openssl.cnf")); run_conversion('req conversions', diff --git a/test/recipes/70-test_verify_extra.t b/test/recipes/70-test_verify_extra.t index 31e967b..b8f4ab4 100644 --- a/test/recipes/70-test_verify_extra.t +++ b/test/recipes/70-test_verify_extra.t @@ -16,4 +16,5 @@ plan tests => 1; ok(run(test(["verify_extra_test", srctop_file("test", "certs", "roots.pem"), srctop_file("test", "certs", "untrusted.pem"), - srctop_file("test", "certs", "bad.pem")]))); + srctop_file("test", "certs", "bad.pem"), + srctop_file("test", "certs", "sm2-csr.pem")]))); diff --git a/test/recipes/80-test_ca.t b/test/recipes/80-test_ca.t index e397965..483b1f5 100644 --- a/test/recipes/80-test_ca.t +++ b/test/recipes/80-test_ca.t @@ -23,7 +23,7 @@ my $std_openssl_cnf = rmtree("demoCA", { safe => 0 }); -plan tests => 5; +plan tests => 6; SKIP: { $ENV{OPENSSL_CONFIG} = '-config "'.srctop_file("test", "CAss.cnf").'"'; skip "failed creating CA structure", 4 @@ -51,9 +51,25 @@ plan tests => 5; 'creating new pre-certificate'); } +SKIP: { + skip "SM2 is not supported by this OpenSSL build", 1 + if disabled("sm2"); + + is(yes(cmdstr(app(["openssl", "ca", "-config", + srctop_file("test", "CAss.cnf"), + "-in", srctop_file("test", "certs", "sm2-csr.pem"), + "-out", "sm2-test.crt", + "-sigopt", "sm2_id:1234567812345678", + "-sm2-id", "1234567812345678", + "-md", "sm3", + "-cert", srctop_file("test", "certs", "sm2-root.crt"), + "-keyfile", srctop_file("test", "certs", "sm2-root.key")]))), + 0, + "Signing SM2 certificate request"); +} rmtree("demoCA", { safe => 0 }); -unlink "newcert.pem", "newreq.pem", "newkey.pem"; +unlink "newcert.pem", "newreq.pem", "newkey.pem", "sm2-test.crt"; sub yes { diff --git a/test/verify_extra_test.c b/test/verify_extra_test.c index f16b3f0..d1da730 100644 --- a/test/verify_extra_test.c +++ b/test/verify_extra_test.c @@ -19,6 +19,7 @@ static const char *roots_f; static const char *untrusted_f; static const char *bad_f; +static const char *req_f; static STACK_OF(X509) *load_certs_from_file(const char *filename) { @@ -218,19 +219,61 @@ static int test_sm2_id(void) BIO_free(bio); return ret; } + +static int test_req_sm2_id(void) +{ + /* we only need an X509_REQ structure, no matter if it's a real SM2 cert */ + X509_REQ *x = NULL; + BIO *bio = NULL; + int ret = 0; + ASN1_OCTET_STRING *v = NULL, *v2 = NULL; + char *sm2id = "this is an ID"; + + bio = BIO_new_file(req_f, "r"); + if (bio == NULL) + goto err; + + x = PEM_read_bio_X509_REQ(bio, NULL, 0, NULL); + if (x == NULL) + goto err; + + v = ASN1_OCTET_STRING_new(); + if (v == NULL) + goto err; + + if (!ASN1_OCTET_STRING_set(v, (unsigned char *)sm2id, (int)strlen(sm2id))) { + ASN1_OCTET_STRING_free(v); + goto err; + } + + X509_REQ_set0_sm2_id(x, v); + + v2 = X509_REQ_get0_sm2_id(x); + if (!TEST_ptr(v2) + || !TEST_int_eq(ASN1_OCTET_STRING_cmp(v, v2), 0)) + goto err; + + ret = 1; + err: + X509_REQ_free(x); + BIO_free(bio); + return ret; +} #endif int setup_tests(void) { if (!TEST_ptr(roots_f = test_get_argument(0)) || !TEST_ptr(untrusted_f = test_get_argument(1)) - || !TEST_ptr(bad_f = test_get_argument(2))) + || !TEST_ptr(bad_f = test_get_argument(2)) + || !TEST_ptr(req_f = test_get_argument(3))) return 0; ADD_TEST(test_alt_chains_cert_forgery); ADD_TEST(test_store_ctx); #ifndef OPENSSL_NO_SM2 ADD_TEST(test_sm2_id); + ADD_TEST(test_req_sm2_id); #endif return 1; } diff --git a/util/libcrypto.num b/util/libcrypto.num index 69a1d50..38ca30a 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4833,3 +4833,5 @@ BN_CTX_new_ex 4777 3_0_0 EXIST::FUNCTION: BN_CTX_secure_new_ex 4778 3_0_0 EXIST::FUNCTION: OPENSSL_thread_stop_ex 4779 3_0_0 EXIST::FUNCTION: OSSL_PARAM_locate_const 4780 3_0_0 EXIST::FUNCTION: +X509_REQ_set0_sm2_id 4781 3_0_0 EXIST::FUNCTION:SM2 +X509_REQ_get0_sm2_id 4782 3_0_0 EXIST::FUNCTION:SM2 From builds at travis-ci.org Fri Jun 28 11:22:31 2019 From: builds at travis-ci.org (Travis CI) Date: Fri, 28 Jun 2019 11:22:31 +0000 Subject: Still Failing: openssl/openssl#26135 (master - bc42bd6) In-Reply-To: Message-ID: <5d15f877500bf_43ff9e34ac5141618e5@edd86fd7-0de6-4618-ac1a-eb8355383f1a.mail> Build Update for openssl/openssl ------------------------------------- Build: #26135 Status: Still Failing Duration: 22 mins and 43 secs Commit: bc42bd6 (master) Author: Paul Yang Message: Support SM2 certificate signing SM2 certificate signing request can be created and signed by OpenSSL now, both in library and apps. Documentation and test cases are added. Reviewed-by: Tim Hudson Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9085) View the changeset: https://github.com/openssl/openssl/compare/53a11c6da099...bc42bd629870 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/551728547?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 Fri Jun 28 15:09:10 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 28 Jun 2019 15:09:10 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2 Message-ID: <1561734550.876198.23851.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2 Commit log since last time: 262c00882a man: clarify the 'random number generator must be seeded' requirement 0588be2e01 man: fix documentation for RSA_generate_key() 743694a6c2 Move the public SIV mode functions from public headers to internal ones Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 265 wallclock secs ( 1.73 usr 0.41 sys + 250.20 cusr 20.22 csys = 272.56 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From openssl at openssl.org Fri Jun 28 16:01:43 2019 From: openssl at openssl.org (OpenSSL run-checker) Date: Fri, 28 Jun 2019 16:01:43 +0000 Subject: Still FAILED build of OpenSSL branch master with options -d --strict-warnings no-tls1_2-method Message-ID: <1561737703.358670.14556.nullmailer@run.openssl.org> Platform and configuration command: $ uname -a Linux run 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-tls1_2-method Commit log since last time: 262c00882a man: clarify the 'random number generator must be seeded' requirement 0588be2e01 man: fix documentation for RSA_generate_key() 743694a6c2 Move the public SIV mode functions from public headers to internal ones Build log ended with (last 100 lines): ../../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 ............. Dubious, test returned 255 (wstat 65280, 0xff00) All 8 subtests passed (less 5 skipped subtests: 3 okay) ../../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 .................. 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_bio_memleak.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 ................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ../../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/70-test_sslextension.t (Wstat: 65280 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 9. ../../openssl/test/recipes/90-test_sslapi.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=172, Tests=1558, 263 wallclock secs ( 1.87 usr 0.33 sys + 245.97 cusr 20.59 csys = 268.76 CPU) Result: FAIL Makefile:198: recipe for target '_tests' failed make[1]: *** [_tests] Error 1 make[1]: Leaving directory '/home/openssl/run-checker/no-tls1_2-method' Makefile:196: recipe for target 'tests' failed make: *** [tests] Error 2 From patrick.steuer at de.ibm.com Sat Jun 29 21:22:19 2019 From: patrick.steuer at de.ibm.com (patrick.steuer at de.ibm.com) Date: Sat, 29 Jun 2019 21:22:19 +0000 Subject: [openssl] master update Message-ID: <1561843339.227361.15849.nullmailer@dev.openssl.org> The branch master has been updated via da93b5cc2bc931b998f33ee432bc1ae2b38fccca (commit) via e382f507fb67863be02bfa69b08533cc55f0cd96 (commit) from bc42bd6298702a1abf70aa6383d36886dd5af4b3 (commit) - Log ----------------------------------------------------------------- commit da93b5cc2bc931b998f33ee432bc1ae2b38fccca Author: Patrick Steuer Date: Wed Jun 26 23:41:35 2019 +0200 s390x assembly pack: update OPENSSL_s390xcap(3) Add description of capability vector's pcc and kma parts. Signed-off-by: Patrick Steuer Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9258) commit e382f507fb67863be02bfa69b08533cc55f0cd96 Author: Patrick Steuer Date: Thu Jun 27 01:07:54 2019 +0200 s390x assembly pack: add support for pcc and kma instructions Signed-off-by: Patrick Steuer Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9258) ----------------------------------------------------------------------- Summary of changes: crypto/s390x_arch.h | 22 ++++++++ crypto/s390xcap.c | 119 ++++++++++++++++++++++++++++++++++++++++++ crypto/s390xcpuid.pl | 71 +++++++++++++++++++++++++ doc/man3/OPENSSL_s390xcap.pod | 21 ++++++-- 4 files changed, 230 insertions(+), 3 deletions(-) diff --git a/crypto/s390x_arch.h b/crypto/s390x_arch.h index 501283e..5e12542 100644 --- a/crypto/s390x_arch.h +++ b/crypto/s390x_arch.h @@ -26,6 +26,9 @@ void s390x_kmf(const unsigned char *in, size_t len, unsigned char *out, unsigned int fc, void *param); void s390x_kma(const unsigned char *aad, size_t alen, const unsigned char *in, size_t len, unsigned char *out, unsigned int fc, void *param); +int s390x_pcc(unsigned int fc, void *param); +int s390x_kdsa(unsigned int fc, void *param, const unsigned char *in, + size_t len); /* * The field elements of OPENSSL_s390xcap_P are the 64-bit words returned by @@ -45,6 +48,8 @@ struct OPENSSL_s390xcap_st { unsigned long long kmf[2]; unsigned long long prno[2]; unsigned long long kma[2]; + unsigned long long pcc[2]; + unsigned long long kdsa[2]; }; extern struct OPENSSL_s390xcap_st OPENSSL_s390xcap_P; @@ -69,6 +74,8 @@ extern struct OPENSSL_s390xcap_st OPENSSL_s390xcap_P; # define S390X_KMF 0x90 # define S390X_PRNO 0xa0 # define S390X_KMA 0xb0 +# define S390X_PCC 0xc0 +# define S390X_KDSA 0xd0 /* Facility Bit Numbers */ # define S390X_MSA 17 /* message-security-assist */ @@ -80,6 +87,7 @@ extern struct OPENSSL_s390xcap_st OPENSSL_s390xcap_P; # define S390X_VXD 134 /* vector packed decimal */ # define S390X_VXE 135 /* vector enhancements 1 */ # define S390X_MSA8 146 /* message-security-assist-ext. 8 */ +# define S390X_MSA9 155 /* message-security-assist-ext. 9 */ /* Function Codes */ @@ -111,10 +119,24 @@ extern struct OPENSSL_s390xcap_st OPENSSL_s390xcap_P; # define S390X_SHA_512_DRNG 3 # define S390X_TRNG 114 +/* pcc */ +# define S390X_SCALAR_MULTIPLY_P256 64 +# define S390X_SCALAR_MULTIPLY_P384 65 +# define S390X_SCALAR_MULTIPLY_P521 66 + +/* kdsa */ +# define S390X_ECDSA_VERIFY_P256 1 +# define S390X_ECDSA_VERIFY_P384 2 +# define S390X_ECDSA_VERIFY_P521 3 +# define S390X_ECDSA_SIGN_P256 9 +# define S390X_ECDSA_SIGN_P384 10 +# define S390X_ECDSA_SIGN_P521 11 + /* Register 0 Flags */ # define S390X_DECRYPT 0x80 # define S390X_KMA_LPC 0x100 # define S390X_KMA_LAAD 0x200 # define S390X_KMA_HS 0x400 +# define S390X_KDSA_D 0x80 #endif diff --git a/crypto/s390xcap.c b/crypto/s390xcap.c index 717849e..b75eacf 100644 --- a/crypto/s390xcap.c +++ b/crypto/s390xcap.c @@ -137,6 +137,10 @@ void OPENSSL_cpuid_setup(void) OPENSSL_s390xcap_P.prno[1] &= cap.prno[1]; OPENSSL_s390xcap_P.kma[0] &= cap.kma[0]; OPENSSL_s390xcap_P.kma[1] &= cap.kma[1]; + OPENSSL_s390xcap_P.pcc[0] &= cap.pcc[0]; + OPENSSL_s390xcap_P.pcc[1] &= cap.pcc[1]; + OPENSSL_s390xcap_P.kdsa[0] &= cap.kdsa[0]; + OPENSSL_s390xcap_P.kdsa[1] &= cap.kdsa[1]; } } @@ -163,6 +167,8 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) /*.kmf = */{0ULL, 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{0ULL, 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -189,6 +195,8 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) /*.kmf = */{0ULL, 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{0ULL, 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -220,6 +228,8 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) /*.kmf = */{0ULL, 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{0ULL, 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -257,6 +267,8 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) /*.kmf = */{0ULL, 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{0ULL, 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -313,6 +325,9 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{S390X_CAPBIT(S390X_QUERY), + 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -369,6 +384,9 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) 0ULL}, /*.prno = */{0ULL, 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{S390X_CAPBIT(S390X_QUERY), + 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -429,6 +447,9 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) | S390X_CAPBIT(S390X_SHA_512_DRNG), 0ULL}, /*.kma = */{0ULL, 0ULL}, + /*.pcc = */{S390X_CAPBIT(S390X_QUERY), + 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, }; /*- @@ -508,6 +529,101 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) | S390X_CAPBIT(S390X_AES_192) | S390X_CAPBIT(S390X_AES_256), 0ULL}, + /*.pcc = */{S390X_CAPBIT(S390X_QUERY), + 0ULL}, + /*.kdsa = */{0ULL, 0ULL}, + }; + + /*- + * z15 (2019) - z/Architecture POP SA22-7832-12 + * Implements MSA and MSA1-9. + */ + static const struct OPENSSL_s390xcap_st z15 = { + /*.stfle = */{S390X_CAPBIT(S390X_MSA) + | S390X_CAPBIT(S390X_STCKF) + | S390X_CAPBIT(S390X_MSA5), + S390X_CAPBIT(S390X_MSA3) + | S390X_CAPBIT(S390X_MSA4), + S390X_CAPBIT(S390X_VX) + | S390X_CAPBIT(S390X_VXD) + | S390X_CAPBIT(S390X_VXE) + | S390X_CAPBIT(S390X_MSA8), + 0ULL}, + /*.kimd = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_SHA_1) + | S390X_CAPBIT(S390X_SHA_256) + | S390X_CAPBIT(S390X_SHA_512) + | S390X_CAPBIT(S390X_SHA3_224) + | S390X_CAPBIT(S390X_SHA3_256) + | S390X_CAPBIT(S390X_SHA3_384) + | S390X_CAPBIT(S390X_SHA3_512) + | S390X_CAPBIT(S390X_SHAKE_128) + | S390X_CAPBIT(S390X_SHAKE_256), + S390X_CAPBIT(S390X_GHASH)}, + /*.klmd = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_SHA_1) + | S390X_CAPBIT(S390X_SHA_256) + | S390X_CAPBIT(S390X_SHA_512) + | S390X_CAPBIT(S390X_SHA3_224) + | S390X_CAPBIT(S390X_SHA3_256) + | S390X_CAPBIT(S390X_SHA3_384) + | S390X_CAPBIT(S390X_SHA3_512) + | S390X_CAPBIT(S390X_SHAKE_128) + | S390X_CAPBIT(S390X_SHAKE_256), + 0ULL}, + /*.km = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256) + | S390X_CAPBIT(S390X_XTS_AES_128) + | S390X_CAPBIT(S390X_XTS_AES_256), + 0ULL}, + /*.kmc = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.kmac = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.kmctr = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.kmo = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.kmf = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.prno = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_SHA_512_DRNG), + S390X_CAPBIT(S390X_TRNG)}, + /*.kma = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_AES_128) + | S390X_CAPBIT(S390X_AES_192) + | S390X_CAPBIT(S390X_AES_256), + 0ULL}, + /*.pcc = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P256) + | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P384) + | S390X_CAPBIT(S390X_SCALAR_MULTIPLY_P521), + 0ULL}, + /*.kdsa = */{S390X_CAPBIT(S390X_QUERY) + | S390X_CAPBIT(S390X_ECDSA_VERIFY_P256) + | S390X_CAPBIT(S390X_ECDSA_VERIFY_P384) + | S390X_CAPBIT(S390X_ECDSA_VERIFY_P521) + | S390X_CAPBIT(S390X_ECDSA_SIGN_P256) + | S390X_CAPBIT(S390X_ECDSA_SIGN_P384) + | S390X_CAPBIT(S390X_ECDSA_SIGN_P521), + 0ULL}, }; char *tok_begin, *tok_end, *buff, tok[S390X_STFLE_MAX][LEN + 1]; @@ -551,6 +667,8 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) else if TOK_FUNC(kmf) else if TOK_FUNC(prno) else if TOK_FUNC(kma) + else if TOK_FUNC(pcc) + else if TOK_FUNC(kdsa) /* CPU model tokens */ else if TOK_CPU(z900) @@ -561,6 +679,7 @@ static int parse_env(struct OPENSSL_s390xcap_st *cap) else if TOK_CPU(zEC12) else if TOK_CPU(z13) else if TOK_CPU(z14) + else if TOK_CPU(z15) /* whitespace(ignored) or invalid tokens */ else { diff --git a/crypto/s390xcpuid.pl b/crypto/s390xcpuid.pl index 790fbc2..2678b21 100755 --- a/crypto/s390xcpuid.pl +++ b/crypto/s390xcpuid.pl @@ -77,8 +77,13 @@ OPENSSL_s390x_functions: stg %r0,S390X_PRNO+8(%r4) stg %r0,S390X_KMA(%r4) stg %r0,S390X_KMA+8(%r4) + stg %r0,S390X_PCC(%r4) + stg %r0,S390X_PCC+8(%r4) + stg %r0,S390X_KDSA(%r4) + stg %r0,S390X_KDSA+8(%r4) lmg %r2,%r3,S390X_STFLE(%r4) + tmhl %r2,0x4000 # check for message-security-assist jz .Lret @@ -102,6 +107,13 @@ OPENSSL_s390x_functions: la %r1,S390X_KMAC(%r4) .long 0xb91e0042 # kmac %r4,%r2 + tmhh %r3,0x0003 # check for message-security-assist-3 + jz .Lret + + lghi %r0,S390X_QUERY # query pcc capability vector + la %r1,S390X_PCC(%r4) + .long 0xb92c0000 # pcc + tmhh %r3,0x0004 # check for message-security-assist-4 jz .Lret @@ -125,6 +137,7 @@ OPENSSL_s390x_functions: .long 0xb93c0042 # prno %r4,%r2 lg %r2,S390X_STFLE+16(%r4) + tmhl %r2,0x2000 # check for message-security-assist-8 jz .Lret @@ -132,6 +145,13 @@ OPENSSL_s390x_functions: la %r1,S390X_KMA(%r4) .long 0xb9294022 # kma %r2,%r4,%r2 + tmhl %r2,0x0010 # check for message-security-assist-9 + jz .Lret + + lghi %r0,S390X_QUERY # query kdsa capability vector + la %r1,S390X_KDSA(%r4) + .long 0xb93a0002 # kdsa %r0,%r2 + .Lret: br $ra .size OPENSSL_s390x_functions,.-OPENSSL_s390x_functions @@ -422,6 +442,57 @@ s390x_kma: ___ } +################ +# void s390x_pcc(unsigned int fc, void *param) +{ +my ($fc,$param) = map("%r$_",(2..3)); +$code.=<<___; +.globl s390x_pcc +.type s390x_pcc,\@function +.align 16 +s390x_pcc: + lr %r0,$fc + l${g}r %r1,$param + lhi %r2,0 + + .long 0xb92c0000 # pcc + brc 1,.-4 # pay attention to "partial completion" + brc 7,.Lpcc_err # if CC==0 return 0, else return 1 +.Lpcc_out: + br $ra +.Lpcc_err: + lhi %r2,1 + j .Lpcc_out +.size s390x_pcc,.-s390x_pcc +___ +} + +################ +# void s390x_kdsa(unsigned int fc, void *param, +# const unsigned char *in, size_t len) +{ +my ($fc,$param,$in,$len) = map("%r$_",(2..5)); +$code.=<<___; +.globl s390x_kdsa +.type s390x_kdsa,\@function +.align 16 +s390x_kdsa: + lr %r0,$fc + l${g}r %r1,$param + lhi %r2,0 + + .long 0xb93a0004 # kdsa %r0,$in + brc 1,.-4 # pay attention to "partial completion" + brc 7,.Lkdsa_err # if CC==0 return 0, else return 1 +.Lkdsa_out: + br $ra +.Lkdsa_err: + lhi %r2,1 + j .Lkdsa_out +.size s390x_kdsa,.-s390x_kdsa +___ +} + $code.=<<___; .section .init brasl $ra,OPENSSL_cpuid_setup diff --git a/doc/man3/OPENSSL_s390xcap.pod b/doc/man3/OPENSSL_s390xcap.pod index 34c029a..e45da44 100644 --- a/doc/man3/OPENSSL_s390xcap.pod +++ b/doc/man3/OPENSSL_s390xcap.pod @@ -34,14 +34,14 @@ There are three types of tokens: The name of a processor generation. A bit in the environment variable's mask is set to one if and only if the specified processor generation implements the corresponding instruction set extension. Possible values -are z900, z990, z9, z10, z196, zEC12, z13 and z14. +are z900, z990, z9, z10, z196, zEC12, z13, z14 and z15. =item :: The name of an instruction followed by two 64-bit masks. The part of the environment variable's mask corresponding to the specified instruction is set to the specified 128-bit mask. Possible values are kimd, klmd, km, kmc, -kmac, kmctr, kmo, kmf, prno and kma. +kmac, kmctr, kmo, kmf, prno, kma, pcc and kdsa. =item stfle::: @@ -139,6 +139,21 @@ the numbering is continuous across 64-bit mask boundaries. # 20 1<<43 KMA-GCM-AES-256 : + pcc : + : + # 64 1<<63 PCC-Scalar-Multiply-P256 + # 65 1<<62 PCC-Scalar-Multiply-P384 + # 66 1<<61 PCC-Scalar-Multiply-P521 + + kdsa : + # 1 1<<62 KDSA-ECDSA-Verify-P256 + # 2 1<<61 KDSA-ECDSA-Verify-P384 + # 3 1<<60 KDSA-ECDSA-Verify-P521 + # 9 1<<54 KDSA-ECDSA-Sign-P256 + # 10 1<<53 KDSA-ECDSA-Sign-P384 + # 11 1<<52 KDSA-ECDSA-Sign-P521 + : + =head1 RETURN VALUES Not available. @@ -159,7 +174,7 @@ Disables the KM-XTS-AES and and the KIMD-SHAKE function codes: =head1 SEE ALSO -[1] z/Architecture Principles of Operation, SA22-7832-11 +[1] z/Architecture Principles of Operation, SA22-7832-12 =head1 COPYRIGHT From builds at travis-ci.org Sat Jun 29 21:42:44 2019 From: builds at travis-ci.org (Travis CI) Date: Sat, 29 Jun 2019 21:42:44 +0000 Subject: Still Failing: openssl/openssl#26152 (master - da93b5c) In-Reply-To: Message-ID: <5d17db5496bca_43f9d21e3d674287095@4786b14d-b1af-4aec-b7a4-0efe4fc1f5b4.mail> Build Update for openssl/openssl ------------------------------------- Build: #26152 Status: Still Failing Duration: 19 mins and 50 secs Commit: da93b5c (master) Author: Patrick Steuer Message: s390x assembly pack: update OPENSSL_s390xcap(3) Add description of capability vector's pcc and kma parts. Signed-off-by: Patrick Steuer Reviewed-by: Richard Levitte Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/9258) View the changeset: https://github.com/openssl/openssl/compare/bc42bd629870...da93b5cc2bc9 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/552258584?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: