Skip to content

Commit b06f161

Browse files
authored
upgrade to 3.7.2 (#21)
1 parent d245355 commit b06f161

File tree

864 files changed

+53116
-25866
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

864 files changed

+53116
-25866
lines changed

CMakeLists.txt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,33 @@ if(HAVE_NETINET_IP_H)
306306
add_definitions(-DHAVE_NETINET_IP_H)
307307
endif()
308308

309+
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64)")
310+
set(HOST_AARCH64 true)
311+
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")
312+
set(HOST_ARM true)
313+
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
314+
set(HOST_X86_64 true)
315+
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)")
316+
set(HOST_X86_64 true)
317+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "[i?86|x86]")
318+
set(ENABLE_ASM false)
319+
set(HOST_I386 true)
320+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips64")
321+
set(HOST_MIPS64 true)
322+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips")
323+
set(HOST_MIPS true)
324+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "powerpc")
325+
set(HOST_POWERPC true)
326+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "ppc64")
327+
set(HOST_PPC64 true)
328+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "riscv64")
329+
set(HOST_RISCV64 true)
330+
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "sparc64")
331+
set(HOST_SPARC64 true)
332+
else()
333+
set(ENABLE_ASM false)
334+
endif()
335+
309336
if(ENABLE_ASM)
310337
if("${CMAKE_C_COMPILER_ABI}" STREQUAL "ELF")
311338
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)")
@@ -361,13 +388,13 @@ else()
361388
set(LIBTLS_TEST_LIBS tls ${PLATFORM_LIBS})
362389
endif()
363390

391+
add_subdirectory(include)
364392
add_subdirectory(crypto)
365393
add_subdirectory(ssl)
366394
if(LIBRESSL_APPS)
367395
add_subdirectory(apps)
368396
endif()
369397
add_subdirectory(tls)
370-
add_subdirectory(include)
371398
if(NOT MSVC)
372399
add_subdirectory(man)
373400
endif()

ChangeLog

Lines changed: 113 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,129 @@ with relevant portions of the C library, to a Git repository. This makes it
1919
easier to follow all of the relevant changes to the upstream project in a
2020
single place:
2121

22-
https://github.com/libressl-portable/openbsd
22+
https://github.com/libressl/openbsd
2323

2424
The portable bits of the project are largely maintained out-of-tree, and their
2525
history is also available from Git.
2626

27-
https://github.com/libressl-portable/portable
27+
https://github.com/libressl/portable
2828

2929
LibreSSL Portable Release Notes:
3030

31-
3.6.2 - Stable release
31+
3.7.2 - Stable release
3232

33-
* Security fix
33+
* Portable changes
34+
- Moved official Github project to https://github.com/libressl/.
35+
- Build support for Apple Silicon.
36+
- Installed opensslconf.h is now architecture-specific.
37+
- Removed internal defines from opensslconf.h.
38+
- Support reproducible builds on tagged commits in main branch.
39+
40+
3.7.1 - Development release
41+
42+
* Internal improvements
43+
- Initial overhaul of the BIGNUM code:
44+
- Added a new framework that allows architecture-dependent
45+
replacement implementations for bignum primitives.
46+
- Imported various s2n-bignum's constant time assembly primitives
47+
and switched amd64 to them.
48+
- Lots of cleanup, simplification and bug fixes.
49+
- Changed Perl assembly generators to move constants into .rodata,
50+
allowing code to run with execute-only permissions.
51+
- Capped the number of iterations in DSA and ECDSA signing (avoiding
52+
infinite loops), added additional sanity checks to DSA.
53+
- ASN.1 parsing improvements.
54+
- Made UI_destroy_method() NULL safe.
55+
- Various improvements to nc(1).
56+
- Always clear EC groups and points on free.
57+
- Cleanup and improvements in EC code.
58+
- Various openssl(1) improvements.
59+
* Bug fixes
60+
- Fixed a memory leak, a double free and various other issues in
61+
BIO_new_NDEF().
62+
- Fixed various crashes in the openssl(1) testing utility.
63+
- Do not check policies by default in the new X.509 verifier.
64+
- Added missing error checking in PKCS7.
65+
- Call CRYPTO_cleanup_all_ex_data() from OPENSSL_cleanup().
66+
* New features
67+
- Added UI_null()
68+
- Added X509_STORE_*check_issued()
69+
- Added X509_CRL_get0_tbs_sigalg() and X509_get0_uids() accessors.
70+
- Added EVP_CIPHER_meth_*() setter API.
71+
* Documentation improvements
72+
- Marked BIO_s_log(3) BIO_nread0(3), BIO_nread(3), BIO_nwrite0(3), BIO_nwrite(3),
73+
BIO_dump_cb(3) and BIO_dump_indent_cb(3) as intentionally undocumented.
74+
- Document BIO_number_read(3), BIO_number_written(3),
75+
BIO_set_retry_read(3), BIO_set_retry_write(3),
76+
BIO_set_retry_special(3), BIO_clear_retry_flags(3),
77+
BIO_get_retry_flags(3), BIO_dup_chain(3), BIO_set_flags(3),
78+
BIO_clear_flags(3), BIO_test_flags(3), BIO_get_flags(3).
79+
BIO_callback_fn_ex(3), BIO_set_callback_ex(3), BIO_get_callback_ex(3),
80+
BIO_callback_fn(3), and the BIO_FLAGS_* constants
81+
- Correct the prototypes of BIO_get_conn_ip(3) and BIO_get_conn_int_port(3).
82+
- Document ED25519_keypair(3), ED25519_sign(3), and ED25519_verify(3).
83+
- Document EVP_PKEY_new_raw_private_key(3),
84+
EVP_PKEY_new_raw_public_key(3), EVP_PKEY_get_raw_private_key(3), and
85+
EVP_PKEY_get_raw_public_key(3).
86+
- Document ASN1_buf_print(3).
87+
- Document DH_get0_*, DSA_get0_*, ECDSA_SIG_get0_{r,s}() and RSA_get0_*.
88+
- Merged documentation of UI_null() from OpenSSL 1.1
89+
- Various spelling and other documentation improvements.
90+
* Testing and Proactive Security
91+
- As always, new test coverage is added as bugs are fixed and subsystems
92+
are cleaned up.
93+
- New Wycheproof tests added.
94+
- OpenSSL 3.0 Interop tests added.
95+
- Many old tests rewritten, cleaned up and extended.
96+
* Security fixes
3497
- A malicious certificate revocation list or timestamp response token
3598
would allow an attacker to read arbitrary memory.
3699

100+
3.7.0 - Development release
101+
102+
* Internal improvements
103+
- Remove dependency on system timegm() and gmtime() by replacing
104+
traditional Julian date conversion with POSIX epoch-seconds date
105+
conversion from BoringSSL.
106+
- Clean old and unused BN code dealing with primes.
107+
- Start rewriting name constraints code using CBS.
108+
- Remove support for the HMAC PRIVATE KEY.
109+
- Rework DSA signing and verifying internals.
110+
- First few passes on cleaning up the BN code.
111+
- Internal headers coming from OpenSSL are all called *_local.h now.
112+
- Rewrite TLSv1.2 key exporter.
113+
- Cleaned up and refactored various aspects of the legacy TLS stack.
114+
* Compatibility changes
115+
- BIO_read() and BIO_write() now behave more closely to OpenSSL 3 in
116+
various corner cases. More work is needed here.
117+
* Bug fixes
118+
- Add EVP_chacha20_poly1305() to the list of all ciphers.
119+
- Fix potential leaks of EVP_PKEY in various printing functions
120+
- Fix potential leak in OBJ_NAME_add().
121+
- Avoid signed overflow in i2c_ASN1_BIT_STRING().
122+
- Clean up EVP_PKEY_ASN1_METHOD related tables and code.
123+
- Fix long standing bugs BN_GF2m_poly2arr() and BN_GF2m_mod().
124+
- Fix segfaults in BN_{dec,hex}2bn().
125+
- Fix NULL dereference in x509_constraints_uri_host() reachable only
126+
in the process of generating certificates.
127+
- Fixed a variety of memory corruption issues in BIO chains coming
128+
from poor old and new API: BIO_push(), BIO_pop(), BIO_set_next().
129+
- Avoid potential divide by zero in BIO_dump_indent_cb()
130+
* Documentation improvements
131+
- Numerous improvements and additions for ASN.1, BIO, BN, and X.509.
132+
- The BN documentation is now considered to be complete.
133+
* Testing and Proactive Security
134+
- As always, new test coverage is added as bugs are fixed and
135+
subsystems are cleaned up.
136+
- Many old tests rewritten, cleaned up and extended.
137+
* New features
138+
- Added Ed25519 support both as a primitive and via OpenSSL's EVP
139+
interfaces.
140+
- X25519 is now also supported via EVP.
141+
- The OpenSSL 1.1 raw public and private key API is available with
142+
support for EVP_PKEY_ED25519, EVP_PKEY_HMAC and EVP_PKEY_X25519.
143+
Poly1305 is not currently supported via this interface.
144+
37145
3.6.1 - Stable release
38146

39147
* Bug fixes
@@ -2563,7 +2671,7 @@ LibreSSL Portable Release Notes:
25632671
* Address POODLE attack by disabling SSLv3 by default
25642672

25652673
* Fix Eliptical Curve cipher selection bug
2566-
(https://github.com/libressl-portable/portable/issues/35)
2674+
(https://github.com/libressl/portable/issues/35)
25672675

25682676
2.1.0 - First release from the OpenBSD 5.7 tree
25692677
* Added support for automatic ephemeral EC keys

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SUBDIRS = crypto ssl tls include apps man
1+
SUBDIRS = include crypto ssl tls apps man
22
if ENABLE_TESTS
33
SUBDIRS += tests
44
endif

Makefile.am.common

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
AM_CFLAGS =
2-
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/compat -DLIBRESSL_INTERNAL
2+
AM_CPPFLAGS = -I$(top_srcdir)/include
3+
AM_CPPFLAGS += -I$(abs_top_builddir)/include
4+
AM_CPPFLAGS += -I$(top_srcdir)/include/compat -DLIBRESSL_INTERNAL
35
AM_CPPFLAGS += -D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS=

Makefile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ am__define_uniq_tagged_files = \
191191
unique=`for i in $$list; do \
192192
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
193193
done | $(am__uniquify_input)`
194-
DIST_SUBDIRS = crypto ssl tls include apps man tests
194+
DIST_SUBDIRS = include crypto ssl tls apps man tests
195195
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libcrypto.pc.in \
196196
$(srcdir)/libssl.pc.in $(srcdir)/libtls.pc.in \
197197
$(srcdir)/openssl.pc.in COPYING ChangeLog INSTALL README.md \
@@ -368,7 +368,7 @@ target_alias = @target_alias@
368368
top_build_prefix = @top_build_prefix@
369369
top_builddir = @top_builddir@
370370
top_srcdir = @top_srcdir@
371-
SUBDIRS = crypto ssl tls include apps man $(am__append_1)
371+
SUBDIRS = include crypto ssl tls apps man $(am__append_1)
372372
ACLOCAL_AMFLAGS = -I m4
373373
pkgconfigdir = $(libdir)/pkgconfig
374374
pkgconfig_DATA = libtls.pc $(am__append_2)

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
![LibreSSL image](https://www.libressl.org/images/libressl.jpg)
22
## Official portable version of [LibreSSL](https://www.libressl.org) ##
33

4-
[![Linux Build Status](https://github.com/libressl-portable/portable/actions/workflows/linux_test.yml/badge.svg)](https://github.com/libressl-portable/portable/actions/workflows/linux_test.yml)
5-
[![macOS Build Status](https://github.com/libressl-portable/portable/actions/workflows/macos_test.yml/badge.svg)](https://github.com/libressl-portable/portable/actions/workflows/macos_test.yml)
6-
[![Android_Build Status](https://github.com/libressl-portable/portable/actions/workflows/android_test.yml/badge.svg)](https://github.com/libressl-portable/portable/actions/workflows/android_test.yml)
7-
[![Cross_Build Status](https://github.com/libressl-portable/portable/actions/workflows/cross_test.yml/badge.svg)](https://github.com/libressl-portable/portable/actions/workflows/cross_test.yml)
4+
[![Linux Build Status](https://github.com/libressl/portable/actions/workflows/linux_test.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/linux_test.yml)
5+
[![macOS Build Status](https://github.com/libressl/portable/actions/workflows/macos_test.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/macos_test.yml)
6+
[![Android_Build Status](https://github.com/libressl/portable/actions/workflows/android_test.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/android_test.yml)
7+
[![Cross_Build Status](https://github.com/libressl/portable/actions/workflows/cross_test.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/cross_test.yml)
88
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/libressl.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:libressl)
9-
[![ASan Status](https://github.com/libressl-portable/portable/actions/workflows/linux_test_asan.yml/badge.svg)](https://github.com/libressl-portable/portable/actions/workflows/linux_test_asan.yml)
9+
[![ASan Status](https://github.com/libressl/portable/actions/workflows/linux_test_asan.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/linux_test_asan.yml)
1010

1111
LibreSSL is a fork of [OpenSSL](https://www.openssl.org) 1.0.1g developed by the
1212
[OpenBSD](https://www.openbsd.org) project. Our goal is to modernize the codebase,
@@ -52,11 +52,11 @@ OpenBSD mirror in directory
5252
although we suggest that you use a [mirror](https://www.openbsd.org/ftp.html).
5353

5454
The LibreSSL portable build framework is also
55-
[mirrored](https://github.com/libressl-portable/portable) in Github.
55+
[mirrored](https://github.com/libressl/portable) on GitHub.
5656

5757
Please report bugs either to the public [email protected] mailing list,
58-
or to the github
59-
[issue tracker](https://github.com/libressl-portable/portable/issues)
58+
or to the GitHub
59+
[issue tracker](https://github.com/libressl/portable/issues)
6060

6161
Severe vulnerabilities or bugs requiring coordination with OpenSSL can be
6262
sent to the core team at [email protected].

README.windows

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ problem.
4646

4747
A script for generating ready-to-use .DLL and static .LIB files is included in
4848
the source repository at
49-
https://github.com/libressl-portable/portable/blob/master/dist-win.sh
49+
https://github.com/libressl/portable/blob/master/dist-win.sh
5050

5151
This script uses mingw-w64 to build LibreSSL and then uses Visual Studio tools
5252
to generate compatible library import files ready-to-use with Visual

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
3.6.2.0
1+
3.7.2.0
22

apps/Makefile.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -313,9 +313,9 @@ top_build_prefix = @top_build_prefix@
313313
top_builddir = @top_builddir@
314314
top_srcdir = @top_srcdir@
315315
AM_CFLAGS =
316-
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/compat \
317-
-DLIBRESSL_INTERNAL -D__BEGIN_HIDDEN_DECLS= \
318-
-D__END_HIDDEN_DECLS=
316+
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(abs_top_builddir)/include \
317+
-I$(top_srcdir)/include/compat -DLIBRESSL_INTERNAL \
318+
-D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS=
319319
SUBDIRS = ocspcheck openssl nc
320320
EXTRA_DIST = CMakeLists.txt
321321
all: all-recursive

apps/nc/Makefile.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,9 @@ top_build_prefix = @top_build_prefix@
360360
top_builddir = @top_builddir@
361361
top_srcdir = @top_srcdir@
362362
AM_CFLAGS =
363-
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/compat \
364-
-DLIBRESSL_INTERNAL -D__BEGIN_HIDDEN_DECLS= \
365-
-D__END_HIDDEN_DECLS= $(am__append_1)
363+
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(abs_top_builddir)/include \
364+
-I$(top_srcdir)/include/compat -DLIBRESSL_INTERNAL \
365+
-D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS= $(am__append_1)
366366
@BUILD_NC_TRUE@@ENABLE_NC_TRUE@dist_man_MANS = nc.1
367367
@BUILD_NC_TRUE@EXTRA_DIST = nc.1 CMakeLists.txt
368368
@BUILD_NC_TRUE@nc_LDADD = $(abs_top_builddir)/tls/libtls.la \

0 commit comments

Comments
 (0)