diff options
| author | Brent Cook <busterb@gmail.com> | 2022-05-09 01:29:28 -0500 |
|---|---|---|
| committer | Brent Cook <busterb@gmail.com> | 2022-05-09 01:29:28 -0500 |
| commit | a0044d5a36252d82b0f7b2f1550f7fff701a484a (patch) | |
| tree | 57ecac03b703abb72e1ec8117fcc515982fc7e7a | |
| parent | 5e974ea695aa57965c3037c787850012e188dfdb (diff) | |
| parent | ff798b2a33d89679ac6c25a4773b91c6a26cd015 (diff) | |
| download | portable-a0044d5a36252d82b0f7b2f1550f7fff701a484a.tar.gz portable-a0044d5a36252d82b0f7b2f1550f7fff701a484a.tar.bz2 portable-a0044d5a36252d82b0f7b2f1550f7fff701a484a.zip | |
Land #752, Update CI actions
| -rw-r--r-- | .github/workflows/macos_test.yml | 2 | ||||
| -rw-r--r-- | ChangeLog | 57 | ||||
| -rw-r--r-- | apps/nc/compat/sys/socket.h | 3 | ||||
| -rw-r--r-- | appveyor.yml | 10 | ||||
| -rw-r--r-- | include/compat/sys/socket.h | 1 | ||||
| -rwxr-xr-x | scripts/test | 14 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | tests/Makefile.am | 5 |
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 |
| @@ -28,6 +28,63 @@ history is also available from Git. | |||
| 28 | 28 | ||
| 29 | LibreSSL Portable Release Notes: | 29 | LibreSSL Portable Release Notes: |
| 30 | 30 | ||
| 31 | 3.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 | |||
| 31 | 3.5.1 - Security release | 88 | 3.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 | ||
| 11 | int _socket(int domain, int type, int protocol); | 10 | int _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 @@ | |||
| 1 | image: | 1 | image: |
| 2 | - Previous Visual Studio 2019 | 2 | - Visual Studio 2019 |
| 3 | 3 | ||
| 4 | environment: | 4 | environment: |
| 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 */ |
| 15 | int bsd_socketpair(int domain, int type, int protocol, int socket_vector[2]); | 16 | int 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 | ||
| 78 | elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then | 78 | elif [ "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) | |||
| 341 | target_link_libraries(mont ${OPENSSL_TEST_LIBS}) | 341 | target_link_libraries(mont ${OPENSSL_TEST_LIBS}) |
| 342 | add_test(mont mont) | 342 | add_test(mont mont) |
| 343 | 343 | ||
| 344 | # objectstest | ||
| 345 | add_executable(objectstest objectstest.c) | ||
| 346 | target_link_libraries(objectstest ${OPENSSL_TEST_LIBS}) | ||
| 347 | add_test(objectstest objectstest) | ||
| 348 | |||
| 344 | # ocsp_test | 349 | # ocsp_test |
| 345 | if(ENABLE_EXTRATESTS) | 350 | if(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 | |||
| 354 | check_PROGRAMS += mont | 354 | check_PROGRAMS += mont |
| 355 | mont_SOURCES = mont.c | 355 | mont_SOURCES = mont.c |
| 356 | 356 | ||
| 357 | # objectstest | ||
| 358 | TESTS += objectstest | ||
| 359 | check_PROGRAMS += objectstest | ||
| 360 | objectstest_SOURCES = objectstest.c | ||
| 361 | |||
| 357 | # ocsp_test | 362 | # ocsp_test |
| 358 | if ENABLE_EXTRATESTS | 363 | if ENABLE_EXTRATESTS |
| 359 | TESTS += ocsptest.sh | 364 | TESTS += ocsptest.sh |
