forked from pool/boringssl
Accepting request 809901 from home:mrostecki:branches:security:tls
- Remove patch for enabling shared linking - it was enabled upstream. * 0001-add-soversion-option.patch - Add boringssl-source subpackage. - Update to version 20200122: * Define EVP compatibility constants for X448 and Ed448. * Allow shared libraries in the external CMake build. * Add a few little-endian functions to CBS/CBB. * Move iOS asm tricks up in external CMake build. * Try again to deal with expensive tests. * Restore ARM CPU variation tests on builders. * Remove SSL_CTX_set_rsa_pss_rsae_certs_enabled. * Work around another NULL/0 C language bug. * Use the MAYBE/DISABLED pattern in RSATest.BlindingCacheConcurrency. * Switch an #if-0-gated test to DISABLED_Foo. * Proxy: send whole SSL records through the handshaker. * Disable Wycheproof primality test cases on non-x86 (too slow) * test_state.cc: serialize the test clock. * Output after every Wycheproof primality test. * Maybe fix generated-CMake build on Android and iOS. * Detect the NDK path from CMAKE_TOOLCHAIN_FILE. * Tell Go to build for GOOS=android when running on Android. * Reland bitsliced aes_nohw implementation. * Add bssl client option to load a hashed directory of cacerts. * No-op change to run the new NO_SSE2 builders. * Clarify that we perform the point-on-curve check. * Reduce size of BlindingCacheConcurrency test under TSAN. * Compare vpaes/bsaes conversions against a reference implementation. * Enable the SSE2 Poly1305 implementation on clang-cl. OBS-URL: https://build.opensuse.org/request/show/809901 OBS-URL: https://build.opensuse.org/package/show/security:tls/boringssl?expand=0&rev=30
This commit is contained in:
committed by
Git OBS Bridge
parent
be0ff33ecb
commit
af197498c9
@@ -1,3 +1,228 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 27 18:40:47 UTC 2020 - Michał Rostecki <mrostecki@suse.com>
|
||||
|
||||
- Remove patch for enabling shared linking - it was enabled
|
||||
upstream.
|
||||
* 0001-add-soversion-option.patch
|
||||
- Add boringssl-source subpackage.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 27 14:18:19 UTC 2020 - mrostecki@suse.com
|
||||
|
||||
- Update to version 20200122:
|
||||
* Define EVP compatibility constants for X448 and Ed448.
|
||||
* Allow shared libraries in the external CMake build.
|
||||
* Add a few little-endian functions to CBS/CBB.
|
||||
* Move iOS asm tricks up in external CMake build.
|
||||
* Try again to deal with expensive tests.
|
||||
* Restore ARM CPU variation tests on builders.
|
||||
* Remove SSL_CTX_set_rsa_pss_rsae_certs_enabled.
|
||||
* Work around another NULL/0 C language bug.
|
||||
* Use the MAYBE/DISABLED pattern in RSATest.BlindingCacheConcurrency.
|
||||
* Switch an #if-0-gated test to DISABLED_Foo.
|
||||
* Proxy: send whole SSL records through the handshaker.
|
||||
* Disable Wycheproof primality test cases on non-x86 (too slow)
|
||||
* test_state.cc: serialize the test clock.
|
||||
* Output after every Wycheproof primality test.
|
||||
* Maybe fix generated-CMake build on Android and iOS.
|
||||
* Detect the NDK path from CMAKE_TOOLCHAIN_FILE.
|
||||
* Tell Go to build for GOOS=android when running on Android.
|
||||
* Reland bitsliced aes_nohw implementation.
|
||||
* Add bssl client option to load a hashed directory of cacerts.
|
||||
* No-op change to run the new NO_SSE2 builders.
|
||||
* Clarify that we perform the point-on-curve check.
|
||||
* Reduce size of BlindingCacheConcurrency test under TSAN.
|
||||
* Compare vpaes/bsaes conversions against a reference implementation.
|
||||
* Enable the SSE2 Poly1305 implementation on clang-cl.
|
||||
* Remove alignment requirement on CRYPTO_poly1305_finish.
|
||||
* Fix double-free under load.
|
||||
* Add some XTS tests.
|
||||
* Add EncodeHex and DecodeHex functions to test_util.h.
|
||||
* Revert "Replace aes_nohw with a bitsliced implementation."
|
||||
* Replace aes_nohw with a bitsliced implementation.
|
||||
* Switch HRSS inversion algorithm.
|
||||
* Run EVP_CIPHER tests in-place.
|
||||
* Add an option to disable SSE2 intrinsics for testing.
|
||||
* Dummy change to trigger master-with-bazel builder.
|
||||
* Drop use of alignas(64) in aead_test.cc
|
||||
* Add standalone CMake build to generate_build_files.py
|
||||
* TLS 1.3 split handshake initial support.
|
||||
* Import Wycheproof primality tests.
|
||||
* Split BN_prime_checks into two constants for generation and validation.
|
||||
* Add some Miller-Rabin tests from Wycheproof.
|
||||
* Import Wycheproof PKCS#1 decrypt tests.
|
||||
* Import Wycheproof OAEP tests.
|
||||
* Import Wycheproof PKCS#1 signing tests.
|
||||
* Skip JWK keys when converting Wycheproof tests.
|
||||
* Import Wycheproof's size-specific RSA PKCS#1 verifying tests.
|
||||
* Handle "acceptable" Wycheproof inputs unambiguously.
|
||||
* Import Wycheproof XChaCha20-Poly1305 tests.
|
||||
* Import Wycheproof HMAC tests.
|
||||
* Import Wycheproof HKDF tests.
|
||||
* bytestring: add methods for int64.
|
||||
* Update Wycheproof test vectors.
|
||||
* Add mock QUIC transport to runner
|
||||
* Add test vectors for CVE-2019-1551 (not affected).
|
||||
* Fix check_bn_tests.go.
|
||||
* Fix MSan error in SSLTest.Handoff test.
|
||||
* SSLTest.Handoff: extend to include a session resumption.
|
||||
* inject_hash preserves filemode
|
||||
* Move TLS 1.3 state machine constants to internal.h.
|
||||
* Add a ppc64le ABI tester.
|
||||
* Allocate small TLS read buffers inline.
|
||||
* Remove unused labels from ARM ABI test assembly.
|
||||
* Update AAPCS and AAPCS64 links.
|
||||
* Fix EVP_has_aes_hardware on ppc64le.
|
||||
* Remove remnants of end_of_early_data alert from tests.
|
||||
* Add a test for ERR_error_string_n.
|
||||
* Remove post-quantum experiment signal extension.
|
||||
* Give ERR_error_string_n a return value for convenience.
|
||||
* Defer early keys to QUIC clients to after certificate reverification.
|
||||
* Defer releasing early secrets to QUIC servers.
|
||||
* Halve the size of the kNIDsIn* constants
|
||||
* modulewrapper: manage buffer with |unique_ptr|.
|
||||
* Add missing boringssl_prefix_symbols_asm.h include.
|
||||
* acvptool: add support for ECDSA
|
||||
* Inline gcm_init_4bit into gcm_init_ssse3.
|
||||
* Vectorize gcm_mul32_nohw and replace gcm_gmult_4bit_mmx.
|
||||
* Add a constant-time fallback GHASH implementation.
|
||||
* Conditionally define PTRACE_O_EXITKILL in urandom_test.cc
|
||||
* Fix build warning if _SCL_SECURE_NO_WARNINGS is defined globally
|
||||
* modulewrapper: use a raw string.
|
||||
* acvptool: add license headers.
|
||||
* Enable TLS 1.3 by default.
|
||||
* acvptool: Add support for DRBG
|
||||
* Discard user_canceled alerts in TLS 1.3.
|
||||
* Work around more C language bugs with empty spans.
|
||||
* No-op commit to test the new builder.
|
||||
* acvptool: Add support for HMAC
|
||||
* Add stub functions for RSA-PSS keygen parameters.
|
||||
* HelloRetryRequest getter
|
||||
* Add break-tests-android.sh script.
|
||||
* Add compatibility functions for sigalgs
|
||||
* Run AES-192-GCM in CAVP tests.
|
||||
* Rename a number of BUF_* functions to OPENSSL_*.
|
||||
* List bn_div fuzzer in documentation.
|
||||
* Reenable bn_div fuzzer.
|
||||
* Drop CECPQ2b code.
|
||||
* Add urandom_test to all_tests.json
|
||||
* Fix the standalone Android FIPS build.
|
||||
* Add sanity checks to FIPS module construction.
|
||||
* Correct relative path.
|
||||
* Add test for urandom.c
|
||||
* break-hash.go: Search ELF dynamic symbols if symbols not found.
|
||||
* Fix $OPENSSL_ia32cap handling.
|
||||
* Switch probable_prime to rejection sampling.
|
||||
* Rename the last remnants of the early_data_info extension.
|
||||
* Fix up BN_GENCB_call calls.
|
||||
* Do fewer trial divisions for larger RSA keygens.
|
||||
* Fix GRND_NONBLOCK flag when calling getrandom.
|
||||
* Simplify bn_miller_rabin_iteration slightly.
|
||||
* Add some notes on RSA key generation performance.
|
||||
* Break early on composites in the primality test.
|
||||
* Extract and test the deterministic part of Miller-Rabin.
|
||||
* Fix the FIPS + fuzzing build.
|
||||
* FIPS.md: document some recent Android changes.
|
||||
* Add a function to derive an EC key from some input secret.
|
||||
* Fix run_android_tests.go with shared library builds.
|
||||
* No-op change to test new builders.
|
||||
* Move no-exec-stack sections outside of #ifs.
|
||||
* Add |SSL_get_min_proto_version| and |SSL_get_max_proto_version|
|
||||
* Make FIPS build work for Android cross-compile.
|
||||
* Enable optional GRND_RANDOM flag to be passed to getrandom on Android.
|
||||
* Switch cert_compression_algs to GrowableArray.
|
||||
* Add GrowableArray<T> to ssl/internal.h.
|
||||
* Fixed quic_method lookup in TLS 1.3 server side handshake.
|
||||
* Add .note.GNU-stack at the source level.
|
||||
* -Wno-vla -> -Wvla
|
||||
* Add an option for explicit renegotiations.
|
||||
* tool: add -json flag to |speed|
|
||||
* Set -Wno-vla.
|
||||
* Use a pointer to module_hash in boringssl_fips_self_test() args.
|
||||
* Use a smaller hex digest in FIPS flag files when SHA-256 used.
|
||||
* Switch to using SHA-256 for FIPS integrity check on Android.
|
||||
* Use getentropy on macOS 10.12 and later.
|
||||
* Move #include of "internal.h", which defines |OPENSSL_URANDOM|.
|
||||
* Style nit.
|
||||
* Assert that BN_CTX_end is actually called.
|
||||
* Test some known large primes.
|
||||
* Test some Euler pseudoprimes.
|
||||
* Be consistent about Miller-Rabin vs Rabin-Miller.
|
||||
* fix build with armv6 Error: .size expression for _vpaes_decrypt_consts does not evaluate to a constant
|
||||
* Mark ssl_early_data_reason_t values stable.
|
||||
* Make the dispatch tests opt-in.
|
||||
* Bound the number of API calls in ssl_ctx_api.cc.
|
||||
* Only attempt to mprotect FIPS module for AArch64.
|
||||
* Opportunistically read entropy from the OS in FIPS mode.
|
||||
* Update INSTANTIATE_TEST_SUITE_P calls missing first argument.
|
||||
* Ignore build32 and build64 subdirectories.
|
||||
* Add page protection logic to BCM self test.
|
||||
* Disable unwind tests in FIPS mode.
|
||||
* Disable RDRAND on AMD family 0x17, models 0x70–0x7f.
|
||||
* Don't allow SGC EKUs for server certificates.
|
||||
* Add |SSL_CIPHER_get_value| to get the IANA number of a cipher suite.
|
||||
* Add XOF compilation compatibility flags
|
||||
* Replace BIO_printf with ASN1_STRING_print in GENERAL_NAME_print
|
||||
* Trigger a build on the ARM mode builder.
|
||||
* Fix vpaes-armv7.pl in ARM mode.
|
||||
* Add AES-192-GCM support to EVP_AEAD.
|
||||
* Add AES-256 CFB to libdecrepit.
|
||||
* Parse explicit EC curves more strictly.
|
||||
* Use the Go 1.13 standard library ed25519.
|
||||
* Update build tools.
|
||||
* Use ScopedEVP_AEAD_CTX in ImplDispatchTest.AEAD_AES_GCM.
|
||||
* Use a mix of bsaes and vpaes for CTR on NEON.
|
||||
* Use vpaes + conversion to setup CBC decrypt on NEON.
|
||||
* Add NEON vpaes-to-bsaes key converters.
|
||||
* Add vpaes-armv7.pl and replace non-parallel modes.
|
||||
* Correct comments for x86_64 _vpaes_encrypt_core_2x.
|
||||
* Add benchmarks for AES block operations.
|
||||
* Only write self test flag files if an environment variable is set.
|
||||
* Const-correct EC_KEY_set_public_key_affine_coordinates.
|
||||
* Revert "Fix VS build when assembler is enabled"
|
||||
* Support compilation via emscripten
|
||||
* Fix cross-compile of Android on Windows.
|
||||
* Move the config->async check into RetryAsync.
|
||||
* Clear *out in ReadHandshakeData's empty case.
|
||||
* Add initial support for 0-RTT with QUIC.
|
||||
* Have some more fun with spans.
|
||||
* Add OPENSSL_FALLTHROUGH to a few files.
|
||||
* Limit __attribute__ ((fallthrough)) to Clang >= 5.
|
||||
* Make |EVP_CIPHER_CTX_reset| return one.
|
||||
* Add Fallthru support for clang 10.
|
||||
* Add self-test suppression flag file for Android FIPS builds.
|
||||
* Align 0-RTT and resumption state machines slightly
|
||||
* Require getrandom in Android FIPS builds.
|
||||
* acvp: allow passing custom subprocess I/O.
|
||||
* Add a function to convert SSL_ERROR_* values to strings.
|
||||
* Fold SSL_want constants into SSL_get_error constants.
|
||||
* Use spans for the various TLS 1.3 secrets.
|
||||
* Switch another low-level function to spans.
|
||||
* Switch tls13_enc.cc to spans.
|
||||
* Check the second ClientHello's PSK binder on resumption.
|
||||
* Introduce libcrypto_bcm_sources for Android.
|
||||
* Remove stale TODO.
|
||||
* Add an android-cmake option to generate_build_files.py
|
||||
* Add a QUIC test for HelloRetryRequest.
|
||||
* Add missing ".text" to Windows code for dummy_chacha20_poly1305_asm
|
||||
* Update TODO to note that Clang git doesn't have the POWER bug.
|
||||
* Fix paths in break-tests.sh.
|
||||
* Fix POWER build with OPENSSL_NO_ASM.
|
||||
* Workaround Clang bug on POWER.
|
||||
* Add assembly support for -fsanitize=hwaddress tagged globals.
|
||||
* Fix typo in valgrind constant-time annotations.
|
||||
* acvp: add support for AES-ECB and AES-CBC.
|
||||
* Fix misspelled TODO.
|
||||
* Move CCM fragments out of the FIPS module.
|
||||
* Add EVP_PKEY_base_id.
|
||||
* Add some project links to README.md.
|
||||
* Make alert_dispatch into a bool.
|
||||
* Trim some more per-connection memory.
|
||||
* Remove SSL_export_early_keying_material.
|
||||
* Add EVP_PKEY support for X25519.
|
||||
* Make EVP_PKEY_bits return 253 for Ed25519.
|
||||
* Make SSL_get_servername work in the early callback.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 10 20:00:43 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
|
||||
+50
-32
@@ -18,23 +18,26 @@
|
||||
|
||||
%define sover 1
|
||||
%define libname libboringssl%{sover}
|
||||
%define src_install_dir /usr/src/%{name}
|
||||
Name: boringssl
|
||||
Version: 20190916
|
||||
Version: 20200122
|
||||
Release: 0
|
||||
Summary: An SSL/TLS protocol implementation
|
||||
License: OpenSSL
|
||||
Group: Development/Sources
|
||||
URL: https://boringssl.googlesource.com/boringssl/
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
Patch1: 0001-add-soversion-option.patch
|
||||
Patch2: 0002-crypto-Fix-aead_test-build-on-aarch64.patch
|
||||
Patch3: 0003-enable-s390x-builds.patch
|
||||
Patch4: 0004-fix-alignment-for-ppc64le.patch
|
||||
Patch5: 0005-fix-alignment-for-arm.patch
|
||||
Patch0: 0002-crypto-Fix-aead_test-build-on-aarch64.patch
|
||||
Patch1: 0003-enable-s390x-builds.patch
|
||||
Patch2: 0004-fix-alignment-for-ppc64le.patch
|
||||
Patch3: 0005-fix-alignment-for-arm.patch
|
||||
BuildRequires: cmake >= 3.0
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: go
|
||||
BuildRequires: libunwind-devel
|
||||
BuildRequires: ninja
|
||||
BuildRequires: patchelf
|
||||
ExclusiveArch: %{ix86} x86_64 aarch64 s390x ppc64le %arm
|
||||
|
||||
%description
|
||||
@@ -43,6 +46,7 @@ Transport Layer Security (TLS) protocols, derived from OpenSSL.
|
||||
|
||||
%package -n %{libname}
|
||||
Summary: An SSL/TLS protocol implementation
|
||||
Group: Development/Sources
|
||||
Recommends: ca-certificates-mozilla
|
||||
|
||||
%description -n %{libname}
|
||||
@@ -51,6 +55,7 @@ Transport Layer Security (TLS) protocols, derived from OpenSSL.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for BoringSSL
|
||||
Group: Development/Sources
|
||||
Requires: %{libname} = %{version}
|
||||
|
||||
%description devel
|
||||
@@ -58,57 +63,70 @@ Development files for BoringSSL - an implementation of the Secure
|
||||
Sockets Layer (SSL) and Transport Layer Security (TLS) protocols,
|
||||
derived from OpenSSL.
|
||||
|
||||
%package source
|
||||
Summary: Source code of BoringSSL
|
||||
Group: Development/Sources
|
||||
BuildArch: noarch
|
||||
|
||||
%description source
|
||||
Source files for BoringSSL implementation
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%define _lto_cflags %{nil}
|
||||
%define __builder ninja
|
||||
%cmake \
|
||||
-DCMAKE_C_FLAGS="%{optflags} -pthread" \
|
||||
-DCMAKE_CXX_FLAGS="%{optflags} -pthread" \
|
||||
-DSOVERSION=%{sover}
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now"
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
install -D -m0755 build/crypto/libcrypto.so.%{sover} %{buildroot}%{_libdir}/libboringssl_crypto.so.%{sover}
|
||||
install -D -m0755 build/crypto/libcrypto.so %{buildroot}%{_libdir}/libboringssl_crypto.so
|
||||
install -D -m0755 build/ssl/libssl.so.%{sover} %{buildroot}%{_libdir}/libboringssl_ssl.so.%{sover}
|
||||
install -D -m0755 build/ssl/libssl.so %{buildroot}%{_libdir}/libboringssl_ssl.so
|
||||
install -D -m0755 build/decrepit/libdecrepit.so.%{sover} %{buildroot}%{_libdir}/libboringssl_decrepit.so.%{sover}
|
||||
install -D -m0755 build/decrepit/libdecrepit.so %{buildroot}%{_libdir}/libboringssl_decrepit.so
|
||||
install -D -m0755 build/libboringssl_gtest.so.%{sover} %{buildroot}%{_libdir}/libboringssl_gtest.so.%{sover}
|
||||
install -D -m0755 build/libboringssl_gtest.so %{buildroot}%{_libdir}/libboringssl_gtest.so
|
||||
# Install libraries
|
||||
install -D -m0755 build/libcrypto.so %{buildroot}%{_libdir}/libboringssl_crypto.so.%{sover}
|
||||
install -D -m0755 build/libssl.so %{buildroot}%{_libdir}/libboringssl_ssl.so.%{sover}
|
||||
# Add SOVER to SONAME fields in libraries
|
||||
patchelf --set-soname libboringssl_crypto.so.%{sover} %{buildroot}%{_libdir}/libboringssl_crypto.so.%{sover}
|
||||
patchelf --set-soname libboringssl_ssl.so.%{sover} %{buildroot}%{_libdir}/libboringssl_ssl.so.%{sover}
|
||||
# Create links from *.so to *.so.SOVER
|
||||
ln -sf libboringssl_crypto.so.%{sover} %{buildroot}%{_libdir}/libboringssl_crypto.so
|
||||
ln -sf libboringssl_ssl.so.%{sover} %{buildroot}%{_libdir}/libboringssl_ssl.so
|
||||
|
||||
# Install sources
|
||||
rm -rf build/
|
||||
mkdir -p %{buildroot}%{src_install_dir}
|
||||
cp -r * %{buildroot}%{src_install_dir}
|
||||
%fdupes %{buildroot}%{src_install_dir}
|
||||
# Fix arch-independent-package-contains-binary-or-object
|
||||
find %{buildroot}%{src_install_dir} -type f \( -name "*.a" -o -name "*.lib" -o -name "*.o" \) -exec rm -f "{}" +
|
||||
# Fix non-executable-script warning.
|
||||
find %{buildroot}%{src_install_dir} -type f -name "*.sh" -exec chmod +x "{}" +
|
||||
# Fix env-script-interpreter error.
|
||||
find %{buildroot}%{src_install_dir} -type f -name "*.pl" -exec sed -i 's|#!.*/usr/bin/env perl|#!/usr/bin/perl|' "{}" +
|
||||
find %{buildroot}%{src_install_dir} -type f -name "*.py" -exec sed -i 's|#!.*/usr/bin/env python.*|#!/usr/bin/python3|' "{}" +
|
||||
find %{buildroot}%{src_install_dir} -type f -name "*.sh" -exec sed -i 's|#!.*/usr/bin/env bash|#!/bin/bash|' "{}" +
|
||||
|
||||
# To avoid conflicts with openssl development files, change all includes from
|
||||
# openssl to boringssl.
|
||||
# BoringSSL headers provided by this pachage are installed in
|
||||
# /usr/include/boringssl for the same reason.
|
||||
find include/openssl -type f -exec sed -i 's/openssl/boringssl/' "{}" +
|
||||
find src/include/openssl -type f -exec sed -i 's/openssl/boringssl/' "{}" +
|
||||
|
||||
find include/openssl -type f -execdir install -D -m0644 "{}" "%{buildroot}%{_includedir}/boringssl/{}" \;
|
||||
find src/include/openssl -type f -execdir install -D -m0644 "{}" "%{buildroot}%{_includedir}/boringssl/{}" \;
|
||||
|
||||
%post -n %{libname} -p /sbin/ldconfig
|
||||
%postun -n %{libname} -p /sbin/ldconfig
|
||||
|
||||
%files -n %{libname}
|
||||
%doc README.md
|
||||
%doc src/README.md
|
||||
%license LICENSE
|
||||
%{_libdir}/libboringssl_crypto.so.%{sover}
|
||||
%{_libdir}/libboringssl_ssl.so.%{sover}
|
||||
%{_libdir}/libboringssl_decrepit.so.%{sover}
|
||||
%{_libdir}/libboringssl_gtest.so.%{sover}
|
||||
|
||||
%files devel
|
||||
%{_includedir}/boringssl
|
||||
%{_libdir}/libboringssl_crypto.so
|
||||
%{_libdir}/libboringssl_ssl.so
|
||||
%{_libdir}/libboringssl_decrepit.so
|
||||
%{_libdir}/libboringssl_gtest.so
|
||||
|
||||
%files source
|
||||
%{src_install_dir}
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="filename">boringssl</param>
|
||||
<param name="versionformat">%cd</param>
|
||||
<param name="revision">chromium-stable</param>
|
||||
<param name="revision">1c2769383f027befac5b75b6cedd25daf3bf4dcf</param>
|
||||
</service>
|
||||
<service mode="disabled" name="recompress">
|
||||
<param name="file">*.tar</param>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://boringssl.googlesource.com/boringssl</param>
|
||||
<param name="changesrevision">6f3e034fe58ce3bca3c1c32be6d603a6206c89af</param></service></servicedata>
|
||||
<param name="changesrevision">1c2769383f027befac5b75b6cedd25daf3bf4dcf</param></service></servicedata>
|
||||
@@ -1,110 +0,0 @@
|
||||
From e23b950bc30e196937861b7b167a5f520c8b2118 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Rostecki <mrostecki@suse.de>
|
||||
Date: Tue, 6 Nov 2018 20:29:25 +0100
|
||||
Subject: [PATCH] cmake: Add SOVERSION option
|
||||
|
||||
The SOVERSION option allows to version the shared library. Version
|
||||
defined there is 0 and the versioned library files have extension
|
||||
`so.0`. Optional soversion is helpful for packaging and making a
|
||||
difference between `lib*` package (which contains `.so.0` file)
|
||||
and `*-devel` package (which contains `.so` file).
|
||||
|
||||
Change-Id: If52a0657de0f524a2c40cb51a6e9c36aac87024d
|
||||
---
|
||||
BUILDING.md | 3 +++
|
||||
CMakeLists.txt | 8 ++++++++
|
||||
crypto/CMakeLists.txt | 6 ++++++
|
||||
decrepit/CMakeLists.txt | 6 ++++++
|
||||
ssl/CMakeLists.txt | 6 ++++++
|
||||
5 files changed, 29 insertions(+)
|
||||
|
||||
Index: boringssl-20190916/BUILDING.md
|
||||
===================================================================
|
||||
--- boringssl-20190916.orig/BUILDING.md
|
||||
+++ boringssl-20190916/BUILDING.md
|
||||
@@ -78,6 +78,9 @@ Windows, where functions need to be tagg
|
||||
shared library, define `BORINGSSL_SHARED_LIBRARY` in any code which `#include`s
|
||||
the BoringSSL headers.
|
||||
|
||||
+If you want to build a shared library with versioned `.so` files (`.so.0`), pass
|
||||
+`-DSOVERSION=1`.
|
||||
+
|
||||
In order to serve environments where code-size is important as well as those
|
||||
where performance is the overriding concern, `OPENSSL_SMALL` can be defined to
|
||||
remove some code that is especially large.
|
||||
Index: boringssl-20190916/CMakeLists.txt
|
||||
===================================================================
|
||||
--- boringssl-20190916.orig/CMakeLists.txt
|
||||
+++ boringssl-20190916/CMakeLists.txt
|
||||
@@ -1,5 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
+set(boringssl_SOVERSION 1)
|
||||
+
|
||||
# Defer enabling C and CXX languages.
|
||||
project(BoringSSL NONE)
|
||||
|
||||
@@ -536,6 +538,12 @@ endif()
|
||||
# Add minimal googletest targets. The provided one has many side-effects, and
|
||||
# googletest has a very straightforward build.
|
||||
add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc)
|
||||
+if(BUILD_SHARED_LIBS AND SOVERSION)
|
||||
+ set_target_properties(
|
||||
+ boringssl_gtest PROPERTIES
|
||||
+ SOVERSION ${boringssl_SOVERSION}
|
||||
+ )
|
||||
+endif()
|
||||
target_include_directories(boringssl_gtest PRIVATE third_party/googletest)
|
||||
|
||||
include_directories(third_party/googletest/include)
|
||||
Index: boringssl-20190916/crypto/CMakeLists.txt
|
||||
===================================================================
|
||||
--- boringssl-20190916.orig/crypto/CMakeLists.txt
|
||||
+++ boringssl-20190916/crypto/CMakeLists.txt
|
||||
@@ -420,6 +420,12 @@ add_library(
|
||||
${CRYPTO_ARCH_SOURCES}
|
||||
${CRYPTO_FIPS_OBJECTS}
|
||||
)
|
||||
+if(BUILD_SHARED_LIBS AND SOVERSION)
|
||||
+ set_target_properties(
|
||||
+ crypto PROPERTIES
|
||||
+ SOVERSION ${boringssl_SOVERSION}
|
||||
+ )
|
||||
+endif()
|
||||
|
||||
if(FIPS_SHARED)
|
||||
# Rewrite libcrypto.so to inject the correct module hash value. This assumes
|
||||
Index: boringssl-20190916/decrepit/CMakeLists.txt
|
||||
===================================================================
|
||||
--- boringssl-20190916.orig/decrepit/CMakeLists.txt
|
||||
+++ boringssl-20190916/decrepit/CMakeLists.txt
|
||||
@@ -21,6 +21,12 @@ add_library(
|
||||
x509/x509_decrepit.c
|
||||
xts/xts.c
|
||||
)
|
||||
+if(BUILD_SHARED_LIBS AND SOVERSION)
|
||||
+ set_target_properties(
|
||||
+ decrepit PROPERTIES
|
||||
+ SOVERSION ${boringssl_SOVERSION}
|
||||
+ )
|
||||
+endif()
|
||||
|
||||
add_dependencies(decrepit global_target)
|
||||
|
||||
Index: boringssl-20190916/ssl/CMakeLists.txt
|
||||
===================================================================
|
||||
--- boringssl-20190916.orig/ssl/CMakeLists.txt
|
||||
+++ boringssl-20190916/ssl/CMakeLists.txt
|
||||
@@ -40,6 +40,12 @@ add_library(
|
||||
tls13_enc.cc
|
||||
tls13_server.cc
|
||||
)
|
||||
+if(BUILD_SHARED_LIBS AND SOVERSION)
|
||||
+ set_target_properties(
|
||||
+ ssl PROPERTIES
|
||||
+ SOVERSION ${boringssl_SOVERSION}
|
||||
+ )
|
||||
+endif()
|
||||
|
||||
add_dependencies(ssl global_target)
|
||||
|
||||
@@ -27,13 +27,13 @@ aead_test.cc:586:50: error: requested alignment 64 is larger than 16 [-Werror=at
|
||||
Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
|
||||
Change-Id: Iac2c6810fa260ad214abde8db733793ac914acda
|
||||
---
|
||||
crypto/cipher_extra/aead_test.cc | 20 +++++++++++++-------
|
||||
src/crypto/cipher_extra/aead_test.cc | 20 +++++++++++++-------
|
||||
1 file changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: boringssl-20190523/crypto/cipher_extra/aead_test.cc
|
||||
Index: boringssl-20200122/src/crypto/cipher_extra/aead_test.cc
|
||||
===================================================================
|
||||
--- boringssl-20190523.orig/crypto/cipher_extra/aead_test.cc
|
||||
+++ boringssl-20190523/crypto/cipher_extra/aead_test.cc
|
||||
--- boringssl-20200122.orig/src/crypto/cipher_extra/aead_test.cc
|
||||
+++ boringssl-20200122/src/crypto/cipher_extra/aead_test.cc
|
||||
@@ -29,6 +29,12 @@
|
||||
#include "../test/test_util.h"
|
||||
#include "../test/wycheproof_util.h"
|
||||
@@ -47,45 +47,3 @@ Index: boringssl-20190523/crypto/cipher_extra/aead_test.cc
|
||||
|
||||
struct KnownAEAD {
|
||||
const char name[40];
|
||||
@@ -540,10 +546,10 @@ TEST_P(PerAEADTest, AliasedBuffers) {
|
||||
}
|
||||
|
||||
TEST_P(PerAEADTest, UnalignedInput) {
|
||||
- alignas(64) uint8_t key[EVP_AEAD_MAX_KEY_LENGTH + 1];
|
||||
- alignas(64) uint8_t nonce[EVP_AEAD_MAX_NONCE_LENGTH + 1];
|
||||
- alignas(64) uint8_t plaintext[32 + 1];
|
||||
- alignas(64) uint8_t ad[32 + 1];
|
||||
+ alignas(ALIGN_BYTES) uint8_t key[EVP_AEAD_MAX_KEY_LENGTH + 1];
|
||||
+ alignas(ALIGN_BYTES) uint8_t nonce[EVP_AEAD_MAX_NONCE_LENGTH + 1];
|
||||
+ alignas(ALIGN_BYTES) uint8_t plaintext[32 + 1];
|
||||
+ alignas(ALIGN_BYTES) uint8_t ad[32 + 1];
|
||||
OPENSSL_memset(key, 'K', sizeof(key));
|
||||
OPENSSL_memset(nonce, 'N', sizeof(nonce));
|
||||
OPENSSL_memset(plaintext, 'P', sizeof(plaintext));
|
||||
@@ -561,7 +567,7 @@ TEST_P(PerAEADTest, UnalignedInput) {
|
||||
ASSERT_TRUE(EVP_AEAD_CTX_init_with_direction(
|
||||
ctx.get(), aead(), key + 1, key_len, EVP_AEAD_DEFAULT_TAG_LENGTH,
|
||||
evp_aead_seal));
|
||||
- alignas(64) uint8_t ciphertext[sizeof(plaintext) + EVP_AEAD_MAX_OVERHEAD];
|
||||
+ alignas(ALIGN_BYTES) uint8_t ciphertext[sizeof(plaintext) + EVP_AEAD_MAX_OVERHEAD];
|
||||
size_t ciphertext_len;
|
||||
ASSERT_TRUE(EVP_AEAD_CTX_seal(ctx.get(), ciphertext + 1, &ciphertext_len,
|
||||
sizeof(ciphertext) - 1, nonce + 1, nonce_len,
|
||||
@@ -569,7 +575,7 @@ TEST_P(PerAEADTest, UnalignedInput) {
|
||||
ad_len));
|
||||
|
||||
// It must successfully decrypt.
|
||||
- alignas(64) uint8_t out[sizeof(ciphertext)];
|
||||
+ alignas(ALIGN_BYTES) uint8_t out[sizeof(ciphertext)];
|
||||
ctx.Reset();
|
||||
ASSERT_TRUE(EVP_AEAD_CTX_init_with_direction(
|
||||
ctx.get(), aead(), key + 1, key_len, EVP_AEAD_DEFAULT_TAG_LENGTH,
|
||||
@@ -583,7 +589,7 @@ TEST_P(PerAEADTest, UnalignedInput) {
|
||||
}
|
||||
|
||||
TEST_P(PerAEADTest, Overflow) {
|
||||
- alignas(64) uint8_t key[EVP_AEAD_MAX_KEY_LENGTH];
|
||||
+ alignas(ALIGN_BYTES) uint8_t key[EVP_AEAD_MAX_KEY_LENGTH];
|
||||
OPENSSL_memset(key, 'K', sizeof(key));
|
||||
|
||||
bssl::ScopedEVP_AEAD_CTX ctx;
|
||||
|
||||
@@ -7,17 +7,17 @@ similar to the aarch64 patch, covering
|
||||
- recognition of architecture
|
||||
- adapting memory alignment
|
||||
---
|
||||
CMakeLists.txt | 2 ++
|
||||
crypto/cipher_extra/aead_test.cc | 2 ++
|
||||
crypto/poly1305/poly1305_test.cc | 9 +++++++--
|
||||
include/openssl/base.h | 3 +++
|
||||
CMakeLists.txt | 2 ++
|
||||
src/crypto/cipher_extra/aead_test.cc | 2 ++
|
||||
src/crypto/poly1305/poly1305_test.cc | 9 +++++++--
|
||||
src/include/openssl/base.h | 3 +++
|
||||
4 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c06b700e5144..80c9383b9af8 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -469,6 +469,8 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "mips")
|
||||
Index: boringssl-20200122/CMakeLists.txt
|
||||
===================================================================
|
||||
--- boringssl-20200122.orig/CMakeLists.txt
|
||||
+++ boringssl-20200122/CMakeLists.txt
|
||||
@@ -93,6 +93,8 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUA
|
||||
set(ARCH "generic")
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le")
|
||||
set(ARCH "ppc64le")
|
||||
@@ -26,10 +26,10 @@ index c06b700e5144..80c9383b9af8 100644
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
diff --git a/crypto/cipher_extra/aead_test.cc b/crypto/cipher_extra/aead_test.cc
|
||||
index fd20ebc77b67..4c079e843321 100644
|
||||
--- a/crypto/cipher_extra/aead_test.cc
|
||||
+++ b/crypto/cipher_extra/aead_test.cc
|
||||
Index: boringssl-20200122/src/crypto/cipher_extra/aead_test.cc
|
||||
===================================================================
|
||||
--- boringssl-20200122.orig/src/crypto/cipher_extra/aead_test.cc
|
||||
+++ boringssl-20200122/src/crypto/cipher_extra/aead_test.cc
|
||||
@@ -31,6 +31,8 @@
|
||||
|
||||
#if defined(OPENSSL_AARCH64)
|
||||
@@ -39,10 +39,10 @@ index fd20ebc77b67..4c079e843321 100644
|
||||
#else
|
||||
#define ALIGN_BYTES 64
|
||||
#endif
|
||||
diff --git a/crypto/poly1305/poly1305_test.cc b/crypto/poly1305/poly1305_test.cc
|
||||
index 198cca12dae5..43cd95c8eb86 100644
|
||||
--- a/crypto/poly1305/poly1305_test.cc
|
||||
+++ b/crypto/poly1305/poly1305_test.cc
|
||||
Index: boringssl-20200122/src/crypto/poly1305/poly1305_test.cc
|
||||
===================================================================
|
||||
--- boringssl-20200122.orig/src/crypto/poly1305/poly1305_test.cc
|
||||
+++ boringssl-20200122/src/crypto/poly1305/poly1305_test.cc
|
||||
@@ -25,6 +25,11 @@
|
||||
#include "../test/file_test.h"
|
||||
#include "../test/test_util.h"
|
||||
@@ -55,28 +55,10 @@ index 198cca12dae5..43cd95c8eb86 100644
|
||||
|
||||
static void TestSIMD(unsigned excess, const std::vector<uint8_t> &key,
|
||||
const std::vector<uint8_t> &in,
|
||||
@@ -63,7 +68,7 @@ static void TestSIMD(unsigned excess, const std::vector<uint8_t> &key,
|
||||
CRYPTO_poly1305_update(&state, in.data() + done, in.size() - done);
|
||||
|
||||
// |CRYPTO_poly1305_finish| requires a 16-byte-aligned output.
|
||||
- alignas(16) uint8_t out[16];
|
||||
+ alignas(ALIGN_BYTES) uint8_t out[16];
|
||||
CRYPTO_poly1305_finish(&state, out);
|
||||
EXPECT_EQ(Bytes(out), Bytes(mac)) << "SIMD pattern " << excess << " failed.";
|
||||
}
|
||||
@@ -82,7 +87,7 @@ TEST(Poly1305Test, TestVectors) {
|
||||
CRYPTO_poly1305_init(&state, key.data());
|
||||
CRYPTO_poly1305_update(&state, in.data(), in.size());
|
||||
// |CRYPTO_poly1305_finish| requires a 16-byte-aligned output.
|
||||
- alignas(16) uint8_t out[16];
|
||||
+ alignas(ALIGN_BYTES) uint8_t out[16];
|
||||
CRYPTO_poly1305_finish(&state, out);
|
||||
EXPECT_EQ(Bytes(out), Bytes(mac)) << "Single-shot Poly1305 failed.";
|
||||
|
||||
diff --git a/include/openssl/base.h b/include/openssl/base.h
|
||||
index cb1affacacce..2e29644ceadf 100644
|
||||
--- a/include/openssl/base.h
|
||||
+++ b/include/openssl/base.h
|
||||
Index: boringssl-20200122/src/include/openssl/base.h
|
||||
===================================================================
|
||||
--- boringssl-20200122.orig/src/include/openssl/base.h
|
||||
+++ boringssl-20200122/src/include/openssl/base.h
|
||||
@@ -99,6 +99,9 @@ extern "C" {
|
||||
#elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
|
||||
#define OPENSSL_64_BIT
|
||||
@@ -87,6 +69,3 @@ index cb1affacacce..2e29644ceadf 100644
|
||||
#elif defined(__mips__) && !defined(__LP64__)
|
||||
#define OPENSSL_32_BIT
|
||||
#define OPENSSL_MIPS
|
||||
--
|
||||
2.24.0
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ Date: Wed, 4 Dec 2019 08:23:17 +0100
|
||||
Subject: [PATCH 4/4] fix alignment for ppc64le
|
||||
|
||||
---
|
||||
crypto/cipher_extra/aead_test.cc | 2 +-
|
||||
src/crypto/cipher_extra/aead_test.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/crypto/cipher_extra/aead_test.cc b/crypto/cipher_extra/aead_test.cc
|
||||
index 4c079e843321..2c7e116a4aad 100644
|
||||
--- a/crypto/cipher_extra/aead_test.cc
|
||||
+++ b/crypto/cipher_extra/aead_test.cc
|
||||
--- a/src/crypto/cipher_extra/aead_test.cc
|
||||
+++ b/src/crypto/cipher_extra/aead_test.cc
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "../test/test_util.h"
|
||||
#include "../test/wycheproof_util.h"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -purN boringssl-20190916.orig/crypto/cipher_extra/aead_test.cc boringssl-20190916/crypto/cipher_extra/aead_test.cc
|
||||
--- boringssl-20190916.orig/crypto/cipher_extra/aead_test.cc 2020-03-10 20:57:53.383996634 +0100
|
||||
+++ boringssl-20190916/crypto/cipher_extra/aead_test.cc 2020-03-10 20:59:03.108731229 +0100
|
||||
--- boringssl-20190916.orig/src/crypto/cipher_extra/aead_test.cc 2020-03-10 20:57:53.383996634 +0100
|
||||
+++ boringssl-20190916/src/crypto/cipher_extra/aead_test.cc 2020-03-10 20:59:03.108731229 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#if defined(OPENSSL_AARCH64) || defined(OPENSSL_PPC64LE)
|
||||
@@ -11,8 +11,8 @@ diff -purN boringssl-20190916.orig/crypto/cipher_extra/aead_test.cc boringssl-20
|
||||
#else
|
||||
#define ALIGN_BYTES 64
|
||||
diff -purN boringssl-20190916.orig/crypto/poly1305/poly1305_test.cc boringssl-20190916/crypto/poly1305/poly1305_test.cc
|
||||
--- boringssl-20190916.orig/crypto/poly1305/poly1305_test.cc 2020-03-10 20:57:53.363996424 +0100
|
||||
+++ boringssl-20190916/crypto/poly1305/poly1305_test.cc 2020-03-10 21:08:32.606731399 +0100
|
||||
--- boringssl-20190916.orig/src/crypto/poly1305/poly1305_test.cc 2020-03-10 20:57:53.363996424 +0100
|
||||
+++ boringssl-20190916/src/crypto/poly1305/poly1305_test.cc 2020-03-10 21:08:32.606731399 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "../test/file_test.h"
|
||||
#include "../test/test_util.h"
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user