aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/macos_test.yml2
-rw-r--r--ChangeLog57
-rw-r--r--apps/nc/compat/sys/socket.h3
-rw-r--r--appveyor.yml10
-rw-r--r--include/compat/sys/socket.h1
-rwxr-xr-xscripts/test14
-rw-r--r--tests/CMakeLists.txt5
-rw-r--r--tests/Makefile.am5
8 files changed, 82 insertions, 15 deletions
diff --git a/.github/workflows/macos_test.yml b/.github/workflows/macos_test.yml
index 29e6cdc..6e7adac 100644
--- a/.github/workflows/macos_test.yml
+++ b/.github/workflows/macos_test.yml
@@ -6,7 +6,7 @@ jobs:
6 build-native: 6 build-native:
7 strategy: 7 strategy:
8 matrix: 8 matrix:
9 os: [macos-latest] 9 os: [macos-12, macos-11]
10 compiler: [clang, gcc] 10 compiler: [clang, gcc]
11 runs-on: ${{ matrix.os }} 11 runs-on: ${{ matrix.os }}
12 continue-on-error: false 12 continue-on-error: false
diff --git a/ChangeLog b/ChangeLog
index b58f52d..e4dc7ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,63 @@ history is also available from Git.
28 28
29LibreSSL Portable Release Notes: 29LibreSSL Portable Release Notes:
30 30
313.5.2 - Stable release
32
33 * Bug fixes
34 - Avoid single byte overread in asn1_parse2().
35 - Allow name constraints with a leading dot. From Alex Wilson.
36 - Relax a check in x509_constraints_dirname() to allow prefixes.
37 From Alex Wilson.
38 - Fix NULL dereferences in openssl(1) cms option parsing.
39 - Do not zero the computed cofactor on ec_guess_cofactor() success.
40 - Bound cofactor in EC_GROUP_set_generator() to reduce the number of
41 bogus groups that can be described with nonsensical parameters.
42 - Avoid various potential segfaults in EVP_PKEY_CTX_free() in low
43 memory conditions. Reported for HMAC by Masaru Masuda.
44 - Plug leak in ASN1_TIME_adj_internal().
45 - Avoid infinite loop for custom curves of order 1.
46 Issue reported by Hanno Boeck, comments by David Benjamin.
47 - Avoid an infinite loop on parsing DSA private keys by validating
48 that the provided parameters conform to FIPS 186-4.
49 Issue reported by Hanno Boeck, comments by David Benjamin.
50 * Compatibility improvements
51 - Allow non-standard name constraints of the form @domain.com.
52 * Internal improvements
53 - Limit OID text conversion to 64 bits per arc.
54 - Clean up and simplify memory BIO code.
55 - Reduce number of memmove() calls in memory BIOs.
56 - Factor out alert handling code in the legacy stack.
57 - Add sanity checks on p and q in old_dsa_priv_decode()
58 - Cache the SHA-512 hash instead of the SHA-1 for CRLs.
59 - Suppress various compiler warnings for old gcc versions.
60 - Remove free_cont from asn1_d2i_ex_primitive()/asn1_ex_c2i().
61 - Rework ownership handling in x509_constraints_validate().
62 - Rework ASN1_STRING_set().
63 - Remove const from tls1_transcript_hash_value().
64 - Clean up and simplify ssl3_renegotiate{,_check}().
65 - Rewrite legacy TLS and DTLS unexpected handshake message handling.
66 - Simplify SSL_do_handshake().
67 - Rewrite ASCII/text to ASN.1 object conversion.
68 - Provide t2i_ASN1_OBJECT_internal() and use it for OBJ_txt2obj().
69 - Split armv7 and aarch64 code into separate locations.
70 - Rewrote openssl(1) ts to use the new option handling and cleaned
71 up the C code.
72 - Provide asn1_get_primitive().
73 - Convert {c2i,d2i}_ASN1_OBJECT() to CBS.
74 - Remove the minimum record length checks from dtls1_read_bytes().
75 - Clean up {dtls1,ssl3}_read_bytes().
76 - Be more careful with embedded and terminating NULs in the new
77 name constraints code.
78 - Check EVP_Digest* return codes in openssl(1) ts
79 - Various minor code cleanup in openssl(1) pkcs12
80 - Use calloc() in pkey_hmac_init().
81 - Simplify priv_key handling in d2i_ECPrivateKey().
82 * Documentation improvements
83 - Update d2i_ASN1_OBJECT(3) documentation to reflect reality after
84 refactoring and bug fixes.
85 - Fixed numerous minor grammar, spelling, wording, and punctuation
86 issues.
87
313.5.1 - Security release 883.5.1 - Security release
32 89
33 * A malicious certificate can cause an infinite loop. 90 * A malicious certificate can cause an infinite loop.
diff --git a/apps/nc/compat/sys/socket.h b/apps/nc/compat/sys/socket.h
index 13eb380..2c7ee4f 100644
--- a/apps/nc/compat/sys/socket.h
+++ b/apps/nc/compat/sys/socket.h
@@ -6,8 +6,7 @@
6#ifndef _WIN32 6#ifndef _WIN32
7#include_next <sys/socket.h> 7#include_next <sys/socket.h>
8 8
9#if !defined(SOCK_NONBLOCK) || !defined(SOCK_CLOEXEC) 9#if defined(NEED_SOCKET_FLAGS)
10#define NEED_SOCKET_FLAGS
11int _socket(int domain, int type, int protocol); 10int _socket(int domain, int type, int protocol);
12#ifndef SOCKET_FLAGS_PRIV 11#ifndef SOCKET_FLAGS_PRIV
13#define socket(d, t, p) _socket(d, t, p) 12#define socket(d, t, p) _socket(d, t, p)
diff --git a/appveyor.yml b/appveyor.yml
index bdb8001..33a32da 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,26 +1,26 @@
1image: 1image:
2 - Previous Visual Studio 2019 2 - Visual Studio 2019
3 3
4environment: 4environment:
5 PATH: C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\Windows\System32;C:\Windows;%PATH% 5 PATH: C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\Windows\System32;C:\Windows;%PATH%
6 6
7 matrix: 7 matrix:
8 - APPVEYOR_BUILD_WORKER_IMAGE: Previous Visual Studio 2019 8 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
9 GENERATOR: Visual Studio 16 2019 9 GENERATOR: Visual Studio 16 2019
10 ARCHITECTURE: Win32 10 ARCHITECTURE: Win32
11 CONFIG: Release 11 CONFIG: Release
12 SHARED_LIBS: ON 12 SHARED_LIBS: ON
13 - APPVEYOR_BUILD_WORKER_IMAGE: Previous Visual Studio 2019 13 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
14 GENERATOR: Visual Studio 16 2019 14 GENERATOR: Visual Studio 16 2019
15 ARCHITECTURE: Win32 15 ARCHITECTURE: Win32
16 CONFIG: Release 16 CONFIG: Release
17 SHARED_LIBS: OFF 17 SHARED_LIBS: OFF
18 - APPVEYOR_BUILD_WORKER_IMAGE: Previous Visual Studio 2019 18 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
19 GENERATOR: Visual Studio 16 2019 19 GENERATOR: Visual Studio 16 2019
20 ARCHITECTURE: x64 20 ARCHITECTURE: x64
21 CONFIG: Release 21 CONFIG: Release
22 SHARED_LIBS: ON 22 SHARED_LIBS: ON
23 - APPVEYOR_BUILD_WORKER_IMAGE: Previous Visual Studio 2019 23 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
24 GENERATOR: Visual Studio 16 2019 24 GENERATOR: Visual Studio 16 2019
25 ARCHITECTURE: x64 25 ARCHITECTURE: x64
26 CONFIG: Release 26 CONFIG: Release
diff --git a/include/compat/sys/socket.h b/include/compat/sys/socket.h
index 10eb05f..2f0b197 100644
--- a/include/compat/sys/socket.h
+++ b/include/compat/sys/socket.h
@@ -10,6 +10,7 @@
10#endif 10#endif
11 11
12#if !defined(SOCK_NONBLOCK) || !defined(SOCK_CLOEXEC) 12#if !defined(SOCK_NONBLOCK) || !defined(SOCK_CLOEXEC)
13#define NEED_SOCKET_FLAGS
13#define SOCK_CLOEXEC 0x8000 /* set FD_CLOEXEC */ 14#define SOCK_CLOEXEC 0x8000 /* set FD_CLOEXEC */
14#define SOCK_NONBLOCK 0x4000 /* set O_NONBLOCK */ 15#define SOCK_NONBLOCK 0x4000 /* set O_NONBLOCK */
15int bsd_socketpair(int domain, int type, int protocol, int socket_vector[2]); 16int bsd_socketpair(int domain, int type, int protocol, int socket_vector[2]);
diff --git a/scripts/test b/scripts/test
index 80fa988..f2f0cb8 100755
--- a/scripts/test
+++ b/scripts/test
@@ -20,24 +20,24 @@ if [ "x$ARCH" = "xnative" ]; then
20 # test cmake and ninja 20 # test cmake and ninja
21 if [ `uname` = "Darwin" ]; then 21 if [ `uname` = "Darwin" ]; then
22 cmake .. 22 cmake ..
23 make 23 make -j 4
24 make test 24 make test
25 25
26 cd ../build-shared 26 cd ../build-shared
27 cmake -DBUILD_SHARED_LIBS=ON .. 27 cmake -DBUILD_SHARED_LIBS=ON ..
28 make 28 make -j 4
29 make test 29 make test
30 else 30 else
31 sudo apt-get update 31 sudo apt-get update
32 sudo apt-get install -y cmake ninja-build 32 sudo apt-get install -y cmake ninja-build
33 33
34 cmake -GNinja .. 34 cmake -GNinja ..
35 ninja 35 ninja -j 4
36 ninja test 36 ninja test
37 37
38 cd ../build-shared 38 cd ../build-shared
39 cmake -GNinja -DBUILD_SHARED_LIBS=ON .. 39 cmake -GNinja -DBUILD_SHARED_LIBS=ON ..
40 ninja 40 ninja -j 4
41 ninja test 41 ninja test
42 fi 42 fi
43 43
@@ -58,21 +58,21 @@ elif [ "x$ARCH" = "xmingw32" -o "x$ARCH" = "xmingw64" ]; then
58 fi 58 fi
59 59
60 ./configure --host=$CPU-w64-mingw32 60 ./configure --host=$CPU-w64-mingw32
61 make -j 61 make -j 4
62 62
63 ( 63 (
64 rm -fr build-static 64 rm -fr build-static
65 mkdir build-static 65 mkdir build-static
66 cd build-static 66 cd build-static
67 cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake .. 67 cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake ..
68 ninja 68 ninja -j 4
69 ) 69 )
70 ( 70 (
71 rm -fr build-shared 71 rm -fr build-shared
72 mkdir build-shared 72 mkdir build-shared
73 cd build-shared 73 cd build-shared
74 cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake -DBUILD_SHARED_LIBS=ON .. 74 cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake -DBUILD_SHARED_LIBS=ON ..
75 ninja 75 ninja -j 4
76 ) 76 )
77 77
78elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then 78elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 7c80002..e6cb2bc 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -341,6 +341,11 @@ add_executable(mont mont.c)
341target_link_libraries(mont ${OPENSSL_TEST_LIBS}) 341target_link_libraries(mont ${OPENSSL_TEST_LIBS})
342add_test(mont mont) 342add_test(mont mont)
343 343
344# objectstest
345add_executable(objectstest objectstest.c)
346target_link_libraries(objectstest ${OPENSSL_TEST_LIBS})
347add_test(objectstest objectstest)
348
344# ocsp_test 349# ocsp_test
345if(ENABLE_EXTRATESTS) 350if(ENABLE_EXTRATESTS)
346 add_executable(ocsp_test ocsp_test.c) 351 add_executable(ocsp_test ocsp_test.c)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e58c0c0..6c88c90 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -354,6 +354,11 @@ TESTS += mont
354check_PROGRAMS += mont 354check_PROGRAMS += mont
355mont_SOURCES = mont.c 355mont_SOURCES = mont.c
356 356
357# objectstest
358TESTS += objectstest
359check_PROGRAMS += objectstest
360objectstest_SOURCES = objectstest.c
361
357# ocsp_test 362# ocsp_test
358if ENABLE_EXTRATESTS 363if ENABLE_EXTRATESTS
359TESTS += ocsptest.sh 364TESTS += ocsptest.sh