diff options
70 files changed, 1596 insertions, 687 deletions
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index d095d6d..7bc59c5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml | |||
@@ -10,7 +10,7 @@ concurrency: | |||
10 | jobs: | 10 | jobs: |
11 | test: | 11 | test: |
12 | name: "Test ${{ matrix.name }}" | 12 | name: "Test ${{ matrix.name }}" |
13 | runs-on: ubuntu-latest | 13 | runs-on: ubuntu-24.04 |
14 | permissions: | 14 | permissions: |
15 | contents: read | 15 | contents: read |
16 | strategy: | 16 | strategy: |
diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 966d92a..f994f99 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml | |||
@@ -9,7 +9,7 @@ concurrency: | |||
9 | 9 | ||
10 | jobs: | 10 | jobs: |
11 | Fuzzing: | 11 | Fuzzing: |
12 | runs-on: ubuntu-latest | 12 | runs-on: ubuntu-24.04 |
13 | steps: | 13 | steps: |
14 | - name: Build Fuzzers | 14 | - name: Build Fuzzers |
15 | id: build | 15 | id: build |
@@ -26,7 +26,7 @@ jobs: | |||
26 | dry-run: false | 26 | dry-run: false |
27 | language: c++ | 27 | language: c++ |
28 | - name: Upload Crash | 28 | - name: Upload Crash |
29 | uses: actions/upload-artifact@v3 | 29 | uses: actions/upload-artifact@v4 |
30 | if: failure() && steps.build.outcome == 'success' | 30 | if: failure() && steps.build.outcome == 'success' |
31 | with: | 31 | with: |
32 | name: artifacts | 32 | name: artifacts |
diff --git a/.github/workflows/cmake-config.yml b/.github/workflows/cmake-config.yml new file mode 100644 index 0000000..0988102 --- /dev/null +++ b/.github/workflows/cmake-config.yml | |||
@@ -0,0 +1,98 @@ | |||
1 | # GitHub Actions workflow to check CMake config. | ||
2 | name: "CMake Check" | ||
3 | |||
4 | on: | ||
5 | push: {} | ||
6 | pull_request: {} | ||
7 | |||
8 | concurrency: | ||
9 | group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" | ||
10 | cancel-in-progress: true | ||
11 | |||
12 | jobs: | ||
13 | check: | ||
14 | name: "${{ matrix.os }}" | ||
15 | runs-on: "${{ matrix.os }}" | ||
16 | strategy: | ||
17 | fail-fast: true | ||
18 | matrix: | ||
19 | os: [ "windows-2022", "macos-14", "ubuntu-24.04" ] | ||
20 | defaults: | ||
21 | run: | ||
22 | shell: "bash" | ||
23 | permissions: | ||
24 | contents: read | ||
25 | steps: | ||
26 | - name: "Checkout repository" | ||
27 | uses: actions/checkout@v4 | ||
28 | |||
29 | - name: "Setup Windows dependencies" | ||
30 | if: runner.os == 'Windows' | ||
31 | uses: msys2/setup-msys2@v2 | ||
32 | with: | ||
33 | update: true | ||
34 | install: >- | ||
35 | autoconf | ||
36 | automake | ||
37 | diffutils | ||
38 | libtool | ||
39 | gcc | ||
40 | git | ||
41 | patch | ||
42 | perl | ||
43 | |||
44 | - name: "Setup macOS dependencies" | ||
45 | if: runner.os == 'macOS' | ||
46 | run: brew install automake libtool | ||
47 | |||
48 | - name: "Prepare source tree for build (Windows)" | ||
49 | if: runner.os == 'Windows' | ||
50 | shell: "msys2 {0}" | ||
51 | run: ./autogen.sh | ||
52 | |||
53 | - name: "Prepare source tree for build (Unix)" | ||
54 | if: runner.os != 'Windows' | ||
55 | run: ./autogen.sh | ||
56 | |||
57 | - name: "Configure" | ||
58 | run: | | ||
59 | cmake -S . \ | ||
60 | -B build \ | ||
61 | -D CMAKE_BUILD_TYPE=Release \ | ||
62 | -D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/../local | ||
63 | |||
64 | - name: "Build" | ||
65 | run: cmake --build build --config Release --verbose | ||
66 | |||
67 | - name: "Install" | ||
68 | run: cmake --install build --config Release | ||
69 | |||
70 | - name: "Consume from the build directory - Configure" | ||
71 | run: | | ||
72 | cmake -S tests/cmake \ | ||
73 | -B consumer-build \ | ||
74 | -D CMAKE_BUILD_TYPE=Release \ | ||
75 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/build | ||
76 | |||
77 | - name: "Consume from the build directory - Build" | ||
78 | run: cmake --build consumer-build --config Release --verbose | ||
79 | |||
80 | - name: "Consume from the install directory (CMAKE_PREFIX_PATH) - Configure" | ||
81 | run: | | ||
82 | cmake -S tests/cmake \ | ||
83 | -B consumer-install-prefix \ | ||
84 | -D CMAKE_BUILD_TYPE=Release \ | ||
85 | -D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/../local | ||
86 | |||
87 | - name: "Consume from the install directory (CMAKE_PREFIX_PATH) - Build" | ||
88 | run: cmake --build consumer-install-prefix --config Release --verbose | ||
89 | |||
90 | - name: "Consume from the install directory (LibreSSL_DIR) - Configure" | ||
91 | run: | | ||
92 | cmake -S tests/cmake \ | ||
93 | -B consumer-install-dir \ | ||
94 | -D CMAKE_BUILD_TYPE=Release \ | ||
95 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/../local/lib/cmake/LibreSSL | ||
96 | |||
97 | - name: "Consume from the install directory (LibreSSL_DIR) - Build" | ||
98 | run: cmake --build consumer-install-dir --config Release --verbose | ||
diff --git a/.github/workflows/cmake_config.yml b/.github/workflows/cmake_config.yml deleted file mode 100644 index be9f114..0000000 --- a/.github/workflows/cmake_config.yml +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | name: cmake_config | ||
2 | |||
3 | on: [push, pull_request] | ||
4 | |||
5 | concurrency: | ||
6 | group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" | ||
7 | cancel-in-progress: true | ||
8 | |||
9 | jobs: | ||
10 | cmake-check: | ||
11 | defaults: | ||
12 | run: | ||
13 | shell: bash | ||
14 | strategy: | ||
15 | matrix: | ||
16 | os: [windows-latest, macos-latest, ubuntu-latest] | ||
17 | runs-on: ${{ matrix.os }} | ||
18 | continue-on-error: false | ||
19 | name: ${{ matrix.os }} | ||
20 | steps: | ||
21 | - name: Setup Windows dependencies | ||
22 | if: runner.os == 'Windows' | ||
23 | uses: msys2/setup-msys2@v2 | ||
24 | with: | ||
25 | update: true | ||
26 | install: >- | ||
27 | autoconf | ||
28 | automake | ||
29 | diffutils | ||
30 | libtool | ||
31 | gcc | ||
32 | git | ||
33 | patch | ||
34 | perl | ||
35 | |||
36 | - name: Setup macOS dependencies | ||
37 | if: runner.os == 'macOS' | ||
38 | run: brew install automake libtool | ||
39 | |||
40 | - uses: actions/checkout@main | ||
41 | |||
42 | - name: Prepare source tree for build (Windows) | ||
43 | if: runner.os == 'Windows' | ||
44 | run: ./autogen.sh | ||
45 | shell: msys2 {0} | ||
46 | |||
47 | - name: Prepare source tree for build (Unix) | ||
48 | if: runner.os != 'Windows' | ||
49 | run: ./autogen.sh | ||
50 | |||
51 | - name: Configure | ||
52 | run: | | ||
53 | cmake -S . \ | ||
54 | -B build \ | ||
55 | -D CMAKE_BUILD_TYPE=Release \ | ||
56 | -D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/../local | ||
57 | |||
58 | - name: Build | ||
59 | run: cmake --build build --config Release --verbose | ||
60 | |||
61 | - name: Install | ||
62 | run: cmake --install build --config Release | ||
63 | |||
64 | - name: Consume from the build directory - Configure | ||
65 | run: | | ||
66 | cmake -S tests/cmake \ | ||
67 | -B consumer-build \ | ||
68 | -D CMAKE_BUILD_TYPE=Release \ | ||
69 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/build | ||
70 | - name: Consume from the build directory - Build | ||
71 | run: cmake --build consumer-build --config Release --verbose | ||
72 | |||
73 | - name: Consume from the install directory (CMAKE_PREFIX_PATH) - Configure | ||
74 | run: | | ||
75 | cmake -S tests/cmake \ | ||
76 | -B consumer-install-prefix \ | ||
77 | -D CMAKE_BUILD_TYPE=Release \ | ||
78 | -D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/../local | ||
79 | - name: Consume from the install directory (CMAKE_PREFIX_PATH) - Build | ||
80 | run: cmake --build consumer-install-prefix --config Release --verbose | ||
81 | |||
82 | - name: Consume from the install directory (LibreSSL_DIR) - Configure | ||
83 | run: | | ||
84 | cmake -S tests/cmake \ | ||
85 | -B consumer-install-dir \ | ||
86 | -D CMAKE_BUILD_TYPE=Release \ | ||
87 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/../local/lib/cmake/LibreSSL | ||
88 | - name: Consume from the install directory (LibreSSL_DIR) - Build | ||
89 | run: cmake --build consumer-install-dir --config Release --verbose | ||
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 112678f..8d0ad11 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml | |||
@@ -13,7 +13,7 @@ concurrency: | |||
13 | jobs: | 13 | jobs: |
14 | scan: | 14 | scan: |
15 | name: "Scan" | 15 | name: "Scan" |
16 | runs-on: "ubuntu-latest" | 16 | runs-on: "ubuntu-24.04" |
17 | if: github.repository_owner == 'libressl' # Prevent running on forks | 17 | if: github.repository_owner == 'libressl' # Prevent running on forks |
18 | permissions: | 18 | permissions: |
19 | contents: read | 19 | contents: read |
diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 07f140d..013480f 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml | |||
@@ -14,7 +14,7 @@ concurrency: | |||
14 | jobs: | 14 | jobs: |
15 | test: | 15 | test: |
16 | name: "Emscripten" | 16 | name: "Emscripten" |
17 | runs-on: "ubuntu-latest" | 17 | runs-on: "ubuntu-24.04" |
18 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 18 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
19 | permissions: | 19 | permissions: |
20 | contents: read | 20 | contents: read |
@@ -42,7 +42,7 @@ jobs: | |||
42 | # Test ASAN with and without ASM enabled. | 42 | # Test ASAN with and without ASM enabled. |
43 | test-asan: | 43 | test-asan: |
44 | name: "ASAN (no-asm)" | 44 | name: "ASAN (no-asm)" |
45 | runs-on: "ubuntu-latest" | 45 | runs-on: "ubuntu-24.04" |
46 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 46 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
47 | permissions: | 47 | permissions: |
48 | contents: read | 48 | contents: read |
diff --git a/.github/workflows/fedora-rawhide.yml b/.github/workflows/fedora-rawhide.yml index ec3c63d..dff4b6a 100644 --- a/.github/workflows/fedora-rawhide.yml +++ b/.github/workflows/fedora-rawhide.yml | |||
@@ -18,15 +18,15 @@ jobs: | |||
18 | matrix: | 18 | matrix: |
19 | cc: [ gcc, clang ] | 19 | cc: [ gcc, clang ] |
20 | name: ${{ matrix.cc }} | 20 | name: ${{ matrix.cc }} |
21 | runs-on: ubuntu-latest | 21 | runs-on: ubuntu-24.04 |
22 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 22 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
23 | container: | 23 | container: |
24 | image: fedora:rawhide | 24 | image: fedora:rawhide |
25 | steps: | 25 | steps: |
26 | - uses: actions/checkout@v3 | 26 | - uses: actions/checkout@v4 |
27 | - name: Install dependencies | 27 | - name: Install dependencies |
28 | run: | | 28 | run: | |
29 | dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch | 29 | dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch gawk |
30 | - name: Pull upstream source | 30 | - name: Pull upstream source |
31 | run: | | 31 | run: | |
32 | ./update.sh | 32 | ./update.sh |
diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml new file mode 100644 index 0000000..850dbe2 --- /dev/null +++ b/.github/workflows/freebsd.yml | |||
@@ -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 | ||
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5c85d4b..8334ae6 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml | |||
@@ -22,22 +22,25 @@ jobs: | |||
22 | strategy: | 22 | strategy: |
23 | fail-fast: false | 23 | fail-fast: false |
24 | matrix: | 24 | matrix: |
25 | os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] | 25 | os: ["ubuntu-22.04", "ubuntu-24.04"] |
26 | arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"] | 26 | arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"] |
27 | compiler: ["gcc"] | 27 | compiler: ["gcc"] |
28 | include: | 28 | include: |
29 | - os: "ubuntu-20.04" | 29 | - os: "ubuntu-22.04" |
30 | arch: "native" | 30 | arch: "native" |
31 | compiler: "clang" | 31 | compiler: "clang" |
32 | - os: "ubuntu-22.04" | 32 | - os: "ubuntu-24.04" |
33 | arch: "native" | 33 | arch: "native" |
34 | compiler: "clang" | 34 | compiler: "clang" |
35 | - os: "ubuntu-24.04" # loong64 | ||
36 | arch: "loong64" | ||
37 | compiler: "gcc" | ||
35 | steps: | 38 | steps: |
36 | - name: "Checkout repository" | 39 | - name: "Checkout repository" |
37 | uses: actions/checkout@v4 | 40 | uses: actions/checkout@v4 |
38 | 41 | ||
39 | - name: "Run tests" | 42 | - name: "Run tests" |
40 | run: ./scripts/test | 43 | run: ./scripts/test || (status=$?; cat tests/test-suite.log; exit $status) |
41 | env: | 44 | env: |
42 | ARCH: "${{ matrix.arch }}" | 45 | ARCH: "${{ matrix.arch }}" |
43 | CC: "${{ matrix.compiler }}" | 46 | CC: "${{ matrix.compiler }}" |
@@ -45,7 +48,7 @@ jobs: | |||
45 | # Test ASAN with and without ASM enabled. | 48 | # Test ASAN with and without ASM enabled. |
46 | test-asan: | 49 | test-asan: |
47 | name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})" | 50 | name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})" |
48 | runs-on: "ubuntu-latest" | 51 | runs-on: "ubuntu-24.04" |
49 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 52 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
50 | permissions: | 53 | permissions: |
51 | contents: read | 54 | contents: read |
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d5dd3eb..ac29bc0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml | |||
@@ -21,7 +21,7 @@ jobs: | |||
21 | strategy: | 21 | strategy: |
22 | fail-fast: false | 22 | fail-fast: false |
23 | matrix: | 23 | matrix: |
24 | os: ["macos-14", "macos-13", "macos-12"] | 24 | os: ["macos-15", "macos-14", "macos-13"] |
25 | arch: ["arm64", "x86_64"] | 25 | arch: ["arm64", "x86_64"] |
26 | steps: | 26 | steps: |
27 | - name: "Install required packages" | 27 | - name: "Install required packages" |
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2e94b8..c135920 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml | |||
@@ -15,7 +15,7 @@ permissions: | |||
15 | jobs: | 15 | jobs: |
16 | release: | 16 | release: |
17 | name: "Release" | 17 | name: "Release" |
18 | runs-on: "ubuntu-latest" | 18 | runs-on: "ubuntu-24.04" |
19 | outputs: | 19 | outputs: |
20 | upload_url: "${{ steps.create_release.outputs.upload_url }}" | 20 | upload_url: "${{ steps.create_release.outputs.upload_url }}" |
21 | steps: | 21 | steps: |
@@ -29,7 +29,7 @@ jobs: | |||
29 | 29 | ||
30 | - name: "Create GitHub release" | 30 | - name: "Create GitHub release" |
31 | id: create_release | 31 | id: create_release |
32 | uses: softprops/action-gh-release@v1 | 32 | uses: softprops/action-gh-release@v2 |
33 | with: | 33 | with: |
34 | body_path: "${{ github.workspace }}/release-changelog.txt" | 34 | body_path: "${{ github.workspace }}/release-changelog.txt" |
35 | 35 | ||
@@ -72,14 +72,10 @@ jobs: | |||
72 | run: cmake --install build --config Release | 72 | run: cmake --install build --config Release |
73 | 73 | ||
74 | - shell: pwsh | 74 | - shell: pwsh |
75 | run: Compress-Archive -Path local\* local.zip | 75 | run: Compress-Archive -Path local\* "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip" |
76 | 76 | ||
77 | - name: "Upload release artifact" | 77 | - name: "Upload release artifact" |
78 | uses: actions/upload-release-asset@v1 | 78 | uses: softprops/action-gh-release@v2 |
79 | env: | ||
80 | GITHUB_TOKEN: "${{ github.token }}" | ||
81 | with: | 79 | with: |
82 | upload_url: "${{ needs.release.outputs.upload_url }}" | 80 | files: | |
83 | asset_path: "local.zip" | 81 | libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip |
84 | asset_name: "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip" | ||
85 | asset_content_type: "application/zip" | ||
diff --git a/.github/workflows/rust-openssl.yml b/.github/workflows/rust-openssl.yml index b707c4b..4ff41c0 100644 --- a/.github/workflows/rust-openssl.yml +++ b/.github/workflows/rust-openssl.yml | |||
@@ -13,7 +13,7 @@ concurrency: | |||
13 | jobs: | 13 | jobs: |
14 | test: | 14 | test: |
15 | name: "Test" | 15 | name: "Test" |
16 | runs-on: "ubuntu-latest" | 16 | runs-on: "ubuntu-24.04" |
17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
18 | permissions: | 18 | permissions: |
19 | contents: read | 19 | contents: read |
diff --git a/.github/workflows/solaris.yml b/.github/workflows/solaris.yml index f68a2aa..902e488 100644 --- a/.github/workflows/solaris.yml +++ b/.github/workflows/solaris.yml | |||
@@ -13,7 +13,7 @@ concurrency: | |||
13 | jobs: | 13 | jobs: |
14 | test: | 14 | test: |
15 | name: "Solaris" | 15 | name: "Solaris" |
16 | runs-on: ubuntu-latest | 16 | runs-on: ubuntu-24.04 |
17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
18 | permissions: | 18 | permissions: |
19 | contents: read | 19 | contents: read |
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 6aca153..c4c7d72 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml | |||
@@ -50,7 +50,7 @@ jobs: | |||
50 | 50 | ||
51 | - name: "Configure CMake" | 51 | - name: "Configure CMake" |
52 | shell: cmd | 52 | shell: cmd |
53 | run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} DBUILD_SHARED_LIBS=${{ matrix.shared }} -DCMAKE_INSTALL_PREFIX=../local | 53 | run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -D BUILD_SHARED_LIBS=${{ matrix.shared }} -D CMAKE_INSTALL_PREFIX=../local |
54 | 54 | ||
55 | - name: "Build" | 55 | - name: "Build" |
56 | shell: cmd | 56 | shell: cmd |
@@ -39,6 +39,7 @@ Makefile.in | |||
39 | 39 | ||
40 | # CMake stuff | 40 | # CMake stuff |
41 | build | 41 | build |
42 | cmake-build-debug/ | ||
42 | 43 | ||
43 | # Libtool stuff | 44 | # Libtool stuff |
44 | .libs | 45 | .libs |
@@ -109,15 +110,17 @@ tests/ctlog.conf | |||
109 | tests/*.crt | 110 | tests/*.crt |
110 | tests/ec_point_conversion* | 111 | tests/ec_point_conversion* |
111 | tests/ecc_cdh* | 112 | tests/ecc_cdh* |
112 | tests/evp_pkey_check* | ||
113 | tests/evp_pkey_cleanup* | 113 | tests/evp_pkey_cleanup* |
114 | tests/explicit_bzero* | 114 | tests/explicit_bzero* |
115 | tests/freenull* | 115 | tests/freenull* |
116 | tests/gost2814789t* | 116 | tests/gost2814789t* |
117 | tests/key_schedule* | 117 | tests/key_schedule* |
118 | tests/lhash_test* | 118 | tests/lhash_test* |
119 | tests/mlkem* | ||
119 | tests/mont* | 120 | tests/mont* |
121 | tests/parse* | ||
120 | tests/policy* | 122 | tests/policy* |
123 | tests/renegotiation_test* | ||
121 | tests/rfc3779* | 124 | tests/rfc3779* |
122 | tests/rfc5280time* | 125 | tests/rfc5280time* |
123 | tests/ssl_get_shared_ciphers* | 126 | tests/ssl_get_shared_ciphers* |
@@ -141,6 +144,7 @@ tests/x509_algor* | |||
141 | tests/x509_asn1* | 144 | tests/x509_asn1* |
142 | tests/x509_extensions_test* | 145 | tests/x509_extensions_test* |
143 | tests/x509_info* | 146 | tests/x509_info* |
147 | tests/x509_name_test* | ||
144 | tests/x509attribute* | 148 | tests/x509attribute* |
145 | tests/x509name* | 149 | tests/x509name* |
146 | tests/x509req_ext* | 150 | tests/x509req_ext* |
@@ -235,10 +239,16 @@ include/openssl/*.h | |||
235 | 239 | ||
236 | /crypto/* | 240 | /crypto/* |
237 | !/crypto/Makefile.am.* | 241 | !/crypto/Makefile.am.* |
242 | !/crypto/arch/ | ||
243 | !/crypto/arch/mips/* | ||
244 | !/crypto/compat/ | ||
245 | /crypto/compat/* | ||
238 | !/crypto/compat/arc4random.h | 246 | !/crypto/compat/arc4random.h |
239 | !/crypto/compat/b_win.c | 247 | !/crypto/compat/b_win.c |
240 | !/crypto/compat/explicit_bzero_win.c | 248 | !/crypto/compat/explicit_bzero_win.c |
241 | !/crypto/compat/freezero.c | 249 | !/crypto/compat/freezero.c |
250 | !/crypto/compat/getdelim.c | ||
251 | !/crypto/compat/getline.c | ||
242 | !/crypto/compat/getpagesize.c | 252 | !/crypto/compat/getpagesize.c |
243 | !/crypto/compat/posix_win.c | 253 | !/crypto/compat/posix_win.c |
244 | !/crypto/compat/bsd_asprintf.c | 254 | !/crypto/compat/bsd_asprintf.c |
diff --git a/CMakeLists.txt b/CMakeLists.txt index c496ad9..8437e02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -3,7 +3,7 @@ if(MSVC) | |||
3 | cmake_policy(SET CMP0091 NEW) | 3 | cmake_policy(SET CMP0091 NEW) |
4 | endif() | 4 | endif() |
5 | 5 | ||
6 | project (LibreSSL C ASM) | 6 | project(LibreSSL LANGUAGES C ASM) |
7 | 7 | ||
8 | include(CheckFunctionExists) | 8 | include(CheckFunctionExists) |
9 | include(CheckSymbolExists) | 9 | include(CheckSymbolExists) |
@@ -72,10 +72,6 @@ endforeach() | |||
72 | 72 | ||
73 | set(BUILD_NC true) | 73 | set(BUILD_NC true) |
74 | 74 | ||
75 | if(CMAKE_SYSTEM_NAME MATCHES "Darwin") | ||
76 | add_definitions(-fno-common) | ||
77 | endif() | ||
78 | |||
79 | if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") | 75 | if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") |
80 | add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__) | 76 | add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__) |
81 | add_definitions(-DHAVE_ATTRIBUTE__DEAD__) | 77 | add_definitions(-DHAVE_ATTRIBUTE__DEAD__) |
@@ -89,6 +85,10 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") | |||
89 | set(PLATFORM_LIBS ${PLATFORM_LIBS} pthread) | 85 | set(PLATFORM_LIBS ${PLATFORM_LIBS} pthread) |
90 | endif() | 86 | endif() |
91 | 87 | ||
88 | if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") | ||
89 | set(PLATFORM_LIBS ${PLATFORM_LIBS} pthread) | ||
90 | endif() | ||
91 | |||
92 | if(WIN32) | 92 | if(WIN32) |
93 | set(BUILD_NC false) | 93 | set(BUILD_NC false) |
94 | if(MINGW) | 94 | if(MINGW) |
@@ -127,7 +127,7 @@ add_definitions(-D__END_HIDDEN_DECLS=) | |||
127 | set(CMAKE_POSITION_INDEPENDENT_CODE true) | 127 | set(CMAKE_POSITION_INDEPENDENT_CODE true) |
128 | 128 | ||
129 | if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") | 129 | if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") |
130 | add_definitions(-Wno-pointer-sign) | 130 | add_compile_options(-Wno-pointer-sign) |
131 | endif() | 131 | endif() |
132 | 132 | ||
133 | if(WIN32) | 133 | if(WIN32) |
@@ -158,17 +158,21 @@ if(MSVC) | |||
158 | set(MSVC_DISABLED_WARNINGS_LIST | 158 | set(MSVC_DISABLED_WARNINGS_LIST |
159 | "C4018" # 'expression' : signed/unsigned mismatch | 159 | "C4018" # 'expression' : signed/unsigned mismatch |
160 | "C4057" # 'operator' : 'identifier1' indirection to | 160 | "C4057" # 'operator' : 'identifier1' indirection to |
161 | # slightly different base types from 'identifier2' | 161 | # slightly different base types from 'identifier2' |
162 | "C4100" # 'identifier' : unreferenced formal parameter | 162 | "C4100" # 'identifier' : unreferenced formal parameter |
163 | "C4127" # conditional expression is constant | 163 | "C4127" # conditional expression is constant |
164 | "C4132" # 'object' : const object should be initialized | ||
164 | "C4146" # unary minus operator applied to unsigned type, | 165 | "C4146" # unary minus operator applied to unsigned type, |
165 | # result still unsigned | 166 | # result still unsigned |
167 | "C4206" # nonstandard extension used : translation unit is empty | ||
166 | "C4244" # 'argument' : conversion from 'type1' to 'type2', | 168 | "C4244" # 'argument' : conversion from 'type1' to 'type2', |
167 | # possible loss of data | 169 | # possible loss of data |
168 | "C4245" # 'conversion' : conversion from 'type1' to 'type2', | 170 | "C4245" # 'conversion' : conversion from 'type1' to 'type2', |
169 | # signed/unsigned mismatch | 171 | # signed/unsigned mismatch |
170 | "C4267" # 'var' : conversion from 'size_t' to 'type', | 172 | "C4267" # 'var' : conversion from 'size_t' to 'type', |
171 | # possible loss of data | 173 | # possible loss of data |
174 | "C4295" # 'array' : array is too small to include a terminating | ||
175 | # null character | ||
172 | "C4389" # 'operator' : signed/unsigned mismatch | 176 | "C4389" # 'operator' : signed/unsigned mismatch |
173 | "C4706" # assignment within conditional expression | 177 | "C4706" # assignment within conditional expression |
174 | "C4996" # The POSIX name for this item is deprecated. | 178 | "C4996" # The POSIX name for this item is deprecated. |
@@ -200,21 +204,33 @@ else() | |||
200 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") | 204 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") |
201 | endif() | 205 | endif() |
202 | 206 | ||
207 | # XXX - needs _GNU_SOURCE on linux | ||
203 | check_function_exists(asprintf HAVE_ASPRINTF) | 208 | check_function_exists(asprintf HAVE_ASPRINTF) |
204 | if(HAVE_ASPRINTF) | 209 | if(HAVE_ASPRINTF) |
205 | add_definitions(-DHAVE_ASPRINTF) | 210 | add_definitions(-DHAVE_ASPRINTF) |
206 | endif() | 211 | endif() |
207 | 212 | ||
208 | check_function_exists(getopt HAVE_GETOPT) | 213 | check_symbol_exists(getdelim "stdio.h" HAVE_GETDELIM) |
214 | if(HAVE_GETDELIM) | ||
215 | add_definitions(-DHAVE_GETDELIM) | ||
216 | endif() | ||
217 | |||
218 | check_symbol_exists(getline "stdio.h" HAVE_GETLINE) | ||
219 | if(HAVE_GETLINE) | ||
220 | add_definitions(-DHAVE_GETLINE) | ||
221 | endif() | ||
222 | |||
223 | check_symbol_exists(getopt "unistd.h" HAVE_GETOPT) | ||
209 | if(HAVE_GETOPT) | 224 | if(HAVE_GETOPT) |
210 | add_definitions(-DHAVE_GETOPT) | 225 | add_definitions(-DHAVE_GETOPT) |
211 | endif() | 226 | endif() |
212 | 227 | ||
213 | check_function_exists(reallocarray HAVE_REALLOCARRAY) | 228 | check_symbol_exists(reallocarray "stdlib.h" HAVE_REALLOCARRAY) |
214 | if(HAVE_REALLOCARRAY) | 229 | if(HAVE_REALLOCARRAY) |
215 | add_definitions(-DHAVE_REALLOCARRAY) | 230 | add_definitions(-DHAVE_REALLOCARRAY) |
216 | endif() | 231 | endif() |
217 | 232 | ||
233 | # XXX strcasecmp() is in strings.h which isn't available everywhere | ||
218 | check_function_exists(strcasecmp HAVE_STRCASECMP) | 234 | check_function_exists(strcasecmp HAVE_STRCASECMP) |
219 | if(HAVE_STRCASECMP) | 235 | if(HAVE_STRCASECMP) |
220 | add_definitions(-DHAVE_STRCASECMP) | 236 | add_definitions(-DHAVE_STRCASECMP) |
@@ -222,18 +238,18 @@ endif() | |||
222 | 238 | ||
223 | # Emscripten's strlcat and strlcpy triggers ASAN errors | 239 | # Emscripten's strlcat and strlcpy triggers ASAN errors |
224 | if(NOT EMSCRIPTEN) | 240 | if(NOT EMSCRIPTEN) |
225 | check_function_exists(strlcat HAVE_STRLCAT) | 241 | check_symbol_exists(strlcat "string.h" HAVE_STRLCAT) |
226 | if(HAVE_STRLCAT) | 242 | if(HAVE_STRLCAT) |
227 | add_definitions(-DHAVE_STRLCAT) | 243 | add_definitions(-DHAVE_STRLCAT) |
228 | endif() | 244 | endif() |
229 | 245 | ||
230 | check_function_exists(strlcpy HAVE_STRLCPY) | 246 | check_symbol_exists(strlcpy "string.h" HAVE_STRLCPY) |
231 | if(HAVE_STRLCPY) | 247 | if(HAVE_STRLCPY) |
232 | add_definitions(-DHAVE_STRLCPY) | 248 | add_definitions(-DHAVE_STRLCPY) |
233 | endif() | 249 | endif() |
234 | endif() | 250 | endif() |
235 | 251 | ||
236 | check_function_exists(strndup HAVE_STRNDUP) | 252 | check_symbol_exists(strndup "string.h" HAVE_STRNDUP) |
237 | if(HAVE_STRNDUP) | 253 | if(HAVE_STRNDUP) |
238 | add_definitions(-DHAVE_STRNDUP) | 254 | add_definitions(-DHAVE_STRNDUP) |
239 | endif() | 255 | endif() |
@@ -242,62 +258,64 @@ if(WIN32) | |||
242 | set(HAVE_STRNLEN true) | 258 | set(HAVE_STRNLEN true) |
243 | add_definitions(-DHAVE_STRNLEN) | 259 | add_definitions(-DHAVE_STRNLEN) |
244 | else() | 260 | else() |
245 | check_function_exists(strnlen HAVE_STRNLEN) | 261 | check_symbol_exists(strnlen "string.h" HAVE_STRNLEN) |
246 | if(HAVE_STRNLEN) | 262 | if(HAVE_STRNLEN) |
247 | add_definitions(-DHAVE_STRNLEN) | 263 | add_definitions(-DHAVE_STRNLEN) |
248 | endif() | 264 | endif() |
249 | endif() | 265 | endif() |
250 | 266 | ||
251 | check_function_exists(strsep HAVE_STRSEP) | 267 | check_symbol_exists(strsep "string.h" HAVE_STRSEP) |
252 | if(HAVE_STRSEP) | 268 | if(HAVE_STRSEP) |
253 | add_definitions(-DHAVE_STRSEP) | 269 | add_definitions(-DHAVE_STRSEP) |
254 | endif() | 270 | endif() |
255 | 271 | ||
256 | check_function_exists(strtonum HAVE_STRTONUM) | 272 | check_symbol_exists(strtonum "stdlib.h" HAVE_STRTONUM) |
257 | if(HAVE_STRTONUM) | 273 | if(HAVE_STRTONUM) |
258 | add_definitions(-DHAVE_STRTONUM) | 274 | add_definitions(-DHAVE_STRTONUM) |
259 | endif() | 275 | endif() |
260 | 276 | ||
261 | check_function_exists(arc4random_buf HAVE_ARC4RANDOM_BUF) | 277 | check_symbol_exists(arc4random_buf "stdlib.h" HAVE_ARC4RANDOM_BUF) |
262 | if(HAVE_ARC4RANDOM_BUF) | 278 | if(HAVE_ARC4RANDOM_BUF) |
263 | add_definitions(-DHAVE_ARC4RANDOM_BUF) | 279 | add_definitions(-DHAVE_ARC4RANDOM_BUF) |
264 | endif() | 280 | endif() |
265 | 281 | ||
266 | check_function_exists(arc4random_uniform HAVE_ARC4RANDOM_UNIFORM) | 282 | check_symbol_exists(arc4random_uniform "stdlib.h" HAVE_ARC4RANDOM_UNIFORM) |
267 | if(HAVE_ARC4RANDOM_UNIFORM) | 283 | if(HAVE_ARC4RANDOM_UNIFORM) |
268 | add_definitions(-DHAVE_ARC4RANDOM_UNIFORM) | 284 | add_definitions(-DHAVE_ARC4RANDOM_UNIFORM) |
269 | endif() | 285 | endif() |
270 | 286 | ||
271 | check_function_exists(explicit_bzero HAVE_EXPLICIT_BZERO) | 287 | check_symbol_exists(explicit_bzero "string.h" HAVE_EXPLICIT_BZERO) |
272 | if(HAVE_EXPLICIT_BZERO) | 288 | if(HAVE_EXPLICIT_BZERO) |
273 | add_definitions(-DHAVE_EXPLICIT_BZERO) | 289 | add_definitions(-DHAVE_EXPLICIT_BZERO) |
274 | endif() | 290 | endif() |
275 | 291 | ||
276 | check_function_exists(getauxval HAVE_GETAUXVAL) | 292 | check_symbol_exists(getauxval "sys/auxv.h" HAVE_GETAUXVAL) |
277 | if(HAVE_GETAUXVAL) | 293 | if(HAVE_GETAUXVAL) |
278 | add_definitions(-DHAVE_GETAUXVAL) | 294 | add_definitions(-DHAVE_GETAUXVAL) |
279 | endif() | 295 | endif() |
280 | 296 | ||
297 | # XXX macos fails to find getentropy with check_symbol_exists() | ||
281 | check_function_exists(getentropy HAVE_GETENTROPY) | 298 | check_function_exists(getentropy HAVE_GETENTROPY) |
282 | if(HAVE_GETENTROPY) | 299 | if(HAVE_GETENTROPY) |
283 | add_definitions(-DHAVE_GETENTROPY) | 300 | add_definitions(-DHAVE_GETENTROPY) |
284 | endif() | 301 | endif() |
285 | 302 | ||
286 | check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE) | 303 | check_symbol_exists(getpagesize "unistd.h" HAVE_GETPAGESIZE) |
287 | if(HAVE_GETPAGESIZE) | 304 | if(HAVE_GETPAGESIZE) |
288 | add_definitions(-DHAVE_GETPAGESIZE) | 305 | add_definitions(-DHAVE_GETPAGESIZE) |
289 | endif() | 306 | endif() |
290 | 307 | ||
291 | check_function_exists(getprogname HAVE_GETPROGNAME) | 308 | check_symbol_exists(getprogname "stdlib.h" HAVE_GETPROGNAME) |
292 | if(HAVE_GETPROGNAME) | 309 | if(HAVE_GETPROGNAME) |
293 | add_definitions(-DHAVE_GETPROGNAME) | 310 | add_definitions(-DHAVE_GETPROGNAME) |
294 | endif() | 311 | endif() |
295 | 312 | ||
296 | check_function_exists(syslog_r HAVE_SYSLOG_R) | 313 | check_symbol_exists(syslog_r "syslog.h;stdarg.h" HAVE_SYSLOG_R) |
297 | if(HAVE_SYSLOG_R) | 314 | if(HAVE_SYSLOG_R) |
298 | add_definitions(-DHAVE_SYSLOG_R) | 315 | add_definitions(-DHAVE_SYSLOG_R) |
299 | endif() | 316 | endif() |
300 | 317 | ||
318 | # XXX - needs _GNU_SOURCE on linux | ||
301 | check_function_exists(syslog HAVE_SYSLOG) | 319 | check_function_exists(syslog HAVE_SYSLOG) |
302 | if(HAVE_SYSLOG) | 320 | if(HAVE_SYSLOG) |
303 | add_definitions(-DHAVE_SYSLOG) | 321 | add_definitions(-DHAVE_SYSLOG) |
@@ -308,16 +326,17 @@ if(HAVE_TIMESPECSUB) | |||
308 | add_definitions(-DHAVE_TIMESPECSUB) | 326 | add_definitions(-DHAVE_TIMESPECSUB) |
309 | endif() | 327 | endif() |
310 | 328 | ||
311 | check_function_exists(timingsafe_bcmp HAVE_TIMINGSAFE_BCMP) | 329 | check_symbol_exists(timingsafe_bcmp "string.h" HAVE_TIMINGSAFE_BCMP) |
312 | if(HAVE_TIMINGSAFE_BCMP) | 330 | if(HAVE_TIMINGSAFE_BCMP) |
313 | add_definitions(-DHAVE_TIMINGSAFE_BCMP) | 331 | add_definitions(-DHAVE_TIMINGSAFE_BCMP) |
314 | endif() | 332 | endif() |
315 | 333 | ||
316 | check_function_exists(timingsafe_memcmp HAVE_TIMINGSAFE_MEMCMP) | 334 | check_symbol_exists(timingsafe_memcmp "string.h" HAVE_TIMINGSAFE_MEMCMP) |
317 | if(HAVE_TIMINGSAFE_MEMCMP) | 335 | if(HAVE_TIMINGSAFE_MEMCMP) |
318 | add_definitions(-DHAVE_TIMINGSAFE_MEMCMP) | 336 | add_definitions(-DHAVE_TIMINGSAFE_MEMCMP) |
319 | endif() | 337 | endif() |
320 | 338 | ||
339 | # XXX - needs _GNU_SOURCE on linux | ||
321 | check_function_exists(memmem HAVE_MEMMEM) | 340 | check_function_exists(memmem HAVE_MEMMEM) |
322 | if(HAVE_MEMMEM) | 341 | if(HAVE_MEMMEM) |
323 | add_definitions(-DHAVE_MEMMEM) | 342 | add_definitions(-DHAVE_MEMMEM) |
@@ -366,6 +385,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64|AMD64)") | |||
366 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|[xX]86)") | 385 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|[xX]86)") |
367 | set(ENABLE_ASM false) | 386 | set(ENABLE_ASM false) |
368 | set(HOST_I386 true) | 387 | set(HOST_I386 true) |
388 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64") | ||
389 | set(HOST_LOONGARCH64 true) | ||
369 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64") | 390 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64") |
370 | set(HOST_MIPS64 true) | 391 | set(HOST_MIPS64 true) |
371 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") | 392 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") |
@@ -373,7 +394,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") | |||
373 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc") | 394 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc") |
374 | set(HOST_POWERPC true) | 395 | set(HOST_POWERPC true) |
375 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") | 396 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") |
376 | set(HOST_PPC64 true) | 397 | set(HOST_POWERPC64 true) |
377 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") | 398 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") |
378 | set(HOST_RISCV64 true) | 399 | set(HOST_RISCV64 true) |
379 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64") | 400 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64") |
@@ -384,21 +405,20 @@ endif() | |||
384 | 405 | ||
385 | if(ENABLE_ASM) | 406 | if(ENABLE_ASM) |
386 | if(CMAKE_C_COMPILER_ABI STREQUAL "ELF") | 407 | if(CMAKE_C_COMPILER_ABI STREQUAL "ELF") |
387 | if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)") | 408 | if(HOST_X86_64) |
388 | set(HOST_ASM_ELF_X86_64 true) | 409 | set(HOST_ASM_ELF_X86_64 true) |
389 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm" AND | 410 | elseif(HOST_ARM) |
390 | NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm64") | ||
391 | set(HOST_ASM_ELF_ARMV4 true) | 411 | set(HOST_ASM_ELF_ARMV4 true) |
392 | elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386") | 412 | elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND HOST_I386) |
393 | set(HOST_ASM_ELF_X86_64 true) | 413 | set(HOST_ASM_ELF_X86_64 true) |
394 | endif() | 414 | endif() |
395 | add_definitions(-DHAVE_GNU_STACK) | 415 | add_definitions(-DHAVE_GNU_STACK) |
396 | elseif(APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") | 416 | elseif(APPLE AND HOST_X86_64) |
397 | set(HOST_ASM_MACOSX_X86_64 true) | 417 | set(HOST_ASM_MACOSX_X86_64 true) |
398 | elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Win64" OR CMAKE_GENERATOR_PLATFORM STREQUAL "x64")) | 418 | elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Win64" OR CMAKE_GENERATOR_PLATFORM STREQUAL "x64")) |
399 | set(HOST_ASM_MASM_X86_64 true) | 419 | set(HOST_ASM_MASM_X86_64 true) |
400 | ENABLE_LANGUAGE(ASM_MASM) | 420 | ENABLE_LANGUAGE(ASM_MASM) |
401 | elseif(MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") | 421 | elseif(MINGW AND HOST_X86_64) |
402 | set(HOST_ASM_MINGW64_X86_64 true) | 422 | set(HOST_ASM_MINGW64_X86_64 true) |
403 | endif() | 423 | endif() |
404 | endif() | 424 | endif() |
@@ -441,10 +461,10 @@ if(OPENSSLDIR STREQUAL "") | |||
441 | if(WIN32) | 461 | if(WIN32) |
442 | set(OPENSSLDIR "C:/Windows/libressl/ssl") | 462 | set(OPENSSLDIR "C:/Windows/libressl/ssl") |
443 | else() | 463 | else() |
444 | set(OPENSSLDIR "${CMAKE_INSTALL_PREFIX}/etc/ssl") | 464 | set(OPENSSLDIR "${CMAKE_INSTALL_SYSCONFDIR}/ssl") |
445 | endif() | 465 | endif() |
446 | 466 | ||
447 | set(CONF_DIR "${CMAKE_INSTALL_PREFIX}/etc/ssl") | 467 | set(CONF_DIR "${CMAKE_INSTALL_SYSCONFDIR}/ssl") |
448 | else() | 468 | else() |
449 | set(CONF_DIR "${OPENSSLDIR}") | 469 | set(CONF_DIR "${OPENSSLDIR}") |
450 | endif() | 470 | endif() |
@@ -513,7 +533,7 @@ if(ENABLE_LIBRESSL_INSTALL) | |||
513 | set(prefix ${CMAKE_INSTALL_PREFIX}) | 533 | set(prefix ${CMAKE_INSTALL_PREFIX}) |
514 | set(exec_prefix \${prefix}) | 534 | set(exec_prefix \${prefix}) |
515 | set(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) | 535 | set(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) |
516 | set(includedir \${prefix}/include) | 536 | set(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) |
517 | if(PLATFORM_LIBS) | 537 | if(PLATFORM_LIBS) |
518 | string(REGEX REPLACE ";" " -l" PLATFORM_LDADD ";${PLATFORM_LIBS}") | 538 | string(REGEX REPLACE ";" " -l" PLATFORM_LDADD ";${PLATFORM_LIBS}") |
519 | endif() | 539 | endif() |
@@ -1,7 +1,7 @@ | |||
1 | Because this project is maintained both in the OpenBSD tree using CVS and in | 1 | Because this project is maintained both in the OpenBSD tree using CVS and in |
2 | Git, it can be confusing following all of the changes. | 2 | Git, it can be confusing following all of the changes. |
3 | 3 | ||
4 | Most of the libssl and libcrypto source code is is here in OpenBSD CVS: | 4 | Most of the libssl and libcrypto source code is here in OpenBSD CVS: |
5 | 5 | ||
6 | https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/ | 6 | https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/ |
7 | 7 | ||
@@ -28,12 +28,95 @@ history is also available from Git. | |||
28 | 28 | ||
29 | LibreSSL Portable Release Notes: | 29 | LibreSSL Portable Release Notes: |
30 | 30 | ||
31 | 4.0.0 - In development | 31 | 4.1.0 - In development |
32 | 32 | ||
33 | * Portable changes | 33 | * Portable changes |
34 | - Added initial Emscripten support in CMake builds | 34 | - Added initial experimental support for loongarch64. |
35 | - Fixed compilation for mips32 and reenable CI. | ||
36 | - Fixed CMake builds on FreeBSD. | ||
37 | - Fixed the --prefix option for cmake --install. | ||
38 | - Fixed tests for MinGW due to missing sh(1). | ||
39 | * Internal improvements | ||
40 | - Cleaned up the error implementation. | ||
41 | - Many bug fixes and simplifications in the EC ASN.1 code. | ||
42 | - Corrected DER encoding for EC keys and parameters. | ||
43 | - Polished EC_POINT_{oct2point,point2oct}() internals. | ||
44 | - Rewrote the wNAF code for fast ECDSA verification. | ||
45 | - Improved the code setting compressed coordinates for EC points. | ||
46 | - Reworked CPU capabilities detection for amd64 and aarch64. | ||
47 | - New SHA-1, SHA-256 and SHA-512 assembly implementations for amd64. | ||
48 | These make use of the SHA-NI instruction if it is available and | ||
49 | replace the perl-generated assembly optimized for museum pieces. | ||
50 | These are not yet enabled in libressl-portable. | ||
51 | - New SHA-256 and SHA-512 assembly implementations for aarch64 | ||
52 | making use of the ARM Cryptographic Extension (CE). Not yet | ||
53 | enabled in libressl-portable. | ||
54 | - New simplified, readable MD5 implementation for amd64. | ||
55 | - Rewrote BN_bn2binpad() and its lebin siblings. | ||
56 | - The BIGNUMs in EC_GROUP and EC_POINT are now heap allocated. | ||
57 | - Rewrote TS_ASN1_INTEGER_print_bio(). | ||
58 | - Improved bit counter handling in MD5. | ||
59 | - Simplified and cleaned up the BN_RECP_CTX internals. | ||
60 | - Improved SM4 to match other symmetric ciphers more closely. | ||
61 | - Rewrote X509_NAME_oneline() and X509_NAME_print() using CBS/CBB. | ||
62 | - CRLs are now cached in the issuer cache like certificates. | ||
63 | - Replaced combinations of BN_MONT_CTX_new/set with an internal | ||
64 | BN_MONT_CTX_create(). | ||
65 | - Replaced BN_bn2hex() reimplementation in openssl(1) ca with | ||
66 | a poper API call. | ||
67 | - Fixed integer overflows due to signed shift in obj_dat.c. | ||
68 | - Fixed a few memory leaks in legacy code. | ||
69 | - Improved some X509_VERIFY_PARAM internals and avoid an out of | ||
70 | bounds read from public API. | ||
71 | - Imported ML-KEM 768 and 1024 from BoringSSL (not yet public API). | ||
72 | * Compatibility changes | ||
73 | - Added an OPENSSL_INIT_NO_ATEXIT flag for OPENSSL_init_crypto(). | ||
74 | It has no effect since LibreSSL doesn't call atexit(). | ||
75 | - Elliptic curve parameters are only accepted if they encode a | ||
76 | built-in curve. | ||
77 | - EC_METHOD is no longer public and the API exposing it has been | ||
78 | removed. This includes EC_GROUP_new(), EC_GFp_mont_method(), | ||
79 | EC_GROUP_method_of() and EC_METHOD_get_field_type(). | ||
80 | - The precomputation stubs for EC_GROUP were removed. | ||
81 | - The API setting Jacobian projective coordinates for a point was | ||
82 | removed as were EC_POINTs_{mul,make_affine}(). | ||
83 | - All elliptic curves over fields with less than 224 bits and a | ||
84 | few more were removed from the built-in curves. This includes | ||
85 | all WTLS curves and P-192. | ||
86 | - It is no longer necessary to set RSA_FLAG_SIGN_VER to use the | ||
87 | sign and verify handlers set with RSA_meth_set_{sign,verify}. | ||
88 | - Removed the -C option to generate "C code" from the openssl(1) | ||
89 | dh, dhparam, dsaparam, ecparam, and x509 subcommands. | ||
90 | - Removed #error in headers when OPENSSL_NO_* is defined. | ||
91 | - CRYPTO_set_mem_functions() now matches OpenSSL 1.1 and | ||
92 | CRYPTO_set_mem_ex_functions() was removed. | ||
93 | - The tls_session_secret_cb_fn type now matches OpenSSL 1.1. | ||
94 | - Unexport X509_NAME_print() and X509_OBJECT_up_ref_count(). | ||
95 | - const corrected UI_OpenSSL() and BN_MONT_CTX_copy(). | ||
96 | - Support OPENSSL_NO_FILENAMES. | ||
97 | - Support SSL_OP_NO_RENEGOTIATION and SSL_OP_ALLOW_CLIENT_RENEGOTIATION. | ||
98 | - Export PKCS12_key_gen_uni() again. | ||
99 | * New features | ||
100 | - libtls has a new tls_peer_cert_common_name() API call to retrieve | ||
101 | the peer's common name without having to inspect the PEM. | ||
102 | * Bug fixes | ||
103 | - Plugged a leak in eckey_compute_pubkey(). | ||
104 | - Again allow the magic values -1, -2 and -3 for the salt length | ||
105 | of an RSA-PSS key in the EVP_PKEY_CTX_ctrl_str() interface. | ||
106 | * Documentation | ||
107 | - The remaining undocumented public EVP API is now documented. | ||
108 | Reorganization of existing documentation for clarity and accuracy. | ||
109 | * Testing and proactive security | ||
110 | - Improved regress coverage of the EC code. | ||
111 | |||
112 | 4.0.0 - Stable release | ||
113 | |||
114 | * Portable changes | ||
115 | - Added initial Emscripten support in CMake builds. | ||
35 | - Removed timegm() compatibility layer since all uses were replaced | 116 | - Removed timegm() compatibility layer since all uses were replaced |
36 | with OPENSSL_timegm(). Cleaned up the corresponding test harness. | 117 | with OPENSSL_timegm(). Cleaned up the corresponding test harness. |
118 | - The mips32 platform is no longer actively supported. | ||
119 | - Fixed Windows support for dates beyond 2038. | ||
37 | * Internal improvements | 120 | * Internal improvements |
38 | - Cleaned up parts of the conf directory. Simplified some logic, | 121 | - Cleaned up parts of the conf directory. Simplified some logic, |
39 | fixed memory leaks. | 122 | fixed memory leaks. |
@@ -66,29 +149,68 @@ LibreSSL Portable Release Notes: | |||
66 | - Made most error string tables const. | 149 | - Made most error string tables const. |
67 | - Removed handling for SSLv2 client hello messages. | 150 | - Removed handling for SSLv2 client hello messages. |
68 | - Improvements in the openssl(1) speed app's signal handler. | 151 | - Improvements in the openssl(1) speed app's signal handler. |
69 | - Added support for TLS PRF in the EVP KDF API. | 152 | - Cleaned up various X509v3_* extension API. |
153 | - Unified the X.509v3 extension methods. | ||
154 | - Cleaned up cipher handling in SSL_SESSION. | ||
155 | - Removed get_cipher from SSL_METHOD. | ||
156 | - Rewrote CRYPTO_EX_DATA from scratch. The only intentional change of | ||
157 | behavior is that there is now a hard limit on the number of indexes | ||
158 | that can be allocated. | ||
159 | - Removed bogus connect() call from netcat. | ||
160 | - Uses of atoi() and strtol() in libcrypto were replaced with | ||
161 | strtonum(). | ||
162 | - Introduced crypto_arch.h which will contain the architecture | ||
163 | dependent code and defines rather than the public opensslconf.h. | ||
164 | - OPENSSL_cpu_caps() is now architecture independent. | ||
165 | - Reorganized the DES implementation to use fewer files and removed | ||
166 | optimizations for ancient processors and compilers. | ||
167 | * New features | ||
168 | - Added CRLfile option to the cms command of openssl(1) to specify | ||
169 | additional CRLs for use during verification. | ||
70 | * Documentation improvements | 170 | * Documentation improvements |
71 | - Removed documentation of no longer existing API. | 171 | - Removed documentation of no longer existing API. |
172 | - Unified the description of the obsolete ENGINE parameter that | ||
173 | needs to remain in many functions and should always be NULL. | ||
72 | * Testing and proactive security | 174 | * Testing and proactive security |
73 | - Switched the remaining tests to new certs. | 175 | - Switched the remaining tests to new certs. |
74 | * Compatibility changes | 176 | * Compatibility changes |
177 | - Protocol parsing in libtls was changed. The unsupported TLSv1.1 | ||
178 | and TLSv1.0 protocols are ignored and no longer enable or disable | ||
179 | TLSv1.2 in surprising ways. | ||
180 | - The dangerous EVP_PKEY*_check(3) family of functions was removed. | ||
181 | The openssl(1) pkey and pkeyparam commands no longer support the | ||
182 | -check and -pubcheck flags. | ||
75 | - The one-step hashing functions, MD4(), MD5(), RIPEMD160(), SHA1(), | 183 | - The one-step hashing functions, MD4(), MD5(), RIPEMD160(), SHA1(), |
76 | all SHA-2, and HMAC() no longer support returning a static buffer. | 184 | all SHA-2, and HMAC() no longer support returning a static buffer. |
77 | Callers must pass in a correctly sized buffer. | 185 | Callers must pass in a correctly sized buffer. |
186 | - Support for Whirlpool was removed. Applications still using this | ||
187 | should honor OPENSSL_NO_WHIRLPOOL. | ||
78 | - Removed workaround for F5 middle boxes. | 188 | - Removed workaround for F5 middle boxes. |
79 | - Removed the useless pem2.h, a public header that was added since | 189 | - Removed the useless pem2.h, a public header that was added since |
80 | it was too hard to add a prototype to one file. | 190 | it was too hard to add a single prototype to one file. |
191 | - Removed conf_api.h and the public API therein. | ||
192 | - Removed ssl2.h, ssl23.h and ui_compat.h. | ||
193 | - Numerous conf and attribute functions were removed. Some unused | ||
194 | types were removed, others were made opaque. | ||
195 | - Removed the deprecated HMAC_Init() function. | ||
196 | - Removed OPENSSL_load_builtin_modules(). | ||
197 | - Removed X509_REQ_{get,set}_extension_nids(). | ||
198 | - X509_check_trust() and was removed, X509_VAL was made opaque. | ||
81 | - Only specified versions can be set on certs, CRLs and CSRs. | 199 | - Only specified versions can be set on certs, CRLs and CSRs. |
82 | - Prepared X509_REQ_{get,set}_extension_nids() for removal. | ||
83 | - Removed unused PEM_USER and PEM_CTX types from pem.h. | 200 | - Removed unused PEM_USER and PEM_CTX types from pem.h. |
84 | - Removed typdefs for COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, | 201 | - Removed typdefs for COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, |
85 | STORE_METHOD, and SSL_AEAD_CTX. | 202 | STORE_METHOD, and SSL_AEAD_CTX. |
86 | - i2d_ASN1_OBJECT() now returns -1 on error like most other i2d_*. | 203 | - i2d_ASN1_OBJECT() now returns -1 on error like most other i2d_*. |
87 | - SPKAC support was removed from openssl(1) | 204 | - SPKAC support was removed from openssl(1). |
88 | - Added TLS1-PRF support to the EVP interface. | 205 | - Added TLS1-PRF support to the EVP interface. |
89 | - Cleaned up various X509v3_* extension API. | 206 | - Support for attributes in EVP_PKEYs was removed. |
90 | - Unified the X.509v3 extension methods. | 207 | - The X509at_* API is no longer public. |
91 | - Removed ssl2.h and ssl23.h. | 208 | - SSL_CTX_set1_cert_store() and SSL_CIPHER_get_handshake_digest() |
209 | were added to libssl. | ||
210 | - The completely broken UI_UTIL password API was removed. | ||
211 | - The OpenSSL pkcs12 command and PKCS12_create() no longer support | ||
212 | setting the Microsoft-specific Local Key Set and Cryptographic | ||
213 | Service Provider attributes. | ||
92 | * Bug fixes | 214 | * Bug fixes |
93 | - Made ASN1_TIME_set_string() and ASN1_TIME_set_string_X509() match | 215 | - Made ASN1_TIME_set_string() and ASN1_TIME_set_string_X509() match |
94 | their documentation. They always set an RFC 5280 conformant time. | 216 | their documentation. They always set an RFC 5280 conformant time. |
@@ -115,6 +237,20 @@ LibreSSL Portable Release Notes: | |||
115 | ALPN callback. | 237 | ALPN callback. |
116 | - Avoid pushing a spurious error onto the error stack in | 238 | - Avoid pushing a spurious error onto the error stack in |
117 | ssl_sigalg_select(). | 239 | ssl_sigalg_select(). |
240 | - Made fatal alerts fatal in QUIC. | ||
241 | |||
242 | 3.9.2 - Stable release | ||
243 | |||
244 | * Bugfixes | ||
245 | - OpenBSD 7.5 errata 003. A missing bounds check could lead to a crash | ||
246 | due to dereferencing a zero-sized allocation. | ||
247 | |||
248 | 3.9.1 - Stable release | ||
249 | |||
250 | * Portable changes | ||
251 | - Updated tests with expiring certificates | ||
252 | - CET-related build fixes for Windows and macOS targets | ||
253 | - update libtls linker script to include libssl and libcrypto again | ||
118 | 254 | ||
119 | 3.9.0 - Development release | 255 | 3.9.0 - Development release |
120 | 256 | ||
@@ -193,6 +329,13 @@ LibreSSL Portable Release Notes: | |||
193 | stack. | 329 | stack. |
194 | - Made in-place decryption work for EVP_chacha20_poly1305(). | 330 | - Made in-place decryption work for EVP_chacha20_poly1305(). |
195 | 331 | ||
332 | 3.8.4 - Stable release | ||
333 | |||
334 | * Portable changes | ||
335 | - Updated tests with expiring certificates | ||
336 | - CET-related build fixes for Windows and macOS targets | ||
337 | - update libtls linker script to include libssl and libcrypto again | ||
338 | |||
196 | 3.8.3 - Stable release | 339 | 3.8.3 - Stable release |
197 | 340 | ||
198 | * Portable changes | 341 | * Portable changes |
diff --git a/FindLibreSSL.cmake b/FindLibreSSL.cmake index 6bdc069..6779371 100644 --- a/FindLibreSSL.cmake +++ b/FindLibreSSL.cmake | |||
@@ -81,6 +81,11 @@ if (WIN32) | |||
81 | "${_programfiles}/LibreSSL" | 81 | "${_programfiles}/LibreSSL" |
82 | ) | 82 | ) |
83 | unset(_programfiles) | 83 | unset(_programfiles) |
84 | elseif(APPLE) | ||
85 | # Homebrew installs LibreSSL here | ||
86 | set(_LIBRESSL_ROOT_PATHS | ||
87 | "/usr/local/opt/libressl" | ||
88 | ) | ||
84 | else() | 89 | else() |
85 | set(_LIBRESSL_ROOT_PATHS | 90 | set(_LIBRESSL_ROOT_PATHS |
86 | "/usr/local/" | 91 | "/usr/local/" |
diff --git a/apps/nc/CMakeLists.txt b/apps/nc/CMakeLists.txt index 7bbdb02..d5f7813 100644 --- a/apps/nc/CMakeLists.txt +++ b/apps/nc/CMakeLists.txt | |||
@@ -22,7 +22,7 @@ else() | |||
22 | set(NC_SRC ${NC_SRC} compat/accept4.c) | 22 | set(NC_SRC ${NC_SRC} compat/accept4.c) |
23 | endif() | 23 | endif() |
24 | 24 | ||
25 | check_function_exists(readpassphrase HAVE_READPASSPHRASE) | 25 | check_symbol_exists(readpassphrase "readpassphrase.h" HAVE_READPASSPHRASE) |
26 | if(HAVE_READPASSPHRASE) | 26 | if(HAVE_READPASSPHRASE) |
27 | add_definitions(-DHAVE_READPASSPHRASE) | 27 | add_definitions(-DHAVE_READPASSPHRASE) |
28 | else() | 28 | else() |
diff --git a/apps/openssl/Makefile.am b/apps/openssl/Makefile.am index 810408d..ee1b65b 100644 --- a/apps/openssl/Makefile.am +++ b/apps/openssl/Makefile.am | |||
@@ -88,11 +88,6 @@ endif | |||
88 | endif | 88 | endif |
89 | 89 | ||
90 | noinst_HEADERS = apps.h | 90 | noinst_HEADERS = apps.h |
91 | noinst_HEADERS += progs.h | ||
92 | noinst_HEADERS += s_apps.h | ||
93 | noinst_HEADERS += testdsa.h | ||
94 | noinst_HEADERS += testrsa.h | ||
95 | noinst_HEADERS += timeouts.h | ||
96 | 91 | ||
97 | EXTRA_DIST = CMakeLists.txt | 92 | EXTRA_DIST = CMakeLists.txt |
98 | 93 | ||
diff --git a/apps/openssl/compat/poll_win.c b/apps/openssl/compat/poll_win.c index c9422b9..30f6b60 100644 --- a/apps/openssl/compat/poll_win.c +++ b/apps/openssl/compat/poll_win.c | |||
@@ -248,12 +248,12 @@ poll(struct pollfd *pfds, nfds_t nfds, int timeout_ms) | |||
248 | timespent_ms = 0; | 248 | timespent_ms = 0; |
249 | wait_rc = WAIT_FAILED; | 249 | wait_rc = WAIT_FAILED; |
250 | 250 | ||
251 | if (timeout_ms < 0) | 251 | looptime_ms = (timeout_ms > 100 || timeout_ms == -1) ? 100 : timeout_ms; |
252 | if (timeout_ms == -1) | ||
252 | timeout_ms = INFINITE; | 253 | timeout_ms = INFINITE; |
253 | looptime_ms = timeout_ms > 100 ? 100 : timeout_ms; | ||
254 | 254 | ||
255 | do { | 255 | do { |
256 | struct timeval tv; | 256 | TIMEVAL tv; |
257 | tv.tv_sec = 0; | 257 | tv.tv_sec = 0; |
258 | tv.tv_usec = looptime_ms * 1000; | 258 | tv.tv_usec = looptime_ms * 1000; |
259 | int handle_signaled = 0; | 259 | int handle_signaled = 0; |
diff --git a/configure.ac b/configure.ac index 87a80cc..7a88f27 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -32,10 +32,6 @@ LT_INIT([pic-only]) | |||
32 | 32 | ||
33 | CHECK_OS_OPTIONS | 33 | CHECK_OS_OPTIONS |
34 | 34 | ||
35 | if test "$HOST_OS" = "unsupported"; then | ||
36 | AC_MSG_ERROR([unsupported platform: $host_os]) | ||
37 | fi | ||
38 | |||
39 | CHECK_C_HARDENING_OPTIONS | 35 | CHECK_C_HARDENING_OPTIONS |
40 | 36 | ||
41 | DISABLE_AS_EXECUTABLE_STACK | 37 | DISABLE_AS_EXECUTABLE_STACK |
@@ -90,16 +86,17 @@ AS_CASE([$host_cpu], | |||
90 | ) | 86 | ) |
91 | AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"]) | 87 | AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"]) |
92 | 88 | ||
93 | AM_CONDITIONAL([HOST_AARCH64], [test "$host_cpu" = "aarch64"]) | 89 | AM_CONDITIONAL([HOST_AARCH64], [test "$host_cpu" = "aarch64"]) |
94 | AM_CONDITIONAL([HOST_ARM], [test "$host_cpu" = "arm"]) | 90 | AM_CONDITIONAL([HOST_ARM], [test "$host_cpu" = "arm"]) |
95 | AM_CONDITIONAL([HOST_I386], [test "$host_cpu" = "i386"]) | 91 | AM_CONDITIONAL([HOST_I386], [test "$host_cpu" = "i386"]) |
96 | AM_CONDITIONAL([HOST_MIPS], [test "$host_cpu" = "mips"]) | 92 | AM_CONDITIONAL([HOST_LOONGARCH64], [test "$host_cpu" = "loongarch64"]) |
97 | AM_CONDITIONAL([HOST_MIPS64], [test "$host_cpu" = "mips64"]) | 93 | AM_CONDITIONAL([HOST_MIPS], [test "$host_cpu" = "mips"]) |
98 | AM_CONDITIONAL([HOST_POWERPC], [test "$host_cpu" = "powerpc"]) | 94 | AM_CONDITIONAL([HOST_MIPS64], [test "$host_cpu" = "mips64"]) |
99 | AM_CONDITIONAL([HOST_POWERPC64], [test "$host_cpu" = "ppc64"]) | 95 | AM_CONDITIONAL([HOST_POWERPC], [test "$host_cpu" = "powerpc"]) |
100 | AM_CONDITIONAL([HOST_RISCV64], [test "$host_cpu" = "riscv64"]) | 96 | AM_CONDITIONAL([HOST_POWERPC64], [test "$host_cpu" = "ppc64"]) |
101 | AM_CONDITIONAL([HOST_SPARC64], [test "$host_cpu" = "sparc64"]) | 97 | AM_CONDITIONAL([HOST_RISCV64], [test "$host_cpu" = "riscv64"]) |
102 | AM_CONDITIONAL([HOST_X86_64], [test "$host_cpu" = "x86_64"]) | 98 | AM_CONDITIONAL([HOST_SPARC64], [test "$host_cpu" = "sparc64"]) |
99 | AM_CONDITIONAL([HOST_X86_64], [test "$host_cpu" = "x86_64"]) | ||
103 | 100 | ||
104 | AC_MSG_CHECKING([if .gnu.warning accepts long strings]) | 101 | AC_MSG_CHECKING([if .gnu.warning accepts long strings]) |
105 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | 102 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
@@ -163,3 +160,7 @@ AM_CONDITIONAL([ENABLE_LIBTLS_ONLY], [test "x$enable_libtls_only" = xyes]) | |||
163 | AC_REQUIRE_AUX_FILE([tap-driver.sh]) | 160 | AC_REQUIRE_AUX_FILE([tap-driver.sh]) |
164 | 161 | ||
165 | AC_OUTPUT | 162 | AC_OUTPUT |
163 | |||
164 | if test "$HOST_OS" = "unsupported"; then | ||
165 | AC_MSG_WARN([unsupported platform: $host_os]) | ||
166 | fi | ||
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 5ee20ff..64bccd8 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
@@ -15,11 +15,7 @@ if(HOST_ASM_ELF_ARMV4) | |||
15 | add_definitions(-DAES_ASM) | 15 | add_definitions(-DAES_ASM) |
16 | add_definitions(-DOPENSSL_BN_ASM_MONT) | 16 | add_definitions(-DOPENSSL_BN_ASM_MONT) |
17 | add_definitions(-DGHASH_ASM) | 17 | add_definitions(-DGHASH_ASM) |
18 | add_definitions(-DSHA1_ASM) | ||
19 | add_definitions(-DSHA256_ASM) | ||
20 | add_definitions(-DSHA512_ASM) | ||
21 | add_definitions(-DOPENSSL_CPUID_OBJ) | 18 | add_definitions(-DOPENSSL_CPUID_OBJ) |
22 | set_property(SOURCE ${ASM_ARMV4_ELF_SRC} PROPERTY LANGUAGE C) | ||
23 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC}) | 19 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC}) |
24 | endif() | 20 | endif() |
25 | 21 | ||
@@ -33,13 +29,8 @@ if(HOST_ASM_ELF_X86_64) | |||
33 | bn/modexp512-elf-x86_64.S | 29 | bn/modexp512-elf-x86_64.S |
34 | bn/mont-elf-x86_64.S | 30 | bn/mont-elf-x86_64.S |
35 | bn/mont5-elf-x86_64.S | 31 | bn/mont5-elf-x86_64.S |
36 | md5/md5-elf-x86_64.S | ||
37 | modes/ghash-elf-x86_64.S | 32 | modes/ghash-elf-x86_64.S |
38 | rc4/rc4-elf-x86_64.S | 33 | rc4/rc4-elf-x86_64.S |
39 | sha/sha1-elf-x86_64.S | ||
40 | sha/sha256-elf-x86_64.S | ||
41 | sha/sha512-elf-x86_64.S | ||
42 | cpuid-elf-x86_64.S | ||
43 | 34 | ||
44 | bn/arch/amd64/bignum_add.S | 35 | bn/arch/amd64/bignum_add.S |
45 | bn/arch/amd64/bignum_cmadd.S | 36 | bn/arch/amd64/bignum_cmadd.S |
@@ -57,24 +48,12 @@ if(HOST_ASM_ELF_X86_64) | |||
57 | add_definitions(-DAES_ASM) | 48 | add_definitions(-DAES_ASM) |
58 | add_definitions(-DBSAES_ASM) | 49 | add_definitions(-DBSAES_ASM) |
59 | add_definitions(-DVPAES_ASM) | 50 | add_definitions(-DVPAES_ASM) |
60 | add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL) | ||
61 | add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL) | ||
62 | add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL) | ||
63 | add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL) | ||
64 | add_definitions(-DHAVE_AES_DECRYPT_INTERNAL) | ||
65 | add_definitions(-DOPENSSL_IA32_SSE2) | 51 | add_definitions(-DOPENSSL_IA32_SSE2) |
66 | add_definitions(-DOPENSSL_BN_ASM_MONT) | 52 | add_definitions(-DOPENSSL_BN_ASM_MONT) |
67 | add_definitions(-DOPENSSL_BN_ASM_MONT5) | 53 | add_definitions(-DOPENSSL_BN_ASM_MONT5) |
68 | add_definitions(-DMD5_ASM) | ||
69 | add_definitions(-DGHASH_ASM) | 54 | add_definitions(-DGHASH_ASM) |
70 | add_definitions(-DRSA_ASM) | 55 | add_definitions(-DRSA_ASM) |
71 | add_definitions(-DSHA1_ASM) | ||
72 | add_definitions(-DSHA256_ASM) | ||
73 | add_definitions(-DSHA512_ASM) | ||
74 | add_definitions(-DWHIRLPOOL_ASM) | ||
75 | add_definitions(-DOPENSSL_CPUID_OBJ) | ||
76 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC}) | 56 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC}) |
77 | set_property(SOURCE ${ASM_X86_64_ELF_SRC} PROPERTY LANGUAGE C) | ||
78 | endif() | 57 | endif() |
79 | 58 | ||
80 | if(HOST_ASM_MACOSX_X86_64) | 59 | if(HOST_ASM_MACOSX_X86_64) |
@@ -87,13 +66,8 @@ if(HOST_ASM_MACOSX_X86_64) | |||
87 | bn/modexp512-macosx-x86_64.S | 66 | bn/modexp512-macosx-x86_64.S |
88 | bn/mont-macosx-x86_64.S | 67 | bn/mont-macosx-x86_64.S |
89 | bn/mont5-macosx-x86_64.S | 68 | bn/mont5-macosx-x86_64.S |
90 | md5/md5-macosx-x86_64.S | ||
91 | modes/ghash-macosx-x86_64.S | 69 | modes/ghash-macosx-x86_64.S |
92 | rc4/rc4-macosx-x86_64.S | 70 | rc4/rc4-macosx-x86_64.S |
93 | sha/sha1-macosx-x86_64.S | ||
94 | sha/sha256-macosx-x86_64.S | ||
95 | sha/sha512-macosx-x86_64.S | ||
96 | cpuid-macosx-x86_64.S | ||
97 | 71 | ||
98 | bn/arch/amd64/bignum_add.S | 72 | bn/arch/amd64/bignum_add.S |
99 | bn/arch/amd64/bignum_cmadd.S | 73 | bn/arch/amd64/bignum_cmadd.S |
@@ -111,24 +85,12 @@ if(HOST_ASM_MACOSX_X86_64) | |||
111 | add_definitions(-DAES_ASM) | 85 | add_definitions(-DAES_ASM) |
112 | add_definitions(-DBSAES_ASM) | 86 | add_definitions(-DBSAES_ASM) |
113 | add_definitions(-DVPAES_ASM) | 87 | add_definitions(-DVPAES_ASM) |
114 | add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL) | ||
115 | add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL) | ||
116 | add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL) | ||
117 | add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL) | ||
118 | add_definitions(-DHAVE_AES_DECRYPT_INTERNAL) | ||
119 | add_definitions(-DOPENSSL_IA32_SSE2) | 88 | add_definitions(-DOPENSSL_IA32_SSE2) |
120 | add_definitions(-DOPENSSL_BN_ASM_MONT) | 89 | add_definitions(-DOPENSSL_BN_ASM_MONT) |
121 | add_definitions(-DOPENSSL_BN_ASM_MONT5) | 90 | add_definitions(-DOPENSSL_BN_ASM_MONT5) |
122 | add_definitions(-DMD5_ASM) | ||
123 | add_definitions(-DGHASH_ASM) | 91 | add_definitions(-DGHASH_ASM) |
124 | add_definitions(-DRSA_ASM) | 92 | add_definitions(-DRSA_ASM) |
125 | add_definitions(-DSHA1_ASM) | ||
126 | add_definitions(-DSHA256_ASM) | ||
127 | add_definitions(-DSHA512_ASM) | ||
128 | add_definitions(-DWHIRLPOOL_ASM) | ||
129 | add_definitions(-DOPENSSL_CPUID_OBJ) | ||
130 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC}) | 93 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC}) |
131 | set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY LANGUAGE C) | ||
132 | set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm") | 94 | set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm") |
133 | endif() | 95 | endif() |
134 | 96 | ||
@@ -142,34 +104,18 @@ if(HOST_ASM_MASM_X86_64) | |||
142 | #bn/modexp512-masm-x86_64.S | 104 | #bn/modexp512-masm-x86_64.S |
143 | #bn/mont-masm-x86_64.S | 105 | #bn/mont-masm-x86_64.S |
144 | #bn/mont5-masm-x86_64.S | 106 | #bn/mont5-masm-x86_64.S |
145 | md5/md5-masm-x86_64.S | ||
146 | modes/ghash-masm-x86_64.S | 107 | modes/ghash-masm-x86_64.S |
147 | rc4/rc4-masm-x86_64.S | 108 | rc4/rc4-masm-x86_64.S |
148 | sha/sha1-masm-x86_64.S | ||
149 | sha/sha256-masm-x86_64.S | ||
150 | sha/sha512-masm-x86_64.S | ||
151 | cpuid-masm-x86_64.S | ||
152 | ) | 109 | ) |
153 | add_definitions(-Dendbr64=) | 110 | add_definitions(-Dendbr64=) |
154 | add_definitions(-DAES_ASM) | 111 | add_definitions(-DAES_ASM) |
155 | add_definitions(-DBSAES_ASM) | 112 | add_definitions(-DBSAES_ASM) |
156 | add_definitions(-DVPAES_ASM) | 113 | add_definitions(-DVPAES_ASM) |
157 | add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL) | ||
158 | add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL) | ||
159 | add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL) | ||
160 | add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL) | ||
161 | add_definitions(-DHAVE_AES_DECRYPT_INTERNAL) | ||
162 | add_definitions(-DOPENSSL_IA32_SSE2) | 114 | add_definitions(-DOPENSSL_IA32_SSE2) |
163 | #add_definitions(-DOPENSSL_BN_ASM_MONT) | 115 | #add_definitions(-DOPENSSL_BN_ASM_MONT) |
164 | #add_definitions(-DOPENSSL_BN_ASM_MONT5) | 116 | #add_definitions(-DOPENSSL_BN_ASM_MONT5) |
165 | add_definitions(-DMD5_ASM) | ||
166 | add_definitions(-DGHASH_ASM) | 117 | add_definitions(-DGHASH_ASM) |
167 | add_definitions(-DRSA_ASM) | 118 | add_definitions(-DRSA_ASM) |
168 | add_definitions(-DSHA1_ASM) | ||
169 | add_definitions(-DSHA256_ASM) | ||
170 | add_definitions(-DSHA512_ASM) | ||
171 | add_definitions(-DWHIRLPOOL_ASM) | ||
172 | add_definitions(-DOPENSSL_CPUID_OBJ) | ||
173 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC}) | 119 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC}) |
174 | set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM) | 120 | set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM) |
175 | endif() | 121 | endif() |
@@ -184,50 +130,37 @@ if(HOST_ASM_MINGW64_X86_64) | |||
184 | #bn/modexp512-mingw64-x86_64.S | 130 | #bn/modexp512-mingw64-x86_64.S |
185 | #bn/mont-mingw64-x86_64.S | 131 | #bn/mont-mingw64-x86_64.S |
186 | #bn/mont5-mingw64-x86_64.S | 132 | #bn/mont5-mingw64-x86_64.S |
187 | md5/md5-mingw64-x86_64.S | ||
188 | modes/ghash-mingw64-x86_64.S | 133 | modes/ghash-mingw64-x86_64.S |
189 | rc4/rc4-mingw64-x86_64.S | 134 | rc4/rc4-mingw64-x86_64.S |
190 | sha/sha1-mingw64-x86_64.S | ||
191 | sha/sha256-mingw64-x86_64.S | ||
192 | sha/sha512-mingw64-x86_64.S | ||
193 | cpuid-mingw64-x86_64.S | ||
194 | ) | 135 | ) |
195 | add_definitions(-Dendbr32=endbr64) | 136 | add_definitions(-Dendbr32=endbr64) |
196 | add_definitions(-DAES_ASM) | 137 | add_definitions(-DAES_ASM) |
197 | add_definitions(-DBSAES_ASM) | 138 | add_definitions(-DBSAES_ASM) |
198 | add_definitions(-DVPAES_ASM) | 139 | add_definitions(-DVPAES_ASM) |
199 | add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL) | ||
200 | add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL) | ||
201 | add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL) | ||
202 | add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL) | ||
203 | add_definitions(-DHAVE_AES_DECRYPT_INTERNAL) | ||
204 | add_definitions(-DOPENSSL_IA32_SSE2) | 140 | add_definitions(-DOPENSSL_IA32_SSE2) |
205 | #add_definitions(-DOPENSSL_BN_ASM_MONT) | 141 | #add_definitions(-DOPENSSL_BN_ASM_MONT) |
206 | #add_definitions(-DOPENSSL_BN_ASM_MONT5) | 142 | #add_definitions(-DOPENSSL_BN_ASM_MONT5) |
207 | add_definitions(-DMD5_ASM) | ||
208 | add_definitions(-DGHASH_ASM) | 143 | add_definitions(-DGHASH_ASM) |
209 | add_definitions(-DRSA_ASM) | 144 | add_definitions(-DRSA_ASM) |
210 | add_definitions(-DSHA1_ASM) | ||
211 | add_definitions(-DSHA256_ASM) | ||
212 | add_definitions(-DSHA512_ASM) | ||
213 | add_definitions(-DWHIRLPOOL_ASM) | ||
214 | add_definitions(-DOPENSSL_CPUID_OBJ) | ||
215 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC}) | 145 | set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC}) |
216 | set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY LANGUAGE C) | 146 | endif() |
147 | |||
148 | if(HOST_AARCH64) | ||
149 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c) | ||
150 | elseif(HOST_X86_64) | ||
151 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/amd64/crypto_cpu_caps.c) | ||
152 | elseif(HOST_I386) | ||
153 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/i386/crypto_cpu_caps.c) | ||
217 | endif() | 154 | endif() |
218 | 155 | ||
219 | set( | 156 | set( |
220 | CRYPTO_SRC | 157 | CRYPTO_SRC |
221 | ${CRYPTO_SRC} | 158 | ${CRYPTO_SRC} |
222 | cpt_err.c | 159 | crypto_err.c |
223 | cryptlib.c | 160 | crypto_ex_data.c |
224 | crypto_init.c | 161 | crypto_init.c |
225 | cversion.c | 162 | crypto_legacy.c |
226 | ex_data.c | 163 | crypto_memory.c |
227 | malloc-wrapper.c | ||
228 | mem_clr.c | ||
229 | mem_dbg.c | ||
230 | o_fips.c | ||
231 | aes/aes.c | 164 | aes/aes.c |
232 | aes/aes_core.c | 165 | aes/aes_core.c |
233 | aes/aes_ige.c | 166 | aes/aes_ige.c |
@@ -364,7 +297,6 @@ set( | |||
364 | conf/conf_def.c | 297 | conf/conf_def.c |
365 | conf/conf_err.c | 298 | conf/conf_err.c |
366 | conf/conf_lib.c | 299 | conf/conf_lib.c |
367 | conf/conf_mall.c | ||
368 | conf/conf_mod.c | 300 | conf/conf_mod.c |
369 | conf/conf_sap.c | 301 | conf/conf_sap.c |
370 | ct/ct_b64.c | 302 | ct/ct_b64.c |
@@ -379,26 +311,11 @@ set( | |||
379 | ct/ct_x509v3.c | 311 | ct/ct_x509v3.c |
380 | curve25519/curve25519-generic.c | 312 | curve25519/curve25519-generic.c |
381 | curve25519/curve25519.c | 313 | curve25519/curve25519.c |
382 | des/cbc_cksm.c | 314 | des/des.c |
383 | des/cbc_enc.c | 315 | des/des_cksum.c |
384 | des/cfb64ede.c | ||
385 | des/cfb64enc.c | ||
386 | des/cfb_enc.c | ||
387 | des/des_enc.c | 316 | des/des_enc.c |
388 | des/ecb3_enc.c | 317 | des/des_fcrypt.c |
389 | des/ecb_enc.c | 318 | des/des_key.c |
390 | des/ede_cbcm_enc.c | ||
391 | des/enc_read.c | ||
392 | des/fcrypt.c | ||
393 | des/fcrypt_b.c | ||
394 | des/ofb64ede.c | ||
395 | des/ofb64enc.c | ||
396 | des/ofb_enc.c | ||
397 | des/pcbc_enc.c | ||
398 | des/qud_cksm.c | ||
399 | des/set_key.c | ||
400 | des/str2key.c | ||
401 | des/xcbc_enc.c | ||
402 | dh/dh_ameth.c | 319 | dh/dh_ameth.c |
403 | dh/dh_asn1.c | 320 | dh/dh_asn1.c |
404 | dh/dh_check.c | 321 | dh/dh_check.c |
@@ -419,21 +336,15 @@ set( | |||
419 | dsa/dsa_prn.c | 336 | dsa/dsa_prn.c |
420 | ec/ec_ameth.c | 337 | ec/ec_ameth.c |
421 | ec/ec_asn1.c | 338 | ec/ec_asn1.c |
422 | ec/ec_check.c | 339 | ec/ec_convert.c |
423 | ec/ec_curve.c | 340 | ec/ec_curve.c |
424 | ec/ec_cvt.c | ||
425 | ec/ec_err.c | 341 | ec/ec_err.c |
426 | ec/ec_key.c | 342 | ec/ec_key.c |
427 | ec/ec_kmeth.c | ||
428 | ec/ec_lib.c | 343 | ec/ec_lib.c |
429 | ec/ec_mult.c | 344 | ec/ec_mult.c |
430 | ec/ec_oct.c | ||
431 | ec/ec_pmeth.c | 345 | ec/ec_pmeth.c |
432 | ec/ec_print.c | ||
433 | ec/eck_prn.c | 346 | ec/eck_prn.c |
434 | ec/ecp_mont.c | 347 | ec/ecp_methods.c |
435 | ec/ecp_oct.c | ||
436 | ec/ecp_smpl.c | ||
437 | ec/ecx_methods.c | 348 | ec/ecx_methods.c |
438 | ecdh/ecdh.c | 349 | ecdh/ecdh.c |
439 | ecdsa/ecdsa.c | 350 | ecdsa/ecdsa.c |
@@ -476,7 +387,6 @@ set( | |||
476 | evp/m_sha3.c | 387 | evp/m_sha3.c |
477 | evp/m_sigver.c | 388 | evp/m_sigver.c |
478 | evp/m_sm3.c | 389 | evp/m_sm3.c |
479 | evp/m_wp.c | ||
480 | evp/p_legacy.c | 390 | evp/p_legacy.c |
481 | evp/p_lib.c | 391 | evp/p_lib.c |
482 | evp/p_sign.c | 392 | evp/p_sign.c |
@@ -495,6 +405,8 @@ set( | |||
495 | lhash/lhash.c | 405 | lhash/lhash.c |
496 | md4/md4.c | 406 | md4/md4.c |
497 | md5/md5.c | 407 | md5/md5.c |
408 | mlkem/mlkem768.c | ||
409 | mlkem/mlkem1024.c | ||
498 | modes/cbc128.c | 410 | modes/cbc128.c |
499 | modes/ccm128.c | 411 | modes/ccm128.c |
500 | modes/cfb128.c | 412 | modes/cfb128.c |
@@ -599,8 +511,6 @@ set( | |||
599 | ui/ui_err.c | 511 | ui/ui_err.c |
600 | ui/ui_lib.c | 512 | ui/ui_lib.c |
601 | ui/ui_null.c | 513 | ui/ui_null.c |
602 | ui/ui_util.c | ||
603 | whrlpool/whirlpool.c | ||
604 | x509/by_dir.c | 514 | x509/by_dir.c |
605 | x509/by_file.c | 515 | x509/by_file.c |
606 | x509/by_mem.c | 516 | x509/by_mem.c |
@@ -641,6 +551,7 @@ set( | |||
641 | x509/x509_r2x.c | 551 | x509/x509_r2x.c |
642 | x509/x509_req.c | 552 | x509/x509_req.c |
643 | x509/x509_set.c | 553 | x509/x509_set.c |
554 | x509/x509_siginfo.c | ||
644 | x509/x509_skey.c | 555 | x509/x509_skey.c |
645 | x509/x509_trs.c | 556 | x509/x509_trs.c |
646 | x509/x509_txt.c | 557 | x509/x509_txt.c |
@@ -685,6 +596,14 @@ if(NOT HAVE_FREEZERO) | |||
685 | set(COMPAT_SRC ${COMPAT_SRC} compat/freezero.c) | 596 | set(COMPAT_SRC ${COMPAT_SRC} compat/freezero.c) |
686 | endif() | 597 | endif() |
687 | 598 | ||
599 | if(NOT HAVE_GETDELIM) | ||
600 | set(COMPAT_SRC ${COMPAT_SRC} compat/getdelim.c) | ||
601 | endif() | ||
602 | |||
603 | if(NOT HAVE_GETLINE) | ||
604 | set(COMPAT_SRC ${COMPAT_SRC} compat/getline.c) | ||
605 | endif() | ||
606 | |||
688 | if(NOT HAVE_GETOPT) | 607 | if(NOT HAVE_GETOPT) |
689 | set(COMPAT_SRC ${COMPAT_SRC} compat/getopt_long.c) | 608 | set(COMPAT_SRC ${COMPAT_SRC} compat/getopt_long.c) |
690 | endif() | 609 | endif() |
@@ -821,6 +740,7 @@ target_include_directories(crypto_obj | |||
821 | bio | 740 | bio |
822 | bn | 741 | bn |
823 | bytestring | 742 | bytestring |
743 | conf | ||
824 | dh | 744 | dh |
825 | dsa | 745 | dsa |
826 | curve25519 | 746 | curve25519 |
@@ -832,6 +752,7 @@ target_include_directories(crypto_obj | |||
832 | hidden | 752 | hidden |
833 | hmac | 753 | hmac |
834 | lhash | 754 | lhash |
755 | mlkem | ||
835 | modes | 756 | modes |
836 | ocsp | 757 | ocsp |
837 | pkcs12 | 758 | pkcs12 |
@@ -845,41 +766,65 @@ target_include_directories(crypto_obj | |||
845 | ${CMAKE_BINARY_DIR}/include) | 766 | ${CMAKE_BINARY_DIR}/include) |
846 | 767 | ||
847 | if(HOST_AARCH64) | 768 | if(HOST_AARCH64) |
769 | target_include_directories(crypto_obj PRIVATE arch/aarch64/) | ||
848 | target_include_directories(crypto_obj PRIVATE bn/arch/aarch64/) | 770 | target_include_directories(crypto_obj PRIVATE bn/arch/aarch64/) |
849 | elseif(HOST_ARM) | 771 | elseif(HOST_ARM) |
772 | target_include_directories(crypto_obj PRIVATE arch/arm/) | ||
850 | target_include_directories(crypto_obj PRIVATE bn/arch/arm/) | 773 | target_include_directories(crypto_obj PRIVATE bn/arch/arm/) |
851 | elseif(HOST_I386) | 774 | elseif(HOST_I386) |
775 | target_include_directories(crypto_obj PRIVATE arch/i386/) | ||
852 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) | 776 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) |
777 | elseif(HOST_LOONGARCH64) | ||
778 | target_include_directories(crypto_obj PRIVATE arch/loongarch64) | ||
779 | target_include_directories(crypto_obj PRIVATE bn/arch/loongarch64) | ||
853 | elseif(HOST_MIPS64) | 780 | elseif(HOST_MIPS64) |
781 | target_include_directories(crypto_obj PRIVATE arch/mips64) | ||
854 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) | 782 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) |
855 | elseif(HOST_MIPS) | 783 | elseif(HOST_MIPS) |
784 | target_include_directories(crypto_obj PRIVATE arch/mips) | ||
856 | target_include_directories(crypto_obj PRIVATE bn/arch/mips) | 785 | target_include_directories(crypto_obj PRIVATE bn/arch/mips) |
857 | elseif(HOST_POWERPC) | 786 | elseif(HOST_POWERPC) |
787 | target_include_directories(crypto_obj PRIVATE arch/powerpc) | ||
858 | target_include_directories(crypto_obj PRIVATE bn/arch/powerpc) | 788 | target_include_directories(crypto_obj PRIVATE bn/arch/powerpc) |
859 | elseif(HOST_POWERPC64) | 789 | elseif(HOST_POWERPC64) |
790 | target_include_directories(crypto_obj PRIVATE arch/powerpc64) | ||
860 | target_include_directories(crypto_obj PRIVATE bn/arch/powerpc64) | 791 | target_include_directories(crypto_obj PRIVATE bn/arch/powerpc64) |
861 | elseif(HOST_RISCV64) | 792 | elseif(HOST_RISCV64) |
793 | target_include_directories(crypto_obj PRIVATE arch/riscv64) | ||
862 | target_include_directories(crypto_obj PRIVATE bn/arch/riscv64) | 794 | target_include_directories(crypto_obj PRIVATE bn/arch/riscv64) |
863 | elseif(HOST_SPARC64) | 795 | elseif(HOST_SPARC64) |
796 | target_include_directories(crypto_obj PRIVATE arch/sparc64) | ||
864 | target_include_directories(crypto_obj PRIVATE bn/arch/sparc64) | 797 | target_include_directories(crypto_obj PRIVATE bn/arch/sparc64) |
865 | elseif(HOST_X86_64) | 798 | elseif(HOST_X86_64) |
799 | target_include_directories(crypto_obj PRIVATE arch/amd64) | ||
866 | target_include_directories(crypto_obj PRIVATE bn/arch/amd64) | 800 | target_include_directories(crypto_obj PRIVATE bn/arch/amd64) |
867 | endif() | 801 | endif() |
868 | 802 | ||
803 | if(MSVC) | ||
804 | # "C4701" - Potentially uninitialized local variable 'name' used | ||
805 | set_source_files_properties(bn/bn_convert.c pem/pem_lib.c PROPERTIES | ||
806 | COMPILE_OPTIONS /wd4701 | ||
807 | ) | ||
808 | # "C4702" - unreachable code | ||
809 | set_source_files_properties(pkcs7/pk7_doit.c PROPERTIES | ||
810 | COMPILE_OPTIONS /wd4702 | ||
811 | ) | ||
812 | endif() | ||
813 | |||
869 | add_library(crypto $<TARGET_OBJECTS:crypto_obj> $<TARGET_OBJECTS:compat_obj> empty.c) | 814 | add_library(crypto $<TARGET_OBJECTS:crypto_obj> $<TARGET_OBJECTS:compat_obj> empty.c) |
870 | 815 | ||
871 | export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym) | 816 | export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym) |
872 | target_link_libraries(crypto ${PLATFORM_LIBS}) | 817 | target_link_libraries(crypto ${PLATFORM_LIBS}) |
873 | if (WIN32) | ||
874 | set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION} PARENT_SCOPE) | ||
875 | endif() | ||
876 | set_target_properties(crypto PROPERTIES | 818 | set_target_properties(crypto PROPERTIES |
877 | OUTPUT_NAME crypto${CRYPTO_POSTFIX} | 819 | OUTPUT_NAME crypto |
878 | ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX} | 820 | ARCHIVE_OUTPUT_NAME crypto |
879 | EXPORT_NAME Crypto | 821 | EXPORT_NAME Crypto |
880 | VERSION ${CRYPTO_VERSION} | 822 | VERSION ${CRYPTO_VERSION} |
881 | SOVERSION ${CRYPTO_MAJOR_VERSION} | 823 | SOVERSION ${CRYPTO_MAJOR_VERSION} |
882 | ) | 824 | ) |
825 | if(NOT CMAKE_VERSION VERSION_LESS 3.27.0) | ||
826 | set_target_properties(crypto PROPERTIES DLL_NAME_WITH_SOVERSION TRUE) | ||
827 | endif() | ||
883 | 828 | ||
884 | target_include_directories( | 829 | target_include_directories( |
885 | crypto | 830 | crypto |
@@ -919,4 +864,3 @@ if(BUILD_SHARED_LIBS) | |||
919 | add_library(crypto-static STATIC $<TARGET_OBJECTS:crypto_obj>) | 864 | add_library(crypto-static STATIC $<TARGET_OBJECTS:crypto_obj>) |
920 | target_link_libraries(crypto-static ${PLATFORM_LIBS}) | 865 | target_link_libraries(crypto-static ${PLATFORM_LIBS}) |
921 | endif() | 866 | endif() |
922 | |||
diff --git a/crypto/Makefile.am b/crypto/Makefile.am index 6e1e975..d1c5b76 100644 --- a/crypto/Makefile.am +++ b/crypto/Makefile.am | |||
@@ -5,6 +5,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/crypto/asn1 | |||
5 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bio | 5 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bio |
6 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bn | 6 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bn |
7 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bytestring | 7 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/bytestring |
8 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/conf | ||
8 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/curve25519 | 9 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/curve25519 |
9 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/dh | 10 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/dh |
10 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/dsa | 11 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/dsa |
@@ -15,6 +16,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/crypto/err | |||
15 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/evp | 16 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/evp |
16 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/hmac | 17 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/hmac |
17 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/lhash | 18 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/lhash |
19 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/mlkem | ||
18 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/modes | 20 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/modes |
19 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/ocsp | 21 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/ocsp |
20 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/pkcs12 | 22 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/pkcs12 |
@@ -132,6 +134,14 @@ if !HAVE_FREEZERO | |||
132 | libcompat_la_SOURCES += compat/freezero.c | 134 | libcompat_la_SOURCES += compat/freezero.c |
133 | endif | 135 | endif |
134 | 136 | ||
137 | if !HAVE_GETDELIM | ||
138 | libcompat_la_SOURCES += compat/getdelim.c | ||
139 | endif | ||
140 | |||
141 | if !HAVE_GETLINE | ||
142 | libcompat_la_SOURCES += compat/getline.c | ||
143 | endif | ||
144 | |||
135 | if !HAVE_GETPAGESIZE | 145 | if !HAVE_GETPAGESIZE |
136 | libcompat_la_SOURCES += compat/getpagesize.c | 146 | libcompat_la_SOURCES += compat/getpagesize.c |
137 | endif | 147 | endif |
@@ -201,23 +211,28 @@ endif | |||
201 | endif | 211 | endif |
202 | endif | 212 | endif |
203 | 213 | ||
204 | libcrypto_la_SOURCES += cpt_err.c | 214 | if HOST_AARCH64 |
205 | libcrypto_la_SOURCES += cryptlib.c | 215 | libcrypto_la_SOURCES += arch/aarch64/crypto_cpu_caps.c |
216 | endif | ||
217 | if HOST_X86_64 | ||
218 | libcrypto_la_SOURCES += arch/amd64/crypto_cpu_caps.c | ||
219 | endif | ||
220 | if HOST_I386 | ||
221 | libcrypto_la_SOURCES += arch/i386/crypto_cpu_caps.c | ||
222 | endif | ||
223 | |||
224 | libcrypto_la_SOURCES += crypto_err.c | ||
225 | libcrypto_la_SOURCES += crypto_ex_data.c | ||
206 | libcrypto_la_SOURCES += crypto_init.c | 226 | libcrypto_la_SOURCES += crypto_init.c |
227 | libcrypto_la_SOURCES += crypto_legacy.c | ||
207 | if !HOST_WIN | 228 | if !HOST_WIN |
208 | libcrypto_la_SOURCES += crypto_lock.c | 229 | libcrypto_la_SOURCES += crypto_lock.c |
209 | else | 230 | else |
210 | libcrypto_la_SOURCES += compat/crypto_lock_win.c | 231 | libcrypto_la_SOURCES += compat/crypto_lock_win.c |
211 | endif | 232 | endif |
212 | libcrypto_la_SOURCES += cversion.c | 233 | libcrypto_la_SOURCES += crypto_memory.c |
213 | libcrypto_la_SOURCES += ex_data.c | ||
214 | libcrypto_la_SOURCES += malloc-wrapper.c | ||
215 | libcrypto_la_SOURCES += mem_clr.c | ||
216 | libcrypto_la_SOURCES += mem_dbg.c | ||
217 | libcrypto_la_SOURCES += o_fips.c | ||
218 | noinst_HEADERS += arm_arch.h | 234 | noinst_HEADERS += arm_arch.h |
219 | noinst_HEADERS += constant_time.h | 235 | noinst_HEADERS += constant_time.h |
220 | noinst_HEADERS += cryptlib.h | ||
221 | noinst_HEADERS += crypto_internal.h | 236 | noinst_HEADERS += crypto_internal.h |
222 | noinst_HEADERS += crypto_local.h | 237 | noinst_HEADERS += crypto_local.h |
223 | noinst_HEADERS += x86_arch.h | 238 | noinst_HEADERS += x86_arch.h |
@@ -359,55 +374,82 @@ noinst_HEADERS += bn/bn_prime.h | |||
359 | noinst_HEADERS += bn/s2n_bignum.h | 374 | noinst_HEADERS += bn/s2n_bignum.h |
360 | noinst_HEADERS += bn/s2n_bignum_internal.h | 375 | noinst_HEADERS += bn/s2n_bignum_internal.h |
361 | 376 | ||
362 | # bn/arch | 377 | # arch, bn/arch |
363 | if HOST_AARCH64 | 378 | if HOST_AARCH64 |
379 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/aarch64/ | ||
364 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/aarch64/ | 380 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/aarch64/ |
365 | endif | 381 | endif |
382 | noinst_HEADERS += arch/aarch64/crypto_arch.h | ||
366 | noinst_HEADERS += bn/arch/aarch64/bn_arch.h | 383 | noinst_HEADERS += bn/arch/aarch64/bn_arch.h |
367 | 384 | ||
368 | if HOST_ARM | 385 | if HOST_ARM |
386 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/arm/ | ||
369 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/arm/ | 387 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/arm/ |
370 | endif | 388 | endif |
389 | noinst_HEADERS += arch/arm/crypto_arch.h | ||
371 | noinst_HEADERS += bn/arch/arm/bn_arch.h | 390 | noinst_HEADERS += bn/arch/arm/bn_arch.h |
372 | 391 | ||
373 | if HOST_I386 | 392 | if HOST_I386 |
393 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ | ||
374 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/i386/ | 394 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/i386/ |
375 | endif | 395 | endif |
396 | noinst_HEADERS += arch/i386/crypto_arch.h | ||
376 | noinst_HEADERS += bn/arch/i386/bn_arch.h | 397 | noinst_HEADERS += bn/arch/i386/bn_arch.h |
377 | 398 | ||
399 | if HOST_LOONGARCH64 | ||
400 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
401 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/loongarch64/ | ||
402 | endif | ||
403 | noinst_HEADERS += arch/loongarch64/crypto_arch.h | ||
404 | noinst_HEADERS += bn/arch/loongarch64/bn_arch.h | ||
405 | |||
378 | if HOST_MIPS | 406 | if HOST_MIPS |
407 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips/ | ||
379 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips/ | 408 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips/ |
380 | endif | 409 | endif |
410 | noinst_HEADERS += arch/mips/crypto_arch.h | ||
381 | noinst_HEADERS += bn/arch/mips/bn_arch.h | 411 | noinst_HEADERS += bn/arch/mips/bn_arch.h |
382 | 412 | ||
383 | if HOST_MIPS64 | 413 | if HOST_MIPS64 |
414 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips64/ | ||
384 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips64/ | 415 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips64/ |
385 | endif | 416 | endif |
417 | noinst_HEADERS += arch/mips64/crypto_arch.h | ||
386 | noinst_HEADERS += bn/arch/mips64/bn_arch.h | 418 | noinst_HEADERS += bn/arch/mips64/bn_arch.h |
387 | 419 | ||
388 | if HOST_POWERPC | 420 | if HOST_POWERPC |
421 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc/ | ||
389 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/powerpc/ | 422 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/powerpc/ |
390 | endif | 423 | endif |
424 | noinst_HEADERS += arch/powerpc/crypto_arch.h | ||
391 | noinst_HEADERS += bn/arch/powerpc/bn_arch.h | 425 | noinst_HEADERS += bn/arch/powerpc/bn_arch.h |
392 | 426 | ||
393 | if HOST_POWERPC64 | 427 | if HOST_POWERPC64 |
428 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc64/ | ||
394 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/powerpc64/ | 429 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/powerpc64/ |
395 | endif | 430 | endif |
431 | noinst_HEADERS += arch/powerpc64/crypto_arch.h | ||
396 | noinst_HEADERS += bn/arch/powerpc64/bn_arch.h | 432 | noinst_HEADERS += bn/arch/powerpc64/bn_arch.h |
397 | 433 | ||
398 | if HOST_RISCV64 | 434 | if HOST_RISCV64 |
435 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/riscv64/ | ||
399 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/riscv64/ | 436 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/riscv64/ |
400 | endif | 437 | endif |
438 | noinst_HEADERS += arch/riscv64/crypto_arch.h | ||
401 | noinst_HEADERS += bn/arch/riscv64/bn_arch.h | 439 | noinst_HEADERS += bn/arch/riscv64/bn_arch.h |
402 | 440 | ||
403 | if HOST_SPARC64 | 441 | if HOST_SPARC64 |
442 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/sparc64/ | ||
404 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/sparc64/ | 443 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/sparc64/ |
405 | endif | 444 | endif |
445 | noinst_HEADERS += arch/sparc64/crypto_arch.h | ||
406 | noinst_HEADERS += bn/arch/sparc64/bn_arch.h | 446 | noinst_HEADERS += bn/arch/sparc64/bn_arch.h |
407 | 447 | ||
408 | if HOST_X86_64 | 448 | if HOST_X86_64 |
449 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/amd64/ | ||
409 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/amd64/ | 450 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/amd64/ |
410 | endif | 451 | endif |
452 | noinst_HEADERS += arch/amd64/crypto_arch.h | ||
411 | noinst_HEADERS += bn/arch/amd64/bn_arch.h | 453 | noinst_HEADERS += bn/arch/amd64/bn_arch.h |
412 | 454 | ||
413 | # buffer | 455 | # buffer |
@@ -458,10 +500,10 @@ libcrypto_la_SOURCES += conf/conf_api.c | |||
458 | libcrypto_la_SOURCES += conf/conf_def.c | 500 | libcrypto_la_SOURCES += conf/conf_def.c |
459 | libcrypto_la_SOURCES += conf/conf_err.c | 501 | libcrypto_la_SOURCES += conf/conf_err.c |
460 | libcrypto_la_SOURCES += conf/conf_lib.c | 502 | libcrypto_la_SOURCES += conf/conf_lib.c |
461 | libcrypto_la_SOURCES += conf/conf_mall.c | ||
462 | libcrypto_la_SOURCES += conf/conf_mod.c | 503 | libcrypto_la_SOURCES += conf/conf_mod.c |
463 | libcrypto_la_SOURCES += conf/conf_sap.c | 504 | libcrypto_la_SOURCES += conf/conf_sap.c |
464 | noinst_HEADERS += conf/conf_def.h | 505 | noinst_HEADERS += conf/conf_def.h |
506 | noinst_HEADERS += conf/conf_local.h | ||
465 | 507 | ||
466 | # ct | 508 | # ct |
467 | libcrypto_la_SOURCES += ct/ct_b64.c | 509 | libcrypto_la_SOURCES += ct/ct_b64.c |
@@ -483,29 +525,12 @@ noinst_HEADERS += curve25519/curve25519_internal.h | |||
483 | 525 | ||
484 | 526 | ||
485 | # des | 527 | # des |
486 | libcrypto_la_SOURCES += des/cbc_cksm.c | 528 | libcrypto_la_SOURCES += des/des.c |
487 | libcrypto_la_SOURCES += des/cbc_enc.c | 529 | libcrypto_la_SOURCES += des/des_cksum.c |
488 | libcrypto_la_SOURCES += des/cfb64ede.c | ||
489 | libcrypto_la_SOURCES += des/cfb64enc.c | ||
490 | libcrypto_la_SOURCES += des/cfb_enc.c | ||
491 | libcrypto_la_SOURCES += des/des_enc.c | 530 | libcrypto_la_SOURCES += des/des_enc.c |
492 | libcrypto_la_SOURCES += des/ecb3_enc.c | 531 | libcrypto_la_SOURCES += des/des_fcrypt.c |
493 | libcrypto_la_SOURCES += des/ecb_enc.c | 532 | libcrypto_la_SOURCES += des/des_key.c |
494 | libcrypto_la_SOURCES += des/ede_cbcm_enc.c | ||
495 | libcrypto_la_SOURCES += des/enc_read.c | ||
496 | libcrypto_la_SOURCES += des/fcrypt.c | ||
497 | libcrypto_la_SOURCES += des/fcrypt_b.c | ||
498 | EXTRA_libcrypto_la_SOURCES += des/ncbc_enc.c | ||
499 | libcrypto_la_SOURCES += des/ofb64ede.c | ||
500 | libcrypto_la_SOURCES += des/ofb64enc.c | ||
501 | libcrypto_la_SOURCES += des/ofb_enc.c | ||
502 | libcrypto_la_SOURCES += des/pcbc_enc.c | ||
503 | libcrypto_la_SOURCES += des/qud_cksm.c | ||
504 | libcrypto_la_SOURCES += des/set_key.c | ||
505 | libcrypto_la_SOURCES += des/str2key.c | ||
506 | libcrypto_la_SOURCES += des/xcbc_enc.c | ||
507 | noinst_HEADERS += des/des_local.h | 533 | noinst_HEADERS += des/des_local.h |
508 | noinst_HEADERS += des/spr.h | ||
509 | 534 | ||
510 | # dh | 535 | # dh |
511 | libcrypto_la_SOURCES += dh/dh_ameth.c | 536 | libcrypto_la_SOURCES += dh/dh_ameth.c |
@@ -534,21 +559,15 @@ noinst_HEADERS += dsa/dsa_local.h | |||
534 | # ec | 559 | # ec |
535 | libcrypto_la_SOURCES += ec/ec_ameth.c | 560 | libcrypto_la_SOURCES += ec/ec_ameth.c |
536 | libcrypto_la_SOURCES += ec/ec_asn1.c | 561 | libcrypto_la_SOURCES += ec/ec_asn1.c |
537 | libcrypto_la_SOURCES += ec/ec_check.c | 562 | libcrypto_la_SOURCES += ec/ec_convert.c |
538 | libcrypto_la_SOURCES += ec/ec_curve.c | 563 | libcrypto_la_SOURCES += ec/ec_curve.c |
539 | libcrypto_la_SOURCES += ec/ec_cvt.c | ||
540 | libcrypto_la_SOURCES += ec/ec_err.c | 564 | libcrypto_la_SOURCES += ec/ec_err.c |
541 | libcrypto_la_SOURCES += ec/ec_key.c | 565 | libcrypto_la_SOURCES += ec/ec_key.c |
542 | libcrypto_la_SOURCES += ec/ec_kmeth.c | ||
543 | libcrypto_la_SOURCES += ec/ec_lib.c | 566 | libcrypto_la_SOURCES += ec/ec_lib.c |
544 | libcrypto_la_SOURCES += ec/ec_mult.c | 567 | libcrypto_la_SOURCES += ec/ec_mult.c |
545 | libcrypto_la_SOURCES += ec/ec_oct.c | ||
546 | libcrypto_la_SOURCES += ec/ec_pmeth.c | 568 | libcrypto_la_SOURCES += ec/ec_pmeth.c |
547 | libcrypto_la_SOURCES += ec/ec_print.c | ||
548 | libcrypto_la_SOURCES += ec/eck_prn.c | 569 | libcrypto_la_SOURCES += ec/eck_prn.c |
549 | libcrypto_la_SOURCES += ec/ecp_mont.c | 570 | libcrypto_la_SOURCES += ec/ecp_methods.c |
550 | libcrypto_la_SOURCES += ec/ecp_oct.c | ||
551 | libcrypto_la_SOURCES += ec/ecp_smpl.c | ||
552 | libcrypto_la_SOURCES += ec/ecx_methods.c | 571 | libcrypto_la_SOURCES += ec/ecx_methods.c |
553 | noinst_HEADERS += ec/ec_local.h | 572 | noinst_HEADERS += ec/ec_local.h |
554 | 573 | ||
@@ -604,7 +623,6 @@ libcrypto_la_SOURCES += evp/m_sha1.c | |||
604 | libcrypto_la_SOURCES += evp/m_sha3.c | 623 | libcrypto_la_SOURCES += evp/m_sha3.c |
605 | libcrypto_la_SOURCES += evp/m_sigver.c | 624 | libcrypto_la_SOURCES += evp/m_sigver.c |
606 | libcrypto_la_SOURCES += evp/m_sm3.c | 625 | libcrypto_la_SOURCES += evp/m_sm3.c |
607 | libcrypto_la_SOURCES += evp/m_wp.c | ||
608 | libcrypto_la_SOURCES += evp/p_legacy.c | 626 | libcrypto_la_SOURCES += evp/p_legacy.c |
609 | libcrypto_la_SOURCES += evp/p_lib.c | 627 | libcrypto_la_SOURCES += evp/p_lib.c |
610 | libcrypto_la_SOURCES += evp/p_sign.c | 628 | libcrypto_la_SOURCES += evp/p_sign.c |
@@ -629,7 +647,6 @@ noinst_HEADERS += hidden/openssl/chacha.h | |||
629 | noinst_HEADERS += hidden/openssl/cmac.h | 647 | noinst_HEADERS += hidden/openssl/cmac.h |
630 | noinst_HEADERS += hidden/openssl/cms.h | 648 | noinst_HEADERS += hidden/openssl/cms.h |
631 | noinst_HEADERS += hidden/openssl/conf.h | 649 | noinst_HEADERS += hidden/openssl/conf.h |
632 | noinst_HEADERS += hidden/openssl/conf_api.h | ||
633 | noinst_HEADERS += hidden/openssl/crypto.h | 650 | noinst_HEADERS += hidden/openssl/crypto.h |
634 | noinst_HEADERS += hidden/openssl/ct.h | 651 | noinst_HEADERS += hidden/openssl/ct.h |
635 | noinst_HEADERS += hidden/openssl/curve25519.h | 652 | noinst_HEADERS += hidden/openssl/curve25519.h |
@@ -646,6 +663,7 @@ noinst_HEADERS += hidden/openssl/idea.h | |||
646 | noinst_HEADERS += hidden/openssl/lhash.h | 663 | noinst_HEADERS += hidden/openssl/lhash.h |
647 | noinst_HEADERS += hidden/openssl/md4.h | 664 | noinst_HEADERS += hidden/openssl/md4.h |
648 | noinst_HEADERS += hidden/openssl/md5.h | 665 | noinst_HEADERS += hidden/openssl/md5.h |
666 | noinst_HEADERS += hidden/openssl/mlkem.h | ||
649 | noinst_HEADERS += hidden/openssl/modes.h | 667 | noinst_HEADERS += hidden/openssl/modes.h |
650 | noinst_HEADERS += hidden/openssl/objects.h | 668 | noinst_HEADERS += hidden/openssl/objects.h |
651 | noinst_HEADERS += hidden/openssl/ocsp.h | 669 | noinst_HEADERS += hidden/openssl/ocsp.h |
@@ -666,7 +684,6 @@ noinst_HEADERS += hidden/openssl/stack.h | |||
666 | noinst_HEADERS += hidden/openssl/ts.h | 684 | noinst_HEADERS += hidden/openssl/ts.h |
667 | noinst_HEADERS += hidden/openssl/txt_db.h | 685 | noinst_HEADERS += hidden/openssl/txt_db.h |
668 | noinst_HEADERS += hidden/openssl/ui.h | 686 | noinst_HEADERS += hidden/openssl/ui.h |
669 | noinst_HEADERS += hidden/openssl/whrlpool.h | ||
670 | noinst_HEADERS += hidden/openssl/x509.h | 687 | noinst_HEADERS += hidden/openssl/x509.h |
671 | noinst_HEADERS += hidden/openssl/x509_vfy.h | 688 | noinst_HEADERS += hidden/openssl/x509_vfy.h |
672 | noinst_HEADERS += hidden/openssl/x509v3.h | 689 | noinst_HEADERS += hidden/openssl/x509v3.h |
@@ -698,6 +715,12 @@ libcrypto_la_SOURCES += md4/md4.c | |||
698 | # md5 | 715 | # md5 |
699 | libcrypto_la_SOURCES += md5/md5.c | 716 | libcrypto_la_SOURCES += md5/md5.c |
700 | 717 | ||
718 | # mlkem | ||
719 | libcrypto_la_SOURCES += mlkem/mlkem768.c | ||
720 | libcrypto_la_SOURCES += mlkem/mlkem1024.c | ||
721 | noinst_HEADERS += mlkem/mlkem.h | ||
722 | noinst_HEADERS += mlkem/mlkem_internal.h | ||
723 | |||
701 | # modes | 724 | # modes |
702 | libcrypto_la_SOURCES += modes/cbc128.c | 725 | libcrypto_la_SOURCES += modes/cbc128.c |
703 | libcrypto_la_SOURCES += modes/ccm128.c | 726 | libcrypto_la_SOURCES += modes/ccm128.c |
@@ -856,12 +879,8 @@ endif | |||
856 | if HOST_WIN | 879 | if HOST_WIN |
857 | libcrypto_la_SOURCES += ui/ui_openssl_win.c | 880 | libcrypto_la_SOURCES += ui/ui_openssl_win.c |
858 | endif | 881 | endif |
859 | libcrypto_la_SOURCES += ui/ui_util.c | ||
860 | noinst_HEADERS += ui/ui_local.h | 882 | noinst_HEADERS += ui/ui_local.h |
861 | 883 | ||
862 | # whrlpool | ||
863 | libcrypto_la_SOURCES += whrlpool/whirlpool.c | ||
864 | |||
865 | # x509 | 884 | # x509 |
866 | libcrypto_la_SOURCES += x509/by_dir.c | 885 | libcrypto_la_SOURCES += x509/by_dir.c |
867 | libcrypto_la_SOURCES += x509/by_file.c | 886 | libcrypto_la_SOURCES += x509/by_file.c |
@@ -903,6 +922,7 @@ libcrypto_la_SOURCES += x509/x509_purp.c | |||
903 | libcrypto_la_SOURCES += x509/x509_r2x.c | 922 | libcrypto_la_SOURCES += x509/x509_r2x.c |
904 | libcrypto_la_SOURCES += x509/x509_req.c | 923 | libcrypto_la_SOURCES += x509/x509_req.c |
905 | libcrypto_la_SOURCES += x509/x509_set.c | 924 | libcrypto_la_SOURCES += x509/x509_set.c |
925 | libcrypto_la_SOURCES += x509/x509_siginfo.c | ||
906 | libcrypto_la_SOURCES += x509/x509_skey.c | 926 | libcrypto_la_SOURCES += x509/x509_skey.c |
907 | libcrypto_la_SOURCES += x509/x509_trs.c | 927 | libcrypto_la_SOURCES += x509/x509_trs.c |
908 | libcrypto_la_SOURCES += x509/x509_txt.c | 928 | libcrypto_la_SOURCES += x509/x509_txt.c |
diff --git a/crypto/Makefile.am.elf-arm b/crypto/Makefile.am.elf-arm index 4f88994..6a9fa50 100644 --- a/crypto/Makefile.am.elf-arm +++ b/crypto/Makefile.am.elf-arm | |||
@@ -13,9 +13,6 @@ if HOST_ASM_ELF_ARM | |||
13 | libcrypto_la_CPPFLAGS += -DAES_ASM | 13 | libcrypto_la_CPPFLAGS += -DAES_ASM |
14 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 14 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
15 | libcrypto_la_CPPFLAGS += -DGHASH_ASM | 15 | libcrypto_la_CPPFLAGS += -DGHASH_ASM |
16 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
17 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
18 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
19 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ | 16 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ |
20 | libcrypto_la_SOURCES += $(ASM_ARM_ELF) | 17 | libcrypto_la_SOURCES += $(ASM_ARM_ELF) |
21 | endif | 18 | endif |
diff --git a/crypto/Makefile.am.elf-mips b/crypto/Makefile.am.elf-mips index ea0a730..f7a44f2 100644 --- a/crypto/Makefile.am.elf-mips +++ b/crypto/Makefile.am.elf-mips | |||
@@ -10,8 +10,5 @@ EXTRA_DIST += $(ASM_MIPS_ELF) | |||
10 | if HOST_ASM_ELF_MIPS | 10 | if HOST_ASM_ELF_MIPS |
11 | libcrypto_la_CPPFLAGS += -DAES_ASM | 11 | libcrypto_la_CPPFLAGS += -DAES_ASM |
12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
13 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
14 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
15 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
16 | libcrypto_la_SOURCES += $(ASM_MIPS_ELF) | 13 | libcrypto_la_SOURCES += $(ASM_MIPS_ELF) |
17 | endif | 14 | endif |
diff --git a/crypto/Makefile.am.elf-mips64 b/crypto/Makefile.am.elf-mips64 index 8f851f3..7d90bc0 100644 --- a/crypto/Makefile.am.elf-mips64 +++ b/crypto/Makefile.am.elf-mips64 | |||
@@ -10,8 +10,5 @@ EXTRA_DIST += $(ASM_MIPS64_ELF) | |||
10 | if HOST_ASM_ELF_MIPS64 | 10 | if HOST_ASM_ELF_MIPS64 |
11 | libcrypto_la_CPPFLAGS += -DAES_ASM | 11 | libcrypto_la_CPPFLAGS += -DAES_ASM |
12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
13 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
14 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
15 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
16 | libcrypto_la_SOURCES += $(ASM_MIPS64_ELF) | 13 | libcrypto_la_SOURCES += $(ASM_MIPS64_ELF) |
17 | endif | 14 | endif |
diff --git a/crypto/Makefile.am.elf-x86_64 b/crypto/Makefile.am.elf-x86_64 index 6933a11..c62662c 100644 --- a/crypto/Makefile.am.elf-x86_64 +++ b/crypto/Makefile.am.elf-x86_64 | |||
@@ -6,13 +6,8 @@ ASM_X86_64_ELF += aes/aesni-elf-x86_64.S | |||
6 | ASM_X86_64_ELF += bn/modexp512-elf-x86_64.S | 6 | ASM_X86_64_ELF += bn/modexp512-elf-x86_64.S |
7 | ASM_X86_64_ELF += bn/mont-elf-x86_64.S | 7 | ASM_X86_64_ELF += bn/mont-elf-x86_64.S |
8 | ASM_X86_64_ELF += bn/mont5-elf-x86_64.S | 8 | ASM_X86_64_ELF += bn/mont5-elf-x86_64.S |
9 | ASM_X86_64_ELF += md5/md5-elf-x86_64.S | ||
10 | ASM_X86_64_ELF += modes/ghash-elf-x86_64.S | 9 | ASM_X86_64_ELF += modes/ghash-elf-x86_64.S |
11 | ASM_X86_64_ELF += rc4/rc4-elf-x86_64.S | 10 | ASM_X86_64_ELF += rc4/rc4-elf-x86_64.S |
12 | ASM_X86_64_ELF += sha/sha1-elf-x86_64.S | ||
13 | ASM_X86_64_ELF += sha/sha256-elf-x86_64.S | ||
14 | ASM_X86_64_ELF += sha/sha512-elf-x86_64.S | ||
15 | ASM_X86_64_ELF += cpuid-elf-x86_64.S | ||
16 | 11 | ||
17 | ASM_X86_64_ELF += bn/arch/amd64/bignum_add.S | 12 | ASM_X86_64_ELF += bn/arch/amd64/bignum_add.S |
18 | ASM_X86_64_ELF += bn/arch/amd64/bignum_cmadd.S | 13 | ASM_X86_64_ELF += bn/arch/amd64/bignum_cmadd.S |
@@ -33,21 +28,10 @@ if HOST_ASM_ELF_X86_64 | |||
33 | libcrypto_la_CPPFLAGS += -DAES_ASM | 28 | libcrypto_la_CPPFLAGS += -DAES_ASM |
34 | libcrypto_la_CPPFLAGS += -DBSAES_ASM | 29 | libcrypto_la_CPPFLAGS += -DBSAES_ASM |
35 | libcrypto_la_CPPFLAGS += -DVPAES_ASM | 30 | libcrypto_la_CPPFLAGS += -DVPAES_ASM |
36 | libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL | ||
37 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL | ||
38 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL | ||
39 | libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL | ||
40 | libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL | ||
41 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 | 31 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 |
42 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 32 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
43 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 | 33 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 |
44 | libcrypto_la_CPPFLAGS += -DMD5_ASM | ||
45 | libcrypto_la_CPPFLAGS += -DGHASH_ASM | 34 | libcrypto_la_CPPFLAGS += -DGHASH_ASM |
46 | libcrypto_la_CPPFLAGS += -DRSA_ASM | 35 | libcrypto_la_CPPFLAGS += -DRSA_ASM |
47 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
48 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
49 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
50 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM | ||
51 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ | ||
52 | libcrypto_la_SOURCES += $(ASM_X86_64_ELF) | 36 | libcrypto_la_SOURCES += $(ASM_X86_64_ELF) |
53 | endif | 37 | endif |
diff --git a/crypto/Makefile.am.macosx-x86_64 b/crypto/Makefile.am.macosx-x86_64 index 1020567..010e3be 100644 --- a/crypto/Makefile.am.macosx-x86_64 +++ b/crypto/Makefile.am.macosx-x86_64 | |||
@@ -6,13 +6,8 @@ ASM_X86_64_MACOSX += aes/aesni-macosx-x86_64.S | |||
6 | ASM_X86_64_MACOSX += bn/modexp512-macosx-x86_64.S | 6 | ASM_X86_64_MACOSX += bn/modexp512-macosx-x86_64.S |
7 | ASM_X86_64_MACOSX += bn/mont-macosx-x86_64.S | 7 | ASM_X86_64_MACOSX += bn/mont-macosx-x86_64.S |
8 | ASM_X86_64_MACOSX += bn/mont5-macosx-x86_64.S | 8 | ASM_X86_64_MACOSX += bn/mont5-macosx-x86_64.S |
9 | ASM_X86_64_MACOSX += md5/md5-macosx-x86_64.S | ||
10 | ASM_X86_64_MACOSX += modes/ghash-macosx-x86_64.S | 9 | ASM_X86_64_MACOSX += modes/ghash-macosx-x86_64.S |
11 | ASM_X86_64_MACOSX += rc4/rc4-macosx-x86_64.S | 10 | ASM_X86_64_MACOSX += rc4/rc4-macosx-x86_64.S |
12 | ASM_X86_64_MACOSX += sha/sha1-macosx-x86_64.S | ||
13 | ASM_X86_64_MACOSX += sha/sha256-macosx-x86_64.S | ||
14 | ASM_X86_64_MACOSX += sha/sha512-macosx-x86_64.S | ||
15 | ASM_X86_64_MACOSX += cpuid-macosx-x86_64.S | ||
16 | 11 | ||
17 | ASM_X86_64_MACOSX += bn/arch/amd64/bignum_add.S | 12 | ASM_X86_64_MACOSX += bn/arch/amd64/bignum_add.S |
18 | ASM_X86_64_MACOSX += bn/arch/amd64/bignum_cmadd.S | 13 | ASM_X86_64_MACOSX += bn/arch/amd64/bignum_cmadd.S |
@@ -33,21 +28,10 @@ if HOST_ASM_MACOSX_X86_64 | |||
33 | libcrypto_la_CPPFLAGS += -DAES_ASM | 28 | libcrypto_la_CPPFLAGS += -DAES_ASM |
34 | libcrypto_la_CPPFLAGS += -DBSAES_ASM | 29 | libcrypto_la_CPPFLAGS += -DBSAES_ASM |
35 | libcrypto_la_CPPFLAGS += -DVPAES_ASM | 30 | libcrypto_la_CPPFLAGS += -DVPAES_ASM |
36 | libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL | ||
37 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL | ||
38 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL | ||
39 | libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL | ||
40 | libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL | ||
41 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 | 31 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 |
42 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 32 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
43 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 | 33 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 |
44 | libcrypto_la_CPPFLAGS += -DMD5_ASM | ||
45 | libcrypto_la_CPPFLAGS += -DGHASH_ASM | 34 | libcrypto_la_CPPFLAGS += -DGHASH_ASM |
46 | libcrypto_la_CPPFLAGS += -DRSA_ASM | 35 | libcrypto_la_CPPFLAGS += -DRSA_ASM |
47 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
48 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
49 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
50 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM | ||
51 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ | ||
52 | libcrypto_la_SOURCES += $(ASM_X86_64_MACOSX) | 36 | libcrypto_la_SOURCES += $(ASM_X86_64_MACOSX) |
53 | endif | 37 | endif |
diff --git a/crypto/Makefile.am.masm-x86_64 b/crypto/Makefile.am.masm-x86_64 index 7da3cc2..2ef7e1b 100644 --- a/crypto/Makefile.am.masm-x86_64 +++ b/crypto/Makefile.am.masm-x86_64 | |||
@@ -6,13 +6,8 @@ ASM_X86_64_MASM += aes/aesni-masm-x86_64.S | |||
6 | ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S | 6 | ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S |
7 | ASM_X86_64_MASM += bn/mont-masm-x86_64.S | 7 | ASM_X86_64_MASM += bn/mont-masm-x86_64.S |
8 | ASM_X86_64_MASM += bn/mont5-masm-x86_64.S | 8 | ASM_X86_64_MASM += bn/mont5-masm-x86_64.S |
9 | ASM_X86_64_MASM += md5/md5-masm-x86_64.S | ||
10 | ASM_X86_64_MASM += modes/ghash-masm-x86_64.S | 9 | ASM_X86_64_MASM += modes/ghash-masm-x86_64.S |
11 | ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S | 10 | ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S |
12 | ASM_X86_64_MASM += sha/sha1-masm-x86_64.S | ||
13 | ASM_X86_64_MASM += sha/sha256-masm-x86_64.S | ||
14 | ASM_X86_64_MASM += sha/sha512-masm-x86_64.S | ||
15 | ASM_X86_64_MASM += cpuid-masm-x86_64.S | ||
16 | 11 | ||
17 | EXTRA_DIST += $(ASM_X86_64_MASM) | 12 | EXTRA_DIST += $(ASM_X86_64_MASM) |
18 | 13 | ||
@@ -20,21 +15,10 @@ if HOST_ASM_MASM_X86_64 | |||
20 | libcrypto_la_CPPFLAGS += -DAES_ASM | 15 | libcrypto_la_CPPFLAGS += -DAES_ASM |
21 | libcrypto_la_CPPFLAGS += -DBSAES_ASM | 16 | libcrypto_la_CPPFLAGS += -DBSAES_ASM |
22 | libcrypto_la_CPPFLAGS += -DVPAES_ASM | 17 | libcrypto_la_CPPFLAGS += -DVPAES_ASM |
23 | libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL | ||
24 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL | ||
25 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL | ||
26 | libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL | ||
27 | libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL | ||
28 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 | 18 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 |
29 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 19 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
30 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 | 20 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 |
31 | libcrypto_la_CPPFLAGS += -DMD5_ASM | ||
32 | libcrypto_la_CPPFLAGS += -DGHASH_ASM | 21 | libcrypto_la_CPPFLAGS += -DGHASH_ASM |
33 | libcrypto_la_CPPFLAGS += -DRSA_ASM | 22 | libcrypto_la_CPPFLAGS += -DRSA_ASM |
34 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
35 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
36 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
37 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM | ||
38 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ | ||
39 | libcrypto_la_SOURCES += $(ASM_X86_64_MASM) | 23 | libcrypto_la_SOURCES += $(ASM_X86_64_MASM) |
40 | endif | 24 | endif |
diff --git a/crypto/Makefile.am.mingw64-x86_64 b/crypto/Makefile.am.mingw64-x86_64 index 7d0d3f7..8e39e9f 100644 --- a/crypto/Makefile.am.mingw64-x86_64 +++ b/crypto/Makefile.am.mingw64-x86_64 | |||
@@ -6,13 +6,8 @@ ASM_X86_64_MINGW64 += aes/aesni-mingw64-x86_64.S | |||
6 | #ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S | 6 | #ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S |
7 | #ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S | 7 | #ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S |
8 | #ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S | 8 | #ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S |
9 | ASM_X86_64_MINGW64 += md5/md5-mingw64-x86_64.S | ||
10 | ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S | 9 | ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S |
11 | ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S | 10 | ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S |
12 | ASM_X86_64_MINGW64 += sha/sha1-mingw64-x86_64.S | ||
13 | ASM_X86_64_MINGW64 += sha/sha256-mingw64-x86_64.S | ||
14 | ASM_X86_64_MINGW64 += sha/sha512-mingw64-x86_64.S | ||
15 | ASM_X86_64_MINGW64 += cpuid-mingw64-x86_64.S | ||
16 | 11 | ||
17 | EXTRA_DIST += $(ASM_X86_64_MINGW64) | 12 | EXTRA_DIST += $(ASM_X86_64_MINGW64) |
18 | 13 | ||
@@ -21,21 +16,10 @@ libcrypto_la_CPPFLAGS += -Dendbr32=endbr64 | |||
21 | libcrypto_la_CPPFLAGS += -DAES_ASM | 16 | libcrypto_la_CPPFLAGS += -DAES_ASM |
22 | libcrypto_la_CPPFLAGS += -DBSAES_ASM | 17 | libcrypto_la_CPPFLAGS += -DBSAES_ASM |
23 | libcrypto_la_CPPFLAGS += -DVPAES_ASM | 18 | libcrypto_la_CPPFLAGS += -DVPAES_ASM |
24 | libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL | ||
25 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL | ||
26 | libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL | ||
27 | libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL | ||
28 | libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL | ||
29 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 | 19 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 |
30 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT | 20 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT |
31 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 | 21 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 |
32 | libcrypto_la_CPPFLAGS += -DMD5_ASM | ||
33 | libcrypto_la_CPPFLAGS += -DGHASH_ASM | 22 | libcrypto_la_CPPFLAGS += -DGHASH_ASM |
34 | libcrypto_la_CPPFLAGS += -DRSA_ASM | 23 | libcrypto_la_CPPFLAGS += -DRSA_ASM |
35 | libcrypto_la_CPPFLAGS += -DSHA1_ASM | ||
36 | libcrypto_la_CPPFLAGS += -DSHA256_ASM | ||
37 | libcrypto_la_CPPFLAGS += -DSHA512_ASM | ||
38 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM | ||
39 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ | ||
40 | libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64) | 24 | libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64) |
41 | endif | 25 | endif |
diff --git a/crypto/arch/loongarch64/crypto_arch.h b/crypto/arch/loongarch64/crypto_arch.h new file mode 100644 index 0000000..a3dd98d --- /dev/null +++ b/crypto/arch/loongarch64/crypto_arch.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ | ||
2 | /* | ||
3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> | ||
4 | * | ||
5 | * Permission to use, copy, modify, and distribute this software for any | ||
6 | * purpose with or without fee is hereby granted, provided that the above | ||
7 | * copyright notice and this permission notice appear in all copies. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
16 | */ | ||
17 | |||
18 | #ifndef HEADER_CRYPTO_ARCH_H | ||
19 | #define HEADER_CRYPTO_ARCH_H | ||
20 | |||
21 | #endif | ||
diff --git a/crypto/arch/mips/crypto_arch.h b/crypto/arch/mips/crypto_arch.h new file mode 100644 index 0000000..274879c --- /dev/null +++ b/crypto/arch/mips/crypto_arch.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* $OpenBSD$ */ | ||
2 | /* | ||
3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> | ||
4 | * | ||
5 | * Permission to use, copy, modify, and distribute this software for any | ||
6 | * purpose with or without fee is hereby granted, provided that the above | ||
7 | * copyright notice and this permission notice appear in all copies. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
16 | */ | ||
17 | |||
18 | #ifndef HEADER_CRYPTO_ARCH_H | ||
19 | #define HEADER_CRYPTO_ARCH_H | ||
20 | |||
21 | #endif | ||
diff --git a/crypto/bn/arch/loongarch64/bn_arch.h b/crypto/bn/arch/loongarch64/bn_arch.h new file mode 100644 index 0000000..672ac12 --- /dev/null +++ b/crypto/bn/arch/loongarch64/bn_arch.h | |||
@@ -0,0 +1,23 @@ | |||
1 | /* $OpenBSD: bn_arch.h,v 1.7 2023/07/09 10:37:32 jsing Exp $ */ | ||
2 | /* | ||
3 | * Copyright (c) 2023 Joel Sing <jsing@openbsd.org> | ||
4 | * | ||
5 | * Permission to use, copy, modify, and distribute this software for any | ||
6 | * purpose with or without fee is hereby granted, provided that the above | ||
7 | * copyright notice and this permission notice appear in all copies. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
16 | */ | ||
17 | |||
18 | #include <openssl/bn.h> | ||
19 | |||
20 | #ifndef HEADER_BN_ARCH_H | ||
21 | #define HEADER_BN_ARCH_H | ||
22 | |||
23 | #endif | ||
diff --git a/crypto/compat/getdelim.c b/crypto/compat/getdelim.c new file mode 100644 index 0000000..caec3f2 --- /dev/null +++ b/crypto/compat/getdelim.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /*- | ||
2 | * Copyright (c) 2011 The NetBSD Foundation, Inc. | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This code is derived from software contributed to The NetBSD Foundation | ||
6 | * by Christos Zoulas. | ||
7 | * | ||
8 | * Redistribution and use in source and binary forms, with or without | ||
9 | * modification, are permitted provided that the following conditions | ||
10 | * are met: | ||
11 | * 1. Redistributions of source code must retain the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer. | ||
13 | * 2. Redistributions in binary form must reproduce the above copyright | ||
14 | * notice, this list of conditions and the following disclaimer in the | ||
15 | * documentation and/or other materials provided with the distribution. | ||
16 | * | ||
17 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | ||
18 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | ||
19 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
20 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | ||
21 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
27 | * POSSIBILITY OF SUCH DAMAGE. | ||
28 | */ | ||
29 | |||
30 | #include <stdio.h> | ||
31 | #include <stdlib.h> | ||
32 | |||
33 | #ifndef HAVE_GETDELIM | ||
34 | |||
35 | ssize_t | ||
36 | getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp) | ||
37 | { | ||
38 | char *ptr, *eptr; | ||
39 | |||
40 | |||
41 | if (*buf == NULL || *bufsiz == 0) { | ||
42 | *bufsiz = BUFSIZ; | ||
43 | if ((*buf = malloc(*bufsiz)) == NULL) | ||
44 | return -1; | ||
45 | } | ||
46 | |||
47 | for (ptr = *buf, eptr = *buf + *bufsiz;;) { | ||
48 | int c = fgetc(fp); | ||
49 | if (c == -1) { | ||
50 | if (feof(fp)) { | ||
51 | ssize_t diff = (ssize_t)(ptr - *buf); | ||
52 | if (diff != 0) { | ||
53 | *ptr = '\0'; | ||
54 | return diff; | ||
55 | } | ||
56 | } | ||
57 | return -1; | ||
58 | } | ||
59 | *ptr++ = c; | ||
60 | if (c == delimiter) { | ||
61 | *ptr = '\0'; | ||
62 | return ptr - *buf; | ||
63 | } | ||
64 | if (ptr + 2 >= eptr) { | ||
65 | char *nbuf; | ||
66 | size_t nbufsiz = *bufsiz * 2; | ||
67 | ssize_t d = ptr - *buf; | ||
68 | if ((nbuf = realloc(*buf, nbufsiz)) == NULL) | ||
69 | return -1; | ||
70 | *buf = nbuf; | ||
71 | *bufsiz = nbufsiz; | ||
72 | eptr = nbuf + nbufsiz; | ||
73 | ptr = nbuf + d; | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | |||
78 | #endif /* HAVE_GETDELIM */ | ||
diff --git a/crypto/compat/getline.c b/crypto/compat/getline.c new file mode 100644 index 0000000..e6ecde0 --- /dev/null +++ b/crypto/compat/getline.c | |||
@@ -0,0 +1,40 @@ | |||
1 | /*- | ||
2 | * Copyright (c) 2011 The NetBSD Foundation, Inc. | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This code is derived from software contributed to The NetBSD Foundation | ||
6 | * by Christos Zoulas. | ||
7 | * | ||
8 | * Redistribution and use in source and binary forms, with or without | ||
9 | * modification, are permitted provided that the following conditions | ||
10 | * are met: | ||
11 | * 1. Redistributions of source code must retain the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer. | ||
13 | * 2. Redistributions in binary form must reproduce the above copyright | ||
14 | * notice, this list of conditions and the following disclaimer in the | ||
15 | * documentation and/or other materials provided with the distribution. | ||
16 | * | ||
17 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | ||
18 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | ||
19 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
20 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | ||
21 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
27 | * POSSIBILITY OF SUCH DAMAGE. | ||
28 | */ | ||
29 | |||
30 | #include <stdio.h> | ||
31 | |||
32 | #ifndef HAVE_GETLINE | ||
33 | |||
34 | ssize_t | ||
35 | getline(char **buf, size_t *bufsiz, FILE *fp) | ||
36 | { | ||
37 | return getdelim(buf, bufsiz, '\n', fp); | ||
38 | } | ||
39 | |||
40 | #endif /* HAVE_GETLINE */ | ||
diff --git a/crypto/compat/posix_win.c b/crypto/compat/posix_win.c index bb3e653..572e527 100644 --- a/crypto/compat/posix_win.c +++ b/crypto/compat/posix_win.c | |||
@@ -9,6 +9,8 @@ | |||
9 | 9 | ||
10 | #define NO_REDEF_POSIX_FUNCTIONS | 10 | #define NO_REDEF_POSIX_FUNCTIONS |
11 | 11 | ||
12 | #include <sys/time.h> | ||
13 | |||
12 | #include <ws2tcpip.h> | 14 | #include <ws2tcpip.h> |
13 | #include <windows.h> | 15 | #include <windows.h> |
14 | 16 | ||
@@ -20,6 +22,25 @@ | |||
20 | #include <string.h> | 22 | #include <string.h> |
21 | #include <unistd.h> | 23 | #include <unistd.h> |
22 | 24 | ||
25 | #include <sys/stat.h> | ||
26 | |||
27 | static int | ||
28 | is_socket(int fd) | ||
29 | { | ||
30 | // Border case: Don't break std* file descriptors | ||
31 | if (fd < 3) | ||
32 | return 0; | ||
33 | |||
34 | // All locally-allocated file descriptors will have the high bit set | ||
35 | return (fd & 0x80000000) == 0; | ||
36 | } | ||
37 | |||
38 | static int | ||
39 | get_real_fd(int fd) | ||
40 | { | ||
41 | return (fd & 0x7fffffff); | ||
42 | } | ||
43 | |||
23 | void | 44 | void |
24 | posix_perror(const char *s) | 45 | posix_perror(const char *s) |
25 | { | 46 | { |
@@ -42,6 +63,12 @@ posix_fopen(const char *path, const char *mode) | |||
42 | } | 63 | } |
43 | 64 | ||
44 | int | 65 | int |
66 | libressl_fstat(int fd, struct stat *statbuf) | ||
67 | { | ||
68 | return fstat(get_real_fd(fd), statbuf); | ||
69 | } | ||
70 | |||
71 | int | ||
45 | posix_open(const char *path, ...) | 72 | posix_open(const char *path, ...) |
46 | { | 73 | { |
47 | va_list ap; | 74 | va_list ap; |
@@ -60,7 +87,11 @@ posix_open(const char *path, ...) | |||
60 | flags |= O_NOINHERIT; | 87 | flags |= O_NOINHERIT; |
61 | } | 88 | } |
62 | flags &= ~O_NONBLOCK; | 89 | flags &= ~O_NONBLOCK; |
63 | return open(path, flags, mode); | 90 | |
91 | const int fh = open(path, flags, mode); | ||
92 | |||
93 | // Set high bit to mark file descriptor as a file handle | ||
94 | return fh + 0x80000000; | ||
64 | } | 95 | } |
65 | 96 | ||
66 | char * | 97 | char * |
@@ -148,52 +179,6 @@ wsa_errno(int err) | |||
148 | return -1; | 179 | return -1; |
149 | } | 180 | } |
150 | 181 | ||
151 | /* | ||
152 | * Employ a similar trick to cpython (pycore_fileutils.h) where the CRT report | ||
153 | * handler is disabled while checking if a descriptor is a socket or a file | ||
154 | */ | ||
155 | #if defined _MSC_VER && _MSC_VER >= 1900 | ||
156 | |||
157 | #include <crtdbg.h> | ||
158 | #include <stdlib.h> | ||
159 | |||
160 | static void noop_handler(const wchar_t *expression, const wchar_t *function, | ||
161 | const wchar_t *file, unsigned int line, uintptr_t pReserved) | ||
162 | { | ||
163 | return; | ||
164 | } | ||
165 | |||
166 | #define BEGIN_SUPPRESS_IPH \ | ||
167 | const int old_report_mode = _CrtSetReportMode(_CRT_ASSERT, 0); \ | ||
168 | const _invalid_parameter_handler old_handler = _set_thread_local_invalid_parameter_handler(noop_handler) | ||
169 | #define END_SUPPRESS_IPH \ | ||
170 | (void)old_report_mode; /* Silence warning in release mode when _CrtSetReportMode compiles to void. */ \ | ||
171 | _CrtSetReportMode(_CRT_ASSERT, old_report_mode); \ | ||
172 | _set_thread_local_invalid_parameter_handler(old_handler) | ||
173 | |||
174 | #else | ||
175 | |||
176 | #define BEGIN_SUPPRESS_IPH | ||
177 | #define END_SUPPRESS_IPH | ||
178 | |||
179 | #endif | ||
180 | |||
181 | static int | ||
182 | is_socket(int fd) | ||
183 | { | ||
184 | intptr_t hd; | ||
185 | |||
186 | BEGIN_SUPPRESS_IPH; | ||
187 | hd = _get_osfhandle(fd); | ||
188 | END_SUPPRESS_IPH; | ||
189 | |||
190 | if (hd == (intptr_t)INVALID_HANDLE_VALUE) { | ||
191 | return 1; /* fd is not file descriptor */ | ||
192 | } | ||
193 | |||
194 | return 0; | ||
195 | } | ||
196 | |||
197 | int | 182 | int |
198 | posix_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) | 183 | posix_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) |
199 | { | 184 | { |
@@ -207,14 +192,13 @@ int | |||
207 | posix_close(int fd) | 192 | posix_close(int fd) |
208 | { | 193 | { |
209 | int rc; | 194 | int rc; |
210 | |||
211 | if (is_socket(fd)) { | 195 | if (is_socket(fd)) { |
212 | if ((rc = closesocket(fd)) == SOCKET_ERROR) { | 196 | if ((rc = closesocket(fd)) == SOCKET_ERROR) { |
213 | int err = WSAGetLastError(); | 197 | int err = WSAGetLastError(); |
214 | rc = wsa_errno(err); | 198 | rc = wsa_errno(err); |
215 | } | 199 | } |
216 | } else { | 200 | } else { |
217 | rc = close(fd); | 201 | rc = close(get_real_fd(fd)); |
218 | } | 202 | } |
219 | return rc; | 203 | return rc; |
220 | } | 204 | } |
@@ -223,14 +207,13 @@ ssize_t | |||
223 | posix_read(int fd, void *buf, size_t count) | 207 | posix_read(int fd, void *buf, size_t count) |
224 | { | 208 | { |
225 | ssize_t rc; | 209 | ssize_t rc; |
226 | |||
227 | if (is_socket(fd)) { | 210 | if (is_socket(fd)) { |
228 | if ((rc = recv(fd, buf, count, 0)) == SOCKET_ERROR) { | 211 | if ((rc = recv(fd, buf, count, 0)) == SOCKET_ERROR) { |
229 | int err = WSAGetLastError(); | 212 | int err = WSAGetLastError(); |
230 | rc = wsa_errno(err); | 213 | rc = wsa_errno(err); |
231 | } | 214 | } |
232 | } else { | 215 | } else { |
233 | rc = read(fd, buf, count); | 216 | rc = read(get_real_fd(fd), buf, count); |
234 | } | 217 | } |
235 | return rc; | 218 | return rc; |
236 | } | 219 | } |
@@ -244,7 +227,7 @@ posix_write(int fd, const void *buf, size_t count) | |||
244 | rc = wsa_errno(WSAGetLastError()); | 227 | rc = wsa_errno(WSAGetLastError()); |
245 | } | 228 | } |
246 | } else { | 229 | } else { |
247 | rc = write(fd, buf, count); | 230 | rc = write(get_real_fd(fd), buf, count); |
248 | } | 231 | } |
249 | return rc; | 232 | return rc; |
250 | } | 233 | } |
@@ -289,7 +272,7 @@ uid_t getuid(void) | |||
289 | 272 | ||
290 | #ifdef _MSC_VER | 273 | #ifdef _MSC_VER |
291 | struct timezone; | 274 | struct timezone; |
292 | int gettimeofday(struct timeval * tp, struct timezone * tzp) | 275 | int gettimeofday(struct timeval *tp, void *tzp) |
293 | { | 276 | { |
294 | /* | 277 | /* |
295 | * Note: some broken versions only have 8 trailing zero's, the correct | 278 | * Note: some broken versions only have 8 trailing zero's, the correct |
@@ -306,7 +289,7 @@ int gettimeofday(struct timeval * tp, struct timezone * tzp) | |||
306 | time = ((uint64_t)file_time.dwLowDateTime); | 289 | time = ((uint64_t)file_time.dwLowDateTime); |
307 | time += ((uint64_t)file_time.dwHighDateTime) << 32; | 290 | time += ((uint64_t)file_time.dwHighDateTime) << 32; |
308 | 291 | ||
309 | tp->tv_sec = (long)((time - EPOCH) / 10000000L); | 292 | tp->tv_sec = (long long)((time - EPOCH) / 10000000L); |
310 | tp->tv_usec = (long)(system_time.wMilliseconds * 1000); | 293 | tp->tv_usec = (long)(system_time.wMilliseconds * 1000); |
311 | return 0; | 294 | return 0; |
312 | } | 295 | } |
diff --git a/crypto/compat/ui_openssl_win.c b/crypto/compat/ui_openssl_win.c index 09705e4..4ae2c5d 100644 --- a/crypto/compat/ui_openssl_win.c +++ b/crypto/compat/ui_openssl_win.c | |||
@@ -146,7 +146,7 @@ static int echo_console(UI *ui); | |||
146 | static int noecho_console(UI *ui); | 146 | static int noecho_console(UI *ui); |
147 | static int close_console(UI *ui); | 147 | static int close_console(UI *ui); |
148 | 148 | ||
149 | static UI_METHOD ui_openssl = { | 149 | static const UI_METHOD ui_openssl = { |
150 | .name = "OpenSSL default user interface", | 150 | .name = "OpenSSL default user interface", |
151 | .ui_open_session = open_console, | 151 | .ui_open_session = open_console, |
152 | .ui_write_string = write_string, | 152 | .ui_write_string = write_string, |
@@ -155,7 +155,7 @@ static UI_METHOD ui_openssl = { | |||
155 | }; | 155 | }; |
156 | 156 | ||
157 | /* The method with all the built-in thingies */ | 157 | /* The method with all the built-in thingies */ |
158 | UI_METHOD * | 158 | const UI_METHOD * |
159 | UI_OpenSSL(void) | 159 | UI_OpenSSL(void) |
160 | { | 160 | { |
161 | return &ui_openssl; | 161 | return &ui_openssl; |
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 9d015cd..11ab7c2 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt | |||
@@ -24,6 +24,8 @@ elseif(HOST_ARM) | |||
24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) | 24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) |
25 | elseif(HOST_I386) | 25 | elseif(HOST_I386) |
26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) | 26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) |
27 | elseif(HOST_LOONGARCH64) | ||
28 | file(READ arch/loongarch64/opensslconf.h OPENSSLCONF) | ||
27 | elseif(HOST_MIPS) | 29 | elseif(HOST_MIPS) |
28 | file(READ arch/mips/opensslconf.h OPENSSLCONF) | 30 | file(READ arch/mips/opensslconf.h OPENSSLCONF) |
29 | elseif(HOST_MIPS64) | 31 | elseif(HOST_MIPS64) |
@@ -38,5 +40,7 @@ elseif(HOST_SPARC64) | |||
38 | file(READ arch/sparc64/opensslconf.h OPENSSLCONF) | 40 | file(READ arch/sparc64/opensslconf.h OPENSSLCONF) |
39 | elseif(HOST_X86_64) | 41 | elseif(HOST_X86_64) |
40 | file(READ arch/amd64/opensslconf.h OPENSSLCONF) | 42 | file(READ arch/amd64/opensslconf.h OPENSSLCONF) |
43 | else() | ||
44 | message(FATAL_ERROR "Architecture not supported") | ||
41 | endif() | 45 | endif() |
42 | file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}") | 46 | file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}") |
diff --git a/include/arch/loongarch64/opensslconf.h b/include/arch/loongarch64/opensslconf.h new file mode 100644 index 0000000..731b06a --- /dev/null +++ b/include/arch/loongarch64/opensslconf.h | |||
@@ -0,0 +1,154 @@ | |||
1 | #include <openssl/opensslfeatures.h> | ||
2 | /* crypto/opensslconf.h.in */ | ||
3 | |||
4 | #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) | ||
5 | #define OPENSSLDIR "/etc/ssl" | ||
6 | #endif | ||
7 | |||
8 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION | ||
9 | |||
10 | #ifndef OPENSSL_FILE | ||
11 | #ifdef OPENSSL_NO_FILENAMES | ||
12 | #define OPENSSL_FILE "" | ||
13 | #define OPENSSL_LINE 0 | ||
14 | #else | ||
15 | #define OPENSSL_FILE __FILE__ | ||
16 | #define OPENSSL_LINE __LINE__ | ||
17 | #endif | ||
18 | #endif | ||
19 | |||
20 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | ||
21 | #define IDEA_INT unsigned int | ||
22 | #endif | ||
23 | |||
24 | #if defined(HEADER_MD2_H) && !defined(MD2_INT) | ||
25 | #define MD2_INT unsigned int | ||
26 | #endif | ||
27 | |||
28 | #if defined(HEADER_RC2_H) && !defined(RC2_INT) | ||
29 | /* I need to put in a mod for the alpha - eay */ | ||
30 | #define RC2_INT unsigned int | ||
31 | #endif | ||
32 | |||
33 | #if defined(HEADER_RC4_H) | ||
34 | #if !defined(RC4_INT) | ||
35 | /* using int types make the structure larger but make the code faster | ||
36 | * on most boxes I have tested - up to %20 faster. */ | ||
37 | /* | ||
38 | * I don't know what does "most" mean, but declaring "int" is a must on: | ||
39 | * - Intel P6 because partial register stalls are very expensive; | ||
40 | * - elder Alpha because it lacks byte load/store instructions; | ||
41 | */ | ||
42 | #define RC4_INT unsigned int | ||
43 | #endif | ||
44 | #if !defined(RC4_CHUNK) | ||
45 | /* | ||
46 | * This enables code handling data aligned at natural CPU word | ||
47 | * boundary. See crypto/rc4/rc4_enc.c for further details. | ||
48 | */ | ||
49 | #define RC4_CHUNK unsigned long | ||
50 | #endif | ||
51 | #endif | ||
52 | |||
53 | #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) | ||
54 | /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a | ||
55 | * %20 speed up (longs are 8 bytes, int's are 4). */ | ||
56 | #ifndef DES_LONG | ||
57 | #define DES_LONG unsigned int | ||
58 | #endif | ||
59 | #endif | ||
60 | |||
61 | #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) | ||
62 | #define CONFIG_HEADER_BN_H | ||
63 | #undef BN_LLONG | ||
64 | |||
65 | /* Should we define BN_DIV2W here? */ | ||
66 | |||
67 | /* Only one for the following should be defined */ | ||
68 | /* The prime number generation stuff may not work when | ||
69 | * EIGHT_BIT but I don't care since I've only used this mode | ||
70 | * for debugging the bignum libraries */ | ||
71 | #define SIXTY_FOUR_BIT_LONG | ||
72 | #undef SIXTY_FOUR_BIT | ||
73 | #undef THIRTY_TWO_BIT | ||
74 | #undef SIXTEEN_BIT | ||
75 | #undef EIGHT_BIT | ||
76 | #endif | ||
77 | |||
78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | ||
79 | #define CONFIG_HEADER_BF_LOCL_H | ||
80 | #undef BF_PTR | ||
81 | #endif /* HEADER_BF_LOCL_H */ | ||
82 | |||
83 | #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) | ||
84 | #define CONFIG_HEADER_DES_LOCL_H | ||
85 | #ifndef DES_DEFAULT_OPTIONS | ||
86 | /* the following is tweaked from a config script, that is why it is a | ||
87 | * protected undef/define */ | ||
88 | #ifndef DES_PTR | ||
89 | #undef DES_PTR | ||
90 | #endif | ||
91 | |||
92 | /* This helps C compiler generate the correct code for multiple functional | ||
93 | * units. It reduces register dependencies at the expense of 2 more | ||
94 | * registers */ | ||
95 | #ifndef DES_RISC1 | ||
96 | #undef DES_RISC1 | ||
97 | #endif | ||
98 | |||
99 | #ifndef DES_RISC2 | ||
100 | #undef DES_RISC2 | ||
101 | #endif | ||
102 | |||
103 | #if defined(DES_RISC1) && defined(DES_RISC2) | ||
104 | YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! | ||
105 | #endif | ||
106 | |||
107 | /* Unroll the inner loop, this sometimes helps, sometimes hinders. | ||
108 | * Very much CPU dependent */ | ||
109 | #ifndef DES_UNROLL | ||
110 | #define DES_UNROLL | ||
111 | #endif | ||
112 | |||
113 | /* These default values were supplied by | ||
114 | * Peter Gutman <pgut001@cs.auckland.ac.nz> | ||
115 | * They are only used if nothing else has been defined */ | ||
116 | #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) | ||
117 | /* Special defines which change the way the code is built depending on the | ||
118 | CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find | ||
119 | even newer MIPS CPU's, but at the moment one size fits all for | ||
120 | optimization options. Older Sparc's work better with only UNROLL, but | ||
121 | there's no way to tell at compile time what it is you're running on */ | ||
122 | |||
123 | #if defined( sun ) /* Newer Sparc's */ | ||
124 | # define DES_PTR | ||
125 | # define DES_RISC1 | ||
126 | # define DES_UNROLL | ||
127 | #elif defined( __ultrix ) /* Older MIPS */ | ||
128 | # define DES_PTR | ||
129 | # define DES_RISC2 | ||
130 | # define DES_UNROLL | ||
131 | #elif defined( __osf1__ ) /* Alpha */ | ||
132 | # define DES_PTR | ||
133 | # define DES_RISC2 | ||
134 | #elif defined ( _AIX ) /* RS6000 */ | ||
135 | /* Unknown */ | ||
136 | #elif defined( __hpux ) /* HP-PA */ | ||
137 | /* Unknown */ | ||
138 | #elif defined( __aux ) /* 68K */ | ||
139 | /* Unknown */ | ||
140 | #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ | ||
141 | # define DES_UNROLL | ||
142 | #elif defined( __sgi ) /* Newer MIPS */ | ||
143 | # define DES_PTR | ||
144 | # define DES_RISC2 | ||
145 | # define DES_UNROLL | ||
146 | #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ | ||
147 | # define DES_PTR | ||
148 | # define DES_RISC1 | ||
149 | # define DES_UNROLL | ||
150 | #endif /* Systems-specific speed defines */ | ||
151 | #endif | ||
152 | |||
153 | #endif /* DES_DEFAULT_OPTIONS */ | ||
154 | #endif /* HEADER_DES_LOCL_H */ | ||
diff --git a/include/arch/mips/opensslconf.h b/include/arch/mips/opensslconf.h index f17d3d2..a5d26b6 100644 --- a/include/arch/mips/opensslconf.h +++ b/include/arch/mips/opensslconf.h | |||
@@ -1,15 +1,22 @@ | |||
1 | #include <openssl/opensslfeatures.h> | 1 | #include <openssl/opensslfeatures.h> |
2 | /* crypto/opensslconf.h.in */ | 2 | /* crypto/opensslconf.h.in */ |
3 | 3 | ||
4 | #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) | 4 | #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) |
5 | #define OPENSSLDIR "/etc/ssl" | 5 | #define OPENSSLDIR "/etc/ssl" |
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | #undef OPENSSL_UNISTD | ||
9 | #define OPENSSL_UNISTD <unistd.h> | ||
10 | |||
11 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION | 8 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION |
12 | 9 | ||
10 | #ifndef OPENSSL_FILE | ||
11 | #ifdef OPENSSL_NO_FILENAMES | ||
12 | #define OPENSSL_FILE "" | ||
13 | #define OPENSSL_LINE 0 | ||
14 | #else | ||
15 | #define OPENSSL_FILE __FILE__ | ||
16 | #define OPENSSL_LINE __LINE__ | ||
17 | #endif | ||
18 | #endif | ||
19 | |||
13 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | 20 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) |
14 | #define IDEA_INT unsigned int | 21 | #define IDEA_INT unsigned int |
15 | #endif | 22 | #endif |
@@ -68,13 +75,6 @@ | |||
68 | #undef EIGHT_BIT | 75 | #undef EIGHT_BIT |
69 | #endif | 76 | #endif |
70 | 77 | ||
71 | #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) | ||
72 | #define CONFIG_HEADER_RC4_LOCL_H | ||
73 | /* if this is defined data[i] is used instead of *data, this is a %20 | ||
74 | * speedup on x86 */ | ||
75 | #define RC4_INDEX | ||
76 | #endif | ||
77 | |||
78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | 78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) |
79 | #define CONFIG_HEADER_BF_LOCL_H | 79 | #define CONFIG_HEADER_BF_LOCL_H |
80 | #undef BF_PTR | 80 | #undef BF_PTR |
diff --git a/include/compat/endian.h b/include/compat/endian.h index 5376c1a..af3664d 100644 --- a/include/compat/endian.h +++ b/include/compat/endian.h | |||
@@ -62,7 +62,7 @@ | |||
62 | #endif | 62 | #endif |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | #if defined(__APPLE__) && !defined(HAVE_ENDIAN_H) | 65 | #if defined(__APPLE__) |
66 | #include <libkern/OSByteOrder.h> | 66 | #include <libkern/OSByteOrder.h> |
67 | #define be16toh(x) OSSwapBigToHostInt16((x)) | 67 | #define be16toh(x) OSSwapBigToHostInt16((x)) |
68 | #define htobe16(x) OSSwapHostToBigInt16((x)) | 68 | #define htobe16(x) OSSwapHostToBigInt16((x)) |
@@ -74,7 +74,7 @@ | |||
74 | #define htobe64(x) OSSwapHostToBigInt64(x) | 74 | #define htobe64(x) OSSwapHostToBigInt64(x) |
75 | #define le64toh(x) OSSwapLittleToHostInt64(x) | 75 | #define le64toh(x) OSSwapLittleToHostInt64(x) |
76 | #define be64toh(x) OSSwapBigToHostInt64(x) | 76 | #define be64toh(x) OSSwapBigToHostInt64(x) |
77 | #endif /* __APPLE__ && !HAVE_ENDIAN_H */ | 77 | #endif /* __APPLE__ */ |
78 | 78 | ||
79 | #if defined(_WIN32) && !defined(HAVE_ENDIAN_H) | 79 | #if defined(_WIN32) && !defined(HAVE_ENDIAN_H) |
80 | #include <winsock2.h> | 80 | #include <winsock2.h> |
@@ -101,6 +101,8 @@ | |||
101 | #endif | 101 | #endif |
102 | 102 | ||
103 | #define htobe64(x) ntohll((x)) | 103 | #define htobe64(x) ntohll((x)) |
104 | #define htole64(x) (x) | ||
105 | #define le64toh(x) (x) | ||
104 | #endif /* _WIN32 && !HAVE_ENDIAN_H */ | 106 | #endif /* _WIN32 && !HAVE_ENDIAN_H */ |
105 | 107 | ||
106 | #ifdef __linux__ | 108 | #ifdef __linux__ |
@@ -151,6 +153,8 @@ | |||
151 | #define htole32(x) LE_32(x) | 153 | #define htole32(x) LE_32(x) |
152 | #define htobe32(x) BE_32(x) | 154 | #define htobe32(x) BE_32(x) |
153 | #define be64toh(x) BE_64(x) | 155 | #define be64toh(x) BE_64(x) |
156 | #define le64toh(x) LE_64(x) | ||
157 | #define htole64(x) LE_64(x) | ||
154 | #define htobe64(x) BE_64(x) | 158 | #define htobe64(x) BE_64(x) |
155 | #endif | 159 | #endif |
156 | 160 | ||
diff --git a/include/compat/stdio.h b/include/compat/stdio.h index 2af8f3e..2ccdeeb 100644 --- a/include/compat/stdio.h +++ b/include/compat/stdio.h | |||
@@ -18,6 +18,18 @@ | |||
18 | #include_next <stdio.h> | 18 | #include_next <stdio.h> |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #ifndef HAVE_GETDELIM | ||
22 | #include <sys/types.h> | ||
23 | #define getdelim libressl_getdelim | ||
24 | ssize_t getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp); | ||
25 | #endif | ||
26 | |||
27 | #ifndef HAVE_GETLINE | ||
28 | #include <sys/types.h> | ||
29 | #define getline libressl_getline | ||
30 | ssize_t getline(char **buf, size_t *bufsiz, FILE *fp); | ||
31 | #endif | ||
32 | |||
21 | #ifndef HAVE_ASPRINTF | 33 | #ifndef HAVE_ASPRINTF |
22 | #include <stdarg.h> | 34 | #include <stdarg.h> |
23 | #define vasprintf libressl_vasprintf | 35 | #define vasprintf libressl_vasprintf |
diff --git a/include/compat/sys/stat.h b/include/compat/sys/stat.h index b88da1d..57aa521 100644 --- a/include/compat/sys/stat.h +++ b/include/compat/sys/stat.h | |||
@@ -118,4 +118,12 @@ | |||
118 | 118 | ||
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #ifdef _WIN32 | ||
122 | int libressl_fstat(int fd, struct stat *statbuf); | ||
123 | |||
124 | #ifndef NO_REDEF_POSIX_FUNCTIONS | ||
125 | #define fstat(fd, statbuf) libressl_fstat(fd, statbuf) | ||
126 | #endif | ||
127 | #endif | ||
128 | |||
121 | #endif | 129 | #endif |
diff --git a/include/compat/sys/time.h b/include/compat/sys/time.h index 76428c1..2448969 100644 --- a/include/compat/sys/time.h +++ b/include/compat/sys/time.h | |||
@@ -8,6 +8,15 @@ | |||
8 | 8 | ||
9 | #ifdef _MSC_VER | 9 | #ifdef _MSC_VER |
10 | #include <winsock2.h> | 10 | #include <winsock2.h> |
11 | |||
12 | #define timeval libressl_timeval | ||
13 | #define gettimeofday libressl_gettimeofday | ||
14 | |||
15 | struct timeval { | ||
16 | long long tv_sec; | ||
17 | long tv_usec; | ||
18 | }; | ||
19 | |||
11 | int gettimeofday(struct timeval *tp, void *tzp); | 20 | int gettimeofday(struct timeval *tp, void *tzp); |
12 | #else | 21 | #else |
13 | #include_next <sys/time.h> | 22 | #include_next <sys/time.h> |
diff --git a/include/openssl/Makefile.am.tpl b/include/openssl/Makefile.am.tpl index 303d0b9..4bbbd60 100644 --- a/include/openssl/Makefile.am.tpl +++ b/include/openssl/Makefile.am.tpl | |||
@@ -17,6 +17,9 @@ endif | |||
17 | if HOST_I386 | 17 | if HOST_I386 |
18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h | 18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h |
19 | endif | 19 | endif |
20 | if HOST_LOONGARCH64 | ||
21 | -cp $(top_srcdir)/include/arch/loongarch64/opensslconf.h opensslconf.h | ||
22 | endif | ||
20 | if HOST_MIPS | 23 | if HOST_MIPS |
21 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h | 24 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h |
22 | endif | 25 | endif |
diff --git a/m4/check-libc.m4 b/m4/check-libc.m4 index 40df15b..8cb849b 100644 --- a/m4/check-libc.m4 +++ b/m4/check-libc.m4 | |||
@@ -7,7 +7,7 @@ AC_CHECK_HEADERS([netinet/ip.h], [], [], | |||
7 | ]) | 7 | ]) |
8 | AC_HEADER_RESOLV | 8 | AC_HEADER_RESOLV |
9 | # Check for general libc functions | 9 | # Check for general libc functions |
10 | AC_CHECK_FUNCS([asprintf freezero memmem]) | 10 | AC_CHECK_FUNCS([asprintf freezero getdelim getline memmem]) |
11 | AC_CHECK_FUNCS([readpassphrase reallocarray recallocarray]) | 11 | AC_CHECK_FUNCS([readpassphrase reallocarray recallocarray]) |
12 | AC_CHECK_FUNCS([strcasecmp strlcat strlcpy strndup strnlen strsep strtonum]) | 12 | AC_CHECK_FUNCS([strcasecmp strlcat strlcpy strndup strnlen strsep strtonum]) |
13 | AC_CHECK_FUNCS([timegm _mkgmtime timespecsub]) | 13 | AC_CHECK_FUNCS([timegm _mkgmtime timespecsub]) |
@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for getpagesize], ac_cv_func_getpagesize, [ | |||
24 | ]) | 24 | ]) |
25 | AM_CONDITIONAL([HAVE_ASPRINTF], [test "x$ac_cv_func_asprintf" = xyes]) | 25 | AM_CONDITIONAL([HAVE_ASPRINTF], [test "x$ac_cv_func_asprintf" = xyes]) |
26 | AM_CONDITIONAL([HAVE_FREEZERO], [test "x$ac_cv_func_freezero" = xyes]) | 26 | AM_CONDITIONAL([HAVE_FREEZERO], [test "x$ac_cv_func_freezero" = xyes]) |
27 | AM_CONDITIONAL([HAVE_GETDELIM], [test "x$ac_cv_func_getdelim" = xyes]) | ||
28 | AM_CONDITIONAL([HAVE_GETLINE], [test "x$ac_cv_func_getline" = xyes]) | ||
27 | AM_CONDITIONAL([HAVE_GETPAGESIZE], [test "x$ac_cv_func_getpagesize" = xyes]) | 29 | AM_CONDITIONAL([HAVE_GETPAGESIZE], [test "x$ac_cv_func_getpagesize" = xyes]) |
28 | AM_CONDITIONAL([HAVE_GETOPT], [test "x$ac_cv_func_getopt" = xyes]) | 30 | AM_CONDITIONAL([HAVE_GETOPT], [test "x$ac_cv_func_getopt" = xyes]) |
29 | AM_CONDITIONAL([HAVE_MEMMEM], [test "x$ac_cv_func_memmem" = xyes]) | 31 | AM_CONDITIONAL([HAVE_MEMMEM], [test "x$ac_cv_func_memmem" = xyes]) |
diff --git a/m4/check-os-options.m4 b/m4/check-os-options.m4 index 91c3021..2ef4293 100644 --- a/m4/check-os-options.m4 +++ b/m4/check-os-options.m4 | |||
@@ -133,6 +133,7 @@ char buf[1]; getentropy(buf, 1); | |||
133 | ;; | 133 | ;; |
134 | *) | 134 | *) |
135 | HOST_OS=unsupported | 135 | HOST_OS=unsupported |
136 | HOST_ABI=elf | ||
136 | ;; | 137 | ;; |
137 | esac | 138 | esac |
138 | 139 | ||
@@ -514,12 +514,6 @@ CONF_modules_free.3,CONF_modules_finish.3 | |||
514 | CONF_modules_free.3,CONF_modules_unload.3 | 514 | CONF_modules_free.3,CONF_modules_unload.3 |
515 | CONF_modules_load_file.3,CONF_modules_load.3 | 515 | CONF_modules_load_file.3,CONF_modules_load.3 |
516 | CONF_modules_load_file.3,X509_get_default_cert_area.3 | 516 | CONF_modules_load_file.3,X509_get_default_cert_area.3 |
517 | CRYPTO_get_mem_functions.3,CRYPTO_MEM_LEAK_CB.3 | ||
518 | CRYPTO_get_mem_functions.3,CRYPTO_mem_ctrl.3 | ||
519 | CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks.3 | ||
520 | CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks_cb.3 | ||
521 | CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks_fp.3 | ||
522 | CRYPTO_get_mem_functions.3,CRYPTO_set_mem_functions.3 | ||
523 | CRYPTO_lock.3,CRYPTO_add.3 | 517 | CRYPTO_lock.3,CRYPTO_add.3 |
524 | CRYPTO_lock.3,CRYPTO_r_lock.3 | 518 | CRYPTO_lock.3,CRYPTO_r_lock.3 |
525 | CRYPTO_lock.3,CRYPTO_r_unlock.3 | 519 | CRYPTO_lock.3,CRYPTO_r_unlock.3 |
@@ -532,6 +526,11 @@ CRYPTO_set_ex_data.3,CRYPTO_free_ex_data.3 | |||
532 | CRYPTO_set_ex_data.3,CRYPTO_get_ex_data.3 | 526 | CRYPTO_set_ex_data.3,CRYPTO_get_ex_data.3 |
533 | CRYPTO_set_ex_data.3,CRYPTO_get_ex_new_index.3 | 527 | CRYPTO_set_ex_data.3,CRYPTO_get_ex_new_index.3 |
534 | CRYPTO_set_ex_data.3,CRYPTO_new_ex_data.3 | 528 | CRYPTO_set_ex_data.3,CRYPTO_new_ex_data.3 |
529 | CRYPTO_set_mem_functions.3,CRYPTO_MEM_LEAK_CB.3 | ||
530 | CRYPTO_set_mem_functions.3,CRYPTO_mem_ctrl.3 | ||
531 | CRYPTO_set_mem_functions.3,CRYPTO_mem_leaks.3 | ||
532 | CRYPTO_set_mem_functions.3,CRYPTO_mem_leaks_cb.3 | ||
533 | CRYPTO_set_mem_functions.3,CRYPTO_mem_leaks_fp.3 | ||
535 | ChaCha.3,CRYPTO_chacha_20.3 | 534 | ChaCha.3,CRYPTO_chacha_20.3 |
536 | ChaCha.3,CRYPTO_hchacha_20.3 | 535 | ChaCha.3,CRYPTO_hchacha_20.3 |
537 | ChaCha.3,CRYPTO_xchacha_20.3 | 536 | ChaCha.3,CRYPTO_xchacha_20.3 |
@@ -645,8 +644,6 @@ ECDSA_SIG_new.3,ECDSA_size.3 | |||
645 | ECDSA_SIG_new.3,ECDSA_verify.3 | 644 | ECDSA_SIG_new.3,ECDSA_verify.3 |
646 | ECDSA_SIG_new.3,d2i_ECDSA_SIG.3 | 645 | ECDSA_SIG_new.3,d2i_ECDSA_SIG.3 |
647 | ECDSA_SIG_new.3,i2d_ECDSA_SIG.3 | 646 | ECDSA_SIG_new.3,i2d_ECDSA_SIG.3 |
648 | EC_GFp_simple_method.3,EC_GFp_mont_method.3 | ||
649 | EC_GFp_simple_method.3,EC_METHOD_get_field_type.3 | ||
650 | EC_GROUP_copy.3,EC_GROUP_check.3 | 647 | EC_GROUP_copy.3,EC_GROUP_check.3 |
651 | EC_GROUP_copy.3,EC_GROUP_check_discriminant.3 | 648 | EC_GROUP_copy.3,EC_GROUP_check_discriminant.3 |
652 | EC_GROUP_copy.3,EC_GROUP_cmp.3 | 649 | EC_GROUP_copy.3,EC_GROUP_cmp.3 |
@@ -661,7 +658,6 @@ EC_GROUP_copy.3,EC_GROUP_get_degree.3 | |||
661 | EC_GROUP_copy.3,EC_GROUP_get_order.3 | 658 | EC_GROUP_copy.3,EC_GROUP_get_order.3 |
662 | EC_GROUP_copy.3,EC_GROUP_get_point_conversion_form.3 | 659 | EC_GROUP_copy.3,EC_GROUP_get_point_conversion_form.3 |
663 | EC_GROUP_copy.3,EC_GROUP_get_seed_len.3 | 660 | EC_GROUP_copy.3,EC_GROUP_get_seed_len.3 |
664 | EC_GROUP_copy.3,EC_GROUP_method_of.3 | ||
665 | EC_GROUP_copy.3,EC_GROUP_order_bits.3 | 661 | EC_GROUP_copy.3,EC_GROUP_order_bits.3 |
666 | EC_GROUP_copy.3,EC_GROUP_set_asn1_flag.3 | 662 | EC_GROUP_copy.3,EC_GROUP_set_asn1_flag.3 |
667 | EC_GROUP_copy.3,EC_GROUP_set_curve_name.3 | 663 | EC_GROUP_copy.3,EC_GROUP_set_curve_name.3 |
@@ -721,8 +717,6 @@ EC_KEY_new.3,EC_KEY_set_private_key.3 | |||
721 | EC_KEY_new.3,EC_KEY_set_public_key.3 | 717 | EC_KEY_new.3,EC_KEY_set_public_key.3 |
722 | EC_KEY_new.3,EC_KEY_set_public_key_affine_coordinates.3 | 718 | EC_KEY_new.3,EC_KEY_set_public_key_affine_coordinates.3 |
723 | EC_KEY_new.3,EC_KEY_up_ref.3 | 719 | EC_KEY_new.3,EC_KEY_up_ref.3 |
724 | EC_POINT_add.3,EC_GROUP_have_precompute_mult.3 | ||
725 | EC_POINT_add.3,EC_GROUP_precompute_mult.3 | ||
726 | EC_POINT_add.3,EC_POINT_cmp.3 | 720 | EC_POINT_add.3,EC_POINT_cmp.3 |
727 | EC_POINT_add.3,EC_POINT_dbl.3 | 721 | EC_POINT_add.3,EC_POINT_dbl.3 |
728 | EC_POINT_add.3,EC_POINT_invert.3 | 722 | EC_POINT_add.3,EC_POINT_invert.3 |
@@ -730,23 +724,18 @@ EC_POINT_add.3,EC_POINT_is_at_infinity.3 | |||
730 | EC_POINT_add.3,EC_POINT_is_on_curve.3 | 724 | EC_POINT_add.3,EC_POINT_is_on_curve.3 |
731 | EC_POINT_add.3,EC_POINT_make_affine.3 | 725 | EC_POINT_add.3,EC_POINT_make_affine.3 |
732 | EC_POINT_add.3,EC_POINT_mul.3 | 726 | EC_POINT_add.3,EC_POINT_mul.3 |
733 | EC_POINT_add.3,EC_POINTs_make_affine.3 | ||
734 | EC_POINT_add.3,EC_POINTs_mul.3 | ||
735 | EC_POINT_new.3,EC_POINT_bn2point.3 | 727 | EC_POINT_new.3,EC_POINT_bn2point.3 |
736 | EC_POINT_new.3,EC_POINT_clear_free.3 | 728 | EC_POINT_new.3,EC_POINT_clear_free.3 |
737 | EC_POINT_new.3,EC_POINT_copy.3 | 729 | EC_POINT_new.3,EC_POINT_copy.3 |
738 | EC_POINT_new.3,EC_POINT_dup.3 | 730 | EC_POINT_new.3,EC_POINT_dup.3 |
739 | EC_POINT_new.3,EC_POINT_free.3 | 731 | EC_POINT_new.3,EC_POINT_free.3 |
740 | EC_POINT_new.3,EC_POINT_get_Jprojective_coordinates_GFp.3 | ||
741 | EC_POINT_new.3,EC_POINT_get_affine_coordinates.3 | 732 | EC_POINT_new.3,EC_POINT_get_affine_coordinates.3 |
742 | EC_POINT_new.3,EC_POINT_get_affine_coordinates_GFp.3 | 733 | EC_POINT_new.3,EC_POINT_get_affine_coordinates_GFp.3 |
743 | EC_POINT_new.3,EC_POINT_hex2point.3 | 734 | EC_POINT_new.3,EC_POINT_hex2point.3 |
744 | EC_POINT_new.3,EC_POINT_method_of.3 | ||
745 | EC_POINT_new.3,EC_POINT_oct2point.3 | 735 | EC_POINT_new.3,EC_POINT_oct2point.3 |
746 | EC_POINT_new.3,EC_POINT_point2bn.3 | 736 | EC_POINT_new.3,EC_POINT_point2bn.3 |
747 | EC_POINT_new.3,EC_POINT_point2hex.3 | 737 | EC_POINT_new.3,EC_POINT_point2hex.3 |
748 | EC_POINT_new.3,EC_POINT_point2oct.3 | 738 | EC_POINT_new.3,EC_POINT_point2oct.3 |
749 | EC_POINT_new.3,EC_POINT_set_Jprojective_coordinates_GFp.3 | ||
750 | EC_POINT_new.3,EC_POINT_set_affine_coordinates.3 | 739 | EC_POINT_new.3,EC_POINT_set_affine_coordinates.3 |
751 | EC_POINT_new.3,EC_POINT_set_affine_coordinates_GFp.3 | 740 | EC_POINT_new.3,EC_POINT_set_affine_coordinates_GFp.3 |
752 | EC_POINT_new.3,EC_POINT_set_compressed_coordinates.3 | 741 | EC_POINT_new.3,EC_POINT_set_compressed_coordinates.3 |
@@ -791,8 +780,6 @@ ERR_load_strings.3,ERR_PACK.3 | |||
791 | ERR_load_strings.3,ERR_get_next_error_library.3 | 780 | ERR_load_strings.3,ERR_get_next_error_library.3 |
792 | ERR_print_errors.3,ERR_print_errors_cb.3 | 781 | ERR_print_errors.3,ERR_print_errors_cb.3 |
793 | ERR_print_errors.3,ERR_print_errors_fp.3 | 782 | ERR_print_errors.3,ERR_print_errors_fp.3 |
794 | ERR_put_error.3,ERR_add_error_data.3 | ||
795 | ERR_put_error.3,ERR_add_error_vdata.3 | ||
796 | ERR_remove_state.3,ERR_remove_thread_state.3 | 783 | ERR_remove_state.3,ERR_remove_thread_state.3 |
797 | ERR_set_mark.3,ERR_pop_to_mark.3 | 784 | ERR_set_mark.3,ERR_pop_to_mark.3 |
798 | ESS_SIGNING_CERT_new.3,ESS_CERT_ID_free.3 | 785 | ESS_SIGNING_CERT_new.3,ESS_CERT_ID_free.3 |
@@ -938,13 +925,6 @@ EVP_EncryptInit.3,EVP_idea_cfb.3 | |||
938 | EVP_EncryptInit.3,EVP_idea_cfb64.3 | 925 | EVP_EncryptInit.3,EVP_idea_cfb64.3 |
939 | EVP_EncryptInit.3,EVP_idea_ecb.3 | 926 | EVP_EncryptInit.3,EVP_idea_ecb.3 |
940 | EVP_EncryptInit.3,EVP_idea_ofb.3 | 927 | EVP_EncryptInit.3,EVP_idea_ofb.3 |
941 | EVP_EncryptInit.3,EVP_rc2_40_cbc.3 | ||
942 | EVP_EncryptInit.3,EVP_rc2_64_cbc.3 | ||
943 | EVP_EncryptInit.3,EVP_rc2_cbc.3 | ||
944 | EVP_EncryptInit.3,EVP_rc2_cfb.3 | ||
945 | EVP_EncryptInit.3,EVP_rc2_cfb64.3 | ||
946 | EVP_EncryptInit.3,EVP_rc2_ecb.3 | ||
947 | EVP_EncryptInit.3,EVP_rc2_ofb.3 | ||
948 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_clear_flags.3 | 928 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_clear_flags.3 |
949 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_md_data.3 | 929 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_md_data.3 |
950 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_pkey_ctx.3 | 930 | EVP_MD_CTX_ctrl.3,EVP_MD_CTX_pkey_ctx.3 |
@@ -992,32 +972,13 @@ EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_add1_hkdf_info.3 | |||
992 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_hkdf_mode.3 | 972 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_hkdf_mode.3 |
993 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_set1_hkdf_key.3 | 973 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_set1_hkdf_key.3 |
994 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_set1_hkdf_salt.3 | 974 | EVP_PKEY_CTX_set_hkdf_md.3,EVP_PKEY_CTX_set1_hkdf_salt.3 |
995 | EVP_PKEY_add1_attr.3,EVP_PKEY_add1_attr_by_NID.3 | 975 | EVP_PKEY_CTX_set_tls1_prf_md.3,EVP_PKEY_CTX_add1_tls1_prf_seed.3 |
996 | EVP_PKEY_add1_attr.3,EVP_PKEY_add1_attr_by_OBJ.3 | 976 | EVP_PKEY_CTX_set_tls1_prf_md.3,EVP_PKEY_CTX_set1_tls1_prf_secret.3 |
997 | EVP_PKEY_add1_attr.3,EVP_PKEY_add1_attr_by_txt.3 | ||
998 | EVP_PKEY_add1_attr.3,EVP_PKEY_delete_attr.3 | ||
999 | EVP_PKEY_add1_attr.3,EVP_PKEY_get_attr.3 | ||
1000 | EVP_PKEY_add1_attr.3,EVP_PKEY_get_attr_by_NID.3 | ||
1001 | EVP_PKEY_add1_attr.3,EVP_PKEY_get_attr_by_OBJ.3 | ||
1002 | EVP_PKEY_add1_attr.3,EVP_PKEY_get_attr_count.3 | ||
1003 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_find.3 | 977 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_find.3 |
1004 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_find_str.3 | 978 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_find_str.3 |
1005 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_get0.3 | 979 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_get0.3 |
1006 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_get0_info.3 | 980 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_asn1_get0_info.3 |
1007 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_get0_asn1.3 | 981 | EVP_PKEY_asn1_get_count.3,EVP_PKEY_get0_asn1.3 |
1008 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_copy.3 | ||
1009 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_free.3 | ||
1010 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_check.3 | ||
1011 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_ctrl.3 | ||
1012 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_free.3 | ||
1013 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_param.3 | ||
1014 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_param_check.3 | ||
1015 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_private.3 | ||
1016 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_public.3 | ||
1017 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_public_check.3 | ||
1018 | EVP_PKEY_asn1_new.3,EVP_PKEY_asn1_set_security_bits.3 | ||
1019 | EVP_PKEY_check.3,EVP_PKEY_param_check.3 | ||
1020 | EVP_PKEY_check.3,EVP_PKEY_public_check.3 | ||
1021 | EVP_PKEY_cmp.3,EVP_PKEY_cmp_parameters.3 | 982 | EVP_PKEY_cmp.3,EVP_PKEY_cmp_parameters.3 |
1022 | EVP_PKEY_cmp.3,EVP_PKEY_copy_parameters.3 | 983 | EVP_PKEY_cmp.3,EVP_PKEY_copy_parameters.3 |
1023 | EVP_PKEY_cmp.3,EVP_PKEY_missing_parameters.3 | 984 | EVP_PKEY_cmp.3,EVP_PKEY_missing_parameters.3 |
@@ -1028,41 +989,19 @@ EVP_PKEY_derive.3,EVP_PKEY_derive_set_peer.3 | |||
1028 | EVP_PKEY_encrypt.3,EVP_PKEY_encrypt_init.3 | 989 | EVP_PKEY_encrypt.3,EVP_PKEY_encrypt_init.3 |
1029 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_app_data.3 | 990 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_app_data.3 |
1030 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_cb.3 | 991 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_cb.3 |
992 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_data.3 | ||
1031 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_keygen_info.3 | 993 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_get_keygen_info.3 |
1032 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set0_keygen_info.3 | 994 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set0_keygen_info.3 |
1033 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set_app_data.3 | 995 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set_app_data.3 |
1034 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set_cb.3 | 996 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set_cb.3 |
997 | EVP_PKEY_keygen.3,EVP_PKEY_CTX_set_data.3 | ||
1035 | EVP_PKEY_keygen.3,EVP_PKEY_gen_cb.3 | 998 | EVP_PKEY_keygen.3,EVP_PKEY_gen_cb.3 |
1036 | EVP_PKEY_keygen.3,EVP_PKEY_keygen_init.3 | 999 | EVP_PKEY_keygen.3,EVP_PKEY_keygen_init.3 |
1037 | EVP_PKEY_keygen.3,EVP_PKEY_paramgen.3 | 1000 | EVP_PKEY_keygen.3,EVP_PKEY_paramgen.3 |
1038 | EVP_PKEY_keygen.3,EVP_PKEY_paramgen_init.3 | 1001 | EVP_PKEY_keygen.3,EVP_PKEY_paramgen_init.3 |
1039 | EVP_PKEY_meth_new.3,EVP_PKEY_CTX_get_data.3 | ||
1040 | EVP_PKEY_meth_new.3,EVP_PKEY_CTX_set_data.3 | ||
1041 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_add0.3 | ||
1042 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_copy.3 | ||
1043 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_find.3 | ||
1044 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_free.3 | ||
1045 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_check.3 | ||
1046 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_cleanup.3 | ||
1047 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_copy.3 | ||
1048 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_ctrl.3 | ||
1049 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_decrypt.3 | ||
1050 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_derive.3 | ||
1051 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_encrypt.3 | ||
1052 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_init.3 | ||
1053 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_keygen.3 | ||
1054 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_param_check.3 | ||
1055 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_paramgen.3 | ||
1056 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_public_check.3 | ||
1057 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_sign.3 | ||
1058 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_signctx.3 | ||
1059 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_verify.3 | ||
1060 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_verify_recover.3 | ||
1061 | EVP_PKEY_meth_new.3,EVP_PKEY_meth_set_verifyctx.3 | ||
1062 | EVP_PKEY_new.3,EVP_PKEY_free.3 | 1002 | EVP_PKEY_new.3,EVP_PKEY_free.3 |
1063 | EVP_PKEY_new.3,EVP_PKEY_get_raw_private_key.3 | 1003 | EVP_PKEY_new.3,EVP_PKEY_get_raw_private_key.3 |
1064 | EVP_PKEY_new.3,EVP_PKEY_get_raw_public_key.3 | 1004 | EVP_PKEY_new.3,EVP_PKEY_get_raw_public_key.3 |
1065 | EVP_PKEY_new.3,EVP_PKEY_new_CMAC_key.3 | ||
1066 | EVP_PKEY_new.3,EVP_PKEY_new_mac_key.3 | 1005 | EVP_PKEY_new.3,EVP_PKEY_new_mac_key.3 |
1067 | EVP_PKEY_new.3,EVP_PKEY_new_raw_private_key.3 | 1006 | EVP_PKEY_new.3,EVP_PKEY_new_raw_private_key.3 |
1068 | EVP_PKEY_new.3,EVP_PKEY_new_raw_public_key.3 | 1007 | EVP_PKEY_new.3,EVP_PKEY_new_raw_public_key.3 |
@@ -1106,41 +1045,39 @@ EVP_VerifyInit.3,EVP_VerifyFinal.3 | |||
1106 | EVP_VerifyInit.3,EVP_VerifyInit_ex.3 | 1045 | EVP_VerifyInit.3,EVP_VerifyInit_ex.3 |
1107 | EVP_VerifyInit.3,EVP_VerifyUpdate.3 | 1046 | EVP_VerifyInit.3,EVP_VerifyUpdate.3 |
1108 | EVP_aes_128_cbc.3,EVP_aes_128_cbc_hmac_sha1.3 | 1047 | EVP_aes_128_cbc.3,EVP_aes_128_cbc_hmac_sha1.3 |
1109 | EVP_aes_128_cbc.3,EVP_aes_128_ccm.3 | ||
1110 | EVP_aes_128_cbc.3,EVP_aes_128_cfb.3 | 1048 | EVP_aes_128_cbc.3,EVP_aes_128_cfb.3 |
1111 | EVP_aes_128_cbc.3,EVP_aes_128_cfb1.3 | 1049 | EVP_aes_128_cbc.3,EVP_aes_128_cfb1.3 |
1112 | EVP_aes_128_cbc.3,EVP_aes_128_cfb128.3 | 1050 | EVP_aes_128_cbc.3,EVP_aes_128_cfb128.3 |
1113 | EVP_aes_128_cbc.3,EVP_aes_128_cfb8.3 | 1051 | EVP_aes_128_cbc.3,EVP_aes_128_cfb8.3 |
1114 | EVP_aes_128_cbc.3,EVP_aes_128_ctr.3 | 1052 | EVP_aes_128_cbc.3,EVP_aes_128_ctr.3 |
1115 | EVP_aes_128_cbc.3,EVP_aes_128_ecb.3 | 1053 | EVP_aes_128_cbc.3,EVP_aes_128_ecb.3 |
1116 | EVP_aes_128_cbc.3,EVP_aes_128_gcm.3 | ||
1117 | EVP_aes_128_cbc.3,EVP_aes_128_ofb.3 | 1054 | EVP_aes_128_cbc.3,EVP_aes_128_ofb.3 |
1118 | EVP_aes_128_cbc.3,EVP_aes_128_wrap.3 | 1055 | EVP_aes_128_cbc.3,EVP_aes_128_wrap.3 |
1119 | EVP_aes_128_cbc.3,EVP_aes_128_xts.3 | 1056 | EVP_aes_128_cbc.3,EVP_aes_128_xts.3 |
1120 | EVP_aes_128_cbc.3,EVP_aes_192_cbc.3 | 1057 | EVP_aes_128_cbc.3,EVP_aes_192_cbc.3 |
1121 | EVP_aes_128_cbc.3,EVP_aes_192_ccm.3 | ||
1122 | EVP_aes_128_cbc.3,EVP_aes_192_cfb.3 | 1058 | EVP_aes_128_cbc.3,EVP_aes_192_cfb.3 |
1123 | EVP_aes_128_cbc.3,EVP_aes_192_cfb1.3 | 1059 | EVP_aes_128_cbc.3,EVP_aes_192_cfb1.3 |
1124 | EVP_aes_128_cbc.3,EVP_aes_192_cfb128.3 | 1060 | EVP_aes_128_cbc.3,EVP_aes_192_cfb128.3 |
1125 | EVP_aes_128_cbc.3,EVP_aes_192_cfb8.3 | 1061 | EVP_aes_128_cbc.3,EVP_aes_192_cfb8.3 |
1126 | EVP_aes_128_cbc.3,EVP_aes_192_ctr.3 | 1062 | EVP_aes_128_cbc.3,EVP_aes_192_ctr.3 |
1127 | EVP_aes_128_cbc.3,EVP_aes_192_ecb.3 | 1063 | EVP_aes_128_cbc.3,EVP_aes_192_ecb.3 |
1128 | EVP_aes_128_cbc.3,EVP_aes_192_gcm.3 | ||
1129 | EVP_aes_128_cbc.3,EVP_aes_192_ofb.3 | 1064 | EVP_aes_128_cbc.3,EVP_aes_192_ofb.3 |
1130 | EVP_aes_128_cbc.3,EVP_aes_192_wrap.3 | 1065 | EVP_aes_128_cbc.3,EVP_aes_192_wrap.3 |
1131 | EVP_aes_128_cbc.3,EVP_aes_256_cbc.3 | 1066 | EVP_aes_128_cbc.3,EVP_aes_256_cbc.3 |
1132 | EVP_aes_128_cbc.3,EVP_aes_256_cbc_hmac_sha1.3 | 1067 | EVP_aes_128_cbc.3,EVP_aes_256_cbc_hmac_sha1.3 |
1133 | EVP_aes_128_cbc.3,EVP_aes_256_ccm.3 | ||
1134 | EVP_aes_128_cbc.3,EVP_aes_256_cfb.3 | 1068 | EVP_aes_128_cbc.3,EVP_aes_256_cfb.3 |
1135 | EVP_aes_128_cbc.3,EVP_aes_256_cfb1.3 | 1069 | EVP_aes_128_cbc.3,EVP_aes_256_cfb1.3 |
1136 | EVP_aes_128_cbc.3,EVP_aes_256_cfb128.3 | 1070 | EVP_aes_128_cbc.3,EVP_aes_256_cfb128.3 |
1137 | EVP_aes_128_cbc.3,EVP_aes_256_cfb8.3 | 1071 | EVP_aes_128_cbc.3,EVP_aes_256_cfb8.3 |
1138 | EVP_aes_128_cbc.3,EVP_aes_256_ctr.3 | 1072 | EVP_aes_128_cbc.3,EVP_aes_256_ctr.3 |
1139 | EVP_aes_128_cbc.3,EVP_aes_256_ecb.3 | 1073 | EVP_aes_128_cbc.3,EVP_aes_256_ecb.3 |
1140 | EVP_aes_128_cbc.3,EVP_aes_256_gcm.3 | ||
1141 | EVP_aes_128_cbc.3,EVP_aes_256_ofb.3 | 1074 | EVP_aes_128_cbc.3,EVP_aes_256_ofb.3 |
1142 | EVP_aes_128_cbc.3,EVP_aes_256_wrap.3 | 1075 | EVP_aes_128_cbc.3,EVP_aes_256_wrap.3 |
1143 | EVP_aes_128_cbc.3,EVP_aes_256_xts.3 | 1076 | EVP_aes_128_cbc.3,EVP_aes_256_xts.3 |
1077 | EVP_aes_128_ccm.3,EVP_aes_192_ccm.3 | ||
1078 | EVP_aes_128_ccm.3,EVP_aes_256_ccm.3 | ||
1079 | EVP_aes_128_gcm.3,EVP_aes_192_gcm.3 | ||
1080 | EVP_aes_128_gcm.3,EVP_aes_256_gcm.3 | ||
1144 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb.3 | 1081 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb.3 |
1145 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb1.3 | 1082 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb1.3 |
1146 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb128.3 | 1083 | EVP_camellia_128_cbc.3,EVP_camellia_128_cfb128.3 |
@@ -1183,6 +1120,12 @@ EVP_des_cbc.3,EVP_des_ede_ecb.3 | |||
1183 | EVP_des_cbc.3,EVP_des_ede_ofb.3 | 1120 | EVP_des_cbc.3,EVP_des_ede_ofb.3 |
1184 | EVP_des_cbc.3,EVP_des_ofb.3 | 1121 | EVP_des_cbc.3,EVP_des_ofb.3 |
1185 | EVP_des_cbc.3,EVP_desx_cbc.3 | 1122 | EVP_des_cbc.3,EVP_desx_cbc.3 |
1123 | EVP_rc2_cbc.3,EVP_rc2_40_cbc.3 | ||
1124 | EVP_rc2_cbc.3,EVP_rc2_64_cbc.3 | ||
1125 | EVP_rc2_cbc.3,EVP_rc2_cfb.3 | ||
1126 | EVP_rc2_cbc.3,EVP_rc2_cfb64.3 | ||
1127 | EVP_rc2_cbc.3,EVP_rc2_ecb.3 | ||
1128 | EVP_rc2_cbc.3,EVP_rc2_ofb.3 | ||
1186 | EVP_rc4.3,EVP_rc4_40.3 | 1129 | EVP_rc4.3,EVP_rc4_40.3 |
1187 | EVP_rc4.3,EVP_rc4_hmac_md5.3 | 1130 | EVP_rc4.3,EVP_rc4_hmac_md5.3 |
1188 | EVP_sha1.3,EVP_md4.3 | 1131 | EVP_sha1.3,EVP_md4.3 |
@@ -1211,7 +1154,6 @@ HMAC.3,HMAC_CTX_new.3 | |||
1211 | HMAC.3,HMAC_CTX_reset.3 | 1154 | HMAC.3,HMAC_CTX_reset.3 |
1212 | HMAC.3,HMAC_CTX_set_flags.3 | 1155 | HMAC.3,HMAC_CTX_set_flags.3 |
1213 | HMAC.3,HMAC_Final.3 | 1156 | HMAC.3,HMAC_Final.3 |
1214 | HMAC.3,HMAC_Init.3 | ||
1215 | HMAC.3,HMAC_Init_ex.3 | 1157 | HMAC.3,HMAC_Init_ex.3 |
1216 | HMAC.3,HMAC_Update.3 | 1158 | HMAC.3,HMAC_Update.3 |
1217 | HMAC.3,HMAC_size.3 | 1159 | HMAC.3,HMAC_size.3 |
@@ -1522,6 +1464,12 @@ RAND_load_file.3,RAND_file_name.3 | |||
1522 | RAND_load_file.3,RAND_write_file.3 | 1464 | RAND_load_file.3,RAND_write_file.3 |
1523 | RAND_set_rand_method.3,RAND_SSLeay.3 | 1465 | RAND_set_rand_method.3,RAND_SSLeay.3 |
1524 | RAND_set_rand_method.3,RAND_get_rand_method.3 | 1466 | RAND_set_rand_method.3,RAND_get_rand_method.3 |
1467 | RC2_encrypt.3,RC2_cbc_encrypt.3 | ||
1468 | RC2_encrypt.3,RC2_cfb64_encrypt.3 | ||
1469 | RC2_encrypt.3,RC2_decrypt.3 | ||
1470 | RC2_encrypt.3,RC2_ecb_encrypt.3 | ||
1471 | RC2_encrypt.3,RC2_ofb64_encrypt.3 | ||
1472 | RC2_encrypt.3,RC2_set_key.3 | ||
1525 | RC4.3,RC4_set_key.3 | 1473 | RC4.3,RC4_set_key.3 |
1526 | RIPEMD160.3,RIPEMD160_Final.3 | 1474 | RIPEMD160.3,RIPEMD160_Final.3 |
1527 | RIPEMD160.3,RIPEMD160_Init.3 | 1475 | RIPEMD160.3,RIPEMD160_Init.3 |
@@ -1651,6 +1599,7 @@ SSL_CIPHER_get_name.3,SSL_CIPHER_get_auth_nid.3 | |||
1651 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_bits.3 | 1599 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_bits.3 |
1652 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_cipher_nid.3 | 1600 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_cipher_nid.3 |
1653 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_digest_nid.3 | 1601 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_digest_nid.3 |
1602 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_handshake_digest.3 | ||
1654 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_id.3 | 1603 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_id.3 |
1655 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_kx_nid.3 | 1604 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_kx_nid.3 |
1656 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_version.3 | 1605 | SSL_CIPHER_get_name.3,SSL_CIPHER_get_version.3 |
@@ -1739,6 +1688,7 @@ SSL_CTX_set_alpn_select_cb.3,SSL_get0_alpn_selected.3 | |||
1739 | SSL_CTX_set_alpn_select_cb.3,SSL_select_next_proto.3 | 1688 | SSL_CTX_set_alpn_select_cb.3,SSL_select_next_proto.3 |
1740 | SSL_CTX_set_alpn_select_cb.3,SSL_set_alpn_protos.3 | 1689 | SSL_CTX_set_alpn_select_cb.3,SSL_set_alpn_protos.3 |
1741 | SSL_CTX_set_cert_store.3,SSL_CTX_get_cert_store.3 | 1690 | SSL_CTX_set_cert_store.3,SSL_CTX_get_cert_store.3 |
1691 | SSL_CTX_set_cert_store.3,SSL_CTX_set1_cert_store.3 | ||
1742 | SSL_CTX_set_cipher_list.3,SSL_set_cipher_list.3 | 1692 | SSL_CTX_set_cipher_list.3,SSL_set_cipher_list.3 |
1743 | SSL_CTX_set_client_CA_list.3,SSL_CTX_add_client_CA.3 | 1693 | SSL_CTX_set_client_CA_list.3,SSL_CTX_add_client_CA.3 |
1744 | SSL_CTX_set_client_CA_list.3,SSL_add_client_CA.3 | 1694 | SSL_CTX_set_client_CA_list.3,SSL_add_client_CA.3 |
@@ -1947,7 +1897,6 @@ TS_REQ_new.3,TS_STATUS_INFO_free.3 | |||
1947 | TS_REQ_new.3,TS_STATUS_INFO_new.3 | 1897 | TS_REQ_new.3,TS_STATUS_INFO_new.3 |
1948 | TS_REQ_new.3,TS_TST_INFO_free.3 | 1898 | TS_REQ_new.3,TS_TST_INFO_free.3 |
1949 | TS_REQ_new.3,TS_TST_INFO_new.3 | 1899 | TS_REQ_new.3,TS_TST_INFO_new.3 |
1950 | UI_UTIL_read_pw.3,UI_UTIL_read_pw_string.3 | ||
1951 | UI_create_method.3,UI_destroy_method.3 | 1900 | UI_create_method.3,UI_destroy_method.3 |
1952 | UI_create_method.3,UI_method_get_closer.3 | 1901 | UI_create_method.3,UI_method_get_closer.3 |
1953 | UI_create_method.3,UI_method_get_flusher.3 | 1902 | UI_create_method.3,UI_method_get_flusher.3 |
@@ -1998,6 +1947,7 @@ X25519.3,ED25519_sign.3 | |||
1998 | X25519.3,ED25519_verify.3 | 1947 | X25519.3,ED25519_verify.3 |
1999 | X25519.3,X25519_keypair.3 | 1948 | X25519.3,X25519_keypair.3 |
2000 | X509V3_EXT_get_nid.3,X509V3_EXT_get.3 | 1949 | X509V3_EXT_get_nid.3,X509V3_EXT_get.3 |
1950 | X509V3_EXT_print.3,X509V3_EXT_print_fp.3 | ||
2001 | X509V3_get_d2i.3,X509V3_EXT_d2i.3 | 1951 | X509V3_get_d2i.3,X509V3_EXT_d2i.3 |
2002 | X509V3_get_d2i.3,X509V3_EXT_i2d.3 | 1952 | X509V3_get_d2i.3,X509V3_EXT_i2d.3 |
2003 | X509V3_get_d2i.3,X509V3_add1_i2d.3 | 1953 | X509V3_get_d2i.3,X509V3_add1_i2d.3 |
@@ -2011,6 +1961,7 @@ X509V3_get_d2i.3,X509_add1_ext_i2d.3 | |||
2011 | X509V3_get_d2i.3,X509_get0_extensions.3 | 1961 | X509V3_get_d2i.3,X509_get0_extensions.3 |
2012 | X509V3_get_d2i.3,X509_get0_uids.3 | 1962 | X509V3_get_d2i.3,X509_get0_uids.3 |
2013 | X509V3_get_d2i.3,X509_get_ext_d2i.3 | 1963 | X509V3_get_d2i.3,X509_get_ext_d2i.3 |
1964 | X509V3_parse_list.3,X509V3_conf_free.3 | ||
2014 | X509_ALGOR_dup.3,X509_ALGOR_cmp.3 | 1965 | X509_ALGOR_dup.3,X509_ALGOR_cmp.3 |
2015 | X509_ALGOR_dup.3,X509_ALGOR_free.3 | 1966 | X509_ALGOR_dup.3,X509_ALGOR_free.3 |
2016 | X509_ALGOR_dup.3,X509_ALGOR_get0.3 | 1967 | X509_ALGOR_dup.3,X509_ALGOR_get0.3 |
@@ -2051,6 +2002,7 @@ X509_EXTENSION_set_object.3,X509_EXTENSION_get_object.3 | |||
2051 | X509_EXTENSION_set_object.3,X509_EXTENSION_new.3 | 2002 | X509_EXTENSION_set_object.3,X509_EXTENSION_new.3 |
2052 | X509_EXTENSION_set_object.3,X509_EXTENSION_set_critical.3 | 2003 | X509_EXTENSION_set_object.3,X509_EXTENSION_set_critical.3 |
2053 | X509_EXTENSION_set_object.3,X509_EXTENSION_set_data.3 | 2004 | X509_EXTENSION_set_object.3,X509_EXTENSION_set_data.3 |
2005 | X509_EXTENSION_set_object.3,X509_supported_extension.3 | ||
2054 | X509_INFO_new.3,X509_INFO_free.3 | 2006 | X509_INFO_new.3,X509_INFO_free.3 |
2055 | X509_LOOKUP_hash_dir.3,X509_LOOKUP_file.3 | 2007 | X509_LOOKUP_hash_dir.3,X509_LOOKUP_file.3 |
2056 | X509_LOOKUP_hash_dir.3,X509_LOOKUP_mem.3 | 2008 | X509_LOOKUP_hash_dir.3,X509_LOOKUP_mem.3 |
@@ -2088,17 +2040,14 @@ X509_NAME_hash.3,X509_subject_name_hash.3 | |||
2088 | X509_NAME_hash.3,X509_subject_name_hash_old.3 | 2040 | X509_NAME_hash.3,X509_subject_name_hash_old.3 |
2089 | X509_NAME_new.3,X509_NAME_free.3 | 2041 | X509_NAME_new.3,X509_NAME_free.3 |
2090 | X509_NAME_print_ex.3,X509_NAME_oneline.3 | 2042 | X509_NAME_print_ex.3,X509_NAME_oneline.3 |
2091 | X509_NAME_print_ex.3,X509_NAME_print.3 | ||
2092 | X509_NAME_print_ex.3,X509_NAME_print_ex_fp.3 | 2043 | X509_NAME_print_ex.3,X509_NAME_print_ex_fp.3 |
2093 | X509_OBJECT_get0_X509.3,X509_OBJECT_free.3 | 2044 | X509_OBJECT_get0_X509.3,X509_OBJECT_free.3 |
2094 | X509_OBJECT_get0_X509.3,X509_OBJECT_free_contents.3 | ||
2095 | X509_OBJECT_get0_X509.3,X509_OBJECT_get0_X509_CRL.3 | 2045 | X509_OBJECT_get0_X509.3,X509_OBJECT_get0_X509_CRL.3 |
2096 | X509_OBJECT_get0_X509.3,X509_OBJECT_get_type.3 | 2046 | X509_OBJECT_get0_X509.3,X509_OBJECT_get_type.3 |
2097 | X509_OBJECT_get0_X509.3,X509_OBJECT_idx_by_subject.3 | 2047 | X509_OBJECT_get0_X509.3,X509_OBJECT_idx_by_subject.3 |
2098 | X509_OBJECT_get0_X509.3,X509_OBJECT_new.3 | 2048 | X509_OBJECT_get0_X509.3,X509_OBJECT_new.3 |
2099 | X509_OBJECT_get0_X509.3,X509_OBJECT_retrieve_by_subject.3 | 2049 | X509_OBJECT_get0_X509.3,X509_OBJECT_retrieve_by_subject.3 |
2100 | X509_OBJECT_get0_X509.3,X509_OBJECT_retrieve_match.3 | 2050 | X509_OBJECT_get0_X509.3,X509_OBJECT_retrieve_match.3 |
2101 | X509_OBJECT_get0_X509.3,X509_OBJECT_up_ref_count.3 | ||
2102 | X509_PKEY_new.3,X509_PKEY_free.3 | 2051 | X509_PKEY_new.3,X509_PKEY_free.3 |
2103 | X509_PUBKEY_new.3,X509_PUBKEY_free.3 | 2052 | X509_PUBKEY_new.3,X509_PUBKEY_free.3 |
2104 | X509_PUBKEY_new.3,X509_PUBKEY_get.3 | 2053 | X509_PUBKEY_new.3,X509_PUBKEY_get.3 |
@@ -2134,9 +2083,7 @@ X509_REQ_add1_attr.3,X509_REQ_get_attr_by_OBJ.3 | |||
2134 | X509_REQ_add1_attr.3,X509_REQ_get_attr_count.3 | 2083 | X509_REQ_add1_attr.3,X509_REQ_get_attr_count.3 |
2135 | X509_REQ_add_extensions.3,X509_REQ_add_extensions_nid.3 | 2084 | X509_REQ_add_extensions.3,X509_REQ_add_extensions_nid.3 |
2136 | X509_REQ_add_extensions.3,X509_REQ_extension_nid.3 | 2085 | X509_REQ_add_extensions.3,X509_REQ_extension_nid.3 |
2137 | X509_REQ_add_extensions.3,X509_REQ_get_extension_nids.3 | ||
2138 | X509_REQ_add_extensions.3,X509_REQ_get_extensions.3 | 2086 | X509_REQ_add_extensions.3,X509_REQ_get_extensions.3 |
2139 | X509_REQ_add_extensions.3,X509_REQ_set_extension_nids.3 | ||
2140 | X509_REQ_new.3,X509_REQ_INFO_free.3 | 2087 | X509_REQ_new.3,X509_REQ_INFO_free.3 |
2141 | X509_REQ_new.3,X509_REQ_INFO_new.3 | 2088 | X509_REQ_new.3,X509_REQ_INFO_new.3 |
2142 | X509_REQ_new.3,X509_REQ_dup.3 | 2089 | X509_REQ_new.3,X509_REQ_dup.3 |
@@ -2226,14 +2173,6 @@ X509_STORE_set1_param.3,X509_STORE_set_purpose.3 | |||
2226 | X509_STORE_set1_param.3,X509_STORE_set_trust.3 | 2173 | X509_STORE_set1_param.3,X509_STORE_set_trust.3 |
2227 | X509_STORE_set_verify_cb_func.3,X509_STORE_get_verify_cb.3 | 2174 | X509_STORE_set_verify_cb_func.3,X509_STORE_get_verify_cb.3 |
2228 | X509_STORE_set_verify_cb_func.3,X509_STORE_set_verify_cb.3 | 2175 | X509_STORE_set_verify_cb_func.3,X509_STORE_set_verify_cb.3 |
2229 | X509_TRUST_set.3,X509_TRUST_add.3 | ||
2230 | X509_TRUST_set.3,X509_TRUST_cleanup.3 | ||
2231 | X509_TRUST_set.3,X509_TRUST_get0.3 | ||
2232 | X509_TRUST_set.3,X509_TRUST_get0_name.3 | ||
2233 | X509_TRUST_set.3,X509_TRUST_get_by_id.3 | ||
2234 | X509_TRUST_set.3,X509_TRUST_get_count.3 | ||
2235 | X509_TRUST_set.3,X509_TRUST_get_flags.3 | ||
2236 | X509_TRUST_set.3,X509_TRUST_get_trust.3 | ||
2237 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_add0_table.3 | 2176 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_add0_table.3 |
2238 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_free.3 | 2177 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_free.3 |
2239 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_get0.3 | 2178 | X509_VERIFY_PARAM_new.3,X509_VERIFY_PARAM_get0.3 |
@@ -2269,7 +2208,6 @@ X509_check_host.3,X509_check_email.3 | |||
2269 | X509_check_host.3,X509_check_ip.3 | 2208 | X509_check_host.3,X509_check_ip.3 |
2270 | X509_check_host.3,X509_check_ip_asc.3 | 2209 | X509_check_host.3,X509_check_ip_asc.3 |
2271 | X509_check_private_key.3,X509_REQ_check_private_key.3 | 2210 | X509_check_private_key.3,X509_REQ_check_private_key.3 |
2272 | X509_check_trust.3,X509_TRUST_set_default.3 | ||
2273 | X509_cmp.3,X509_CRL_cmp.3 | 2211 | X509_cmp.3,X509_CRL_cmp.3 |
2274 | X509_cmp.3,X509_CRL_match.3 | 2212 | X509_cmp.3,X509_CRL_match.3 |
2275 | X509_cmp.3,X509_NAME_cmp.3 | 2213 | X509_cmp.3,X509_NAME_cmp.3 |
@@ -2309,6 +2247,7 @@ X509_get0_signature.3,X509_CRL_get_signature_nid.3 | |||
2309 | X509_get0_signature.3,X509_REQ_get0_signature.3 | 2247 | X509_get0_signature.3,X509_REQ_get0_signature.3 |
2310 | X509_get0_signature.3,X509_REQ_get_signature_nid.3 | 2248 | X509_get0_signature.3,X509_REQ_get_signature_nid.3 |
2311 | X509_get0_signature.3,X509_get0_tbs_sigalg.3 | 2249 | X509_get0_signature.3,X509_get0_tbs_sigalg.3 |
2250 | X509_get0_signature.3,X509_get_signature_info.3 | ||
2312 | X509_get0_signature.3,X509_get_signature_nid.3 | 2251 | X509_get0_signature.3,X509_get_signature_nid.3 |
2313 | X509_get0_signature.3,X509_get_signature_type.3 | 2252 | X509_get0_signature.3,X509_get_signature_type.3 |
2314 | X509_get1_email.3,X509_email_free.3 | 2253 | X509_get1_email.3,X509_email_free.3 |
@@ -2361,14 +2300,6 @@ X509_sign.3,X509_REQ_verify.3 | |||
2361 | X509_sign.3,X509_sign_ctx.3 | 2300 | X509_sign.3,X509_sign_ctx.3 |
2362 | X509_sign.3,X509_verify.3 | 2301 | X509_sign.3,X509_verify.3 |
2363 | X509_signature_dump.3,X509_signature_print.3 | 2302 | X509_signature_dump.3,X509_signature_print.3 |
2364 | X509at_add1_attr.3,X509at_add1_attr_by_NID.3 | ||
2365 | X509at_add1_attr.3,X509at_add1_attr_by_OBJ.3 | ||
2366 | X509at_add1_attr.3,X509at_add1_attr_by_txt.3 | ||
2367 | X509at_add1_attr.3,X509at_delete_attr.3 | ||
2368 | X509at_get_attr.3,X509at_get0_data_by_OBJ.3 | ||
2369 | X509at_get_attr.3,X509at_get_attr_by_NID.3 | ||
2370 | X509at_get_attr.3,X509at_get_attr_by_OBJ.3 | ||
2371 | X509at_get_attr.3,X509at_get_attr_count.3 | ||
2372 | X509v3_addr_add_inherit.3,X509v3_addr_add_prefix.3 | 2303 | X509v3_addr_add_inherit.3,X509v3_addr_add_prefix.3 |
2373 | X509v3_addr_add_inherit.3,X509v3_addr_add_range.3 | 2304 | X509v3_addr_add_inherit.3,X509v3_addr_add_range.3 |
2374 | X509v3_addr_add_inherit.3,X509v3_addr_canonize.3 | 2305 | X509v3_addr_add_inherit.3,X509v3_addr_canonize.3 |
@@ -2409,6 +2340,8 @@ X509v3_get_ext_by_NID.3,X509v3_get_ext.3 | |||
2409 | X509v3_get_ext_by_NID.3,X509v3_get_ext_by_OBJ.3 | 2340 | X509v3_get_ext_by_NID.3,X509v3_get_ext_by_OBJ.3 |
2410 | X509v3_get_ext_by_NID.3,X509v3_get_ext_by_critical.3 | 2341 | X509v3_get_ext_by_NID.3,X509v3_get_ext_by_critical.3 |
2411 | X509v3_get_ext_by_NID.3,X509v3_get_ext_count.3 | 2342 | X509v3_get_ext_by_NID.3,X509v3_get_ext_count.3 |
2343 | a2i_ipadd.3,a2i_IPADDRESS.3 | ||
2344 | a2i_ipadd.3,a2i_IPADDRESS_NC.3 | ||
2412 | bn_dump.3,bn_add_words.3 | 2345 | bn_dump.3,bn_add_words.3 |
2413 | bn_dump.3,bn_div_words.3 | 2346 | bn_dump.3,bn_div_words.3 |
2414 | bn_dump.3,bn_expand.3 | 2347 | bn_dump.3,bn_expand.3 |
@@ -2790,6 +2723,7 @@ tls_conn_version.3,tls_conn_cipher_strength.3 | |||
2790 | tls_conn_version.3,tls_conn_servername.3 | 2723 | tls_conn_version.3,tls_conn_servername.3 |
2791 | tls_conn_version.3,tls_conn_session_resumed.3 | 2724 | tls_conn_version.3,tls_conn_session_resumed.3 |
2792 | tls_conn_version.3,tls_peer_cert_chain_pem.3 | 2725 | tls_conn_version.3,tls_peer_cert_chain_pem.3 |
2726 | tls_conn_version.3,tls_peer_cert_common_name.3 | ||
2793 | tls_conn_version.3,tls_peer_cert_contains_name.3 | 2727 | tls_conn_version.3,tls_peer_cert_contains_name.3 |
2794 | tls_conn_version.3,tls_peer_cert_hash.3 | 2728 | tls_conn_version.3,tls_peer_cert_hash.3 |
2795 | tls_conn_version.3,tls_peer_cert_issuer.3 | 2729 | tls_conn_version.3,tls_peer_cert_issuer.3 |
@@ -2841,6 +2775,7 @@ tls_read.3,tls_close.3 | |||
2841 | tls_read.3,tls_error.3 | 2775 | tls_read.3,tls_error.3 |
2842 | tls_read.3,tls_handshake.3 | 2776 | tls_read.3,tls_handshake.3 |
2843 | tls_read.3,tls_write.3 | 2777 | tls_read.3,tls_write.3 |
2778 | v2i_ASN1_BIT_STRING.3,i2v_ASN1_BIT_STRING.3 | ||
2844 | x509_verify.3,x509_verify_ctx_chain.3 | 2779 | x509_verify.3,x509_verify_ctx_chain.3 |
2845 | x509_verify.3,x509_verify_ctx_error_depth.3 | 2780 | x509_verify.3,x509_verify_ctx_error_depth.3 |
2846 | x509_verify.3,x509_verify_ctx_error_string.3 | 2781 | x509_verify.3,x509_verify_ctx_error_string.3 |
diff --git a/patches/crypto_arch.h.patch b/patches/crypto_arch.h.patch new file mode 100644 index 0000000..6c889e5 --- /dev/null +++ b/patches/crypto_arch.h.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | --- crypto/arch/amd64/crypto_arch.h.orig Fri Feb 14 06:00:43 2025 | ||
2 | +++ crypto/arch/amd64/crypto_arch.h Fri Feb 14 06:01:13 2025 | ||
3 | @@ -40,6 +40,7 @@ extern uint64_t crypto_cpu_caps_amd64; | ||
4 | #define HAVE_RC4_INTERNAL | ||
5 | #define HAVE_RC4_SET_KEY_INTERNAL | ||
6 | |||
7 | +#if 0 | ||
8 | #define HAVE_SHA1_BLOCK_DATA_ORDER | ||
9 | #define HAVE_SHA1_BLOCK_GENERIC | ||
10 | |||
11 | @@ -48,6 +49,7 @@ extern uint64_t crypto_cpu_caps_amd64; | ||
12 | |||
13 | #define HAVE_SHA512_BLOCK_DATA_ORDER | ||
14 | #define HAVE_SHA512_BLOCK_GENERIC | ||
15 | +#endif | ||
16 | |||
17 | #endif | ||
18 | |||
19 | --- crypto/arch/aarch64/crypto_arch.h.orig Thu Mar 13 05:42:37 2025 | ||
20 | +++ crypto/arch/aarch64/crypto_arch.h Thu Mar 13 05:47:39 2025 | ||
21 | @@ -33,11 +33,13 @@ | ||
22 | #define CRYPTO_CPU_CAPS_AARCH64_SHA512 (1ULL << 4) | ||
23 | #define CRYPTO_CPU_CAPS_AARCH64_SHA3 (1ULL << 5) | ||
24 | |||
25 | +#if 0 | ||
26 | #ifndef OPENSSL_NO_ASM | ||
27 | |||
28 | #define HAVE_SHA256_BLOCK_DATA_ORDER | ||
29 | #define HAVE_SHA512_BLOCK_DATA_ORDER | ||
30 | |||
31 | +#endif | ||
32 | #endif | ||
33 | |||
34 | #endif | ||
diff --git a/patches/crypto_namespace.h.patch b/patches/crypto_namespace.h.patch index c18f0da..400030f 100644 --- a/patches/crypto_namespace.h.patch +++ b/patches/crypto_namespace.h.patch | |||
@@ -1,5 +1,5 @@ | |||
1 | --- crypto/hidden/crypto_namespace.h.orig 2024-04-09 10:12:22.320737957 +0200 | 1 | --- crypto/hidden/crypto_namespace.h.orig Fri Aug 2 23:52:55 2024 |
2 | +++ crypto/hidden/crypto_namespace.h 2024-04-11 09:09:31.163350515 +0200 | 2 | +++ crypto/hidden/crypto_namespace.h Fri Aug 2 23:53:17 2024 |
3 | @@ -24,6 +24,12 @@ | 3 | @@ -24,6 +24,12 @@ |
4 | * external calls use the latter name. | 4 | * external calls use the latter name. |
5 | */ | 5 | */ |
@@ -13,7 +13,7 @@ | |||
13 | #ifdef LIBRESSL_NAMESPACE | 13 | #ifdef LIBRESSL_NAMESPACE |
14 | #ifdef LIBRESSL_CRYPTO_NAMESPACE | 14 | #ifdef LIBRESSL_CRYPTO_NAMESPACE |
15 | # define LCRYPTO_UNUSED(x) __attribute__((deprecated)) \ | 15 | # define LCRYPTO_UNUSED(x) __attribute__((deprecated)) \ |
16 | @@ -43,5 +49,6 @@ | 16 | @@ -47,5 +53,6 @@ |
17 | # define LCRYPTO_ALIAS1(pre,x) | 17 | # define LCRYPTO_ALIAS1(pre,x) |
18 | # define LCRYPTO_ALIAS(x) asm("") | 18 | # define LCRYPTO_ALIAS(x) asm("") |
19 | #endif | 19 | #endif |
diff --git a/patches/netcat.c.patch b/patches/netcat.c.patch index 9c3a450..319aca6 100644 --- a/patches/netcat.c.patch +++ b/patches/netcat.c.patch | |||
@@ -1,5 +1,5 @@ | |||
1 | --- apps/nc/netcat.c.orig Tue Aug 15 15:17:28 2023 | 1 | --- apps/nc/netcat.c.orig Sat Aug 17 03:21:05 2024 |
2 | +++ apps/nc/netcat.c Tue Aug 15 15:17:54 2023 | 2 | +++ apps/nc/netcat.c Sat Aug 17 03:28:50 2024 |
3 | @@ -93,9 +93,13 @@ int zflag; /* Port Scan Flag */ | 3 | @@ -93,9 +93,13 @@ int zflag; /* Port Scan Flag */ |
4 | int Dflag; /* sodebug */ | 4 | int Dflag; /* sodebug */ |
5 | int Iflag; /* TCP receive buffer size */ | 5 | int Iflag; /* TCP receive buffer size */ |
@@ -53,7 +53,7 @@ | |||
53 | 53 | ||
54 | /* Cruft to make sure options are clean, and used properly. */ | 54 | /* Cruft to make sure options are clean, and used properly. */ |
55 | if (argc == 1 && family == AF_UNIX) { | 55 | if (argc == 1 && family == AF_UNIX) { |
56 | @@ -927,7 +937,10 @@ remote_connect(const char *host, const char *port, str | 56 | @@ -923,7 +933,10 @@ remote_connect(const char *host, const char *port, str |
57 | char *ipaddr) | 57 | char *ipaddr) |
58 | { | 58 | { |
59 | struct addrinfo *res, *res0; | 59 | struct addrinfo *res, *res0; |
@@ -65,7 +65,7 @@ | |||
65 | 65 | ||
66 | if ((error = getaddrinfo(host, port, &hints, &res0))) | 66 | if ((error = getaddrinfo(host, port, &hints, &res0))) |
67 | errx(1, "getaddrinfo for host \"%s\" port %s: %s", host, | 67 | errx(1, "getaddrinfo for host \"%s\" port %s: %s", host, |
68 | @@ -942,8 +955,10 @@ remote_connect(const char *host, const char *port, str | 68 | @@ -938,8 +951,10 @@ remote_connect(const char *host, const char *port, str |
69 | if (sflag || pflag) { | 69 | if (sflag || pflag) { |
70 | struct addrinfo ahints, *ares; | 70 | struct addrinfo ahints, *ares; |
71 | 71 | ||
@@ -76,7 +76,7 @@ | |||
76 | memset(&ahints, 0, sizeof(struct addrinfo)); | 76 | memset(&ahints, 0, sizeof(struct addrinfo)); |
77 | ahints.ai_family = res->ai_family; | 77 | ahints.ai_family = res->ai_family; |
78 | ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM; | 78 | ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM; |
79 | @@ -1035,7 +1050,10 @@ int | 79 | @@ -1031,7 +1046,10 @@ int |
80 | local_listen(const char *host, const char *port, struct addrinfo hints) | 80 | local_listen(const char *host, const char *port, struct addrinfo hints) |
81 | { | 81 | { |
82 | struct addrinfo *res, *res0; | 82 | struct addrinfo *res, *res0; |
@@ -88,7 +88,7 @@ | |||
88 | int error; | 88 | int error; |
89 | 89 | ||
90 | /* Allow nodename to be null. */ | 90 | /* Allow nodename to be null. */ |
91 | @@ -1056,9 +1074,11 @@ local_listen(const char *host, const char *port, struc | 91 | @@ -1052,9 +1070,11 @@ local_listen(const char *host, const char *port, struc |
92 | res->ai_protocol)) == -1) | 92 | res->ai_protocol)) == -1) |
93 | continue; | 93 | continue; |
94 | 94 | ||
@@ -100,7 +100,7 @@ | |||
100 | 100 | ||
101 | set_common_sockopts(s, res->ai_family); | 101 | set_common_sockopts(s, res->ai_family); |
102 | 102 | ||
103 | @@ -1563,11 +1583,13 @@ set_common_sockopts(int s, int af) | 103 | @@ -1559,11 +1579,13 @@ set_common_sockopts(int s, int af) |
104 | { | 104 | { |
105 | int x = 1; | 105 | int x = 1; |
106 | 106 | ||
@@ -114,7 +114,7 @@ | |||
114 | if (Dflag) { | 114 | if (Dflag) { |
115 | if (setsockopt(s, SOL_SOCKET, SO_DEBUG, | 115 | if (setsockopt(s, SOL_SOCKET, SO_DEBUG, |
116 | &x, sizeof(x)) == -1) | 116 | &x, sizeof(x)) == -1) |
117 | @@ -1578,9 +1600,16 @@ set_common_sockopts(int s, int af) | 117 | @@ -1574,9 +1596,16 @@ set_common_sockopts(int s, int af) |
118 | IP_TOS, &Tflag, sizeof(Tflag)) == -1) | 118 | IP_TOS, &Tflag, sizeof(Tflag)) == -1) |
119 | err(1, "set IP ToS"); | 119 | err(1, "set IP ToS"); |
120 | 120 | ||
@@ -131,7 +131,7 @@ | |||
131 | } | 131 | } |
132 | if (Iflag) { | 132 | if (Iflag) { |
133 | if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, | 133 | if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, |
134 | @@ -1604,13 +1633,17 @@ set_common_sockopts(int s, int af) | 134 | @@ -1600,13 +1629,17 @@ set_common_sockopts(int s, int af) |
135 | } | 135 | } |
136 | 136 | ||
137 | if (minttl != -1) { | 137 | if (minttl != -1) { |
@@ -150,7 +150,7 @@ | |||
150 | } | 150 | } |
151 | } | 151 | } |
152 | 152 | ||
153 | @@ -1835,15 +1868,19 @@ help(void) | 153 | @@ -1831,15 +1864,19 @@ help(void) |
154 | \t-P proxyuser\tUsername for proxy authentication\n\ | 154 | \t-P proxyuser\tUsername for proxy authentication\n\ |
155 | \t-p port\t Specify local port for remote connects\n\ | 155 | \t-p port\t Specify local port for remote connects\n\ |
156 | \t-R CAfile CA bundle\n\ | 156 | \t-R CAfile CA bundle\n\ |
diff --git a/patches/openssl.c.patch b/patches/openssl.c.patch index 15afb78..5ba5ac6 100644 --- a/patches/openssl.c.patch +++ b/patches/openssl.c.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | --- apps/openssl/openssl.c.orig Mon Mar 4 13:39:56 2024 | 1 | --- apps/openssl/openssl.c.orig Thu Jan 2 08:27:54 2025 |
2 | +++ apps/openssl/openssl.c Mon Mar 4 13:40:15 2024 | 2 | +++ apps/openssl/openssl.c Thu Jan 2 08:28:04 2025 |
3 | @@ -348,7 +348,9 @@ | 3 | @@ -344,7 +344,9 @@ BIO *bio_err = NULL; |
4 | static void | 4 | static void |
5 | openssl_startup(void) | 5 | openssl_startup(void) |
6 | { | 6 | { |
diff --git a/patches/opensslfeatures.h.patch b/patches/opensslfeatures.h.patch index 618de73..77df5dc 100644 --- a/patches/opensslfeatures.h.patch +++ b/patches/opensslfeatures.h.patch | |||
@@ -14,3 +14,25 @@ | |||
14 | #define OPENSSL_THREADS | 14 | #define OPENSSL_THREADS |
15 | 15 | ||
16 | #define OPENSSL_NO_BUF_FREELISTS | 16 | #define OPENSSL_NO_BUF_FREELISTS |
17 | --- crypto/crypto_internal.h.orig Sat Dec 14 14:15:39 2024 | ||
18 | +++ crypto/crypto_internal.h Sat Dec 14 14:15:52 2024 | ||
19 | @@ -15,6 +15,8 @@ | ||
20 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
21 | */ | ||
22 | |||
23 | +#include <openssl/opensslfeatures.h> | ||
24 | + | ||
25 | #include <endian.h> | ||
26 | #include <stddef.h> | ||
27 | #include <stdint.h> | ||
28 | --- tests/parse_test_file.h.orig Thu Dec 26 01:13:00 2024 | ||
29 | +++ tests/parse_test_file.h Thu Dec 26 01:13:27 2024 | ||
30 | @@ -22,6 +22,8 @@ | ||
31 | #include <stdint.h> | ||
32 | #include <stdio.h> | ||
33 | |||
34 | +#include <openssl/opensslfeatures.h> | ||
35 | + | ||
36 | #include "bytestring.h" | ||
37 | |||
38 | #if defined(__cplusplus) | ||
diff --git a/patches/patch-aarch64-crypto-cpu-caps.c.patch b/patches/patch-aarch64-crypto-cpu-caps.c.patch new file mode 100644 index 0000000..dcfbdc0 --- /dev/null +++ b/patches/patch-aarch64-crypto-cpu-caps.c.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | Disable feature detection until we find a more portable way. | ||
2 | |||
3 | --- crypto/arch/aarch64/crypto_cpu_caps.c.orig Sat Dec 14 13:45:16 2024 | ||
4 | +++ crypto/arch/aarch64/crypto_cpu_caps.c Sat Dec 14 13:54:06 2024 | ||
5 | @@ -16,9 +16,12 @@ | ||
6 | */ | ||
7 | |||
8 | #include <sys/types.h> | ||
9 | + | ||
10 | +#if defined(__OpenBSD__) | ||
11 | #include <sys/sysctl.h> | ||
12 | |||
13 | #include <machine/cpu.h> | ||
14 | +#endif | ||
15 | |||
16 | #include <stddef.h> | ||
17 | #include <stdio.h> | ||
18 | @@ -67,6 +70,7 @@ parse_isar0(uint64_t isar0) | ||
19 | return caps; | ||
20 | } | ||
21 | |||
22 | +#if defined(__OpenBSD__) | ||
23 | static int | ||
24 | read_isar0(uint64_t *isar0) | ||
25 | { | ||
26 | @@ -84,6 +88,13 @@ read_isar0(uint64_t *isar0) | ||
27 | |||
28 | return 1; | ||
29 | } | ||
30 | +#else | ||
31 | +static int | ||
32 | +read_isar0(uint64_t *isar0) | ||
33 | +{ | ||
34 | + return 0; | ||
35 | +} | ||
36 | +#endif | ||
37 | |||
38 | void | ||
39 | crypto_cpu_caps_init(void) | ||
diff --git a/patches/patch-amd64-crypto-cpu-caps.c.patch b/patches/patch-amd64-crypto-cpu-caps.c.patch new file mode 100644 index 0000000..5fd7524 --- /dev/null +++ b/patches/patch-amd64-crypto-cpu-caps.c.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | --- crypto/arch/amd64/crypto_cpu_caps.c.orig Sat Dec 14 13:45:16 2024 | ||
2 | +++ crypto/arch/amd64/crypto_cpu_caps.c Sat Dec 14 13:54:06 2024 | ||
3 | @@ -37,7 +37,7 @@ cpuid(uint32_t eax, uint32_t *out_eax, uint32_t *out_e | ||
4 | { | ||
5 | uint32_t ebx = 0, ecx = 0, edx = 0; | ||
6 | |||
7 | -#ifndef OPENSSL_NO_ASM | ||
8 | +#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) | ||
9 | __asm__ ("cpuid": "+a"(eax), "+b"(ebx), "+c"(ecx), "+d"(edx)); | ||
10 | #else | ||
11 | eax = 0; | ||
12 | @@ -58,7 +58,7 @@ xgetbv(uint32_t ecx, uint32_t *out_eax, uint32_t *out_ | ||
13 | { | ||
14 | uint32_t eax = 0, edx = 0; | ||
15 | |||
16 | -#ifndef OPENSSL_NO_ASM | ||
17 | +#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) | ||
18 | __asm__ ("xgetbv": "+a"(eax), "+c"(ecx), "+d"(edx)); | ||
19 | #endif | ||
20 | |||
diff --git a/patches/patch-i386-crypto-cpu-caps.c.patch b/patches/patch-i386-crypto-cpu-caps.c.patch new file mode 100644 index 0000000..c85e33c --- /dev/null +++ b/patches/patch-i386-crypto-cpu-caps.c.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | --- crypto/arch/i386/crypto_cpu_caps.c.orig Fri Oct 18 17:35:20 2024 | ||
2 | +++ crypto/arch/i386/crypto_cpu_caps.c Fri Oct 18 17:39:13 2024 | ||
3 | @@ -33,7 +33,7 @@ cpuid(uint32_t eax, uint32_t *out_eax, uint32_t *out_e | ||
4 | { | ||
5 | uint32_t ebx = 0, ecx = 0, edx = 0; | ||
6 | |||
7 | -#ifndef OPENSSL_NO_ASM | ||
8 | +#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) | ||
9 | __asm__ ("cpuid": "+a"(eax), "+b"(ebx), "+c"(ecx), "+d"(edx)); | ||
10 | #else | ||
11 | eax = 0; | ||
12 | @@ -54,7 +54,7 @@ xgetbv(uint32_t ecx, uint32_t *out_eax, uint32_t *out_ | ||
13 | { | ||
14 | uint32_t eax = 0, edx = 0; | ||
15 | |||
16 | -#ifndef OPENSSL_NO_ASM | ||
17 | +#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) | ||
18 | __asm__ ("xgetbv": "+a"(eax), "+c"(ecx), "+d"(edx)); | ||
19 | #endif | ||
20 | |||
diff --git a/patches/speed.c.patch b/patches/speed.c.patch index c29ef4d..e1f1698 100644 --- a/patches/speed.c.patch +++ b/patches/speed.c.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | --- apps/openssl/speed.c.orig Sat Jul 13 11:02:51 2024 | 1 | --- apps/openssl/speed.c.orig Thu Jan 2 08:04:28 2025 |
2 | +++ apps/openssl/speed.c Sat Jul 13 10:27:25 2024 | 2 | +++ apps/openssl/speed.c Thu Jan 2 08:04:38 2025 |
3 | @@ -161,7 +161,16 @@ | 3 | @@ -158,7 +158,16 @@ static void |
4 | pkey_print_message(const char *str, const char *str2, | 4 | pkey_print_message(const char *str, const char *str2, |
5 | long num, int bits, int sec); | 5 | long num, int bits, int sec); |
6 | static void print_result(int alg, int run_no, int count, double time_used); | 6 | static void print_result(int alg, int run_no, int count, double time_used); |
@@ -17,7 +17,7 @@ | |||
17 | 17 | ||
18 | #define ALGOR_NUM 32 | 18 | #define ALGOR_NUM 32 |
19 | #define SIZE_NUM 5 | 19 | #define SIZE_NUM 5 |
20 | @@ -430,8 +439,10 @@ | 20 | @@ -1129,8 +1138,10 @@ speed_main(int argc, char **argv) |
21 | const EVP_CIPHER *evp_cipher = NULL; | 21 | const EVP_CIPHER *evp_cipher = NULL; |
22 | const EVP_MD *evp_md = NULL; | 22 | const EVP_MD *evp_md = NULL; |
23 | int decrypt = 0; | 23 | int decrypt = 0; |
@@ -28,7 +28,7 @@ | |||
28 | const char *errstr = NULL; | 28 | const char *errstr = NULL; |
29 | 29 | ||
30 | if (pledge("stdio proc", NULL) == -1) { | 30 | if (pledge("stdio proc", NULL) == -1) { |
31 | @@ -506,6 +517,7 @@ | 31 | @@ -1205,6 +1216,7 @@ speed_main(int argc, char **argv) |
32 | decrypt = 1; | 32 | decrypt = 1; |
33 | j--; /* Otherwise, -decrypt gets confused with an | 33 | j--; /* Otherwise, -decrypt gets confused with an |
34 | * algorithm. */ | 34 | * algorithm. */ |
@@ -36,7 +36,7 @@ | |||
36 | } else if (argc > 0 && strcmp(*argv, "-multi") == 0) { | 36 | } else if (argc > 0 && strcmp(*argv, "-multi") == 0) { |
37 | argc--; | 37 | argc--; |
38 | argv++; | 38 | argv++; |
39 | @@ -520,6 +532,7 @@ | 39 | @@ -1219,6 +1231,7 @@ speed_main(int argc, char **argv) |
40 | } | 40 | } |
41 | j--; /* Otherwise, -multi gets confused with an | 41 | j--; /* Otherwise, -multi gets confused with an |
42 | * algorithm. */ | 42 | * algorithm. */ |
@@ -44,7 +44,7 @@ | |||
44 | } else if (argc > 0 && strcmp(*argv, "-unaligned") == 0) { | 44 | } else if (argc > 0 && strcmp(*argv, "-unaligned") == 0) { |
45 | argc--; | 45 | argc--; |
46 | argv++; | 46 | argv++; |
47 | @@ -851,7 +864,9 @@ | 47 | @@ -1542,7 +1555,9 @@ speed_main(int argc, char **argv) |
48 | BIO_printf(bio_err, "-evp e use EVP e.\n"); | 48 | BIO_printf(bio_err, "-evp e use EVP e.\n"); |
49 | BIO_printf(bio_err, "-decrypt time decryption instead of encryption (only EVP).\n"); | 49 | BIO_printf(bio_err, "-decrypt time decryption instead of encryption (only EVP).\n"); |
50 | BIO_printf(bio_err, "-mr produce machine readable output.\n"); | 50 | BIO_printf(bio_err, "-mr produce machine readable output.\n"); |
@@ -54,7 +54,7 @@ | |||
54 | BIO_printf(bio_err, "-unaligned n use buffers with offset n from proper alignment.\n"); | 54 | BIO_printf(bio_err, "-unaligned n use buffers with offset n from proper alignment.\n"); |
55 | goto end; | 55 | goto end; |
56 | } | 56 | } |
57 | @@ -860,8 +875,10 @@ | 57 | @@ -1551,8 +1566,10 @@ speed_main(int argc, char **argv) |
58 | j++; | 58 | j++; |
59 | } | 59 | } |
60 | 60 | ||
@@ -65,7 +65,7 @@ | |||
65 | 65 | ||
66 | if (j == 0) { | 66 | if (j == 0) { |
67 | for (i = 0; i < ALGOR_NUM; i++) { | 67 | for (i = 0; i < ALGOR_NUM; i++) { |
68 | @@ -933,11 +950,13 @@ | 68 | @@ -1624,11 +1641,13 @@ speed_main(int argc, char **argv) |
69 | #define COND(c) (run && count<0x7fffffff) | 69 | #define COND(c) (run && count<0x7fffffff) |
70 | #define COUNT(d) (count) | 70 | #define COUNT(d) (count) |
71 | 71 | ||
@@ -79,7 +79,7 @@ | |||
79 | 79 | ||
80 | #ifndef OPENSSL_NO_MD4 | 80 | #ifndef OPENSSL_NO_MD4 |
81 | if (doit[D_MD4]) { | 81 | if (doit[D_MD4]) { |
82 | @@ -1743,7 +1762,9 @@ | 82 | @@ -2434,7 +2453,9 @@ speed_main(int argc, char **argv) |
83 | ecdh_doit[j] = 0; | 83 | ecdh_doit[j] = 0; |
84 | } | 84 | } |
85 | } | 85 | } |
@@ -89,7 +89,7 @@ | |||
89 | if (!mr) { | 89 | if (!mr) { |
90 | fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_VERSION)); | 90 | fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_VERSION)); |
91 | fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_BUILT_ON)); | 91 | fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_BUILT_ON)); |
92 | @@ -1899,11 +1920,15 @@ | 92 | @@ -2590,11 +2611,15 @@ pkey_print_message(const char *str, const char *str2, |
93 | static void | 93 | static void |
94 | print_result(int alg, int run_no, int count, double time_used) | 94 | print_result(int alg, int run_no, int count, double time_used) |
95 | { | 95 | { |
@@ -105,9 +105,10 @@ | |||
105 | static char * | 105 | static char * |
106 | sstrsep(char **string, const char *delim) | 106 | sstrsep(char **string, const char *delim) |
107 | { | 107 | { |
108 | @@ -2104,4 +2129,5 @@ | 108 | @@ -2795,5 +2820,6 @@ do_multi(int multi) |
109 | free(fds); | 109 | free(fds); |
110 | return 1; | 110 | return 1; |
111 | } | 111 | } |
112 | +#endif | 112 | +#endif |
113 | #endif | 113 | |
114 | #endif /* OPENSSL_NO_SPEED */ | ||
diff --git a/patches/ssl_namespace.h.patch b/patches/ssl_namespace.h.patch index 758f8dc..eb9c7a2 100644 --- a/patches/ssl_namespace.h.patch +++ b/patches/ssl_namespace.h.patch | |||
@@ -1,5 +1,5 @@ | |||
1 | --- openbsd/src/lib/libssl/hidden/ssl_namespace.h 2023-03-15 11:41:52.481641800 -0600 | 1 | --- ssl/hidden/ssl_namespace.h.orig Fri Aug 2 23:52:55 2024 |
2 | +++ ssl/hidden/ssl_namespace.h 2023-03-15 17:28:04.685309300 -0600 | 2 | +++ ssl/hidden/ssl_namespace.h Fri Aug 2 23:53:17 2024 |
3 | @@ -23,6 +23,11 @@ | 3 | @@ -23,6 +23,11 @@ |
4 | * and we alias that to the normal name. | 4 | * and we alias that to the normal name. |
5 | */ | 5 | */ |
@@ -12,7 +12,7 @@ | |||
12 | #ifdef LIBRESSL_NAMESPACE | 12 | #ifdef LIBRESSL_NAMESPACE |
13 | #define LSSL_UNUSED(x) typeof(x) x __attribute__((deprecated)) | 13 | #define LSSL_UNUSED(x) typeof(x) x __attribute__((deprecated)) |
14 | #define LSSL_USED(x) __attribute__((visibility("hidden"))) \ | 14 | #define LSSL_USED(x) __attribute__((visibility("hidden"))) \ |
15 | @@ -33,5 +38,6 @@ | 15 | @@ -37,5 +42,6 @@ |
16 | #define LSSL_USED(x) | 16 | #define LSSL_USED(x) |
17 | #define LSSL_ALIAS(x) asm("") | 17 | #define LSSL_ALIAS(x) asm("") |
18 | #endif | 18 | #endif |
diff --git a/patches/tls_config.c.patch b/patches/tls_config.c.patch new file mode 100644 index 0000000..1342a60 --- /dev/null +++ b/patches/tls_config.c.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | uid_t can be 64-bit | ||
2 | |||
3 | --- tls/tls_config.c.orig 2024-11-02 21:19:47.090322191 +0100 | ||
4 | +++ tls/tls_config.c 2024-11-02 21:38:22.527071689 +0100 | ||
5 | @@ -742,8 +742,8 @@ | ||
6 | |||
7 | if (sb.st_uid != getuid()) { | ||
8 | tls_config_set_errorx(config, TLS_ERROR_UNKNOWN, | ||
9 | - "session file has incorrect owner (uid %u != %u)", | ||
10 | - sb.st_uid, getuid()); | ||
11 | + "session file has incorrect owner (uid %llu != %llu)", | ||
12 | + (unsigned long long)sb.st_uid, (unsigned long long)getuid()); | ||
13 | return (-1); | ||
14 | } | ||
15 | mugo = sb.st_mode & (S_IRWXU|S_IRWXG|S_IRWXO); | ||
diff --git a/scripts/test b/scripts/test index e389728..a93fe90 100755 --- a/scripts/test +++ b/scripts/test | |||
@@ -2,7 +2,14 @@ | |||
2 | set -e | 2 | set -e |
3 | set -x | 3 | set -x |
4 | 4 | ||
5 | unset CC | 5 | if [ "$ARCH" = "" ]; then |
6 | ARCH=`uname -m` | ||
7 | fi | ||
8 | |||
9 | if [ "$ARCH" = "mingw32" -o "$ARCH" = "mingw64" -o "$ARCH" = "arm32" ]; then | ||
10 | unset CC | ||
11 | fi | ||
12 | |||
6 | ENABLE_ASM="${ENABLE_ASM:=ON}" | 13 | ENABLE_ASM="${ENABLE_ASM:=ON}" |
7 | 14 | ||
8 | if type apt-get >/dev/null 2>&1; then | 15 | if type apt-get >/dev/null 2>&1; then |
@@ -15,10 +22,6 @@ fi | |||
15 | 22 | ||
16 | VERSION=`cat VERSION` | 23 | VERSION=`cat VERSION` |
17 | 24 | ||
18 | if [ "$ARCH" = "" ]; then | ||
19 | ARCH=`uname -m` | ||
20 | fi | ||
21 | |||
22 | # test macOS | 25 | # test macOS |
23 | if [ `uname` = "Darwin" ]; then | 26 | if [ `uname` = "Darwin" ]; then |
24 | # test autotools | 27 | # test autotools |
@@ -129,6 +132,21 @@ elif [ "$ARCH" = "arm32" -o "$ARCH" = "arm64" ]; then | |||
129 | 132 | ||
130 | file apps/openssl/.libs/openssl | 133 | file apps/openssl/.libs/openssl |
131 | 134 | ||
135 | elif [ "$ARCH" = "loong64" ]; then | ||
136 | sudo apt install -y qemu-user-static binfmt-support g++-14-loongarch64-linux-gnu | ||
137 | sudo ln -sf /usr/loongarch64-linux-gnu/lib64/ld-linux-loongarch-lp64d.so.1 /lib64 | ||
138 | |||
139 | CC=loongarch64-linux-gnu-gcc-14 | ||
140 | CXX=loongarch64-linux-gnu++-14 | ||
141 | AR=loongarch64-linux-gnu-ar | ||
142 | STRIP=loongarch64-linux-gnu-strip-14 | ||
143 | RANLIB=loongarch64-linux-gnu-ranlib | ||
144 | |||
145 | ./configure --host=loongarch64-linux-gnu | ||
146 | LD_LIBRARY_PATH=/usr/loongarch64-linux-gnu/lib make -j 4 check | ||
147 | |||
148 | file apps/openssl/openssl | ||
149 | |||
132 | elif [ "$ARCH" = "mips32" -o "$ARCH" = "mips64" ]; then | 150 | elif [ "$ARCH" = "mips32" -o "$ARCH" = "mips64" ]; then |
133 | sudo apt-get install -y qemu-user-static binfmt-support | 151 | sudo apt-get install -y qemu-user-static binfmt-support |
134 | 152 | ||
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index e2eeab5..cd7e335 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt | |||
@@ -72,6 +72,13 @@ target_include_directories(ssl_obj | |||
72 | ../include | 72 | ../include |
73 | ${CMAKE_BINARY_DIR}/include) | 73 | ${CMAKE_BINARY_DIR}/include) |
74 | 74 | ||
75 | if(MSVC) | ||
76 | # "C4702" - unreachable code | ||
77 | set_source_files_properties(d1_pkt.c s3_cbc.c PROPERTIES | ||
78 | COMPILE_OPTIONS /wd4702 | ||
79 | ) | ||
80 | endif() | ||
81 | |||
75 | add_library(bs_obj OBJECT ${BS_SRC}) | 82 | add_library(bs_obj OBJECT ${BS_SRC}) |
76 | target_include_directories(bs_obj | 83 | target_include_directories(bs_obj |
77 | PRIVATE | 84 | PRIVATE |
@@ -86,16 +93,16 @@ endif() | |||
86 | 93 | ||
87 | export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym) | 94 | export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym) |
88 | target_link_libraries(ssl crypto ${PLATFORM_LIBS}) | 95 | target_link_libraries(ssl crypto ${PLATFORM_LIBS}) |
89 | if (WIN32) | ||
90 | set(SSL_POSTFIX -${SSL_MAJOR_VERSION} PARENT_SCOPE) | ||
91 | endif() | ||
92 | set_target_properties(ssl PROPERTIES | 96 | set_target_properties(ssl PROPERTIES |
93 | OUTPUT_NAME ssl${SSL_POSTFIX} | 97 | OUTPUT_NAME ssl |
94 | ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX} | 98 | ARCHIVE_OUTPUT_NAME ssl |
95 | EXPORT_NAME SSL | 99 | EXPORT_NAME SSL |
96 | VERSION ${SSL_VERSION} | 100 | VERSION ${SSL_VERSION} |
97 | SOVERSION ${SSL_MAJOR_VERSION} | 101 | SOVERSION ${SSL_MAJOR_VERSION} |
98 | ) | 102 | ) |
103 | if(NOT CMAKE_VERSION VERSION_LESS 3.27.0) | ||
104 | set_target_properties(ssl PROPERTIES DLL_NAME_WITH_SOVERSION TRUE) | ||
105 | endif() | ||
99 | 106 | ||
100 | target_include_directories( | 107 | target_include_directories( |
101 | ssl | 108 | ssl |
@@ -104,6 +111,30 @@ target_include_directories( | |||
104 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> | 111 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> |
105 | ) | 112 | ) |
106 | 113 | ||
114 | if(HOST_AARCH64) | ||
115 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/aarch64/) | ||
116 | elseif(HOST_ARM) | ||
117 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/arm/) | ||
118 | elseif(HOST_I386) | ||
119 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/i386/) | ||
120 | elseif(HOST_LOONGARCH64) | ||
121 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/loongarch64) | ||
122 | elseif(HOST_MIPS64) | ||
123 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips64) | ||
124 | elseif(HOST_MIPS) | ||
125 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips) | ||
126 | elseif(HOST_POWERPC) | ||
127 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/powerpc) | ||
128 | elseif(HOST_POWERPC64) | ||
129 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/powerpc64) | ||
130 | elseif(HOST_RISCV64) | ||
131 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/riscv64) | ||
132 | elseif(HOST_SPARC64) | ||
133 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/sparc64) | ||
134 | elseif(HOST_X86_64) | ||
135 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/amd64) | ||
136 | endif() | ||
137 | |||
107 | install( | 138 | install( |
108 | TARGETS ssl | 139 | TARGETS ssl |
109 | EXPORT SSL-target | 140 | EXPORT SSL-target |
@@ -135,4 +166,3 @@ if(BUILD_SHARED_LIBS) | |||
135 | add_library(ssl-static STATIC $<TARGET_OBJECTS:ssl_obj>) | 166 | add_library(ssl-static STATIC $<TARGET_OBJECTS:ssl_obj>) |
136 | target_link_libraries(ssl-static crypto-static ${PLATFORM_LIBS}) | 167 | target_link_libraries(ssl-static crypto-static ${PLATFORM_LIBS}) |
137 | endif() | 168 | endif() |
138 | |||
diff --git a/ssl/Makefile.am b/ssl/Makefile.am index a7a7d72..2c84bff 100644 --- a/ssl/Makefile.am +++ b/ssl/Makefile.am | |||
@@ -114,3 +114,59 @@ noinst_HEADERS += tls12_internal.h | |||
114 | noinst_HEADERS += tls13_internal.h | 114 | noinst_HEADERS += tls13_internal.h |
115 | noinst_HEADERS += tls13_handshake.h | 115 | noinst_HEADERS += tls13_handshake.h |
116 | noinst_HEADERS += tls13_record.h | 116 | noinst_HEADERS += tls13_record.h |
117 | |||
118 | # arch | ||
119 | if HOST_AARCH64 | ||
120 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/aarch64/ | ||
121 | endif | ||
122 | noinst_HEADERS += $(top_srcdir)/crypto/arch/aarch64/crypto_arch.h | ||
123 | |||
124 | if HOST_ARM | ||
125 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/arm/ | ||
126 | endif | ||
127 | noinst_HEADERS += $(top_srcdir)/crypto/arch/arm/crypto_arch.h | ||
128 | |||
129 | if HOST_I386 | ||
130 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ | ||
131 | endif | ||
132 | noinst_HEADERS += $(top_srcdir)/crypto/arch/i386/crypto_arch.h | ||
133 | |||
134 | if HOST_LOONGARCH64 | ||
135 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
136 | endif | ||
137 | noinst_HEADERS += $(top_srcdir)/crypto/arch/loongarch64/crypto_arch.h | ||
138 | |||
139 | if HOST_MIPS | ||
140 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips/ | ||
141 | endif | ||
142 | noinst_HEADERS += $(top_srcdir)/crypto/arch/mips/crypto_arch.h | ||
143 | |||
144 | if HOST_MIPS64 | ||
145 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips64/ | ||
146 | endif | ||
147 | noinst_HEADERS += $(top_srcdir)/crypto/arch/mips64/crypto_arch.h | ||
148 | |||
149 | if HOST_POWERPC | ||
150 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc/ | ||
151 | endif | ||
152 | noinst_HEADERS += $(top_srcdir)/crypto/arch/powerpc/crypto_arch.h | ||
153 | |||
154 | if HOST_POWERPC64 | ||
155 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc64/ | ||
156 | endif | ||
157 | noinst_HEADERS += $(top_srcdir)/crypto/arch/powerpc64/crypto_arch.h | ||
158 | |||
159 | if HOST_RISCV64 | ||
160 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/riscv64/ | ||
161 | endif | ||
162 | noinst_HEADERS += $(top_srcdir)/crypto/arch/riscv64/crypto_arch.h | ||
163 | |||
164 | if HOST_SPARC64 | ||
165 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/sparc64/ | ||
166 | endif | ||
167 | noinst_HEADERS += $(top_srcdir)/crypto/arch/sparc64/crypto_arch.h | ||
168 | |||
169 | if HOST_X86_64 | ||
170 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/amd64/ | ||
171 | endif | ||
172 | noinst_HEADERS += $(top_srcdir)/crypto/arch/amd64/crypto_arch.h | ||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 480d893..d7cc499 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt | |||
@@ -6,9 +6,13 @@ include_directories( | |||
6 | ../crypto/asn1 | 6 | ../crypto/asn1 |
7 | ../crypto/bio | 7 | ../crypto/bio |
8 | ../crypto/bn | 8 | ../crypto/bn |
9 | ../crypto/bytestring | ||
9 | ../crypto/curve25519 | 10 | ../crypto/curve25519 |
11 | ../crypto/ec | ||
10 | ../crypto/evp | 12 | ../crypto/evp |
13 | ../crypto/mlkem | ||
11 | ../crypto/modes | 14 | ../crypto/modes |
15 | ../crypto/sha | ||
12 | ../crypto/x509 | 16 | ../crypto/x509 |
13 | ../ssl | 17 | ../ssl |
14 | ../apps/openssl | 18 | ../apps/openssl |
@@ -18,6 +22,30 @@ include_directories( | |||
18 | ../include/compat | 22 | ../include/compat |
19 | ) | 23 | ) |
20 | 24 | ||
25 | if(HOST_AARCH64) | ||
26 | include_directories(../crypto/arch/aarch64/) | ||
27 | elseif(HOST_ARM) | ||
28 | include_directories(../crypto/arch/arm/) | ||
29 | elseif(HOST_I386) | ||
30 | include_directories(../crypto/arch/i386/) | ||
31 | elseif(HOST_LOONGARCH64) | ||
32 | include_directories(../crypto/arch/loongarch64) | ||
33 | elseif(HOST_MIPS64) | ||
34 | include_directories(../crypto/arch/mips64) | ||
35 | elseif(HOST_MIPS) | ||
36 | include_directories(../crypto/arch/mips) | ||
37 | elseif(HOST_POWERPC) | ||
38 | include_directories(../crypto/arch/powerpc) | ||
39 | elseif(HOST_POWERPC64) | ||
40 | include_directories(../crypto/arch/powerpc64) | ||
41 | elseif(HOST_RISCV64) | ||
42 | include_directories(../crypto/arch/riscv64) | ||
43 | elseif(HOST_SPARC64) | ||
44 | include_directories(../crypto/arch/sparc64) | ||
45 | elseif(HOST_X86_64) | ||
46 | include_directories(../crypto/arch/amd64) | ||
47 | endif() | ||
48 | |||
21 | add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_CURRENT_SOURCE_DIR}/../cert.pem\") | 49 | add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_CURRENT_SOURCE_DIR}/../cert.pem\") |
22 | 50 | ||
23 | file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} TEST_SOURCE_DIR) | 51 | file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} TEST_SOURCE_DIR) |
@@ -303,9 +331,9 @@ target_link_libraries(cipherstest ${OPENSSL_TEST_LIBS}) | |||
303 | add_platform_test(cipherstest cipherstest) | 331 | add_platform_test(cipherstest cipherstest) |
304 | 332 | ||
305 | ## clienttest | 333 | ## clienttest |
306 | #add_executable(clienttest clienttest.c) | 334 | add_executable(clienttest clienttest.c) |
307 | #target_link_libraries(clienttest ${OPENSSL_TEST_LIBS}) | 335 | target_link_libraries(clienttest ${OPENSSL_TEST_LIBS}) |
308 | #add_platform_test(clienttest clienttest) | 336 | add_platform_test(clienttest clienttest) |
309 | 337 | ||
310 | # cmstest | 338 | # cmstest |
311 | add_executable(cmstest cmstest.c) | 339 | add_executable(cmstest cmstest.c) |
@@ -368,6 +396,7 @@ add_platform_test(ecc_cdh ecc_cdh) | |||
368 | # ec_asn1_test | 396 | # ec_asn1_test |
369 | add_executable(ec_asn1_test ec_asn1_test.c) | 397 | add_executable(ec_asn1_test ec_asn1_test.c) |
370 | target_link_libraries(ec_asn1_test ${OPENSSL_TEST_LIBS}) | 398 | target_link_libraries(ec_asn1_test ${OPENSSL_TEST_LIBS}) |
399 | prepare_emscripten_test_target(ec_asn1_test) | ||
371 | add_platform_test(ec_asn1_test ec_asn1_test) | 400 | add_platform_test(ec_asn1_test ec_asn1_test) |
372 | 401 | ||
373 | # ec_point_conversion | 402 | # ec_point_conversion |
@@ -396,16 +425,16 @@ add_executable(ed25519test ed25519test.c) | |||
396 | target_link_libraries(ed25519test ${OPENSSL_TEST_LIBS}) | 425 | target_link_libraries(ed25519test ${OPENSSL_TEST_LIBS}) |
397 | add_platform_test(ed25519test ed25519test) | 426 | add_platform_test(ed25519test ed25519test) |
398 | 427 | ||
428 | # err_test | ||
429 | add_executable(err_test err_test.c) | ||
430 | target_link_libraries(err_test ${OPENSSL_TEST_LIBS}) | ||
431 | add_platform_test(err_test err_test) | ||
432 | |||
399 | # evp_ecx_test | 433 | # evp_ecx_test |
400 | add_executable(evp_ecx_test evp_ecx_test.c) | 434 | add_executable(evp_ecx_test evp_ecx_test.c) |
401 | target_link_libraries(evp_ecx_test ${OPENSSL_TEST_LIBS}) | 435 | target_link_libraries(evp_ecx_test ${OPENSSL_TEST_LIBS}) |
402 | add_platform_test(evp_ecx_test evp_ecx_test) | 436 | add_platform_test(evp_ecx_test evp_ecx_test) |
403 | 437 | ||
404 | # evp_pkey_check | ||
405 | add_executable(evp_pkey_check evp_pkey_check.c) | ||
406 | target_link_libraries(evp_pkey_check ${OPENSSL_TEST_LIBS}) | ||
407 | add_platform_test(evp_pkey_check evp_pkey_check) | ||
408 | |||
409 | # evp_pkey_cleanup | 438 | # evp_pkey_cleanup |
410 | add_executable(evp_pkey_cleanup evp_pkey_cleanup.c) | 439 | add_executable(evp_pkey_cleanup evp_pkey_cleanup.c) |
411 | target_link_libraries(evp_pkey_cleanup ${OPENSSL_TEST_LIBS}) | 440 | target_link_libraries(evp_pkey_cleanup ${OPENSSL_TEST_LIBS}) |
@@ -511,6 +540,28 @@ add_executable(md_test md_test.c) | |||
511 | target_link_libraries(md_test ${OPENSSL_TEST_LIBS}) | 540 | target_link_libraries(md_test ${OPENSSL_TEST_LIBS}) |
512 | add_platform_test(md_test md_test) | 541 | add_platform_test(md_test md_test) |
513 | 542 | ||
543 | # mlkem_tests | ||
544 | add_executable(mlkem_tests mlkem_tests.c mlkem_tests_util.c parse_test_file.c) | ||
545 | target_link_libraries(mlkem_tests ${OPENSSL_TEST_LIBS}) | ||
546 | prepare_emscripten_test_target(mlkem_tests) | ||
547 | if(NOT WIN32) | ||
548 | add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.sh) | ||
549 | set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | ||
550 | endif() | ||
551 | # XXX - add tests for Windows | ||
552 | |||
553 | # mlkem_iteration_tests | ||
554 | add_executable(mlkem_iteration_tests mlkem_iteration_tests.c mlkem_tests_util.c) | ||
555 | target_link_libraries(mlkem_iteration_tests ${OPENSSL_TEST_LIBS}) | ||
556 | prepare_emscripten_test_target(mlkem_iteration_tests) | ||
557 | add_platform_test(mlkem_iteration_tests mlkem_iteration_tests) | ||
558 | |||
559 | # mlkem_unittest | ||
560 | add_executable(mlkem_unittest mlkem_unittest.c mlkem_tests_util.c) | ||
561 | target_link_libraries(mlkem_unittest ${OPENSSL_TEST_LIBS}) | ||
562 | prepare_emscripten_test_target(mlkem_unittest) | ||
563 | add_platform_test(mlkem_unittest mlkem_unittest) | ||
564 | |||
514 | # objectstest | 565 | # objectstest |
515 | add_executable(objectstest objectstest.c) | 566 | add_executable(objectstest objectstest.c) |
516 | target_link_libraries(objectstest ${OPENSSL_TEST_LIBS}) | 567 | target_link_libraries(objectstest ${OPENSSL_TEST_LIBS}) |
@@ -520,7 +571,7 @@ add_platform_test(objectstest objectstest) | |||
520 | if(ENABLE_EXTRATESTS) | 571 | if(ENABLE_EXTRATESTS) |
521 | add_executable(ocsp_test ocsp_test.c) | 572 | add_executable(ocsp_test ocsp_test.c) |
522 | target_link_libraries(ocsp_test ${OPENSSL_TEST_LIBS}) | 573 | target_link_libraries(ocsp_test ${OPENSSL_TEST_LIBS}) |
523 | if(NOT MSVC) | 574 | if(NOT WIN32) |
524 | add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.sh) | 575 | add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.sh) |
525 | else() | 576 | else() |
526 | add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.bat $<TARGET_FILE:ocsp_test>) | 577 | add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.bat $<TARGET_FILE:ocsp_test>) |
@@ -569,7 +620,7 @@ add_platform_test(policy policy) | |||
569 | # pq_test | 620 | # pq_test |
570 | add_executable(pq_test pq_test.c) | 621 | add_executable(pq_test pq_test.c) |
571 | target_link_libraries(pq_test ${OPENSSL_TEST_LIBS}) | 622 | target_link_libraries(pq_test ${OPENSSL_TEST_LIBS}) |
572 | if(NOT MSVC) | 623 | if(NOT WIN32) |
573 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.sh) | 624 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.sh) |
574 | else() | 625 | else() |
575 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.bat | 626 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.bat |
@@ -582,7 +633,7 @@ set(QUICTEST_SRC quictest.c) | |||
582 | add_executable(quictest ${QUICTEST_SRC}) | 633 | add_executable(quictest ${QUICTEST_SRC}) |
583 | target_link_libraries(quictest ${OPENSSL_TEST_LIBS}) | 634 | target_link_libraries(quictest ${OPENSSL_TEST_LIBS}) |
584 | prepare_emscripten_test_target(quictest) | 635 | prepare_emscripten_test_target(quictest) |
585 | if(NOT MSVC) | 636 | if(NOT WIN32) |
586 | add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.sh) | 637 | add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.sh) |
587 | else() | 638 | else() |
588 | add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.bat $<TARGET_FILE:quictest>) | 639 | add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.bat $<TARGET_FILE:quictest>) |
@@ -614,6 +665,18 @@ add_executable(record_layer_test record_layer_test.c) | |||
614 | target_link_libraries(record_layer_test ${OPENSSL_TEST_LIBS}) | 665 | target_link_libraries(record_layer_test ${OPENSSL_TEST_LIBS}) |
615 | add_platform_test(record_layer_test record_layer_test) | 666 | add_platform_test(record_layer_test record_layer_test) |
616 | 667 | ||
668 | # renegotiation_test | ||
669 | set(RENEGOTIATION_TEST_SRC renegotiation_test.c) | ||
670 | add_executable(renegotiation_test ${RENEGOTIATION_TEST_SRC}) | ||
671 | target_link_libraries(renegotiation_test ${OPENSSL_TEST_LIBS}) | ||
672 | prepare_emscripten_test_target(renegotiation_test) | ||
673 | if(NOT MSVC) | ||
674 | add_test(NAME renegotiation_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/renegotiation_test.sh) | ||
675 | else() | ||
676 | add_test(NAME renegotiation_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/renegotiation_test.bat $<TARGET_FILE:renegotiation_test>) | ||
677 | endif() | ||
678 | set_tests_properties(renegotiation_test PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | ||
679 | |||
617 | # rfc3779 | 680 | # rfc3779 |
618 | add_executable(rfc3779 rfc3779.c) | 681 | add_executable(rfc3779 rfc3779.c) |
619 | target_link_libraries(rfc3779 ${OPENSSL_TEST_LIBS}) | 682 | target_link_libraries(rfc3779 ${OPENSSL_TEST_LIBS}) |
@@ -632,6 +695,11 @@ add_executable(rmd_test rmd_test.c) | |||
632 | target_link_libraries(rmd_test ${OPENSSL_TEST_LIBS}) | 695 | target_link_libraries(rmd_test ${OPENSSL_TEST_LIBS}) |
633 | add_platform_test(rmd_test rmd_test) | 696 | add_platform_test(rmd_test rmd_test) |
634 | 697 | ||
698 | # rsa_method_test | ||
699 | add_executable(rsa_method_test rsa_method_test.c) | ||
700 | target_link_libraries(rsa_method_test ${OPENSSL_TEST_LIBS}) | ||
701 | add_platform_test(rsa_method_test rsa_method_test) | ||
702 | |||
635 | # rsa_padding_test | 703 | # rsa_padding_test |
636 | add_executable(rsa_padding_test rsa_padding_test.c) | 704 | add_executable(rsa_padding_test rsa_padding_test.c) |
637 | target_link_libraries(rsa_padding_test ${OPENSSL_TEST_LIBS}) | 705 | target_link_libraries(rsa_padding_test ${OPENSSL_TEST_LIBS}) |
@@ -648,7 +716,7 @@ add_platform_test(rsa_test rsa_test) | |||
648 | add_executable(servertest servertest.c) | 716 | add_executable(servertest servertest.c) |
649 | target_link_libraries(servertest ${OPENSSL_TEST_LIBS}) | 717 | target_link_libraries(servertest ${OPENSSL_TEST_LIBS}) |
650 | prepare_emscripten_test_target(servertest) | 718 | prepare_emscripten_test_target(servertest) |
651 | if(NOT MSVC) | 719 | if(NOT WIN32) |
652 | add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.sh) | 720 | add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.sh) |
653 | else() | 721 | else() |
654 | add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.bat $<TARGET_FILE:servertest>) | 722 | add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.bat $<TARGET_FILE:servertest>) |
@@ -665,7 +733,7 @@ set(SHUTDOWNTEST_SRC shutdowntest.c) | |||
665 | add_executable(shutdowntest ${SHUTDOWNTEST_SRC}) | 733 | add_executable(shutdowntest ${SHUTDOWNTEST_SRC}) |
666 | target_link_libraries(shutdowntest ${OPENSSL_TEST_LIBS}) | 734 | target_link_libraries(shutdowntest ${OPENSSL_TEST_LIBS}) |
667 | prepare_emscripten_test_target(shutdowntest) | 735 | prepare_emscripten_test_target(shutdowntest) |
668 | if(NOT MSVC) | 736 | if(NOT WIN32) |
669 | add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.sh) | 737 | add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.sh) |
670 | else() | 738 | else() |
671 | add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.bat $<TARGET_FILE:shutdowntest>) | 739 | add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.bat $<TARGET_FILE:shutdowntest>) |
@@ -676,7 +744,7 @@ set_tests_properties(shutdowntest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_D | |||
676 | # Emscripten does not support socketpair syscall. | 744 | # Emscripten does not support socketpair syscall. |
677 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN)) | 745 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN)) |
678 | set(SIGNERTEST_SRC signertest.c) | 746 | set(SIGNERTEST_SRC signertest.c) |
679 | check_function_exists(pipe2 HAVE_PIPE2) | 747 | check_symbol_exists(pipe2 "fcntl.h;unistd.h" HAVE_PIPE2) |
680 | if(HAVE_PIPE2) | 748 | if(HAVE_PIPE2) |
681 | add_definitions(-DHAVE_PIPE2) | 749 | add_definitions(-DHAVE_PIPE2) |
682 | else() | 750 | else() |
@@ -737,7 +805,7 @@ add_platform_test(ssl_versions ssl_versions) | |||
737 | add_executable(ssltest ssltest.c) | 805 | add_executable(ssltest ssltest.c) |
738 | target_link_libraries(ssltest ${OPENSSL_TEST_LIBS}) | 806 | target_link_libraries(ssltest ${OPENSSL_TEST_LIBS}) |
739 | prepare_emscripten_test_target(ssltest) | 807 | prepare_emscripten_test_target(ssltest) |
740 | if(NOT MSVC) | 808 | if(NOT WIN32) |
741 | add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.sh) | 809 | add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.sh) |
742 | else() | 810 | else() |
743 | add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.bat $<TARGET_FILE:ssltest> $<TARGET_FILE:openssl>) | 811 | add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.bat $<TARGET_FILE:ssltest> $<TARGET_FILE:openssl>) |
@@ -748,7 +816,7 @@ set_tests_properties(ssltest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | |||
748 | # access various files for IO. Adding such files to --preload-file is infeasible. | 816 | # access various files for IO. Adding such files to --preload-file is infeasible. |
749 | if(NOT EMSCRIPTEN) | 817 | if(NOT EMSCRIPTEN) |
750 | # testdsa | 818 | # testdsa |
751 | if(NOT MSVC) | 819 | if(NOT WIN32) |
752 | add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.sh) | 820 | add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.sh) |
753 | else() | 821 | else() |
754 | add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.bat $<TARGET_FILE:openssl>) | 822 | add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.bat $<TARGET_FILE:openssl>) |
@@ -756,7 +824,7 @@ if(NOT EMSCRIPTEN) | |||
756 | set_tests_properties(testdsa PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | 824 | set_tests_properties(testdsa PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") |
757 | 825 | ||
758 | # testenc | 826 | # testenc |
759 | if(NOT MSVC) | 827 | if(NOT WIN32) |
760 | add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.sh) | 828 | add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.sh) |
761 | else() | 829 | else() |
762 | add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.bat $<TARGET_FILE:openssl>) | 830 | add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.bat $<TARGET_FILE:openssl>) |
@@ -764,7 +832,7 @@ if(NOT EMSCRIPTEN) | |||
764 | set_tests_properties(testenc PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | 832 | set_tests_properties(testenc PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") |
765 | 833 | ||
766 | # testrsa | 834 | # testrsa |
767 | if(NOT MSVC) | 835 | if(NOT WIN32) |
768 | add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.sh) | 836 | add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.sh) |
769 | else() | 837 | else() |
770 | add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.bat $<TARGET_FILE:openssl>) | 838 | add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.bat $<TARGET_FILE:openssl>) |
@@ -792,7 +860,7 @@ add_platform_test(tlslegacytest tlslegacytest) | |||
792 | # Emscripten does not support socketpair syscall. | 860 | # Emscripten does not support socketpair syscall. |
793 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN)) | 861 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN)) |
794 | set(TLSTEST_SRC tlstest.c) | 862 | set(TLSTEST_SRC tlstest.c) |
795 | check_function_exists(pipe2 HAVE_PIPE2) | 863 | check_symbol_exists(pipe2 "fcntl.h;unistd.h" HAVE_PIPE2) |
796 | if(HAVE_PIPE2) | 864 | if(HAVE_PIPE2) |
797 | add_definitions(-DHAVE_PIPE2) | 865 | add_definitions(-DHAVE_PIPE2) |
798 | else() | 866 | else() |
@@ -801,7 +869,7 @@ if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN)) | |||
801 | 869 | ||
802 | add_executable(tlstest ${TLSTEST_SRC}) | 870 | add_executable(tlstest ${TLSTEST_SRC}) |
803 | target_link_libraries(tlstest ${LIBTLS_TEST_LIBS}) | 871 | target_link_libraries(tlstest ${LIBTLS_TEST_LIBS}) |
804 | if(NOT MSVC) | 872 | if(NOT WIN32) |
805 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh) | 873 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh) |
806 | else() | 874 | else() |
807 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.bat $<TARGET_FILE:tlstest>) | 875 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.bat $<TARGET_FILE:tlstest>) |
@@ -834,11 +902,6 @@ add_executable(verifytest verifytest.c) | |||
834 | target_link_libraries(verifytest ${LIBTLS_TEST_LIBS}) | 902 | target_link_libraries(verifytest ${LIBTLS_TEST_LIBS}) |
835 | add_platform_test(verifytest verifytest) | 903 | add_platform_test(verifytest verifytest) |
836 | 904 | ||
837 | # whirlpool_test | ||
838 | add_executable(whirlpool_test whirlpool_test.c) | ||
839 | target_link_libraries(whirlpool_test ${OPENSSL_TEST_LIBS}) | ||
840 | add_platform_test(whirlpool_test whirlpool_test) | ||
841 | |||
842 | # x25519test | 905 | # x25519test |
843 | add_executable(x25519test x25519test.c) | 906 | add_executable(x25519test x25519test.c) |
844 | target_link_libraries(x25519test ${OPENSSL_TEST_LIBS}) | 907 | target_link_libraries(x25519test ${OPENSSL_TEST_LIBS}) |
@@ -870,6 +933,11 @@ add_executable(x509_info x509_info.c) | |||
870 | target_link_libraries(x509_info ${OPENSSL_TEST_LIBS}) | 933 | target_link_libraries(x509_info ${OPENSSL_TEST_LIBS}) |
871 | add_platform_test(x509_info x509_info) | 934 | add_platform_test(x509_info x509_info) |
872 | 935 | ||
936 | # x509_name_test | ||
937 | add_executable(x509_name_test x509_name_test.c) | ||
938 | target_link_libraries(x509_name_test ${OPENSSL_TEST_LIBS}) | ||
939 | add_platform_test(x509_name_test x509_name_test) | ||
940 | |||
873 | # x509name | 941 | # x509name |
874 | add_executable(x509name x509name.c) | 942 | add_executable(x509name x509name.c) |
875 | target_link_libraries(x509name ${OPENSSL_TEST_LIBS}) | 943 | target_link_libraries(x509name ${OPENSSL_TEST_LIBS}) |
diff --git a/tests/Makefile.am b/tests/Makefile.am index 76ed83a..b58de21 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am | |||
@@ -10,15 +10,64 @@ AM_CPPFLAGS += -I $(top_srcdir)/crypto/ | |||
10 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1 | 10 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1 |
11 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/bio | 11 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/bio |
12 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/bn | 12 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/bn |
13 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/bytestring | ||
13 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/curve25519 | 14 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/curve25519 |
15 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/ec | ||
14 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/evp | 16 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/evp |
17 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/mlkem | ||
15 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes | 18 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes |
19 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/sha | ||
16 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/x509 | 20 | AM_CPPFLAGS += -I $(top_srcdir)/crypto/x509 |
17 | AM_CPPFLAGS += -I $(top_srcdir)/ssl | 21 | AM_CPPFLAGS += -I $(top_srcdir)/ssl |
18 | AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl | 22 | AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl |
19 | AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl/compat | 23 | AM_CPPFLAGS += -I $(top_srcdir)/apps/openssl/compat |
20 | AM_CPPFLAGS += -D_PATH_SSL_CA_FILE=\"$(top_srcdir)/cert.pem\" | 24 | AM_CPPFLAGS += -D_PATH_SSL_CA_FILE=\"$(top_srcdir)/cert.pem\" |
21 | 25 | ||
26 | # arch | ||
27 | if HOST_AARCH64 | ||
28 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/aarch64/ | ||
29 | endif | ||
30 | |||
31 | if HOST_ARM | ||
32 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/arm/ | ||
33 | endif | ||
34 | |||
35 | if HOST_I386 | ||
36 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ | ||
37 | endif | ||
38 | |||
39 | if HOST_LOONGARCH64 | ||
40 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
41 | endif | ||
42 | |||
43 | if HOST_MIPS | ||
44 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips/ | ||
45 | endif | ||
46 | |||
47 | if HOST_MIPS64 | ||
48 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/mips64/ | ||
49 | endif | ||
50 | |||
51 | if HOST_POWERPC | ||
52 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc/ | ||
53 | endif | ||
54 | |||
55 | if HOST_POWERPC64 | ||
56 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/powerpc64/ | ||
57 | endif | ||
58 | |||
59 | if HOST_RISCV64 | ||
60 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/riscv64/ | ||
61 | endif | ||
62 | |||
63 | if HOST_SPARC64 | ||
64 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/sparc64/ | ||
65 | endif | ||
66 | |||
67 | if HOST_X86_64 | ||
68 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/amd64/ | ||
69 | endif | ||
70 | |||
22 | noinst_LTLIBRARIES = libtest.la | 71 | noinst_LTLIBRARIES = libtest.la |
23 | libtest_la_LIBADD = $(libcrypto_la_objects) | 72 | libtest_la_LIBADD = $(libcrypto_la_objects) |
24 | libtest_la_LIBADD += $(libcompat_la_objects) | 73 | libtest_la_LIBADD += $(libcompat_la_objects) |
@@ -297,9 +346,9 @@ check_PROGRAMS += cipherstest | |||
297 | cipherstest_SOURCES = cipherstest.c | 346 | cipherstest_SOURCES = cipherstest.c |
298 | 347 | ||
299 | ## clienttest | 348 | ## clienttest |
300 | #TESTS += clienttest | 349 | TESTS += clienttest |
301 | #check_PROGRAMS += clienttest | 350 | check_PROGRAMS += clienttest |
302 | #clienttest_SOURCES = clienttest.c | 351 | clienttest_SOURCES = clienttest.c |
303 | 352 | ||
304 | # cmstest | 353 | # cmstest |
305 | TESTS += cmstest | 354 | TESTS += cmstest |
@@ -389,16 +438,16 @@ TESTS += ed25519test | |||
389 | check_PROGRAMS += ed25519test | 438 | check_PROGRAMS += ed25519test |
390 | ed25519test_SOURCES = ed25519test.c | 439 | ed25519test_SOURCES = ed25519test.c |
391 | 440 | ||
441 | # err_test | ||
442 | TESTS += err_test | ||
443 | check_PROGRAMS += err_test | ||
444 | err_test_SOURCES = err_test.c | ||
445 | |||
392 | # evp_ecx_test | 446 | # evp_ecx_test |
393 | TESTS += evp_ecx_test | 447 | TESTS += evp_ecx_test |
394 | check_PROGRAMS += evp_ecx_test | 448 | check_PROGRAMS += evp_ecx_test |
395 | evp_ecx_test_SOURCES = evp_ecx_test.c | 449 | evp_ecx_test_SOURCES = evp_ecx_test.c |
396 | 450 | ||
397 | # evp_pkey_check | ||
398 | TESTS += evp_pkey_check | ||
399 | check_PROGRAMS += evp_pkey_check | ||
400 | evp_pkey_check_SOURCES = evp_pkey_check.c | ||
401 | |||
402 | # evp_pkey_cleanup | 451 | # evp_pkey_cleanup |
403 | TESTS += evp_pkey_cleanup | 452 | TESTS += evp_pkey_cleanup |
404 | check_PROGRAMS += evp_pkey_cleanup | 453 | check_PROGRAMS += evp_pkey_cleanup |
@@ -501,6 +550,35 @@ TESTS += md_test | |||
501 | check_PROGRAMS += md_test | 550 | check_PROGRAMS += md_test |
502 | md_test_SOURCES = md_test.c | 551 | md_test_SOURCES = md_test.c |
503 | 552 | ||
553 | noinst_HEADERS += mlkem_tests_util.h | ||
554 | noinst_HEADERS += parse_test_file.h | ||
555 | |||
556 | # mlkem_tests | ||
557 | TESTS += mlkem_tests.sh | ||
558 | check_PROGRAMS += mlkem_tests | ||
559 | mlkem_tests_SOURCES = mlkem_tests.c mlkem_tests_util.c parse_test_file.c | ||
560 | EXTRA_DIST += mlkem_tests.sh | ||
561 | EXTRA_DIST += mlkem768_decap_tests.txt | ||
562 | EXTRA_DIST += mlkem768_encap_tests.txt | ||
563 | EXTRA_DIST += mlkem768_keygen_tests.txt | ||
564 | EXTRA_DIST += mlkem768_nist_decap_tests.txt | ||
565 | EXTRA_DIST += mlkem768_nist_keygen_tests.txt | ||
566 | EXTRA_DIST += mlkem1024_decap_tests.txt | ||
567 | EXTRA_DIST += mlkem1024_encap_tests.txt | ||
568 | EXTRA_DIST += mlkem1024_keygen_tests.txt | ||
569 | EXTRA_DIST += mlkem1024_nist_decap_tests.txt | ||
570 | EXTRA_DIST += mlkem1024_nist_keygen_tests.txt | ||
571 | |||
572 | # mlkem_iteration_tests | ||
573 | TESTS += mlkem_iteration_tests | ||
574 | check_PROGRAMS += mlkem_iteration_tests | ||
575 | mlkem_iteration_tests_SOURCES = mlkem_iteration_tests.c mlkem_tests_util.c | ||
576 | |||
577 | # mlkem_unittest | ||
578 | TESTS += mlkem_unittest | ||
579 | check_PROGRAMS += mlkem_unittest | ||
580 | mlkem_unittest_SOURCES = mlkem_unittest.c mlkem_tests_util.c | ||
581 | |||
504 | # objectstest | 582 | # objectstest |
505 | TESTS += objectstest | 583 | TESTS += objectstest |
506 | check_PROGRAMS += objectstest | 584 | check_PROGRAMS += objectstest |
@@ -615,6 +693,12 @@ TESTS += record_layer_test | |||
615 | check_PROGRAMS += record_layer_test | 693 | check_PROGRAMS += record_layer_test |
616 | record_layer_test_SOURCES = record_layer_test.c | 694 | record_layer_test_SOURCES = record_layer_test.c |
617 | 695 | ||
696 | # renegotiation_test | ||
697 | TESTS += renegotiation_test.sh | ||
698 | check_PROGRAMS += renegotiation_test | ||
699 | renegotiation_test_SOURCES = renegotiation_test.c | ||
700 | EXTRA_DIST += renegotiation_test.sh renegotiation_test.bat | ||
701 | |||
618 | # rfc3779 | 702 | # rfc3779 |
619 | TESTS += rfc3779 | 703 | TESTS += rfc3779 |
620 | rfc3779_CPPFLAGS = $(AM_CPPFLAGS) | 704 | rfc3779_CPPFLAGS = $(AM_CPPFLAGS) |
@@ -637,6 +721,11 @@ TESTS += rmd_test | |||
637 | check_PROGRAMS += rmd_test | 721 | check_PROGRAMS += rmd_test |
638 | rmd_test_SOURCES = rmd_test.c | 722 | rmd_test_SOURCES = rmd_test.c |
639 | 723 | ||
724 | # rsa_method_test | ||
725 | TESTS += rsa_method_test | ||
726 | check_PROGRAMS += rsa_method_test | ||
727 | rsa_method_test_SOURCES = rsa_method_test.c | ||
728 | |||
640 | # rsa_padding_test | 729 | # rsa_padding_test |
641 | TESTS += rsa_padding_test | 730 | TESTS += rsa_padding_test |
642 | check_PROGRAMS += rsa_padding_test | 731 | check_PROGRAMS += rsa_padding_test |
@@ -795,11 +884,6 @@ TESTS += verifytest | |||
795 | check_PROGRAMS += verifytest | 884 | check_PROGRAMS += verifytest |
796 | verifytest_SOURCES = verifytest.c | 885 | verifytest_SOURCES = verifytest.c |
797 | 886 | ||
798 | # whirlpool | ||
799 | TESTS += whirlpool_test | ||
800 | check_PROGRAMS += whirlpool_test | ||
801 | whirlpool_test_SOURCES = whirlpool_test.c | ||
802 | |||
803 | # x25519test | 887 | # x25519test |
804 | TESTS += x25519test | 888 | TESTS += x25519test |
805 | check_PROGRAMS += x25519test | 889 | check_PROGRAMS += x25519test |
@@ -830,6 +914,11 @@ TESTS += x509_info | |||
830 | check_PROGRAMS += x509_info | 914 | check_PROGRAMS += x509_info |
831 | x509_info_SOURCES = x509_info.c | 915 | x509_info_SOURCES = x509_info.c |
832 | 916 | ||
917 | # x509_name_test | ||
918 | TESTS += x509_name_test | ||
919 | check_PROGRAMS += x509_name_test | ||
920 | x509_name_test_SOURCES = x509_name_test.c | ||
921 | |||
833 | # x509name | 922 | # x509name |
834 | TESTS += x509name | 923 | TESTS += x509name |
835 | check_PROGRAMS += x509name | 924 | check_PROGRAMS += x509name |
diff --git a/tests/mlkem_tests.sh b/tests/mlkem_tests.sh new file mode 100755 index 0000000..2a9856e --- /dev/null +++ b/tests/mlkem_tests.sh | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | set -e | ||
3 | |||
4 | TEST=./mlkem_tests | ||
5 | if [ -e ./mlkem_tests.exe ]; then | ||
6 | TEST=./mlkem_tests.exe | ||
7 | elif [ -e ./mlkem_tests.js ]; then | ||
8 | TEST="node ./mlkem_tests.js" | ||
9 | fi | ||
10 | |||
11 | if [ -z $srcdir ]; then | ||
12 | srcdir=. | ||
13 | fi | ||
14 | |||
15 | $TEST mlkem768_decap_tests $srcdir/mlkem768_decap_tests.txt | ||
16 | $TEST mlkem768_encap_tests $srcdir/mlkem768_encap_tests.txt | ||
17 | $TEST mlkem768_keygen_tests $srcdir/mlkem768_keygen_tests.txt | ||
18 | $TEST mlkem768_nist_decap_tests $srcdir/mlkem768_nist_decap_tests.txt | ||
19 | $TEST mlkem768_nist_keygen_tests $srcdir/mlkem768_nist_keygen_tests.txt | ||
20 | $TEST mlkem1024_decap_tests $srcdir/mlkem1024_decap_tests.txt | ||
21 | $TEST mlkem1024_encap_tests $srcdir/mlkem1024_encap_tests.txt | ||
22 | $TEST mlkem1024_keygen_tests $srcdir/mlkem1024_keygen_tests.txt | ||
23 | $TEST mlkem1024_nist_decap_tests $srcdir/mlkem1024_nist_decap_tests.txt | ||
24 | $TEST mlkem1024_nist_keygen_tests $srcdir/mlkem1024_nist_keygen_tests.txt | ||
diff --git a/tests/renegotiation_test.bat b/tests/renegotiation_test.bat new file mode 100644 index 0000000..0086046 --- /dev/null +++ b/tests/renegotiation_test.bat | |||
@@ -0,0 +1,14 @@ | |||
1 | @echo off | ||
2 | setlocal enabledelayedexpansion | ||
3 | REM renegotiation_test.bat | ||
4 | |||
5 | set renegotiation_test_bin=%1 | ||
6 | set renegotiation_test_bin=%renegotiation_test_bin:/=\% | ||
7 | if not exist %renegotiation_test_bin% exit /b 1 | ||
8 | |||
9 | %renegotiation_test_bin% %srcdir%\server1-rsa.pem %srcdir%\server1-rsa-chain.pem %srcdir%\ca-root-rsa.pem | ||
10 | if !errorlevel! neq 0 ( | ||
11 | exit /b 1 | ||
12 | ) | ||
13 | |||
14 | endlocal | ||
diff --git a/tests/renegotiation_test.sh b/tests/renegotiation_test.sh new file mode 100755 index 0000000..bbf27c8 --- /dev/null +++ b/tests/renegotiation_test.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/sh | ||
2 | set -e | ||
3 | |||
4 | renegotiation_test_bin=./renegotiation_test | ||
5 | if [ -e ./renegotiation_test.exe ]; then | ||
6 | renegotiation_test_bin=./renegotiation_test.exe | ||
7 | elif [ -e ./renegotiation_test.js ]; then | ||
8 | renegotiation_test_bin="node ./renegotiation_test.js" | ||
9 | fi | ||
10 | |||
11 | if [ -z $srcdir ]; then | ||
12 | srcdir=. | ||
13 | fi | ||
14 | |||
15 | $renegotiation_test_bin $srcdir/server1-rsa.pem $srcdir/server1-rsa-chain.pem $srcdir/ca-root-rsa.pem | ||
diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index 919b1fa..c81bbb0 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt | |||
@@ -58,16 +58,16 @@ endif() | |||
58 | 58 | ||
59 | export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym) | 59 | export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym) |
60 | target_link_libraries(tls ${OPENSSL_LIBS}) | 60 | target_link_libraries(tls ${OPENSSL_LIBS}) |
61 | if (WIN32) | ||
62 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION} PARENT_SCOPE) | ||
63 | endif() | ||
64 | set_target_properties(tls PROPERTIES | 61 | set_target_properties(tls PROPERTIES |
65 | OUTPUT_NAME tls${TLS_POSTFIX} | 62 | OUTPUT_NAME tls |
66 | ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX} | 63 | ARCHIVE_OUTPUT_NAME tls |
67 | EXPORT_NAME TLS | 64 | EXPORT_NAME TLS |
68 | VERSION ${TLS_VERSION} | 65 | VERSION ${TLS_VERSION} |
69 | SOVERSION ${TLS_MAJOR_VERSION} | 66 | SOVERSION ${TLS_MAJOR_VERSION} |
70 | ) | 67 | ) |
68 | if(NOT CMAKE_VERSION VERSION_LESS 3.27.0) | ||
69 | set_target_properties(tls PROPERTIES DLL_NAME_WITH_SOVERSION TRUE) | ||
70 | endif() | ||
71 | 71 | ||
72 | target_include_directories( | 72 | target_include_directories( |
73 | tls | 73 | tls |
@@ -132,10 +132,10 @@ copy_hdrs $libcrypto_src "stack/stack.h lhash/lhash.h stack/safestack.h | |||
132 | hkdf/hkdf.h hmac/hmac.h rand/rand.h md5/md5.h | 132 | hkdf/hkdf.h hmac/hmac.h rand/rand.h md5/md5.h |
133 | x509/x509v3.h conf/conf.h ocsp/ocsp.h | 133 | x509/x509v3.h conf/conf.h ocsp/ocsp.h |
134 | aes/aes.h modes/modes.h asn1/asn1t.h bf/blowfish.h | 134 | aes/aes.h modes/modes.h asn1/asn1t.h bf/blowfish.h |
135 | bio/bio.h cast/cast.h cmac/cmac.h cms/cms.h conf/conf_api.h des/des.h dh/dh.h | 135 | bio/bio.h cast/cast.h cmac/cmac.h cms/cms.h des/des.h dh/dh.h |
136 | dsa/dsa.h engine/engine.h ui/ui.h pkcs12/pkcs12.h ts/ts.h | 136 | dsa/dsa.h engine/engine.h ui/ui.h pkcs12/pkcs12.h ts/ts.h |
137 | md4/md4.h ripemd/ripemd.h whrlpool/whrlpool.h idea/idea.h | 137 | md4/md4.h ripemd/ripemd.h idea/idea.h |
138 | rc2/rc2.h rc4/rc4.h ui/ui_compat.h txt_db/txt_db.h | 138 | rc2/rc2.h rc4/rc4.h txt_db/txt_db.h |
139 | sm3/sm3.h sm4/sm4.h chacha/chacha.h evp/evp.h poly1305/poly1305.h | 139 | sm3/sm3.h sm4/sm4.h chacha/chacha.h evp/evp.h poly1305/poly1305.h |
140 | camellia/camellia.h curve25519/curve25519.h | 140 | camellia/camellia.h curve25519/curve25519.h |
141 | ct/ct.h kdf/kdf.h" | 141 | ct/ct.h kdf/kdf.h" |
@@ -170,6 +170,12 @@ for i in $libcrypto_src/arch/*; do | |||
170 | arch=`basename $i` | 170 | arch=`basename $i` |
171 | mkdir -p include/arch/$arch | 171 | mkdir -p include/arch/$arch |
172 | $CP $libcrypto_src/arch/$arch/opensslconf.h include/arch/$arch/ | 172 | $CP $libcrypto_src/arch/$arch/opensslconf.h include/arch/$arch/ |
173 | mkdir -p crypto/arch/$arch | ||
174 | $CP $libcrypto_src/arch/$arch/crypto_arch.h crypto/arch/$arch/ | ||
175 | crypto_cpu_caps=$libcrypto_src/arch/$arch/crypto_cpu_caps.c | ||
176 | if [ -f "$crypto_cpu_caps" ]; then | ||
177 | $CP "$crypto_cpu_caps" crypto/arch/$arch/ | ||
178 | fi | ||
173 | done | 179 | done |
174 | 180 | ||
175 | for i in $libcrypto_src/bn/arch/*; do | 181 | for i in $libcrypto_src/bn/arch/*; do |
@@ -274,13 +280,8 @@ for abi in elf macosx masm mingw64; do | |||
274 | gen_asm_stdout $abi bn/asm/modexp512-x86_64.pl bn/modexp512-$abi-x86_64.S | 280 | gen_asm_stdout $abi bn/asm/modexp512-x86_64.pl bn/modexp512-$abi-x86_64.S |
275 | gen_asm_stdout $abi bn/asm/x86_64-mont.pl bn/mont-$abi-x86_64.S | 281 | gen_asm_stdout $abi bn/asm/x86_64-mont.pl bn/mont-$abi-x86_64.S |
276 | gen_asm_stdout $abi bn/asm/x86_64-mont5.pl bn/mont5-$abi-x86_64.S | 282 | gen_asm_stdout $abi bn/asm/x86_64-mont5.pl bn/mont5-$abi-x86_64.S |
277 | gen_asm_stdout $abi md5/asm/md5-x86_64.pl md5/md5-$abi-x86_64.S | ||
278 | gen_asm_stdout $abi modes/asm/ghash-x86_64.pl modes/ghash-$abi-x86_64.S | 283 | gen_asm_stdout $abi modes/asm/ghash-x86_64.pl modes/ghash-$abi-x86_64.S |
279 | gen_asm_stdout $abi rc4/asm/rc4-x86_64.pl rc4/rc4-$abi-x86_64.S | 284 | gen_asm_stdout $abi rc4/asm/rc4-x86_64.pl rc4/rc4-$abi-x86_64.S |
280 | gen_asm_stdout $abi sha/asm/sha1-x86_64.pl sha/sha1-$abi-x86_64.S | ||
281 | gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha256-$abi-x86_64.S | ||
282 | gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha512-$abi-x86_64.S | ||
283 | gen_asm $abi x86_64cpuid.pl cpuid-$abi-x86_64.S | ||
284 | done | 285 | done |
285 | 286 | ||
286 | # copy libtls source | 287 | # copy libtls source |
@@ -333,7 +334,7 @@ done | |||
333 | echo "copying libssl source" | 334 | echo "copying libssl source" |
334 | rm -f ssl/*.c ssl/*.h | 335 | rm -f ssl/*.c ssl/*.h |
335 | touch ssl/empty.c | 336 | touch ssl/empty.c |
336 | for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do | 337 | for i in `awk '/SOURCES|HEADERS/ { if ($3 !~ /.*crypto_arch.*/) print $3 }' ssl/Makefile.am` ; do |
337 | dir=`dirname $i` | 338 | dir=`dirname $i` |
338 | mkdir -p ssl/$dir | 339 | mkdir -p ssl/$dir |
339 | $CP $libssl_src/$i ssl/$i | 340 | $CP $libssl_src/$i ssl/$i |
@@ -344,7 +345,7 @@ $GREP '^[A-Za-z0-9_]' < $libssl_src/Symbols.list > ssl/ssl.sym | |||
344 | # copy libcrypto tests | 345 | # copy libcrypto tests |
345 | echo "copying tests" | 346 | echo "copying tests" |
346 | touch tests/empty.c | 347 | touch tests/empty.c |
347 | for i in `find $libcrypto_regress -name '*.c'`; do | 348 | for i in `find $libcrypto_regress -name '*.[ch]'`; do |
348 | $CP "$i" tests | 349 | $CP "$i" tests |
349 | done | 350 | done |
350 | $CP $libcrypto_regress/evp/evptests.txt tests | 351 | $CP $libcrypto_regress/evp/evptests.txt tests |
@@ -352,6 +353,7 @@ $CP $libcrypto_regress/aead/*.txt tests | |||
352 | $CP $libcrypto_regress/ct/ctlog.conf tests | 353 | $CP $libcrypto_regress/ct/ctlog.conf tests |
353 | $CP $libcrypto_regress/ct/*.crt tests | 354 | $CP $libcrypto_regress/ct/*.crt tests |
354 | $CP $libcrypto_regress/x509/policy/*.pem tests | 355 | $CP $libcrypto_regress/x509/policy/*.pem tests |
356 | $CP $libcrypto_regress/mlkem/*.txt tests | ||
355 | 357 | ||
356 | # generate libcrypto freenull.c | 358 | # generate libcrypto freenull.c |
357 | awk -f $libcrypto_regress/free/freenull.awk \ | 359 | awk -f $libcrypto_regress/free/freenull.awk \ |