uringmachine 0.16 → 0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +3 -0
- data/.gitmodules +4 -0
- data/CHANGELOG.md +8 -0
- data/TODO.md +12 -3
- data/examples/bm_send.rb +86 -0
- data/ext/um/um.c +28 -1
- data/ext/um/um.h +3 -0
- data/ext/um/um_class.c +17 -0
- data/ext/um/um_utils.c +38 -15
- data/lib/uringmachine/version.rb +1 -1
- data/test/test_um.rb +76 -0
- data/vendor/libressl/.github/scripts/changelog.sh +74 -0
- data/vendor/libressl/.github/workflows/android.yml +35 -0
- data/vendor/libressl/.github/workflows/cifuzz.yml +33 -0
- data/vendor/libressl/.github/workflows/cmake-config.yml +98 -0
- data/vendor/libressl/.github/workflows/coverity.yml +69 -0
- data/vendor/libressl/.github/workflows/emscripten.yml +71 -0
- data/vendor/libressl/.github/workflows/fedora-rawhide.yml +39 -0
- data/vendor/libressl/.github/workflows/freebsd.yml +71 -0
- data/vendor/libressl/.github/workflows/linux.yml +71 -0
- data/vendor/libressl/.github/workflows/macos.yml +37 -0
- data/vendor/libressl/.github/workflows/release.yml +81 -0
- data/vendor/libressl/.github/workflows/rust-openssl.yml +47 -0
- data/vendor/libressl/.github/workflows/solaris.yml +37 -0
- data/vendor/libressl/.github/workflows/windows.yml +70 -0
- data/vendor/libressl/.gitignore +333 -0
- data/vendor/libressl/CMakeLists.txt +581 -0
- data/vendor/libressl/COPYING +133 -0
- data/vendor/libressl/ChangeLog +3280 -0
- data/vendor/libressl/FindLibreSSL.cmake +232 -0
- data/vendor/libressl/LibreSSLConfig.cmake.in +36 -0
- data/vendor/libressl/Makefile.am +60 -0
- data/vendor/libressl/Makefile.am.common +20 -0
- data/vendor/libressl/OPENBSD_BRANCH +1 -0
- data/vendor/libressl/README.md +238 -0
- data/vendor/libressl/README.mingw.md +43 -0
- data/vendor/libressl/apps/CMakeLists.txt +18 -0
- data/vendor/libressl/apps/Makefile.am +5 -0
- data/vendor/libressl/apps/nc/CMakeLists.txt +67 -0
- data/vendor/libressl/apps/nc/Makefile.am +64 -0
- data/vendor/libressl/apps/nc/compat/accept4.c +17 -0
- data/vendor/libressl/apps/nc/compat/readpassphrase.c +205 -0
- data/vendor/libressl/apps/nc/compat/socket.c +29 -0
- data/vendor/libressl/apps/nc/compat/sys/socket.h +30 -0
- data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +44 -0
- data/vendor/libressl/apps/ocspcheck/Makefile.am +45 -0
- data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
- data/vendor/libressl/apps/openssl/CMakeLists.txt +97 -0
- data/vendor/libressl/apps/openssl/Makefile.am +108 -0
- data/vendor/libressl/apps/openssl/apps_win.c +138 -0
- data/vendor/libressl/apps/openssl/certhash_win.c +13 -0
- data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +26 -0
- data/vendor/libressl/apps/openssl/compat/poll_win.c +329 -0
- data/vendor/libressl/appveyor.yml +53 -0
- data/vendor/libressl/autogen.sh +15 -0
- data/vendor/libressl/check-release.sh +86 -0
- data/vendor/libressl/cmake_export_symbol.cmake +71 -0
- data/vendor/libressl/cmake_uninstall.cmake.in +36 -0
- data/vendor/libressl/config +17 -0
- data/vendor/libressl/configure.ac +165 -0
- data/vendor/libressl/crypto/CMakeLists.txt +863 -0
- data/vendor/libressl/crypto/Makefile.am +962 -0
- data/vendor/libressl/crypto/Makefile.am.arc4random +46 -0
- data/vendor/libressl/crypto/Makefile.am.elf-mips +14 -0
- data/vendor/libressl/crypto/Makefile.am.elf-mips64 +14 -0
- data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +35 -0
- data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +35 -0
- data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +22 -0
- data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +23 -0
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +60 -0
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +62 -0
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +26 -0
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +36 -0
- data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +21 -0
- data/vendor/libressl/crypto/arch/mips/crypto_arch.h +21 -0
- data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +23 -0
- data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +24 -0
- data/vendor/libressl/crypto/compat/.gitignore +31 -0
- data/vendor/libressl/crypto/compat/arc4random.h +41 -0
- data/vendor/libressl/crypto/compat/b_win.c +55 -0
- data/vendor/libressl/crypto/compat/bsd-asprintf.c +96 -0
- data/vendor/libressl/crypto/compat/crypto_lock_win.c +56 -0
- data/vendor/libressl/crypto/compat/explicit_bzero_win.c +13 -0
- data/vendor/libressl/crypto/compat/freezero.c +32 -0
- data/vendor/libressl/crypto/compat/getdelim.c +78 -0
- data/vendor/libressl/crypto/compat/getline.c +40 -0
- data/vendor/libressl/crypto/compat/getopt_long.c +528 -0
- data/vendor/libressl/crypto/compat/getpagesize.c +18 -0
- data/vendor/libressl/crypto/compat/getprogname_linux.c +23 -0
- data/vendor/libressl/crypto/compat/getprogname_unimpl.c +7 -0
- data/vendor/libressl/crypto/compat/getprogname_windows.c +13 -0
- data/vendor/libressl/crypto/compat/posix_win.c +296 -0
- data/vendor/libressl/crypto/compat/syslog_r.c +19 -0
- data/vendor/libressl/crypto/compat/ui_openssl_win.c +334 -0
- data/vendor/libressl/dist.sh +22 -0
- data/vendor/libressl/gen-coverage-report.sh +58 -0
- data/vendor/libressl/gen-openbsd-tags.sh +20 -0
- data/vendor/libressl/include/CMakeLists.txt +61 -0
- data/vendor/libressl/include/Makefile.am +79 -0
- data/vendor/libressl/include/arch/loongarch64/opensslconf.h +150 -0
- data/vendor/libressl/include/arch/mips/opensslconf.h +150 -0
- data/vendor/libressl/include/compat/arpa/inet.h +15 -0
- data/vendor/libressl/include/compat/arpa/nameser.h +25 -0
- data/vendor/libressl/include/compat/cet.h +19 -0
- data/vendor/libressl/include/compat/dirent.h +17 -0
- data/vendor/libressl/include/compat/dirent_msvc.h +611 -0
- data/vendor/libressl/include/compat/endian.h +161 -0
- data/vendor/libressl/include/compat/err.h +95 -0
- data/vendor/libressl/include/compat/fcntl.h +32 -0
- data/vendor/libressl/include/compat/getopt.h +50 -0
- data/vendor/libressl/include/compat/limits.h +25 -0
- data/vendor/libressl/include/compat/netdb.h +10 -0
- data/vendor/libressl/include/compat/netinet/in.h +19 -0
- data/vendor/libressl/include/compat/netinet/ip.h +49 -0
- data/vendor/libressl/include/compat/netinet/tcp.h +10 -0
- data/vendor/libressl/include/compat/poll.h +63 -0
- data/vendor/libressl/include/compat/pthread.h +122 -0
- data/vendor/libressl/include/compat/readpassphrase.h +44 -0
- data/vendor/libressl/include/compat/resolv.h +24 -0
- data/vendor/libressl/include/compat/stdint.h +31 -0
- data/vendor/libressl/include/compat/stdio.h +65 -0
- data/vendor/libressl/include/compat/stdlib.h +57 -0
- data/vendor/libressl/include/compat/string.h +98 -0
- data/vendor/libressl/include/compat/sys/_null.h +18 -0
- data/vendor/libressl/include/compat/sys/ioctl.h +11 -0
- data/vendor/libressl/include/compat/sys/mman.h +19 -0
- data/vendor/libressl/include/compat/sys/param.h +15 -0
- data/vendor/libressl/include/compat/sys/queue.h +536 -0
- data/vendor/libressl/include/compat/sys/select.h +10 -0
- data/vendor/libressl/include/compat/sys/socket.h +18 -0
- data/vendor/libressl/include/compat/sys/stat.h +129 -0
- data/vendor/libressl/include/compat/sys/time.h +37 -0
- data/vendor/libressl/include/compat/sys/tree.h +1006 -0
- data/vendor/libressl/include/compat/sys/types.h +69 -0
- data/vendor/libressl/include/compat/sys/uio.h +17 -0
- data/vendor/libressl/include/compat/syslog.h +38 -0
- data/vendor/libressl/include/compat/time.h +59 -0
- data/vendor/libressl/include/compat/unistd.h +83 -0
- data/vendor/libressl/include/compat/win32netcompat.h +57 -0
- data/vendor/libressl/include/openssl/Makefile.am.tpl +45 -0
- data/vendor/libressl/libcrypto.pc.in +28 -0
- data/vendor/libressl/libressl.pub +2 -0
- data/vendor/libressl/libssl.pc.in +28 -0
- data/vendor/libressl/libtls.pc.in +28 -0
- data/vendor/libressl/m4/ax_add_fortify_source.m4 +80 -0
- data/vendor/libressl/m4/ax_check_compile_flag.m4 +53 -0
- data/vendor/libressl/m4/check-hardening-options.m4 +110 -0
- data/vendor/libressl/m4/check-libc.m4 +189 -0
- data/vendor/libressl/m4/check-os-options.m4 +181 -0
- data/vendor/libressl/m4/disable-compiler-warnings.m4 +44 -0
- data/vendor/libressl/man/CMakeLists.txt +26 -0
- data/vendor/libressl/man/links +2780 -0
- data/vendor/libressl/man/update_links.sh +25 -0
- data/vendor/libressl/openssl.pc.in +11 -0
- data/vendor/libressl/patches/bn_shift.patch +34 -0
- data/vendor/libressl/patches/crypto_arch.h.patch +34 -0
- data/vendor/libressl/patches/crypto_namespace.h.patch +22 -0
- data/vendor/libressl/patches/netcat.c.patch +178 -0
- data/vendor/libressl/patches/openssl.c.patch +12 -0
- data/vendor/libressl/patches/opensslfeatures.h.patch +49 -0
- data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +20 -0
- data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +20 -0
- data/vendor/libressl/patches/speed.c.patch +114 -0
- data/vendor/libressl/patches/ssl_namespace.h.patch +21 -0
- data/vendor/libressl/patches/tls.h.patch +16 -0
- data/vendor/libressl/patches/tls_config.c.patch +15 -0
- data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +28 -0
- data/vendor/libressl/patches/windows_headers.patch +80 -0
- data/vendor/libressl/scripts/config.guess +1774 -0
- data/vendor/libressl/scripts/config.sub +1907 -0
- data/vendor/libressl/scripts/i686-w64-mingw32.cmake +9 -0
- data/vendor/libressl/scripts/test +210 -0
- data/vendor/libressl/scripts/wrap-compiler-for-flag-check +31 -0
- data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +9 -0
- data/vendor/libressl/ssl/CMakeLists.txt +183 -0
- data/vendor/libressl/ssl/Makefile.am +187 -0
- data/vendor/libressl/tests/CMakeLists.txt +970 -0
- data/vendor/libressl/tests/Makefile.am +944 -0
- data/vendor/libressl/tests/aeadtest.sh +30 -0
- data/vendor/libressl/tests/arc4randomforktest.sh +21 -0
- data/vendor/libressl/tests/asn1time_small.test +10 -0
- data/vendor/libressl/tests/cmake/CMakeLists.txt +52 -0
- data/vendor/libressl/tests/cmake/crypto.c +7 -0
- data/vendor/libressl/tests/cmake/ssl.c +6 -0
- data/vendor/libressl/tests/cmake/tls.c +6 -0
- data/vendor/libressl/tests/compat/pipe2.c +186 -0
- data/vendor/libressl/tests/dtlstest.sh +28 -0
- data/vendor/libressl/tests/evptest.sh +22 -0
- data/vendor/libressl/tests/keypairtest.sh +27 -0
- data/vendor/libressl/tests/mlkem_tests.sh +39 -0
- data/vendor/libressl/tests/ocsptest.bat +25 -0
- data/vendor/libressl/tests/ocsptest.sh +23 -0
- data/vendor/libressl/tests/openssl.cnf +29 -0
- data/vendor/libressl/tests/optionstest.c +381 -0
- data/vendor/libressl/tests/pidwraptest.c +85 -0
- data/vendor/libressl/tests/pidwraptest.sh +26 -0
- data/vendor/libressl/tests/quictest.bat +27 -0
- data/vendor/libressl/tests/quictest.sh +30 -0
- data/vendor/libressl/tests/renegotiation_test.bat +27 -0
- data/vendor/libressl/tests/renegotiation_test.sh +30 -0
- data/vendor/libressl/tests/rfc5280time_small.test +10 -0
- data/vendor/libressl/tests/servertest.bat +27 -0
- data/vendor/libressl/tests/servertest.sh +30 -0
- data/vendor/libressl/tests/shutdowntest.bat +27 -0
- data/vendor/libressl/tests/shutdowntest.sh +30 -0
- data/vendor/libressl/tests/ssltest.bat +32 -0
- data/vendor/libressl/tests/ssltest.sh +48 -0
- data/vendor/libressl/tests/testdsa.bat +47 -0
- data/vendor/libressl/tests/testdsa.sh +57 -0
- data/vendor/libressl/tests/testenc.bat +85 -0
- data/vendor/libressl/tests/testenc.sh +93 -0
- data/vendor/libressl/tests/testrsa.bat +47 -0
- data/vendor/libressl/tests/testrsa.sh +57 -0
- data/vendor/libressl/tests/testssl.bat +171 -0
- data/vendor/libressl/tests/tlstest.bat +27 -0
- data/vendor/libressl/tests/tlstest.sh +28 -0
- data/vendor/libressl/tls/CMakeLists.txt +125 -0
- data/vendor/libressl/tls/Makefile.am +76 -0
- data/vendor/libressl/tls/compat/ftruncate.c +17 -0
- data/vendor/libressl/tls/compat/pread.c +29 -0
- data/vendor/libressl/tls/compat/pwrite.c +29 -0
- data/vendor/libressl/update.sh +460 -0
- data/vendor/liburing/.github/workflows/ci.yml +8 -0
- data/vendor/liburing/configure +23 -2
- data/vendor/liburing/examples/helpers.c +1 -1
- data/vendor/liburing/examples/helpers.h +1 -1
- data/vendor/liburing/examples/reg-wait.c +3 -3
- data/vendor/liburing/examples/zcrx.c +5 -5
- data/vendor/liburing/liburing.spec +1 -1
- data/vendor/liburing/src/include/liburing/io_uring.h +16 -0
- data/vendor/liburing/src/include/liburing.h +20 -4
- data/vendor/liburing/src/lib.h +2 -4
- data/vendor/liburing/src/liburing-ffi.map +7 -0
- data/vendor/liburing/src/liburing.map +7 -0
- data/vendor/liburing/src/register.c +5 -0
- data/vendor/liburing/src/sanitize.c +5 -4
- data/vendor/liburing/src/setup.c +43 -28
- data/vendor/liburing/test/Makefile +7 -0
- data/vendor/liburing/test/cmd-discard.c +2 -2
- data/vendor/liburing/test/evfd-short-read.c +84 -0
- data/vendor/liburing/test/fdinfo-sqpoll.c +117 -0
- data/vendor/liburing/test/fdinfo.c +1 -1
- data/vendor/liburing/test/fixed-buf-merge.c +2 -2
- data/vendor/liburing/test/futex-kill.c +135 -0
- data/vendor/liburing/test/helpers.c +1 -1
- data/vendor/liburing/test/helpers.h +1 -1
- data/vendor/liburing/test/init-mem.c +50 -12
- data/vendor/liburing/test/io_uring_passthrough.c +25 -6
- data/vendor/liburing/test/msg-ring.c +123 -9
- data/vendor/liburing/test/recv-bundle-short-ooo.c +16 -1
- data/vendor/liburing/test/recv-inc-ooo.c +411 -0
- data/vendor/liburing/test/recv-mshot-fair.c +513 -0
- data/vendor/liburing/test/reg-wait.c +14 -14
- data/vendor/liburing/test/send-zerocopy.c +4 -4
- data/vendor/liburing/test/timerfd-short-read.c +81 -0
- data/vendor/liburing/test/timestamp.c +382 -0
- data/vendor/liburing/test/zcrx.c +22 -22
- metadata +222 -2
@@ -0,0 +1,69 @@
|
|
1
|
+
# GitHub Actions workflow to run Coverity scans.
|
2
|
+
name: "Coverity"
|
3
|
+
|
4
|
+
on:
|
5
|
+
workflow_dispatch:
|
6
|
+
schedule:
|
7
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
scan:
|
15
|
+
name: "Scan"
|
16
|
+
runs-on: "ubuntu-24.04"
|
17
|
+
if: github.repository_owner == 'libressl' # Prevent running on forks
|
18
|
+
permissions:
|
19
|
+
contents: read
|
20
|
+
steps:
|
21
|
+
- name: "Checkout repository"
|
22
|
+
uses: actions/checkout@v4
|
23
|
+
|
24
|
+
- name: "Install dependencies"
|
25
|
+
run: |
|
26
|
+
sudo apt-get update
|
27
|
+
sudo apt-get install -y cmake ninja-build
|
28
|
+
|
29
|
+
- name: "Download Coverity build tool"
|
30
|
+
env:
|
31
|
+
PROJECT: "libressl-portable%2Fportable"
|
32
|
+
COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
|
33
|
+
run: |
|
34
|
+
wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$PROJECT" -O coverity_tool.tar.gz
|
35
|
+
mkdir coverity_tool
|
36
|
+
tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool
|
37
|
+
|
38
|
+
- name: "Setup"
|
39
|
+
run: |
|
40
|
+
./autogen.sh
|
41
|
+
./configure
|
42
|
+
make dist
|
43
|
+
tar zxf libressl-*.tar.gz
|
44
|
+
rm libressl-*.tar.gz
|
45
|
+
cd libressl-*
|
46
|
+
mkdir build-static
|
47
|
+
mkdir build-shared
|
48
|
+
cmake -GNinja -DBUILD_SHARED_LIBS=ON ..
|
49
|
+
|
50
|
+
- name: "Build with Coverity build tool"
|
51
|
+
run: |
|
52
|
+
export PATH=`pwd`/coverity_tool/bin:$PATH
|
53
|
+
cd libressl-*
|
54
|
+
cov-build --dir cov-int ninja
|
55
|
+
|
56
|
+
- name: "Submit build result to Coverity Scan"
|
57
|
+
env:
|
58
|
+
EMAIL: "libressl-security@openbsd.org"
|
59
|
+
PROJECT: "libressl-portable%2Fportable"
|
60
|
+
COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
|
61
|
+
run: |
|
62
|
+
cd libressl-*
|
63
|
+
tar czvf cov.tar.gz cov-int
|
64
|
+
curl --form token=$COVERITY_SCAN_TOKEN \
|
65
|
+
--form email=$EMAIL \
|
66
|
+
--form file=@cov.tar.gz \
|
67
|
+
--form version="Commit $GITHUB_SHA" \
|
68
|
+
--form description="Build submitted via CI" \
|
69
|
+
https://scan.coverity.com/builds?project=$PROJECT
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# GitHub Actions workflow to run for Emscripten.
|
2
|
+
name: "Emscripten"
|
3
|
+
|
4
|
+
on:
|
5
|
+
push: {}
|
6
|
+
pull_request: {}
|
7
|
+
schedule:
|
8
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
9
|
+
|
10
|
+
concurrency:
|
11
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
12
|
+
cancel-in-progress: true
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
test:
|
16
|
+
name: "Emscripten"
|
17
|
+
runs-on: "ubuntu-24.04"
|
18
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
19
|
+
permissions:
|
20
|
+
contents: read
|
21
|
+
steps:
|
22
|
+
- name: "Checkout repository"
|
23
|
+
uses: actions/checkout@v4
|
24
|
+
|
25
|
+
- name: "Setup emsdk"
|
26
|
+
uses: mymindstorm/setup-emsdk@v14
|
27
|
+
with:
|
28
|
+
version: "3.1.60"
|
29
|
+
|
30
|
+
- name: "Prepare repository"
|
31
|
+
run: ./autogen.sh
|
32
|
+
|
33
|
+
- name: "Configure CMake"
|
34
|
+
run: emcmake cmake -Bbuild
|
35
|
+
|
36
|
+
- name: "Build"
|
37
|
+
run: cmake --build build --config Release
|
38
|
+
|
39
|
+
- name: "Test"
|
40
|
+
run: ctest --test-dir build -C Release --output-on-failure
|
41
|
+
|
42
|
+
# Test ASAN with and without ASM enabled.
|
43
|
+
test-asan:
|
44
|
+
name: "ASAN (no-asm)"
|
45
|
+
runs-on: "ubuntu-24.04"
|
46
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
47
|
+
permissions:
|
48
|
+
contents: read
|
49
|
+
steps:
|
50
|
+
- name: "Checkout repository"
|
51
|
+
uses: actions/checkout@v4
|
52
|
+
|
53
|
+
- name: "Setup emsdk"
|
54
|
+
uses: mymindstorm/setup-emsdk@v14
|
55
|
+
with:
|
56
|
+
version: "3.1.60"
|
57
|
+
|
58
|
+
- name: "Prepare repository"
|
59
|
+
run: ./autogen.sh
|
60
|
+
|
61
|
+
- name: "Configure CMake"
|
62
|
+
run: emcmake cmake -Bbuild
|
63
|
+
env:
|
64
|
+
CFLAGS: "-gsource-map -fsanitize=address"
|
65
|
+
LDFLAGS: "-fsanitize=address"
|
66
|
+
|
67
|
+
- name: "Build"
|
68
|
+
run: cmake --build build --config Release
|
69
|
+
|
70
|
+
- name: "Test"
|
71
|
+
run: ctest --test-dir build -C Release --output-on-failure
|
@@ -0,0 +1,39 @@
|
|
1
|
+
name: Fedora/Rawhide
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
schedule:
|
6
|
+
- cron: "0 0 * * *"
|
7
|
+
|
8
|
+
concurrency:
|
9
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
10
|
+
cancel-in-progress: true
|
11
|
+
|
12
|
+
permissions:
|
13
|
+
contents: read
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
build_and_test:
|
17
|
+
strategy:
|
18
|
+
matrix:
|
19
|
+
cc: [ gcc, clang ]
|
20
|
+
name: ${{ matrix.cc }}
|
21
|
+
runs-on: ubuntu-24.04
|
22
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
23
|
+
container:
|
24
|
+
image: fedora:rawhide
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v4
|
27
|
+
- name: Install dependencies
|
28
|
+
run: |
|
29
|
+
dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch gawk
|
30
|
+
- name: Pull upstream source
|
31
|
+
run: |
|
32
|
+
./update.sh
|
33
|
+
- name: Build
|
34
|
+
run: |
|
35
|
+
CC=${{ matrix.cc }} cmake -GNinja -DBUILD_SHARED_LIBS=ON .
|
36
|
+
ninja
|
37
|
+
- name: Test
|
38
|
+
run: |
|
39
|
+
ninja test
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# GitHub Actions workflow to run tests on a FreeBSD VM.
|
2
|
+
name: "FreeBSD"
|
3
|
+
|
4
|
+
on:
|
5
|
+
workflow_dispatch:
|
6
|
+
schedule:
|
7
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
env:
|
14
|
+
FREEBSD_VERSION: "14.1"
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
autoconf:
|
18
|
+
name: "autoconf"
|
19
|
+
runs-on: ubuntu-24.04
|
20
|
+
if: github.repository_owner == 'libressl' || github.event_name != 'schedule'
|
21
|
+
permissions:
|
22
|
+
contents: read
|
23
|
+
steps:
|
24
|
+
- name: "Checkout repository"
|
25
|
+
uses: actions/checkout@v4
|
26
|
+
|
27
|
+
- name: "Setup"
|
28
|
+
run: |
|
29
|
+
sudo apt-get update
|
30
|
+
sudo apt-get install -y automake autoconf libtool
|
31
|
+
./autogen.sh
|
32
|
+
|
33
|
+
- name: "Build on VM"
|
34
|
+
uses: vmactions/freebsd-vm@v1
|
35
|
+
with:
|
36
|
+
release: "${{ env.FREEBSD_VERSION }}"
|
37
|
+
copyback: false
|
38
|
+
prepare: |
|
39
|
+
pkg install -y autoconf automake libtool
|
40
|
+
run: |
|
41
|
+
./configure
|
42
|
+
make -j2 check || (cat tests/test-suite.log && exit 1)
|
43
|
+
|
44
|
+
cmake:
|
45
|
+
name: "cmake"
|
46
|
+
runs-on: ubuntu-24.04
|
47
|
+
if: github.repository_owner == 'libressl' || github.event_name != 'schedule'
|
48
|
+
permissions:
|
49
|
+
contents: read
|
50
|
+
steps:
|
51
|
+
- name: "Checkout repository"
|
52
|
+
uses: actions/checkout@v4
|
53
|
+
|
54
|
+
- name: "Setup"
|
55
|
+
run: |
|
56
|
+
sudo apt-get update
|
57
|
+
sudo apt-get install -y automake autoconf libtool
|
58
|
+
./autogen.sh
|
59
|
+
|
60
|
+
- name: "Build on VM"
|
61
|
+
uses: vmactions/freebsd-vm@v1
|
62
|
+
with:
|
63
|
+
release: "${{ env.FREEBSD_VERSION }}"
|
64
|
+
copyback: false
|
65
|
+
prepare: |
|
66
|
+
pkg install -y cmake ninja
|
67
|
+
run: |
|
68
|
+
export CTEST_OUTPUT_ON_FAILURE=1
|
69
|
+
cmake -G Ninja -B build
|
70
|
+
ninja -C build
|
71
|
+
ninja -C build test
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# GitHub Actions workflow to run tests on Linux.
|
2
|
+
name: "Linux"
|
3
|
+
|
4
|
+
on:
|
5
|
+
push: {}
|
6
|
+
pull_request: {}
|
7
|
+
schedule:
|
8
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
9
|
+
|
10
|
+
concurrency:
|
11
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
12
|
+
cancel-in-progress: true
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
# Test against all supported architectures.
|
16
|
+
test:
|
17
|
+
name: "${{ matrix.os }}/${{ matrix.arch }} (${{ matrix.compiler }})"
|
18
|
+
runs-on: "${{ matrix.os }}"
|
19
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
20
|
+
permissions:
|
21
|
+
contents: read
|
22
|
+
strategy:
|
23
|
+
fail-fast: false
|
24
|
+
matrix:
|
25
|
+
os: ["ubuntu-22.04", "ubuntu-24.04"]
|
26
|
+
arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"]
|
27
|
+
compiler: ["gcc"]
|
28
|
+
include:
|
29
|
+
- os: "ubuntu-22.04"
|
30
|
+
arch: "native"
|
31
|
+
compiler: "clang"
|
32
|
+
- os: "ubuntu-24.04"
|
33
|
+
arch: "native"
|
34
|
+
compiler: "clang"
|
35
|
+
- os: "ubuntu-24.04" # loong64
|
36
|
+
arch: "loong64"
|
37
|
+
compiler: "gcc"
|
38
|
+
steps:
|
39
|
+
- name: "Checkout repository"
|
40
|
+
uses: actions/checkout@v4
|
41
|
+
|
42
|
+
- name: "Run tests"
|
43
|
+
run: ./scripts/test || (status=$?; cat tests/test-suite.log; exit $status)
|
44
|
+
env:
|
45
|
+
ARCH: "${{ matrix.arch }}"
|
46
|
+
CC: "${{ matrix.compiler }}"
|
47
|
+
|
48
|
+
# Test ASAN with and without ASM enabled.
|
49
|
+
test-asan:
|
50
|
+
name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})"
|
51
|
+
runs-on: "ubuntu-24.04"
|
52
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
53
|
+
permissions:
|
54
|
+
contents: read
|
55
|
+
strategy:
|
56
|
+
fail-fast: false
|
57
|
+
matrix:
|
58
|
+
asm: [ON, OFF]
|
59
|
+
steps:
|
60
|
+
- name: "Checkout repository"
|
61
|
+
uses: actions/checkout@v4
|
62
|
+
|
63
|
+
- name: "Run tests"
|
64
|
+
run: ./scripts/test
|
65
|
+
env:
|
66
|
+
ARCH: "native"
|
67
|
+
CC: "clang"
|
68
|
+
CFLAGS: "-ggdb -fsanitize=address"
|
69
|
+
LDFLAGS: "-fsanitize=address"
|
70
|
+
ENABLE_ASM: "${{ matrix.asm }}"
|
71
|
+
CTEST_OUTPUT_ON_FAILURE: 1
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# GitHub Actions workflow to run tests on macOS.
|
2
|
+
name: "macOS"
|
3
|
+
|
4
|
+
on:
|
5
|
+
push: {}
|
6
|
+
pull_request: {}
|
7
|
+
schedule:
|
8
|
+
- cron: "0 0 * * 0" # At 00:00 weekly on Sunday.
|
9
|
+
|
10
|
+
concurrency:
|
11
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
12
|
+
cancel-in-progress: true
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
test:
|
16
|
+
name: "${{ matrix.os }}/${{ matrix.arch }}"
|
17
|
+
runs-on: "${{ matrix.os }}"
|
18
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
19
|
+
permissions:
|
20
|
+
contents: read
|
21
|
+
strategy:
|
22
|
+
fail-fast: false
|
23
|
+
matrix:
|
24
|
+
os: ["macos-15", "macos-14", "macos-13"]
|
25
|
+
arch: ["arm64", "x86_64"]
|
26
|
+
steps:
|
27
|
+
- name: "Install required packages"
|
28
|
+
run: brew install automake libtool
|
29
|
+
|
30
|
+
- name: "Checkout repository"
|
31
|
+
uses: actions/checkout@v4
|
32
|
+
|
33
|
+
- name: "Run tests"
|
34
|
+
run: ./scripts/test
|
35
|
+
env:
|
36
|
+
ARCH: "${{ matrix.arch }}"
|
37
|
+
OS: "${{ matrix.os }}"
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# GitHub Actions workflow to create releases from tags.
|
2
|
+
name: "Release"
|
3
|
+
|
4
|
+
on:
|
5
|
+
push:
|
6
|
+
tags: [ "v*" ]
|
7
|
+
|
8
|
+
concurrency:
|
9
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
10
|
+
cancel-in-progress: true
|
11
|
+
|
12
|
+
permissions:
|
13
|
+
contents: write
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
release:
|
17
|
+
name: "Release"
|
18
|
+
runs-on: "ubuntu-24.04"
|
19
|
+
outputs:
|
20
|
+
upload_url: "${{ steps.create_release.outputs.upload_url }}"
|
21
|
+
steps:
|
22
|
+
- name: "Checkout repository"
|
23
|
+
uses: actions/checkout@v4
|
24
|
+
|
25
|
+
- name: "Generate version changelog"
|
26
|
+
run: .github/scripts/changelog.sh "$VERSION" > release-changelog.txt
|
27
|
+
env:
|
28
|
+
VERSION: "${{ github.ref_name }}"
|
29
|
+
|
30
|
+
- name: "Create GitHub release"
|
31
|
+
id: create_release
|
32
|
+
uses: softprops/action-gh-release@v2
|
33
|
+
with:
|
34
|
+
body_path: "${{ github.workspace }}/release-changelog.txt"
|
35
|
+
|
36
|
+
build-windows:
|
37
|
+
name: "${{ matrix.os }}/${{ matrix.arch }}"
|
38
|
+
runs-on: "${{ matrix.os }}"
|
39
|
+
needs: ["release"]
|
40
|
+
strategy:
|
41
|
+
matrix:
|
42
|
+
os: [ "windows-2022" ]
|
43
|
+
arch: [ "Win32", "x64", "ARM64" ]
|
44
|
+
steps:
|
45
|
+
- name: "Checkout repository"
|
46
|
+
uses: actions/checkout@v4
|
47
|
+
|
48
|
+
- name: "Setup MSYS2"
|
49
|
+
uses: msys2/setup-msys2@v2
|
50
|
+
with:
|
51
|
+
update: true
|
52
|
+
install: >-
|
53
|
+
autoconf
|
54
|
+
automake
|
55
|
+
diffutils
|
56
|
+
libtool
|
57
|
+
gcc
|
58
|
+
git
|
59
|
+
patch
|
60
|
+
perl
|
61
|
+
|
62
|
+
- shell: msys2 {0}
|
63
|
+
run: ./autogen.sh
|
64
|
+
|
65
|
+
- shell: cmd
|
66
|
+
run: cmake -Bbuild -G "Visual Studio 17 2022" -A ${{ matrix.arch }} -DCMAKE_INSTALL_PREFIX=local
|
67
|
+
|
68
|
+
- shell: cmd
|
69
|
+
run: cmake --build build --config Release
|
70
|
+
|
71
|
+
- shell: cmd
|
72
|
+
run: cmake --install build --config Release
|
73
|
+
|
74
|
+
- shell: pwsh
|
75
|
+
run: Compress-Archive -Path local\* "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip"
|
76
|
+
|
77
|
+
- name: "Upload release artifact"
|
78
|
+
uses: softprops/action-gh-release@v2
|
79
|
+
with:
|
80
|
+
files: |
|
81
|
+
libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# GitHub Actions workflow to run rust-openssl regress tests.
|
2
|
+
name: "rust-openssl"
|
3
|
+
|
4
|
+
on:
|
5
|
+
workflow_dispatch:
|
6
|
+
schedule:
|
7
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
name: "Test"
|
16
|
+
runs-on: "ubuntu-24.04"
|
17
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
18
|
+
permissions:
|
19
|
+
contents: read
|
20
|
+
steps:
|
21
|
+
- name: "Checkout repository"
|
22
|
+
uses: actions/checkout@v4
|
23
|
+
|
24
|
+
- name: "Build LibreSSL"
|
25
|
+
run: |
|
26
|
+
./autogen.sh
|
27
|
+
./configure --prefix="${HOME}/opt"
|
28
|
+
make all install
|
29
|
+
|
30
|
+
- name: "Clone rust-openssl"
|
31
|
+
run: |
|
32
|
+
git clone https://github.com/sfackler/rust-openssl.git
|
33
|
+
|
34
|
+
- name: "Run rust-openssl tests"
|
35
|
+
run: |
|
36
|
+
cd rust-openssl
|
37
|
+
# instead of erroring use the last supported version
|
38
|
+
ed -s openssl-sys/build/main.rs <<-EOF
|
39
|
+
/_ => version_error/-1
|
40
|
+
.t.
|
41
|
+
s/(.*=/_ =
|
42
|
+
+1d
|
43
|
+
w
|
44
|
+
q
|
45
|
+
EOF
|
46
|
+
export OPENSSL_DIR=${HOME}/opt LD_LIBRARY_PATH=${HOME}/opt/lib
|
47
|
+
cargo test --verbose
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# GitHub Actions workflow to run tests on a Solaris VM.
|
2
|
+
name: "Solaris"
|
3
|
+
|
4
|
+
on:
|
5
|
+
workflow_dispatch:
|
6
|
+
schedule:
|
7
|
+
- cron: "0 0 * * *" # At 00:00 daily.
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
name: "Solaris"
|
16
|
+
runs-on: ubuntu-24.04
|
17
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
18
|
+
permissions:
|
19
|
+
contents: read
|
20
|
+
steps:
|
21
|
+
- name: "Checkout repository"
|
22
|
+
uses: actions/checkout@v4
|
23
|
+
|
24
|
+
- name: "Setup"
|
25
|
+
run: |
|
26
|
+
sudo apt-get update
|
27
|
+
sudo apt-get install -y automake autoconf libtool
|
28
|
+
./autogen.sh
|
29
|
+
|
30
|
+
- name: "Build on VM"
|
31
|
+
uses: vmactions/solaris-vm@v1
|
32
|
+
with:
|
33
|
+
prepare: |
|
34
|
+
pkg install gcc make
|
35
|
+
run: |
|
36
|
+
MAKE=gmake ./configure
|
37
|
+
gmake -j2 check || (cat tests/test-suite.log && exit 1)
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# GitHub Actions workflow to run tests on Windows.
|
2
|
+
name: "Windows"
|
3
|
+
|
4
|
+
on:
|
5
|
+
push: {}
|
6
|
+
pull_request: {}
|
7
|
+
schedule:
|
8
|
+
- cron: "0 0 * * 0" # At 00:00 weekly on Sunday.
|
9
|
+
|
10
|
+
concurrency:
|
11
|
+
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
12
|
+
cancel-in-progress: true
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
test:
|
16
|
+
name: "${{ matrix.os }}/${{ matrix.arch }} (${{ matrix.generator }}${{ matrix.shared == 'ON' && ', shared' || '' }})"
|
17
|
+
runs-on: "${{ matrix.os }}"
|
18
|
+
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
19
|
+
permissions:
|
20
|
+
contents: read
|
21
|
+
strategy:
|
22
|
+
fail-fast: false
|
23
|
+
matrix:
|
24
|
+
os: ["windows-2022", "windows-2025"]
|
25
|
+
arch: ["ARM64", "x64", "Win32"]
|
26
|
+
shared: ["ON", "OFF"]
|
27
|
+
include:
|
28
|
+
- os: "windows-2022"
|
29
|
+
generator: "Visual Studio 17 2022"
|
30
|
+
- os: "windows-2025"
|
31
|
+
# XXX - use appropriate value
|
32
|
+
generator: "Visual Studio 17 2022"
|
33
|
+
steps:
|
34
|
+
- name: "Checkout repository"
|
35
|
+
uses: actions/checkout@v4
|
36
|
+
|
37
|
+
- name: "Setup MSYS2"
|
38
|
+
uses: msys2/setup-msys2@v2
|
39
|
+
with:
|
40
|
+
update: true
|
41
|
+
install: >-
|
42
|
+
diffutils
|
43
|
+
gcc
|
44
|
+
git
|
45
|
+
patch
|
46
|
+
perl
|
47
|
+
|
48
|
+
- name: "Update"
|
49
|
+
shell: msys2 {0}
|
50
|
+
run: ./update.sh
|
51
|
+
|
52
|
+
- name: "Configure CMake"
|
53
|
+
shell: cmd
|
54
|
+
run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -D BUILD_SHARED_LIBS=${{ matrix.shared }} -D CMAKE_INSTALL_PREFIX=../local
|
55
|
+
|
56
|
+
- name: "Build"
|
57
|
+
shell: cmd
|
58
|
+
run: cmake --build build --config Release
|
59
|
+
|
60
|
+
- name: "Test"
|
61
|
+
if: matrix.arch != 'ARM64'
|
62
|
+
shell: cmd
|
63
|
+
run: ctest --test-dir build -C Release --output-on-failure
|
64
|
+
|
65
|
+
- name: "Upload build artifacts"
|
66
|
+
if: always()
|
67
|
+
uses: actions/upload-artifact@v4
|
68
|
+
with:
|
69
|
+
name: "${{ matrix.os }}-${{ matrix.arch }}${{ matrix.shared == 'ON' && '-shared' || '' }}-build-results"
|
70
|
+
path: "build"
|