SHA256
1
0
forked from pool/mbedtls-2
mbedtls-2/mbedtls-2.spec

168 lines
5.5 KiB
RPMSpec
Raw Normal View History

#
# spec file for package mbedtls-2
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lib_tls libmbedtls14
%define lib_crypto libmbedcrypto7
%define lib_x509 libmbedx509-1
%define _rname mbedtls
Name: mbedtls-2
Accepting request 1163794 from home:jaimeMF:branches:security:tls - Update to version 2.28.8: Features * AES-NI is now supported in Windows builds with clang and clang-cl. Resolves gh#Mbed-TLS/mbedtls#8372. * Add pc files for pkg-config, e.g.: pkg-config --cflags --libs (mbedtls|mbedcrypto|mbedx509) Security * Passing buffers that are stored in untrusted memory as arguments to PSA functions is now secure by default. The PSA core now protects against modification of inputs or exposure of intermediate outputs during operations. This is currently implemented by copying buffers. This feature increases code size and memory usage. If buffers passed to PSA functions are owned exclusively by the PSA core for the duration of the function call (i.e. no buffer parameters are in shared memory), copying may be disabled by setting MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS. Note that setting this option will cause input-output buffer overlap to be only partially supported (gh#Mbed-TLS/mbedtls#3266). Fixes CVE-2024-28960 boo#1222157 . Bugfix * Fix the build with CMake when Everest is enabled through a user configuration file or the compiler command line. Fixes gh#Mbed-TLS/mbedtls#8165. * Fix an inconsistency between implementations and usages of __cpuid, which mainly causes failures when building Windows target using mingw or clang. Fixes gh#Mbed-TLS/mbedtls#8334 & gh#Mbed-TLS/mbedtls#8332. * Correct initial capacities for key derivation algorithms: TLS12_PRF, TLS12_PSK_TO_MS. * Fix mbedtls_pk_get_bitlen() for RSA keys whose size is not a multiple of 8. Fixes gh#Mbed-TLS/mbedtls#868. * Avoid segmentation fault caused by releasing not initialized entropy resource in gen_key example. Fixes gh#Mbed-TLS/mbedtls#8809. * Fix missing bitflags in SSL session serialization headers. Their absence allowed SSL sessions saved in one configuration to be loaded in a different, incompatible configuration. * Fix the restoration of the ALPN when loading serialized connection with the mbedtls_ssl_context_load() API. * Fully support arbitrary overlap between inputs and outputs of PSA functions. Note that overlap is still only partially supported when MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS is set (gh#Mbed-TLS/mbedtls#3266). Changes * Use heap memory to allocate DER encoded public/private key. This reduces stack usage significantly for writing a public/private key to a PEM string. * cmake: Use GnuInstallDirs to customize install directories Replace custom LIB_INSTALL_DIR variable with standard CMAKE_INSTALL_LIBDIR variable. For backward compatibility, set CMAKE_INSTALL_LIBDIR if LIB_INSTALL_DIR is set. OBS-URL: https://build.opensuse.org/request/show/1163794 OBS-URL: https://build.opensuse.org/package/show/security:tls/mbedtls-2?expand=0&rev=14
2024-03-31 19:55:44 +02:00
Version: 2.28.8
Release: 0
Summary: Libraries for crypto and SSL/TLS protocols
License: Apache-2.0 OR GPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: https://tls.mbed.org
Source: https://github.com/ARMmbed/mbedtls/archive/v%{version}.tar.gz#/%{_rname}-%{version}.tar.gz
Source99: baselibs.conf
BuildRequires: cmake
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libpkcs11-helper-1)
BuildRequires: pkgconfig(zlib)
%{?suse_build_hwcaps_libs}
%description
mbedtls implements the SSL3, TLS 1.0, 1.1 and 1.2 protocols. It
supports a number of extensions such as SSL Session Tickets (RFC
5077), Server Name Indication (SNI) (RFC 6066), Truncated HMAC (RFC
6066), Max Fragment Length (RFC 6066), Secure Renegotiation (RFC
5746) and Application Layer Protocol Negotiation (ALPN). It
understands the RSA, (EC)DH(E)-RSA, (EC)DH(E)-PSK and RSA-PSK key
exchanges.
%package -n %{lib_tls}
Summary: Transport Layer Security protocol suite
Group: System/Libraries
%description -n %{lib_tls}
mbedtls implements the SSL 3.0, TLS 1.0, 1.1 and 1.2 protocols. It
supports a number of extensions such as SSL Session Tickets (RFC
5077), Server Name Indication (SNI) (RFC 6066), Truncated HMAC (RFC
6066), Max Fragment Length (RFC 6066), Secure Renegotiation (RFC
5746) and Application Layer Protocol Negotiation (ALPN). It
understands the RSA, (EC)DH(E)-RSA, (EC)DH(E)-PSK and RSA-PSK key
exchanges.
%package -n %{lib_crypto}
Summary: Cryptographic base library for mbedtls
Group: System/Libraries
%description -n %{lib_crypto}
This subpackage of mbedtls contains a library that exposes
cryptographic ciphers, hashes, algorithms and format support such as
AES, MD5, SHA, Elliptic Curves, BigNum, PKCS, ASN.1, BASE64.
%package -n %{lib_x509}
Summary: Library to work with X.509 certificates
Group: System/Libraries
%description -n %{lib_x509}
This subpackage of mbedtls contains a library that can read, verify
and write X.509 certificates, read/write Certificate Signing Requests
and read Certificate Revocation Lists.
%package devel
Summary: Development files for mbedtls, a SSL/TLS library
Group: Development/Libraries/C and C++
Requires: %{lib_crypto} = %{version}
Requires: %{lib_tls} = %{version}
Requires: %{lib_x509} = %{version}
Provides: mbedtls-devel = %{version}-%{release}
Conflicts: mbedtls-devel >= 3
%description devel
This subpackage contains the development files for mbedtls,
a suite of libraries for cryptographic functions and the
SSL/TLS protocol suite.
%prep
%autosetup -p1 -n %{_rname}-%{version}
sed -i 's|//\(#define MBEDTLS_ZLIB_SUPPORT\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_HAVEGE_C\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_THREADING_C\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_THREADING_PTHREAD\)|\1|' include/mbedtls/config.h
%build
%define __builder ninja
export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
export CXXLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
%cmake \
-DUNSAFE_BUILD=ON \
-DLINK_WITH_PTHREAD=ON \
-DUSE_PKCS11_HELPER_LIBRARY=ON \
-DENABLE_ZLIB_SUPPORT=ON \
-DINSTALL_MBEDTLS_HEADERS=ON \
-DUSE_SHARED_MBEDTLS_LIBRARY=ON \
-DUSE_STATIC_MBEDTLS_LIBRARY=OFF \
-DENABLE_PROGRAMS=OFF \
-DCMAKE_POLICY_DEFAULT_CMP0012=NEW
%cmake_build
%install
%cmake_install
%check
# parallel execution fails
# %%ctest
pushd build
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
%{_bindir}/ctest --output-on-failure --force-new-ctest-process -j1
%post -n %{lib_tls} -p /sbin/ldconfig
%post -n %{lib_crypto} -p /sbin/ldconfig
%post -n %{lib_x509} -p /sbin/ldconfig
%postun -n %{lib_tls} -p /sbin/ldconfig
%postun -n %{lib_crypto} -p /sbin/ldconfig
%postun -n %{lib_x509} -p /sbin/ldconfig
%files devel
%license LICENSE
%doc ChangeLog README.md
%dir %{_includedir}/mbedtls
%dir %{_includedir}/psa
Accepting request 1163794 from home:jaimeMF:branches:security:tls - Update to version 2.28.8: Features * AES-NI is now supported in Windows builds with clang and clang-cl. Resolves gh#Mbed-TLS/mbedtls#8372. * Add pc files for pkg-config, e.g.: pkg-config --cflags --libs (mbedtls|mbedcrypto|mbedx509) Security * Passing buffers that are stored in untrusted memory as arguments to PSA functions is now secure by default. The PSA core now protects against modification of inputs or exposure of intermediate outputs during operations. This is currently implemented by copying buffers. This feature increases code size and memory usage. If buffers passed to PSA functions are owned exclusively by the PSA core for the duration of the function call (i.e. no buffer parameters are in shared memory), copying may be disabled by setting MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS. Note that setting this option will cause input-output buffer overlap to be only partially supported (gh#Mbed-TLS/mbedtls#3266). Fixes CVE-2024-28960 boo#1222157 . Bugfix * Fix the build with CMake when Everest is enabled through a user configuration file or the compiler command line. Fixes gh#Mbed-TLS/mbedtls#8165. * Fix an inconsistency between implementations and usages of __cpuid, which mainly causes failures when building Windows target using mingw or clang. Fixes gh#Mbed-TLS/mbedtls#8334 & gh#Mbed-TLS/mbedtls#8332. * Correct initial capacities for key derivation algorithms: TLS12_PRF, TLS12_PSK_TO_MS. * Fix mbedtls_pk_get_bitlen() for RSA keys whose size is not a multiple of 8. Fixes gh#Mbed-TLS/mbedtls#868. * Avoid segmentation fault caused by releasing not initialized entropy resource in gen_key example. Fixes gh#Mbed-TLS/mbedtls#8809. * Fix missing bitflags in SSL session serialization headers. Their absence allowed SSL sessions saved in one configuration to be loaded in a different, incompatible configuration. * Fix the restoration of the ALPN when loading serialized connection with the mbedtls_ssl_context_load() API. * Fully support arbitrary overlap between inputs and outputs of PSA functions. Note that overlap is still only partially supported when MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS is set (gh#Mbed-TLS/mbedtls#3266). Changes * Use heap memory to allocate DER encoded public/private key. This reduces stack usage significantly for writing a public/private key to a PEM string. * cmake: Use GnuInstallDirs to customize install directories Replace custom LIB_INSTALL_DIR variable with standard CMAKE_INSTALL_LIBDIR variable. For backward compatibility, set CMAKE_INSTALL_LIBDIR if LIB_INSTALL_DIR is set. OBS-URL: https://build.opensuse.org/request/show/1163794 OBS-URL: https://build.opensuse.org/package/show/security:tls/mbedtls-2?expand=0&rev=14
2024-03-31 19:55:44 +02:00
%dir %{_includedir}/everest
%dir %{_includedir}/everest/kremlib
%dir %{_includedir}/everest/kremlin
%dir %{_includedir}/everest/kremlin/internal
%dir %{_includedir}/everest/vs2010
%{_libdir}/pkgconfig/*.pc
%{_includedir}/mbedtls/*.h
%{_includedir}/psa/*.h
Accepting request 1163794 from home:jaimeMF:branches:security:tls - Update to version 2.28.8: Features * AES-NI is now supported in Windows builds with clang and clang-cl. Resolves gh#Mbed-TLS/mbedtls#8372. * Add pc files for pkg-config, e.g.: pkg-config --cflags --libs (mbedtls|mbedcrypto|mbedx509) Security * Passing buffers that are stored in untrusted memory as arguments to PSA functions is now secure by default. The PSA core now protects against modification of inputs or exposure of intermediate outputs during operations. This is currently implemented by copying buffers. This feature increases code size and memory usage. If buffers passed to PSA functions are owned exclusively by the PSA core for the duration of the function call (i.e. no buffer parameters are in shared memory), copying may be disabled by setting MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS. Note that setting this option will cause input-output buffer overlap to be only partially supported (gh#Mbed-TLS/mbedtls#3266). Fixes CVE-2024-28960 boo#1222157 . Bugfix * Fix the build with CMake when Everest is enabled through a user configuration file or the compiler command line. Fixes gh#Mbed-TLS/mbedtls#8165. * Fix an inconsistency between implementations and usages of __cpuid, which mainly causes failures when building Windows target using mingw or clang. Fixes gh#Mbed-TLS/mbedtls#8334 & gh#Mbed-TLS/mbedtls#8332. * Correct initial capacities for key derivation algorithms: TLS12_PRF, TLS12_PSK_TO_MS. * Fix mbedtls_pk_get_bitlen() for RSA keys whose size is not a multiple of 8. Fixes gh#Mbed-TLS/mbedtls#868. * Avoid segmentation fault caused by releasing not initialized entropy resource in gen_key example. Fixes gh#Mbed-TLS/mbedtls#8809. * Fix missing bitflags in SSL session serialization headers. Their absence allowed SSL sessions saved in one configuration to be loaded in a different, incompatible configuration. * Fix the restoration of the ALPN when loading serialized connection with the mbedtls_ssl_context_load() API. * Fully support arbitrary overlap between inputs and outputs of PSA functions. Note that overlap is still only partially supported when MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS is set (gh#Mbed-TLS/mbedtls#3266). Changes * Use heap memory to allocate DER encoded public/private key. This reduces stack usage significantly for writing a public/private key to a PEM string. * cmake: Use GnuInstallDirs to customize install directories Replace custom LIB_INSTALL_DIR variable with standard CMAKE_INSTALL_LIBDIR variable. For backward compatibility, set CMAKE_INSTALL_LIBDIR if LIB_INSTALL_DIR is set. OBS-URL: https://build.opensuse.org/request/show/1163794 OBS-URL: https://build.opensuse.org/package/show/security:tls/mbedtls-2?expand=0&rev=14
2024-03-31 19:55:44 +02:00
%{_includedir}/everest/*.h
%{_includedir}/everest/kremlib/*.h
%{_includedir}/everest/kremlin/*.h
%{_includedir}/everest/kremlin/internal/*.h
%{_includedir}/everest/vs2010/*.h
%{_libdir}/libmbedtls.so
%{_libdir}/libmbedcrypto.so
%{_libdir}/libmbedx509.so
%files -n %{lib_tls}
%license LICENSE
%{_libdir}/libmbedtls.so.*
%files -n %{lib_crypto}
%license LICENSE
%{_libdir}/libmbedcrypto.so.*
%files -n %{lib_x509}
%license LICENSE
%{_libdir}/libmbedx509.so.*
%changelog