aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/android_test.yml4
-rw-r--r--.github/workflows/cifuzz.yml26
-rw-r--r--.github/workflows/coverity.yml2
-rw-r--r--.github/workflows/cross_test.yml2
-rw-r--r--.github/workflows/linux_test.yml2
-rw-r--r--.github/workflows/linux_test_asan.yml2
-rw-r--r--.github/workflows/macos_test.yml2
-rw-r--r--.github/workflows/regress.yml2
-rw-r--r--ChangeLog54
-rw-r--r--crypto/CMakeLists.txt5
-rw-r--r--crypto/Makefile.am74
-rw-r--r--crypto/compat/ui_openssl_win.c2
-rw-r--r--man/links44
-rwxr-xr-xman/update_links.sh1
-rw-r--r--patches/bio.h.patch8
-rw-r--r--patches/bn_isqrt.c.patch8
-rw-r--r--patches/bn_local.h.patch (renamed from patches/bn_lcl.h.patch)4
-rw-r--r--patches/modes_local.h.patch (renamed from patches/modes_lcl.h.patch)4
-rw-r--r--patches/openssl.c.patch6
-rw-r--r--patches/opensslconf.h.patch24
-rw-r--r--patches/speed.c.patch26
-rw-r--r--patches/tlsexttest.c.patch12
-rw-r--r--patches/windows_headers.patch13
-rw-r--r--ssl/CMakeLists.txt2
-rw-r--r--ssl/Makefile.am8
-rw-r--r--tests/CMakeLists.txt123
-rw-r--r--tests/Makefile.am115
-rwxr-xr-xupdate.sh4
28 files changed, 406 insertions, 173 deletions
diff --git a/.github/workflows/android_test.yml b/.github/workflows/android_test.yml
index 6ce002b..4ecbfac 100644
--- a/.github/workflows/android_test.yml
+++ b/.github/workflows/android_test.yml
@@ -12,7 +12,7 @@ jobs:
12 MAX_NAL: 28 12 MAX_NAL: 28
13 name: Android 8.x 9 13 name: Android 8.x 9
14 steps: 14 steps:
15 - uses: actions/checkout@v2 15 - uses: actions/checkout@main
16 - name: Run CI script 16 - name: Run CI script
17 run: ./scripts/test 17 run: ./scripts/test
18 18
@@ -25,6 +25,6 @@ jobs:
25 MAX_NAL: 30 25 MAX_NAL: 30
26 name: Android 10 11 26 name: Android 10 11
27 steps: 27 steps:
28 - uses: actions/checkout@v2 28 - uses: actions/checkout@main
29 - name: Run CI script 29 - name: Run CI script
30 run: ./scripts/test 30 run: ./scripts/test
diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml
new file mode 100644
index 0000000..8c25624
--- /dev/null
+++ b/.github/workflows/cifuzz.yml
@@ -0,0 +1,26 @@
1name: CIFuzz
2on: [pull_request]
3jobs:
4 Fuzzing:
5 runs-on: ubuntu-latest
6 steps:
7 - name: Build Fuzzers
8 id: build
9 uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
10 with:
11 oss-fuzz-project-name: 'libressl'
12 dry-run: false
13 language: c++
14 - name: Run Fuzzers
15 uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
16 with:
17 oss-fuzz-project-name: 'libressl'
18 fuzz-seconds: 300
19 dry-run: false
20 language: c++
21 - name: Upload Crash
22 uses: actions/upload-artifact@v3
23 if: failure() && steps.build.outcome == 'success'
24 with:
25 name: artifacts
26 path: ./out/artifacts
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index 40e7a07..444cc0b 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -15,7 +15,7 @@ jobs:
15 COVERITY_SCAN_BUILD_COMMAND_PREPEND: "./autogen.sh && ./configure && make dist && tar zxf libressl-*.tar.gz && rm libressl-*.tar.gz && cd libressl-* && mkdir build-static && mkdir build-shared && cmake -GNinja -DBUILD_SHARED_LIBS=ON .." 15 COVERITY_SCAN_BUILD_COMMAND_PREPEND: "./autogen.sh && ./configure && make dist && tar zxf libressl-*.tar.gz && rm libressl-*.tar.gz && cd libressl-* && mkdir build-static && mkdir build-shared && cmake -GNinja -DBUILD_SHARED_LIBS=ON .."
16 COVERITY_SCAN_BUILD_COMMAND: "ninja" 16 COVERITY_SCAN_BUILD_COMMAND: "ninja"
17 steps: 17 steps:
18 - uses: actions/checkout@v2 18 - uses: actions/checkout@main
19 - name: Install apt dependencies 19 - name: Install apt dependencies
20 run: | 20 run: |
21 sudo apt-get update 21 sudo apt-get update
diff --git a/.github/workflows/cross_test.yml b/.github/workflows/cross_test.yml
index c5b6b25..af09309 100644
--- a/.github/workflows/cross_test.yml
+++ b/.github/workflows/cross_test.yml
@@ -15,6 +15,6 @@ jobs:
15 ARCH: ${{ matrix.arch }} 15 ARCH: ${{ matrix.arch }}
16 name: ${{ matrix.arch }} - ${{ matrix.os }} 16 name: ${{ matrix.arch }} - ${{ matrix.os }}
17 steps: 17 steps:
18 - uses: actions/checkout@v2 18 - uses: actions/checkout@main
19 - name: Run CI script 19 - name: Run CI script
20 run: ./scripts/test 20 run: ./scripts/test
diff --git a/.github/workflows/linux_test.yml b/.github/workflows/linux_test.yml
index 028c1a4..105f891 100644
--- a/.github/workflows/linux_test.yml
+++ b/.github/workflows/linux_test.yml
@@ -15,6 +15,6 @@ jobs:
15 ARCH: native 15 ARCH: native
16 name: ${{ matrix.compiler }} - ${{ matrix.os }} 16 name: ${{ matrix.compiler }} - ${{ matrix.os }}
17 steps: 17 steps:
18 - uses: actions/checkout@v2 18 - uses: actions/checkout@main
19 - name: Run CI script 19 - name: Run CI script
20 run: ./scripts/test 20 run: ./scripts/test
diff --git a/.github/workflows/linux_test_asan.yml b/.github/workflows/linux_test_asan.yml
index d6fc1e8..12e0889 100644
--- a/.github/workflows/linux_test_asan.yml
+++ b/.github/workflows/linux_test_asan.yml
@@ -18,6 +18,6 @@ jobs:
18 CTEST_OUTPUT_ON_FAILURE: 1 18 CTEST_OUTPUT_ON_FAILURE: 1
19 name: ${{ matrix.compiler }} - ${{ matrix.os }} 19 name: ${{ matrix.compiler }} - ${{ matrix.os }}
20 steps: 20 steps:
21 - uses: actions/checkout@v2 21 - uses: actions/checkout@main
22 - name: Run CI script 22 - name: Run CI script
23 run: ./scripts/test 23 run: ./scripts/test
diff --git a/.github/workflows/macos_test.yml b/.github/workflows/macos_test.yml
index 6e7adac..83a1b35 100644
--- a/.github/workflows/macos_test.yml
+++ b/.github/workflows/macos_test.yml
@@ -17,6 +17,6 @@ jobs:
17 steps: 17 steps:
18 - name: Install packages for macos 18 - name: Install packages for macos
19 run: brew install automake 19 run: brew install automake
20 - uses: actions/checkout@v2 20 - uses: actions/checkout@main
21 - name: Run CI script 21 - name: Run CI script
22 run: ./scripts/test 22 run: ./scripts/test
diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml
index 88ce310..7cc35dc 100644
--- a/.github/workflows/regress.yml
+++ b/.github/workflows/regress.yml
@@ -8,7 +8,7 @@ jobs:
8 rust-openssl: 8 rust-openssl:
9 runs-on: ubuntu-latest 9 runs-on: ubuntu-latest
10 steps: 10 steps:
11 - uses: actions/checkout@v3 11 - uses: actions/checkout@main
12 - name: Install apt dependencies 12 - name: Install apt dependencies
13 run: | 13 run: |
14 sudo apt-get update 14 sudo apt-get update
diff --git a/ChangeLog b/ChangeLog
index d5c4617..f382601 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,60 @@ history is also available from Git.
28 28
29LibreSSL Portable Release Notes: 29LibreSSL Portable Release Notes:
30 30
313.7.0 - Development release
32
33 * Internal improvements
34 - Remove dependency on system timegm() and gmtime() by replacing
35 traditional Julian date conversion with POSIX epoch-seconds date
36 conversion from BoringSSL.
37 - Clean old and unused BN code dealing with primes.
38 - Start rewriting name constraints code using CBS.
39 - Remove support for the HMAC PRIVATE KEY.
40 - Rework DSA signing and verifying internals.
41 - First few passes on cleaning up the BN code.
42 - Internal headers coming from OpenSSL are all called *_local.h now.
43 - Rewrite TLSv1.2 key exporter.
44 - Cleaned up and refactored various aspects of the legacy TLS stack.
45 * Compatibility changes
46 - BIO_read() and BIO_write() now behave more closely to OpenSSL 3 in
47 various corner cases. More work is needed here.
48 * Bug fixes
49 - Add EVP_chacha20_poly1305() to the list of all ciphers.
50 - Fix potential leaks of EVP_PKEY in various printing functions
51 - Fix potential leak in OBJ_NAME_add().
52 - Avoid signed overflow in i2c_ASN1_BIT_STRING().
53 - Clean up EVP_PKEY_ASN1_METHOD related tables and code.
54 - Fix long standing bugs BN_GF2m_poly2arr() and BN_GF2m_mod().
55 - Fix segfaults in BN_{dec,hex}2bn().
56 - Fix NULL dereference in x509_constraints_uri_host() reachable only
57 in the process of generating certificates.
58 - Fixed a variety of memory corruption issues in BIO chains coming
59 from poor old and new API: BIO_push(), BIO_pop(), BIO_set_next().
60 - Avoid potential divide by zero in BIO_dump_indent_cb()
61 * Documentation improvements
62 - Numerous improvements and additions for ASN.1, BIO, BN, and X.509.
63 - The BN documentation is now considered to be complete.
64 * Testing and Proactive Security
65 - As always, new test coverage is added as bugs are fixed and
66 subsystems are cleaned up.
67 - Many old tests rewritten, cleaned up and extended.
68 * New features
69 - Added Ed25519 support both as a primitive and via OpenSSL's EVP
70 interfaces.
71 - X25519 is now also supported via EVP.
72 - The OpenSSL 1.1 raw public and private key API is available with
73 support for EVP_PKEY_ED25519, EVP_PKEY_HMAC and EVP_PKEY_X25519.
74 Poly1305 is not currently supported via this interface.
75
763.6.1 - Stable release
77
78 * Bug fixes
79 - Custom verification callbacks could cause the X.509 verifier to
80 fail to store errors resulting from leaf certificate verification.
81 Reported by Ilya Shipitsin.
82 - Unbreak ASN.1 indefinite length encoding.
83 Reported by Niklas Hallqvist.
84
313.6.0 - Development release 853.6.0 - Development release
32 86
33 * Internal improvements 87 * Internal improvements
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 2c0268c..8956884 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -236,7 +236,6 @@ set(
236 o_fips.c 236 o_fips.c
237 o_init.c 237 o_init.c
238 o_str.c 238 o_str.c
239 o_time.c
240 aes/aes_cfb.c 239 aes/aes_cfb.c
241 aes/aes_ctr.c 240 aes/aes_ctr.c
242 aes/aes_ecb.c 241 aes/aes_ecb.c
@@ -257,6 +256,7 @@ set(
257 asn1/a_string.c 256 asn1/a_string.c
258 asn1/a_strnid.c 257 asn1/a_strnid.c
259 asn1/a_time.c 258 asn1/a_time.c
259 asn1/a_time_posix.c
260 asn1/a_time_tm.c 260 asn1/a_time_tm.c
261 asn1/a_type.c 261 asn1/a_type.c
262 asn1/a_utf8.c 262 asn1/a_utf8.c
@@ -356,6 +356,7 @@ set(
356 bn/bn_rand.c 356 bn/bn_rand.c
357 bn/bn_recp.c 357 bn/bn_recp.c
358 bn/bn_shift.c 358 bn/bn_shift.c
359 bn/bn_small_primes.c
359 bn/bn_sqr.c 360 bn/bn_sqr.c
360 bn/bn_sqrt.c 361 bn/bn_sqrt.c
361 bn/bn_word.c 362 bn/bn_word.c
@@ -488,6 +489,7 @@ set(
488 ec/ecp_nist.c 489 ec/ecp_nist.c
489 ec/ecp_oct.c 490 ec/ecp_oct.c
490 ec/ecp_smpl.c 491 ec/ecp_smpl.c
492 ec/ecx_methods.c
491 ecdh/ecdh_kdf.c 493 ecdh/ecdh_kdf.c
492 ecdh/ech_err.c 494 ecdh/ech_err.c
493 ecdh/ech_key.c 495 ecdh/ech_key.c
@@ -992,6 +994,7 @@ target_include_directories(crypto_obj
992 bytestring 994 bytestring
993 dh 995 dh
994 dsa 996 dsa
997 curve25519
995 ec 998 ec
996 ecdh 999 ecdh
997 ecdsa 1000 ecdsa
diff --git a/crypto/Makefile.am b/crypto/Makefile.am
index 01833d2..bc3d4c2 100644
--- a/crypto/Makefile.am
+++ b/crypto/Makefile.am
@@ -6,6 +6,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/crypto/asn1
6AM_CPPFLAGS += -I$(top_srcdir)/crypto/bio 6AM_CPPFLAGS += -I$(top_srcdir)/crypto/bio
7AM_CPPFLAGS += -I$(top_srcdir)/crypto/bn 7AM_CPPFLAGS += -I$(top_srcdir)/crypto/bn
8AM_CPPFLAGS += -I$(top_srcdir)/crypto/bytestring 8AM_CPPFLAGS += -I$(top_srcdir)/crypto/bytestring
9AM_CPPFLAGS += -I$(top_srcdir)/crypto/curve25519
9AM_CPPFLAGS += -I$(top_srcdir)/crypto/dh 10AM_CPPFLAGS += -I$(top_srcdir)/crypto/dh
10AM_CPPFLAGS += -I$(top_srcdir)/crypto/dsa 11AM_CPPFLAGS += -I$(top_srcdir)/crypto/dsa
11AM_CPPFLAGS += -I$(top_srcdir)/crypto/ec 12AM_CPPFLAGS += -I$(top_srcdir)/crypto/ec
@@ -285,12 +286,10 @@ libcrypto_la_SOURCES += mem_dbg.c
285libcrypto_la_SOURCES += o_fips.c 286libcrypto_la_SOURCES += o_fips.c
286libcrypto_la_SOURCES += o_init.c 287libcrypto_la_SOURCES += o_init.c
287libcrypto_la_SOURCES += o_str.c 288libcrypto_la_SOURCES += o_str.c
288libcrypto_la_SOURCES += o_time.c
289noinst_HEADERS += arm_arch.h 289noinst_HEADERS += arm_arch.h
290noinst_HEADERS += constant_time_locl.h 290noinst_HEADERS += constant_time.h
291noinst_HEADERS += cryptlib.h 291noinst_HEADERS += cryptlib.h
292noinst_HEADERS += md32_common.h 292noinst_HEADERS += md32_common.h
293noinst_HEADERS += o_time.h
294noinst_HEADERS += x86_arch.h 293noinst_HEADERS += x86_arch.h
295 294
296# aes 295# aes
@@ -301,7 +300,7 @@ libcrypto_la_SOURCES += aes/aes_ige.c
301libcrypto_la_SOURCES += aes/aes_misc.c 300libcrypto_la_SOURCES += aes/aes_misc.c
302libcrypto_la_SOURCES += aes/aes_ofb.c 301libcrypto_la_SOURCES += aes/aes_ofb.c
303libcrypto_la_SOURCES += aes/aes_wrap.c 302libcrypto_la_SOURCES += aes/aes_wrap.c
304noinst_HEADERS += aes/aes_locl.h 303noinst_HEADERS += aes/aes_local.h
305 304
306# asn1 305# asn1
307libcrypto_la_SOURCES += asn1/a_bitstr.c 306libcrypto_la_SOURCES += asn1/a_bitstr.c
@@ -317,6 +316,7 @@ libcrypto_la_SOURCES += asn1/a_strex.c
317libcrypto_la_SOURCES += asn1/a_string.c 316libcrypto_la_SOURCES += asn1/a_string.c
318libcrypto_la_SOURCES += asn1/a_strnid.c 317libcrypto_la_SOURCES += asn1/a_strnid.c
319libcrypto_la_SOURCES += asn1/a_time.c 318libcrypto_la_SOURCES += asn1/a_time.c
319libcrypto_la_SOURCES += asn1/a_time_posix.c
320libcrypto_la_SOURCES += asn1/a_time_tm.c 320libcrypto_la_SOURCES += asn1/a_time_tm.c
321libcrypto_la_SOURCES += asn1/a_type.c 321libcrypto_la_SOURCES += asn1/a_type.c
322libcrypto_la_SOURCES += asn1/a_utf8.c 322libcrypto_la_SOURCES += asn1/a_utf8.c
@@ -366,7 +366,7 @@ libcrypto_la_SOURCES += asn1/x_spki.c
366libcrypto_la_SOURCES += asn1/x_val.c 366libcrypto_la_SOURCES += asn1/x_val.c
367libcrypto_la_SOURCES += asn1/x_x509.c 367libcrypto_la_SOURCES += asn1/x_x509.c
368libcrypto_la_SOURCES += asn1/x_x509a.c 368libcrypto_la_SOURCES += asn1/x_x509a.c
369noinst_HEADERS += asn1/asn1_locl.h 369noinst_HEADERS += asn1/asn1_local.h
370noinst_HEADERS += asn1/charmap.h 370noinst_HEADERS += asn1/charmap.h
371 371
372# bf 372# bf
@@ -375,8 +375,7 @@ libcrypto_la_SOURCES += bf/bf_ecb.c
375libcrypto_la_SOURCES += bf/bf_enc.c 375libcrypto_la_SOURCES += bf/bf_enc.c
376libcrypto_la_SOURCES += bf/bf_ofb64.c 376libcrypto_la_SOURCES += bf/bf_ofb64.c
377libcrypto_la_SOURCES += bf/bf_skey.c 377libcrypto_la_SOURCES += bf/bf_skey.c
378noinst_HEADERS += bf/bf_locl.h 378noinst_HEADERS += bf/bf_local.h
379noinst_HEADERS += bf/bf_pi.h
380 379
381# bio 380# bio
382libcrypto_la_SOURCES += bio/b_dump.c 381libcrypto_la_SOURCES += bio/b_dump.c
@@ -436,11 +435,12 @@ libcrypto_la_SOURCES += bn/bn_print.c
436libcrypto_la_SOURCES += bn/bn_rand.c 435libcrypto_la_SOURCES += bn/bn_rand.c
437libcrypto_la_SOURCES += bn/bn_recp.c 436libcrypto_la_SOURCES += bn/bn_recp.c
438libcrypto_la_SOURCES += bn/bn_shift.c 437libcrypto_la_SOURCES += bn/bn_shift.c
438libcrypto_la_SOURCES += bn/bn_small_primes.c
439libcrypto_la_SOURCES += bn/bn_sqr.c 439libcrypto_la_SOURCES += bn/bn_sqr.c
440libcrypto_la_SOURCES += bn/bn_sqrt.c 440libcrypto_la_SOURCES += bn/bn_sqrt.c
441libcrypto_la_SOURCES += bn/bn_word.c 441libcrypto_la_SOURCES += bn/bn_word.c
442libcrypto_la_SOURCES += bn/bn_x931p.c 442libcrypto_la_SOURCES += bn/bn_x931p.c
443noinst_HEADERS += bn/bn_lcl.h 443noinst_HEADERS += bn/bn_local.h
444noinst_HEADERS += bn/bn_prime.h 444noinst_HEADERS += bn/bn_prime.h
445 445
446# buffer 446# buffer
@@ -461,7 +461,7 @@ libcrypto_la_SOURCES += camellia/cmll_ecb.c
461libcrypto_la_SOURCES += camellia/cmll_misc.c 461libcrypto_la_SOURCES += camellia/cmll_misc.c
462libcrypto_la_SOURCES += camellia/cmll_ofb.c 462libcrypto_la_SOURCES += camellia/cmll_ofb.c
463noinst_HEADERS += camellia/camellia.h 463noinst_HEADERS += camellia/camellia.h
464noinst_HEADERS += camellia/cmll_locl.h 464noinst_HEADERS += camellia/cmll_local.h
465 465
466# cast 466# cast
467libcrypto_la_SOURCES += cast/c_cfb64.c 467libcrypto_la_SOURCES += cast/c_cfb64.c
@@ -469,7 +469,7 @@ libcrypto_la_SOURCES += cast/c_ecb.c
469libcrypto_la_SOURCES += cast/c_enc.c 469libcrypto_la_SOURCES += cast/c_enc.c
470libcrypto_la_SOURCES += cast/c_ofb64.c 470libcrypto_la_SOURCES += cast/c_ofb64.c
471libcrypto_la_SOURCES += cast/c_skey.c 471libcrypto_la_SOURCES += cast/c_skey.c
472noinst_HEADERS += cast/cast_lcl.h 472noinst_HEADERS += cast/cast_local.h
473noinst_HEADERS += cast/cast_s.h 473noinst_HEADERS += cast/cast_s.h
474 474
475# chacha 475# chacha
@@ -496,7 +496,7 @@ libcrypto_la_SOURCES += cms/cms_lib.c
496libcrypto_la_SOURCES += cms/cms_pwri.c 496libcrypto_la_SOURCES += cms/cms_pwri.c
497libcrypto_la_SOURCES += cms/cms_sd.c 497libcrypto_la_SOURCES += cms/cms_sd.c
498libcrypto_la_SOURCES += cms/cms_smime.c 498libcrypto_la_SOURCES += cms/cms_smime.c
499noinst_HEADERS += cms/cms_lcl.h 499noinst_HEADERS += cms/cms_local.h
500 500
501# comp 501# comp
502libcrypto_la_SOURCES += comp/c_rle.c 502libcrypto_la_SOURCES += comp/c_rle.c
@@ -558,7 +558,7 @@ libcrypto_la_SOURCES += des/rand_key.c
558libcrypto_la_SOURCES += des/set_key.c 558libcrypto_la_SOURCES += des/set_key.c
559libcrypto_la_SOURCES += des/str2key.c 559libcrypto_la_SOURCES += des/str2key.c
560libcrypto_la_SOURCES += des/xcbc_enc.c 560libcrypto_la_SOURCES += des/xcbc_enc.c
561noinst_HEADERS += des/des_locl.h 561noinst_HEADERS += des/des_local.h
562noinst_HEADERS += des/spr.h 562noinst_HEADERS += des/spr.h
563 563
564# dh 564# dh
@@ -588,7 +588,7 @@ libcrypto_la_SOURCES += dsa/dsa_pmeth.c
588libcrypto_la_SOURCES += dsa/dsa_prn.c 588libcrypto_la_SOURCES += dsa/dsa_prn.c
589libcrypto_la_SOURCES += dsa/dsa_sign.c 589libcrypto_la_SOURCES += dsa/dsa_sign.c
590libcrypto_la_SOURCES += dsa/dsa_vrf.c 590libcrypto_la_SOURCES += dsa/dsa_vrf.c
591noinst_HEADERS += dsa/dsa_locl.h 591noinst_HEADERS += dsa/dsa_local.h
592 592
593# dso 593# dso
594libcrypto_la_SOURCES += dso/dso_dlfcn.c 594libcrypto_la_SOURCES += dso/dso_dlfcn.c
@@ -619,14 +619,15 @@ libcrypto_la_SOURCES += ec/ecp_mont.c
619libcrypto_la_SOURCES += ec/ecp_nist.c 619libcrypto_la_SOURCES += ec/ecp_nist.c
620libcrypto_la_SOURCES += ec/ecp_oct.c 620libcrypto_la_SOURCES += ec/ecp_oct.c
621libcrypto_la_SOURCES += ec/ecp_smpl.c 621libcrypto_la_SOURCES += ec/ecp_smpl.c
622noinst_HEADERS += ec/ec_lcl.h 622libcrypto_la_SOURCES += ec/ecx_methods.c
623noinst_HEADERS += ec/ec_local.h
623 624
624# ecdh 625# ecdh
625libcrypto_la_SOURCES += ecdh/ecdh_kdf.c 626libcrypto_la_SOURCES += ecdh/ecdh_kdf.c
626libcrypto_la_SOURCES += ecdh/ech_err.c 627libcrypto_la_SOURCES += ecdh/ech_err.c
627libcrypto_la_SOURCES += ecdh/ech_key.c 628libcrypto_la_SOURCES += ecdh/ech_key.c
628libcrypto_la_SOURCES += ecdh/ech_lib.c 629libcrypto_la_SOURCES += ecdh/ech_lib.c
629noinst_HEADERS += ecdh/ech_locl.h 630noinst_HEADERS += ecdh/ech_local.h
630 631
631# ecdsa 632# ecdsa
632libcrypto_la_SOURCES += ecdsa/ecs_asn1.c 633libcrypto_la_SOURCES += ecdsa/ecs_asn1.c
@@ -635,7 +636,7 @@ libcrypto_la_SOURCES += ecdsa/ecs_lib.c
635libcrypto_la_SOURCES += ecdsa/ecs_ossl.c 636libcrypto_la_SOURCES += ecdsa/ecs_ossl.c
636libcrypto_la_SOURCES += ecdsa/ecs_sign.c 637libcrypto_la_SOURCES += ecdsa/ecs_sign.c
637libcrypto_la_SOURCES += ecdsa/ecs_vrf.c 638libcrypto_la_SOURCES += ecdsa/ecs_vrf.c
638noinst_HEADERS += ecdsa/ecs_locl.h 639noinst_HEADERS += ecdsa/ecs_local.h
639 640
640# engine 641# engine
641libcrypto_la_SOURCES += engine/eng_all.c 642libcrypto_la_SOURCES += engine/eng_all.c
@@ -726,7 +727,7 @@ libcrypto_la_SOURCES += evp/p_verify.c
726libcrypto_la_SOURCES += evp/pmeth_fn.c 727libcrypto_la_SOURCES += evp/pmeth_fn.c
727libcrypto_la_SOURCES += evp/pmeth_gn.c 728libcrypto_la_SOURCES += evp/pmeth_gn.c
728libcrypto_la_SOURCES += evp/pmeth_lib.c 729libcrypto_la_SOURCES += evp/pmeth_lib.c
729noinst_HEADERS += evp/evp_locl.h 730noinst_HEADERS += evp/evp_local.h
730 731
731# gost 732# gost
732libcrypto_la_SOURCES += gost/gost2814789.c 733libcrypto_la_SOURCES += gost/gost2814789.c
@@ -744,7 +745,18 @@ libcrypto_la_SOURCES += gost/gostr341001_pmeth.c
744libcrypto_la_SOURCES += gost/gostr341194.c 745libcrypto_la_SOURCES += gost/gostr341194.c
745libcrypto_la_SOURCES += gost/streebog.c 746libcrypto_la_SOURCES += gost/streebog.c
746noinst_HEADERS += gost/gost_asn1.h 747noinst_HEADERS += gost/gost_asn1.h
747noinst_HEADERS += gost/gost_locl.h 748noinst_HEADERS += gost/gost_local.h
749
750# hidden
751noinst_HEADERS += hidden/crypto_namespace.h
752noinst_HEADERS += hidden/openssl/hmac.h
753noinst_HEADERS += hidden/openssl/pkcs12.h
754noinst_HEADERS += hidden/openssl/pkcs7.h
755noinst_HEADERS += hidden/openssl/stack.h
756noinst_HEADERS += hidden/openssl/ui.h
757noinst_HEADERS += hidden/openssl/x509.h
758noinst_HEADERS += hidden/openssl/x509_vfy.h
759noinst_HEADERS += hidden/openssl/x509v3.h
748 760
749# hkdf 761# hkdf
750libcrypto_la_SOURCES += hkdf/hkdf.c 762libcrypto_la_SOURCES += hkdf/hkdf.c
@@ -761,7 +773,7 @@ libcrypto_la_SOURCES += idea/i_cfb64.c
761libcrypto_la_SOURCES += idea/i_ecb.c 773libcrypto_la_SOURCES += idea/i_ecb.c
762libcrypto_la_SOURCES += idea/i_ofb64.c 774libcrypto_la_SOURCES += idea/i_ofb64.c
763libcrypto_la_SOURCES += idea/i_skey.c 775libcrypto_la_SOURCES += idea/i_skey.c
764noinst_HEADERS += idea/idea_lcl.h 776noinst_HEADERS += idea/idea_local.h
765 777
766# kdf 778# kdf
767libcrypto_la_SOURCES += kdf/hkdf_evp.c 779libcrypto_la_SOURCES += kdf/hkdf_evp.c
@@ -774,12 +786,12 @@ libcrypto_la_SOURCES += lhash/lhash.c
774# md4 786# md4
775libcrypto_la_SOURCES += md4/md4_dgst.c 787libcrypto_la_SOURCES += md4/md4_dgst.c
776libcrypto_la_SOURCES += md4/md4_one.c 788libcrypto_la_SOURCES += md4/md4_one.c
777noinst_HEADERS += md4/md4_locl.h 789noinst_HEADERS += md4/md4_local.h
778 790
779# md5 791# md5
780libcrypto_la_SOURCES += md5/md5_dgst.c 792libcrypto_la_SOURCES += md5/md5_dgst.c
781libcrypto_la_SOURCES += md5/md5_one.c 793libcrypto_la_SOURCES += md5/md5_one.c
782noinst_HEADERS += md5/md5_locl.h 794noinst_HEADERS += md5/md5_local.h
783 795
784# modes 796# modes
785libcrypto_la_SOURCES += modes/cbc128.c 797libcrypto_la_SOURCES += modes/cbc128.c
@@ -790,7 +802,7 @@ libcrypto_la_SOURCES += modes/cts128.c
790libcrypto_la_SOURCES += modes/gcm128.c 802libcrypto_la_SOURCES += modes/gcm128.c
791libcrypto_la_SOURCES += modes/ofb128.c 803libcrypto_la_SOURCES += modes/ofb128.c
792libcrypto_la_SOURCES += modes/xts128.c 804libcrypto_la_SOURCES += modes/xts128.c
793noinst_HEADERS += modes/modes_lcl.h 805noinst_HEADERS += modes/modes_local.h
794 806
795# objects 807# objects
796libcrypto_la_SOURCES += objects/o_names.c 808libcrypto_la_SOURCES += objects/o_names.c
@@ -870,15 +882,15 @@ libcrypto_la_SOURCES += rc2/rc2_ecb.c
870libcrypto_la_SOURCES += rc2/rc2_skey.c 882libcrypto_la_SOURCES += rc2/rc2_skey.c
871libcrypto_la_SOURCES += rc2/rc2cfb64.c 883libcrypto_la_SOURCES += rc2/rc2cfb64.c
872libcrypto_la_SOURCES += rc2/rc2ofb64.c 884libcrypto_la_SOURCES += rc2/rc2ofb64.c
873noinst_HEADERS += rc2/rc2_locl.h 885noinst_HEADERS += rc2/rc2_local.h
874 886
875# rc4 887# rc4
876noinst_HEADERS += rc4/rc4_locl.h 888noinst_HEADERS += rc4/rc4_local.h
877 889
878# ripemd 890# ripemd
879libcrypto_la_SOURCES += ripemd/rmd_dgst.c 891libcrypto_la_SOURCES += ripemd/rmd_dgst.c
880libcrypto_la_SOURCES += ripemd/rmd_one.c 892libcrypto_la_SOURCES += ripemd/rmd_one.c
881noinst_HEADERS += ripemd/rmd_locl.h 893noinst_HEADERS += ripemd/rmd_local.h
882noinst_HEADERS += ripemd/rmdconst.h 894noinst_HEADERS += ripemd/rmdconst.h
883 895
884# rsa 896# rsa
@@ -901,18 +913,18 @@ libcrypto_la_SOURCES += rsa/rsa_pss.c
901libcrypto_la_SOURCES += rsa/rsa_saos.c 913libcrypto_la_SOURCES += rsa/rsa_saos.c
902libcrypto_la_SOURCES += rsa/rsa_sign.c 914libcrypto_la_SOURCES += rsa/rsa_sign.c
903libcrypto_la_SOURCES += rsa/rsa_x931.c 915libcrypto_la_SOURCES += rsa/rsa_x931.c
904noinst_HEADERS += rsa/rsa_locl.h 916noinst_HEADERS += rsa/rsa_local.h
905 917
906# sha 918# sha
907libcrypto_la_SOURCES += sha/sha1_one.c 919libcrypto_la_SOURCES += sha/sha1_one.c
908libcrypto_la_SOURCES += sha/sha1dgst.c 920libcrypto_la_SOURCES += sha/sha1dgst.c
909libcrypto_la_SOURCES += sha/sha256.c 921libcrypto_la_SOURCES += sha/sha256.c
910libcrypto_la_SOURCES += sha/sha512.c 922libcrypto_la_SOURCES += sha/sha512.c
911noinst_HEADERS += sha/sha_locl.h 923noinst_HEADERS += sha/sha_local.h
912 924
913# sm3 925# sm3
914libcrypto_la_SOURCES += sm3/sm3.c 926libcrypto_la_SOURCES += sm3/sm3.c
915noinst_HEADERS += sm3/sm3_locl.h 927noinst_HEADERS += sm3/sm3_local.h
916 928
917# sm4 929# sm4
918libcrypto_la_SOURCES += sm4/sm4.c 930libcrypto_la_SOURCES += sm4/sm4.c
@@ -947,11 +959,11 @@ if HOST_WIN
947libcrypto_la_SOURCES += ui/ui_openssl_win.c 959libcrypto_la_SOURCES += ui/ui_openssl_win.c
948endif 960endif
949libcrypto_la_SOURCES += ui/ui_util.c 961libcrypto_la_SOURCES += ui/ui_util.c
950noinst_HEADERS += ui/ui_locl.h 962noinst_HEADERS += ui/ui_local.h
951 963
952# whrlpool 964# whrlpool
953libcrypto_la_SOURCES += whrlpool/wp_dgst.c 965libcrypto_la_SOURCES += whrlpool/wp_dgst.c
954noinst_HEADERS += whrlpool/wp_locl.h 966noinst_HEADERS += whrlpool/wp_local.h
955 967
956# x509 968# x509
957libcrypto_la_SOURCES += x509/by_dir.c 969libcrypto_la_SOURCES += x509/by_dir.c
@@ -1022,4 +1034,4 @@ noinst_HEADERS += x509/pcy_int.h
1022noinst_HEADERS += x509/vpm_int.h 1034noinst_HEADERS += x509/vpm_int.h
1023noinst_HEADERS += x509/x509_internal.h 1035noinst_HEADERS += x509/x509_internal.h
1024noinst_HEADERS += x509/x509_issuer_cache.h 1036noinst_HEADERS += x509/x509_issuer_cache.h
1025noinst_HEADERS += x509/x509_lcl.h 1037noinst_HEADERS += x509/x509_local.h
diff --git a/crypto/compat/ui_openssl_win.c b/crypto/compat/ui_openssl_win.c
index ad9e915..c245111 100644
--- a/crypto/compat/ui_openssl_win.c
+++ b/crypto/compat/ui_openssl_win.c
@@ -124,7 +124,7 @@
124#include <string.h> 124#include <string.h>
125#include <unistd.h> 125#include <unistd.h>
126 126
127#include "ui_locl.h" 127#include "ui_local.h"
128 128
129#ifndef NX509_SIG 129#ifndef NX509_SIG
130#define NX509_SIG 32 130#define NX509_SIG 32
diff --git a/man/links b/man/links
index 16e159d..09807f3 100644
--- a/man/links
+++ b/man/links
@@ -92,10 +92,15 @@ ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_set.3
92ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_set_string.3 92ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_set_string.3
93ASN1_TIME_set.3,ASN1_TIME_adj.3 93ASN1_TIME_set.3,ASN1_TIME_adj.3
94ASN1_TIME_set.3,ASN1_TIME_check.3 94ASN1_TIME_set.3,ASN1_TIME_check.3
95ASN1_TIME_set.3,ASN1_TIME_cmp_time_t.3
96ASN1_TIME_set.3,ASN1_TIME_compare.3
95ASN1_TIME_set.3,ASN1_TIME_diff.3 97ASN1_TIME_set.3,ASN1_TIME_diff.3
98ASN1_TIME_set.3,ASN1_TIME_normalize.3
96ASN1_TIME_set.3,ASN1_TIME_print.3 99ASN1_TIME_set.3,ASN1_TIME_print.3
97ASN1_TIME_set.3,ASN1_TIME_set_string.3 100ASN1_TIME_set.3,ASN1_TIME_set_string.3
101ASN1_TIME_set.3,ASN1_TIME_set_string_X509.3
98ASN1_TIME_set.3,ASN1_TIME_to_generalizedtime.3 102ASN1_TIME_set.3,ASN1_TIME_to_generalizedtime.3
103ASN1_TIME_set.3,ASN1_TIME_to_tm.3
99ASN1_TIME_set.3,ASN1_UTCTIME_adj.3 104ASN1_TIME_set.3,ASN1_UTCTIME_adj.3
100ASN1_TIME_set.3,ASN1_UTCTIME_check.3 105ASN1_TIME_set.3,ASN1_UTCTIME_check.3
101ASN1_TIME_set.3,ASN1_UTCTIME_cmp_time_t.3 106ASN1_TIME_set.3,ASN1_UTCTIME_cmp_time_t.3
@@ -328,6 +333,26 @@ BN_CTX_new.3,BN_CTX_free.3
328BN_CTX_new.3,BN_CTX_init.3 333BN_CTX_new.3,BN_CTX_init.3
329BN_CTX_start.3,BN_CTX_end.3 334BN_CTX_start.3,BN_CTX_end.3
330BN_CTX_start.3,BN_CTX_get.3 335BN_CTX_start.3,BN_CTX_get.3
336BN_GF2m_add.3,BN_GF2m_arr2poly.3
337BN_GF2m_add.3,BN_GF2m_cmp.3
338BN_GF2m_add.3,BN_GF2m_mod.3
339BN_GF2m_add.3,BN_GF2m_mod_arr.3
340BN_GF2m_add.3,BN_GF2m_mod_div.3
341BN_GF2m_add.3,BN_GF2m_mod_div_arr.3
342BN_GF2m_add.3,BN_GF2m_mod_exp.3
343BN_GF2m_add.3,BN_GF2m_mod_exp_arr.3
344BN_GF2m_add.3,BN_GF2m_mod_inv.3
345BN_GF2m_add.3,BN_GF2m_mod_inv_arr.3
346BN_GF2m_add.3,BN_GF2m_mod_mul.3
347BN_GF2m_add.3,BN_GF2m_mod_mul_arr.3
348BN_GF2m_add.3,BN_GF2m_mod_solve_quad.3
349BN_GF2m_add.3,BN_GF2m_mod_solve_quad_arr.3
350BN_GF2m_add.3,BN_GF2m_mod_sqr.3
351BN_GF2m_add.3,BN_GF2m_mod_sqr_arr.3
352BN_GF2m_add.3,BN_GF2m_mod_sqrt.3
353BN_GF2m_add.3,BN_GF2m_mod_sqrt_arr.3
354BN_GF2m_add.3,BN_GF2m_poly2arr.3
355BN_GF2m_add.3,BN_GF2m_sub.3
331BN_add.3,BN_div.3 356BN_add.3,BN_div.3
332BN_add.3,BN_exp.3 357BN_add.3,BN_exp.3
333BN_add.3,BN_gcd.3 358BN_add.3,BN_gcd.3
@@ -402,10 +427,15 @@ BN_mod_mul_reciprocal.3,BN_RECP_CTX_init.3
402BN_mod_mul_reciprocal.3,BN_RECP_CTX_new.3 427BN_mod_mul_reciprocal.3,BN_RECP_CTX_new.3
403BN_mod_mul_reciprocal.3,BN_RECP_CTX_set.3 428BN_mod_mul_reciprocal.3,BN_RECP_CTX_set.3
404BN_mod_mul_reciprocal.3,BN_div_recp.3 429BN_mod_mul_reciprocal.3,BN_div_recp.3
430BN_mod_mul_reciprocal.3,BN_reciprocal.3
405BN_new.3,BN_clear.3 431BN_new.3,BN_clear.3
406BN_new.3,BN_clear_free.3 432BN_new.3,BN_clear_free.3
407BN_new.3,BN_free.3 433BN_new.3,BN_free.3
408BN_new.3,BN_init.3 434BN_new.3,BN_init.3
435BN_nist_mod_521.3,BN_nist_mod_192.3
436BN_nist_mod_521.3,BN_nist_mod_224.3
437BN_nist_mod_521.3,BN_nist_mod_256.3
438BN_nist_mod_521.3,BN_nist_mod_384.3
409BN_num_bytes.3,BN_num_bits.3 439BN_num_bytes.3,BN_num_bits.3
410BN_num_bytes.3,BN_num_bits_word.3 440BN_num_bytes.3,BN_num_bits_word.3
411BN_rand.3,BN_pseudo_rand.3 441BN_rand.3,BN_pseudo_rand.3
@@ -2222,7 +2252,12 @@ X509_STORE_CTX_set_flags.3,X509_STORE_CTX_set_purpose.3
2222X509_STORE_CTX_set_flags.3,X509_STORE_CTX_set_time.3 2252X509_STORE_CTX_set_flags.3,X509_STORE_CTX_set_time.3
2223X509_STORE_CTX_set_flags.3,X509_STORE_CTX_set_trust.3 2253X509_STORE_CTX_set_flags.3,X509_STORE_CTX_set_trust.3
2224X509_STORE_CTX_set_verify.3,X509_STORE_CTX_get_verify.3 2254X509_STORE_CTX_set_verify.3,X509_STORE_CTX_get_verify.3
2255X509_STORE_CTX_set_verify.3,X509_STORE_CTX_verify_fn.3
2256X509_STORE_CTX_set_verify.3,X509_STORE_get_verify.3
2257X509_STORE_CTX_set_verify.3,X509_STORE_set_verify.3
2258X509_STORE_CTX_set_verify.3,X509_STORE_set_verify_func.3
2225X509_STORE_CTX_set_verify_cb.3,X509_STORE_CTX_get_verify_cb.3 2259X509_STORE_CTX_set_verify_cb.3,X509_STORE_CTX_get_verify_cb.3
2260X509_STORE_CTX_set_verify_cb.3,X509_STORE_CTX_verify_cb.3
2226X509_STORE_get_by_subject.3,X509_STORE_CTX_get1_issuer.3 2261X509_STORE_get_by_subject.3,X509_STORE_CTX_get1_issuer.3
2227X509_STORE_get_by_subject.3,X509_STORE_CTX_get_by_subject.3 2262X509_STORE_get_by_subject.3,X509_STORE_CTX_get_by_subject.3
2228X509_STORE_get_by_subject.3,X509_STORE_CTX_get_obj_by_subject.3 2263X509_STORE_get_by_subject.3,X509_STORE_CTX_get_obj_by_subject.3
@@ -2244,6 +2279,7 @@ X509_STORE_set1_param.3,X509_STORE_set_ex_data.3
2244X509_STORE_set1_param.3,X509_STORE_set_flags.3 2279X509_STORE_set1_param.3,X509_STORE_set_flags.3
2245X509_STORE_set1_param.3,X509_STORE_set_purpose.3 2280X509_STORE_set1_param.3,X509_STORE_set_purpose.3
2246X509_STORE_set1_param.3,X509_STORE_set_trust.3 2281X509_STORE_set1_param.3,X509_STORE_set_trust.3
2282X509_STORE_set_verify_cb_func.3,X509_STORE_get_verify_cb.3
2247X509_STORE_set_verify_cb_func.3,X509_STORE_set_verify_cb.3 2283X509_STORE_set_verify_cb_func.3,X509_STORE_set_verify_cb.3
2248X509_TRUST_set.3,X509_TRUST_add.3 2284X509_TRUST_set.3,X509_TRUST_add.3
2249X509_TRUST_set.3,X509_TRUST_cleanup.3 2285X509_TRUST_set.3,X509_TRUST_cleanup.3
@@ -2798,14 +2834,6 @@ lh_new.3,LHASH_COMP_FN_TYPE.3
2798lh_new.3,LHASH_DOALL_ARG_FN_TYPE.3 2834lh_new.3,LHASH_DOALL_ARG_FN_TYPE.3
2799lh_new.3,LHASH_DOALL_FN_TYPE.3 2835lh_new.3,LHASH_DOALL_FN_TYPE.3
2800lh_new.3,LHASH_HASH_FN_TYPE.3 2836lh_new.3,LHASH_HASH_FN_TYPE.3
2801lh_new.3,lh_<type>_delete.3
2802lh_new.3,lh_<type>_doall.3
2803lh_new.3,lh_<type>_doall_arg.3
2804lh_new.3,lh_<type>_error.3
2805lh_new.3,lh_<type>_free.3
2806lh_new.3,lh_<type>_insert.3
2807lh_new.3,lh_<type>_new.3
2808lh_new.3,lh_<type>_retrieve.3
2809lh_new.3,lh_delete.3 2837lh_new.3,lh_delete.3
2810lh_new.3,lh_doall.3 2838lh_new.3,lh_doall.3
2811lh_new.3,lh_doall_arg.3 2839lh_new.3,lh_doall_arg.3
diff --git a/man/update_links.sh b/man/update_links.sh
index e72f03d..088eb2b 100755
--- a/man/update_links.sh
+++ b/man/update_links.sh
@@ -21,4 +21,5 @@ echo "# This is an auto-generated file by $0" > links
21/usr/src/regress/usr.bin/mandoc/db/mlinks/obj/mlinks mandoc.db | \ 21/usr/src/regress/usr.bin/mandoc/db/mlinks/obj/mlinks mandoc.db | \
22 grep -v OCSP_crlID_new | \ 22 grep -v OCSP_crlID_new | \
23 grep -v bn_print | \ 23 grep -v bn_print | \
24 grep -v "<type>" | \
24 sort >> links 25 sort >> links
diff --git a/patches/bio.h.patch b/patches/bio.h.patch
index 072bc3b..f731879 100644
--- a/patches/bio.h.patch
+++ b/patches/bio.h.patch
@@ -1,6 +1,6 @@
1--- include/openssl/bio.h.orig Mon Sep 5 22:30:32 2022 1--- include/openssl/bio.h.orig Tue Nov 22 21:08:27 2022
2+++ include/openssl/bio.h Tue Sep 6 01:38:22 2022 2+++ include/openssl/bio.h Tue Nov 22 21:08:48 2022
3@@ -666,8 +666,24 @@ void BIO_copy_next_retry(BIO *b); 3@@ -667,8 +667,24 @@ void BIO_copy_next_retry(BIO *b);
4 4
5 /*long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);*/ 5 /*long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);*/
6 6
@@ -25,7 +25,7 @@
25 __attribute__((__format__(__printf__, 2, 3), __nonnull__(2))); 25 __attribute__((__format__(__printf__, 2, 3), __nonnull__(2)));
26 int 26 int
27 BIO_vprintf(BIO *bio, const char *format, va_list args) 27 BIO_vprintf(BIO *bio, const char *format, va_list args)
28@@ -680,6 +696,7 @@ int 28@@ -681,6 +697,7 @@ int
29 BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) 29 BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
30 __attribute__((__deprecated__, __format__(__printf__, 3, 0), 30 __attribute__((__deprecated__, __format__(__printf__, 3, 0),
31 __nonnull__(3))); 31 __nonnull__(3)));
diff --git a/patches/bn_isqrt.c.patch b/patches/bn_isqrt.c.patch
index bf205a3..5f2a568 100644
--- a/patches/bn_isqrt.c.patch
+++ b/patches/bn_isqrt.c.patch
@@ -1,6 +1,6 @@
1--- tests/bn_isqrt.c.orig Mon Aug 15 10:40:29 2022 1--- tests/bn_isqrt.c.orig Fri Dec 9 11:05:26 2022
2+++ tests/bn_isqrt.c Mon Aug 15 10:41:46 2022 2+++ tests/bn_isqrt.c Fri Dec 9 11:12:37 2022
3@@ -304,6 +304,7 @@ main(int argc, char *argv[]) 3@@ -306,6 +306,7 @@ main(int argc, char *argv[])
4 int ch; 4 int ch;
5 int failed = 0, print = 0; 5 int failed = 0, print = 0;
6 6
@@ -8,7 +8,7 @@
8 while ((ch = getopt(argc, argv, "C")) != -1) { 8 while ((ch = getopt(argc, argv, "C")) != -1) {
9 switch (ch) { 9 switch (ch) {
10 case 'C': 10 case 'C':
11@@ -314,6 +315,7 @@ main(int argc, char *argv[]) 11@@ -316,6 +317,7 @@ main(int argc, char *argv[])
12 break; 12 break;
13 } 13 }
14 } 14 }
diff --git a/patches/bn_lcl.h.patch b/patches/bn_local.h.patch
index 84835ed..2378ec7 100644
--- a/patches/bn_lcl.h.patch
+++ b/patches/bn_local.h.patch
@@ -1,5 +1,5 @@
1--- ./crypto/bn/bn_lcl.h.orig Fri Feb 18 16:30:39 2022 1--- ./crypto/bn/bn_local.h.orig Fri Feb 18 16:30:39 2022
2+++ ./crypto/bn/bn_lcl.h Mon Feb 21 05:39:35 2022 2+++ ./crypto/bn/bn_local.h Mon Feb 21 05:39:35 2022
3@@ -283,7 +283,7 @@ 3@@ -283,7 +283,7 @@
4 : "r"(a), "r"(b)); \ 4 : "r"(a), "r"(b)); \
5 ret; }) 5 ret; })
diff --git a/patches/modes_lcl.h.patch b/patches/modes_local.h.patch
index 330d4d0..8f55eed 100644
--- a/patches/modes_lcl.h.patch
+++ b/patches/modes_local.h.patch
@@ -1,5 +1,5 @@
1--- crypto/modes/modes_lcl.h.orig Tue Nov 14 10:25:15 2017 1--- crypto/modes/modes_local.h.orig Tue Nov 14 10:25:15 2017
2+++ crypto/modes/modes_lcl.h Sat Jan 19 22:19:23 2019 2+++ crypto/modes/modes_local.h Sat Jan 19 22:19:23 2019
3@@ -45,14 +45,16 @@ 3@@ -45,14 +45,16 @@
4 asm ("bswapl %0" \ 4 asm ("bswapl %0" \
5 : "+r"(ret)); ret; }) 5 : "+r"(ret)); ret; })
diff --git a/patches/openssl.c.patch b/patches/openssl.c.patch
index 2c2a3da..46702f2 100644
--- a/patches/openssl.c.patch
+++ b/patches/openssl.c.patch
@@ -1,6 +1,6 @@
1--- apps/openssl/openssl.c.orig Thu Nov 7 18:19:01 2019 1--- apps/openssl/openssl.c.orig Sun Nov 27 10:48:36 2022
2+++ apps/openssl/openssl.c Fri Sep 4 04:04:26 2020 2+++ apps/openssl/openssl.c Sun Nov 27 10:48:49 2022
3@@ -360,7 +360,9 @@ 3@@ -359,7 +359,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/opensslconf.h.patch b/patches/opensslconf.h.patch
new file mode 100644
index 0000000..ee5d645
--- /dev/null
+++ b/patches/opensslconf.h.patch
@@ -0,0 +1,24 @@
1--- include/openssl/opensslconf.h.orig Tue Nov 22 21:08:27 2022
2+++ include/openssl/opensslconf.h Wed Nov 23 12:38:07 2022
3@@ -1,6 +1,21 @@
4 #include <openssl/opensslfeatures.h>
5 /* crypto/opensslconf.h.in */
6
7+#if defined(_MSC_VER) && !defined(__clang__) && !defined(__attribute__)
8+#define __attribute__(a)
9+#endif
10+
11+#if defined(LIBRESSL_INTERNAL) && !defined(LIBRESSL_NAMESPACE)
12+# define LCRYPTO_UNUSED(x)
13+# define LCRYPTO_USED(x)
14+# define LCRYPTO_ALIAS1(pre, x)
15+# define LCRYPTO_ALIAS(x)
16+
17+# define LSSL_UNUSED(x)
18+# define LSSL_USED(x)
19+# define LSSL_ALIAS(x)
20+#endif /* LIBRESSL_INTERNAL && !LIBRESSL_NAMESPACE */
21+
22 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
23 #define OPENSSLDIR "/etc/ssl"
24 #endif
diff --git a/patches/speed.c.patch b/patches/speed.c.patch
index 11f9f03..4e80f31 100644
--- a/patches/speed.c.patch
+++ b/patches/speed.c.patch
@@ -1,6 +1,6 @@
1--- apps/openssl/speed.c.orig Sun Feb 6 20:37:16 2022 1--- apps/openssl/speed.c.orig Tue Nov 22 17:32:11 2022
2+++ apps/openssl/speed.c Sun Feb 6 21:07:42 2022 2+++ apps/openssl/speed.c Tue Nov 22 18:33:13 2022
3@@ -159,7 +159,16 @@ 3@@ -159,7 +159,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@@ -466,8 +475,10 @@ 20@@ -466,8 +475,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;
@@ -26,9 +26,9 @@
26 const char *errstr = NULL; 26 const char *errstr = NULL;
27+#endif 27+#endif
28 28
29 if (single_execution) { 29 if (pledge("stdio proc", NULL) == -1) {
30 if (pledge("stdio proc", NULL) == -1) { 30 perror("pledge");
31@@ -544,6 +555,7 @@ 31@@ -542,6 +553,7 @@ speed_main(int argc, char **argv)
32 j--; /* Otherwise, -decrypt gets confused with an 32 j--; /* Otherwise, -decrypt gets confused with an
33 * algorithm. */ 33 * algorithm. */
34 } 34 }
@@ -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@@ -559,6 +571,7 @@ 39@@ -557,6 +569,7 @@ speed_main(int argc, char **argv)
40 j--; /* Otherwise, -multi gets confused with an 40 j--; /* Otherwise, -multi gets confused with an
41 * algorithm. */ 41 * algorithm. */
42 } 42 }
@@ -44,7 +44,7 @@
44 else if (argc > 0 && !strcmp(*argv, "-mr")) { 44 else if (argc > 0 && !strcmp(*argv, "-mr")) {
45 mr = 1; 45 mr = 1;
46 j--; /* Otherwise, -mr gets confused with an 46 j--; /* Otherwise, -mr gets confused with an
47@@ -921,7 +934,9 @@ 47@@ -919,7 +932,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 goto end; 54 goto end;
55 } 55 }
56 argc--; 56 argc--;
57@@ -929,8 +944,10 @@ 57@@ -927,8 +942,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@@ -1807,7 +1824,9 @@ 68@@ -1805,7 +1822,9 @@ speed_main(int argc, char **argv)
69 ecdh_doit[j] = 0; 69 ecdh_doit[j] = 0;
70 } 70 }
71 } 71 }
@@ -75,7 +75,7 @@
75 if (!mr) { 75 if (!mr) {
76 fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_VERSION)); 76 fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_VERSION));
77 fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_BUILT_ON)); 77 fprintf(stdout, "%s\n", SSLeay_version(SSLEAY_BUILT_ON));
78@@ -1980,11 +1999,15 @@ 78@@ -1978,11 +1997,15 @@ pkey_print_message(const char *str, const char *str2,
79 static void 79 static void
80 print_result(int alg, int run_no, int count, double time_used) 80 print_result(int alg, int run_no, int count, double time_used)
81 { 81 {
@@ -91,7 +91,7 @@
91 static char * 91 static char *
92 sstrsep(char **string, const char *delim) 92 sstrsep(char **string, const char *delim)
93 { 93 {
94@@ -2191,4 +2214,5 @@ 94@@ -2189,4 +2212,5 @@ do_multi(int multi)
95 free(fds); 95 free(fds);
96 return 1; 96 return 1;
97 } 97 }
diff --git a/patches/tlsexttest.c.patch b/patches/tlsexttest.c.patch
index bc81da5..c1591d7 100644
--- a/patches/tlsexttest.c.patch
+++ b/patches/tlsexttest.c.patch
@@ -1,9 +1,9 @@
1--- tests/tlsexttest.c.orig Mon Sep 5 22:30:36 2022 1--- tests/tlsexttest.c.orig Tue Nov 8 10:32:18 2022
2+++ tests/tlsexttest.c Mon Sep 5 22:32:52 2022 2+++ tests/tlsexttest.c Tue Nov 8 10:35:52 2022
3@@ -1773,7 +1773,9 @@ static unsigned char tlsext_sni_client[] = { 3@@ -1773,7 +1773,9 @@ static const unsigned char tlsext_sni_client[] = {
4 }; 4 };
5 5
6 static unsigned char tlsext_sni_server[] = { 6 static const unsigned char tlsext_sni_server[] = {
7+ 0x00 7+ 0x00
8 }; 8 };
9+const size_t sizeof_tlsext_sni_server = 0; 9+const size_t sizeof_tlsext_sni_server = 0;
@@ -39,7 +39,7 @@
39 if (!client_funcs->parse(ssl, SSL_TLSEXT_MSG_SH, &cbs, &alert)) { 39 if (!client_funcs->parse(ssl, SSL_TLSEXT_MSG_SH, &cbs, &alert)) {
40 FAIL("failed to parse server SNI\n"); 40 FAIL("failed to parse server SNI\n");
41 goto err; 41 goto err;
42@@ -3196,7 +3198,10 @@ unsigned char tlsext_clienthello_default[] = { 42@@ -3194,7 +3196,10 @@ unsigned char tlsext_clienthello_default[] = {
43 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 43 0x04, 0x03, 0x02, 0x01, 0x02, 0x03,
44 }; 44 };
45 45
@@ -51,7 +51,7 @@
51 51
52 static int 52 static int
53 test_tlsext_clienthello_build(void) 53 test_tlsext_clienthello_build(void)
54@@ -3282,18 +3287,18 @@ test_tlsext_clienthello_build(void) 54@@ -3280,18 +3285,18 @@ test_tlsext_clienthello_build(void)
55 goto err; 55 goto err;
56 } 56 }
57 57
diff --git a/patches/windows_headers.patch b/patches/windows_headers.patch
index 0e9428c..17c447d 100644
--- a/patches/windows_headers.patch
+++ b/patches/windows_headers.patch
@@ -13,19 +13,6 @@ diff -u include/openssl.orig/dtls1.h include/openssl/dtls1.h
13 13
14 #include <stdio.h> 14 #include <stdio.h>
15 #include <stdlib.h> 15 #include <stdlib.h>
16--- include/openssl/opensslconf.h.orig Sat Nov 5 08:36:25 2016
17+++ include/openssl/opensslconf.h Mon Jul 17 06:06:58 2017
18@@ -1,6 +1,10 @@
19 #include <openssl/opensslfeatures.h>
20 /* crypto/opensslconf.h.in */
21
22+#if defined(_MSC_VER) && !defined(__clang__) && !defined(__attribute__)
23+#define __attribute__(a)
24+#endif
25+
26 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
27 #define OPENSSLDIR "/etc/ssl"
28 #endif
29--- include/openssl/ossl_typ.h.orig Fri Feb 18 16:30:39 2022 16--- include/openssl/ossl_typ.h.orig Fri Feb 18 16:30:39 2022
30+++ include/openssl/ossl_typ.h Mon Feb 21 05:39:35 2022 17+++ include/openssl/ossl_typ.h Mon Feb 21 05:39:35 2022
31@@ -82,6 +82,22 @@ 18@@ -82,6 +82,22 @@
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt
index 8e974a8..4c7357a 100644
--- a/ssl/CMakeLists.txt
+++ b/ssl/CMakeLists.txt
@@ -64,8 +64,8 @@ set(
64add_library(ssl_obj OBJECT ${SSL_SRC}) 64add_library(ssl_obj OBJECT ${SSL_SRC})
65target_include_directories(ssl_obj 65target_include_directories(ssl_obj
66 PRIVATE 66 PRIVATE
67 .
68 ../crypto/bio 67 ../crypto/bio
68 .
69 ../include/compat 69 ../include/compat
70 PUBLIC 70 PUBLIC
71 ../include) 71 ../include)
diff --git a/ssl/Makefile.am b/ssl/Makefile.am
index d5c0466..6591ffa 100644
--- a/ssl/Makefile.am
+++ b/ssl/Makefile.am
@@ -39,6 +39,9 @@ libbs_la_SOURCES += bs_cbb.c
39libbs_la_SOURCES += bs_cbs.c 39libbs_la_SOURCES += bs_cbs.c
40noinst_HEADERS = bytestring.h 40noinst_HEADERS = bytestring.h
41 41
42noinst_HEADERS += hidden/ssl_namespace.h
43noinst_HEADERS += hidden/openssl/ssl.h
44
42libssl_la_SOURCES = bio_ssl.c 45libssl_la_SOURCES = bio_ssl.c
43libssl_la_SOURCES += d1_both.c 46libssl_la_SOURCES += d1_both.c
44libssl_la_SOURCES += d1_lib.c 47libssl_la_SOURCES += d1_lib.c
@@ -93,12 +96,13 @@ libssl_la_SOURCES += tls13_record_layer.c
93libssl_la_SOURCES += tls13_server.c 96libssl_la_SOURCES += tls13_server.c
94 97
95noinst_HEADERS += srtp.h 98noinst_HEADERS += srtp.h
96noinst_HEADERS += dtls_locl.h 99noinst_HEADERS += dtls_local.h
97noinst_HEADERS += ssl_locl.h 100noinst_HEADERS += ssl_local.h
98noinst_HEADERS += ssl_sigalgs.h 101noinst_HEADERS += ssl_sigalgs.h
99noinst_HEADERS += ssl_tlsext.h 102noinst_HEADERS += ssl_tlsext.h
100noinst_HEADERS += tls_content.h 103noinst_HEADERS += tls_content.h
101noinst_HEADERS += tls_internal.h 104noinst_HEADERS += tls_internal.h
105noinst_HEADERS += tls12_internal.h
102noinst_HEADERS += tls13_internal.h 106noinst_HEADERS += tls13_internal.h
103noinst_HEADERS += tls13_handshake.h 107noinst_HEADERS += tls13_handshake.h
104noinst_HEADERS += tls13_record.h 108noinst_HEADERS += tls13_record.h
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 9b10b33..a7f92cd 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -5,6 +5,7 @@ include_directories(
5 ../crypto/asn1 5 ../crypto/asn1
6 ../crypto/bio 6 ../crypto/bio
7 ../crypto/bn 7 ../crypto/bn
8 ../crypto/curve25519
8 ../crypto/evp 9 ../crypto/evp
9 ../crypto/modes 10 ../crypto/modes
10 ../crypto/x509 11 ../crypto/x509
@@ -29,6 +30,11 @@ else()
29 add_test(aeadtest aeadtest aead ${CMAKE_CURRENT_SOURCE_DIR}/aeadtests.txt) 30 add_test(aeadtest aeadtest aead ${CMAKE_CURRENT_SOURCE_DIR}/aeadtests.txt)
30endif() 31endif()
31 32
33# aes_test
34add_executable(aes_test aes_test.c)
35target_link_libraries(aes_test ${OPENSSL_TEST_LIBS})
36add_test(aes_test aes_test)
37
32# aes_wrap 38# aes_wrap
33add_executable(aes_wrap aes_wrap.c) 39add_executable(aes_wrap aes_wrap.c)
34target_link_libraries(aes_wrap ${OPENSSL_TEST_LIBS}) 40target_link_libraries(aes_wrap ${OPENSSL_TEST_LIBS})
@@ -87,34 +93,68 @@ add_executable(asn1x509 asn1x509.c)
87target_link_libraries(asn1x509 ${OPENSSL_TEST_LIBS}) 93target_link_libraries(asn1x509 ${OPENSSL_TEST_LIBS})
88add_test(asn1x509 asn1x509) 94add_test(asn1x509 asn1x509)
89 95
96# asn1_string_to_utf8
97add_executable(asn1_string_to_utf8 asn1_string_to_utf8.c)
98target_link_libraries(asn1_string_to_utf8 ${OPENSSL_TEST_LIBS})
99add_test(asn1_string_to_utf8 asn1_string_to_utf8)
100
90# base64test 101# base64test
91add_executable(base64test base64test.c) 102add_executable(base64test base64test.c)
92target_link_libraries(base64test ${OPENSSL_TEST_LIBS}) 103target_link_libraries(base64test ${OPENSSL_TEST_LIBS})
93add_test(base64test base64test) 104add_test(base64test base64test)
94 105
95# bftest 106# bf_test
96add_executable(bftest bftest.c) 107add_executable(bf_test bf_test.c)
97target_link_libraries(bftest ${OPENSSL_TEST_LIBS}) 108target_link_libraries(bf_test ${OPENSSL_TEST_LIBS})
98add_test(bftest bftest) 109add_test(bf_test bf_test)
110
111# bio_chain
112add_executable(bio_chain bio_chain.c)
113target_link_libraries(bio_chain ${OPENSSL_TEST_LIBS})
114add_test(bio_chain bio_chain)
99 115
100# biotest 116# bio_host
101# the BIO tests rely on resolver results that are OS and environment-specific 117# this test relies on resolver results that are OS and environment-specific
102if(ENABLE_EXTRATESTS) 118if(ENABLE_EXTRATESTS)
103 add_executable(biotest biotest.c) 119 add_executable(bio_host bio_host.c)
104 target_link_libraries(biotest ${OPENSSL_TEST_LIBS}) 120 target_link_libraries(bio_host ${OPENSSL_TEST_LIBS})
105 add_test(biotest biotest) 121 add_test(bio_host bio_host)
106endif() 122endif()
107 123
108# bnaddsub 124# bio_mem
109add_executable(bnaddsub bnaddsub.c) 125add_executable(bio_mem bio_mem.c)
110target_link_libraries(bnaddsub ${OPENSSL_TEST_LIBS}) 126target_link_libraries(bio_mem ${OPENSSL_TEST_LIBS})
111add_test(bnaddsub bnaddsub) 127add_test(bio_mem bio_mem)
128
129# bn_add_sub
130add_executable(bn_add_sub bn_add_sub.c)
131target_link_libraries(bn_add_sub ${OPENSSL_TEST_LIBS})
132add_test(bn_add_sub bn_add_sub)
133
134# bn_cmp
135add_executable(bn_cmp bn_cmp.c)
136target_link_libraries(bn_cmp ${OPENSSL_TEST_LIBS})
137add_test(bn_cmp bn_cmp)
112 138
113# bn_isqrt 139# bn_isqrt
114add_executable(bn_isqrt bn_isqrt.c) 140add_executable(bn_isqrt bn_isqrt.c)
115target_link_libraries(bn_isqrt ${OPENSSL_TEST_LIBS}) 141target_link_libraries(bn_isqrt ${OPENSSL_TEST_LIBS})
116add_test(bn_isqrt bn_isqrt) 142add_test(bn_isqrt bn_isqrt)
117 143
144# bn_mod_exp
145add_executable(bn_mod_exp bn_mod_exp.c)
146set_source_files_properties(bn_mod_exp.c PROPERTIES COMPILE_FLAGS
147 -ULIBRESSL_INTERNAL)
148target_link_libraries(bn_mod_exp ${OPENSSL_TEST_LIBS})
149add_test(bn_mod_exp bn_mod_exp)
150
151# bn_mod_exp_zero
152add_executable(bn_mod_exp_zero bn_mod_exp_zero.c)
153set_source_files_properties(bn_mod_exp_zero.c PROPERTIES COMPILE_FLAGS
154 -ULIBRESSL_INTERNAL)
155target_link_libraries(bn_mod_exp_zero ${OPENSSL_TEST_LIBS})
156add_test(bn_mod_exp_zero bn_mod_exp_zero)
157
118# bn_mod_exp2_mont 158# bn_mod_exp2_mont
119add_executable(bn_mod_exp2_mont bn_mod_exp2_mont.c) 159add_executable(bn_mod_exp2_mont bn_mod_exp2_mont.c)
120target_link_libraries(bn_mod_exp2_mont ${OPENSSL_TEST_LIBS}) 160target_link_libraries(bn_mod_exp2_mont ${OPENSSL_TEST_LIBS})
@@ -125,6 +165,11 @@ add_executable(bn_mod_sqrt bn_mod_sqrt.c)
125target_link_libraries(bn_mod_sqrt ${OPENSSL_TEST_LIBS}) 165target_link_libraries(bn_mod_sqrt ${OPENSSL_TEST_LIBS})
126add_test(bn_mod_sqrt bn_mod_sqrt) 166add_test(bn_mod_sqrt bn_mod_sqrt)
127 167
168# bn_mont
169add_executable(bn_mont bn_mont.c)
170target_link_libraries(bn_mont ${OPENSSL_TEST_LIBS})
171add_test(bn_mont bn_mont)
172
128# bn_primes 173# bn_primes
129add_executable(bn_primes bn_primes.c) 174add_executable(bn_primes bn_primes.c)
130target_link_libraries(bn_primes ${OPENSSL_TEST_LIBS}) 175target_link_libraries(bn_primes ${OPENSSL_TEST_LIBS})
@@ -135,18 +180,23 @@ add_executable(bn_rand_interval bn_rand_interval.c)
135target_link_libraries(bn_rand_interval ${OPENSSL_TEST_LIBS}) 180target_link_libraries(bn_rand_interval ${OPENSSL_TEST_LIBS})
136add_test(bn_rand_interval bn_rand_interval) 181add_test(bn_rand_interval bn_rand_interval)
137 182
138# bntest 183# bn_test
139add_executable(bntest bntest.c) 184add_executable(bn_test bn_test.c)
140set_source_files_properties(bntest.c PROPERTIES COMPILE_FLAGS 185set_source_files_properties(bn_test.c PROPERTIES COMPILE_FLAGS
141 -ULIBRESSL_INTERNAL) 186 -ULIBRESSL_INTERNAL)
142target_link_libraries(bntest ${OPENSSL_TEST_LIBS}) 187target_link_libraries(bn_test ${OPENSSL_TEST_LIBS})
143add_test(bntest bntest) 188add_test(bn_test bn_test)
144 189
145# bn_to_string 190# bn_to_string
146add_executable(bn_to_string bn_to_string.c) 191add_executable(bn_to_string bn_to_string.c)
147target_link_libraries(bn_to_string ${OPENSSL_TEST_LIBS}) 192target_link_libraries(bn_to_string ${OPENSSL_TEST_LIBS})
148add_test(bn_to_string bn_to_string) 193add_test(bn_to_string bn_to_string)
149 194
195# bn_unit
196add_executable(bn_unit bn_unit.c)
197target_link_libraries(bn_unit ${OPENSSL_TEST_LIBS})
198add_test(bn_unit bn_unit)
199
150# buffertest 200# buffertest
151add_executable(buffertest buffertest.c) 201add_executable(buffertest buffertest.c)
152target_link_libraries(buffertest ${OPENSSL_TEST_LIBS}) 202target_link_libraries(buffertest ${OPENSSL_TEST_LIBS})
@@ -217,13 +267,14 @@ add_executable(dsatest dsatest.c)
217target_link_libraries(dsatest ${OPENSSL_TEST_LIBS}) 267target_link_libraries(dsatest ${OPENSSL_TEST_LIBS})
218add_test(dsatest dsatest) 268add_test(dsatest dsatest)
219 269
220# dtlstest 270# XXX This test is too flaky for CI. Disable it until it is fixed.
221if(NOT WIN32) 271# # dtlstest
222 add_executable(dtlstest dtlstest.c) 272# if(NOT WIN32)
223 target_link_libraries(dtlstest ${OPENSSL_TEST_LIBS}) 273# add_executable(dtlstest dtlstest.c)
224 add_test(NAME dtlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/dtlstest.sh) 274# target_link_libraries(dtlstest ${OPENSSL_TEST_LIBS})
225 set_tests_properties(dtlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") 275# add_test(NAME dtlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/dtlstest.sh)
226endif() 276# set_tests_properties(dtlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
277# endif()
227 278
228# ec_asn1_test 279# ec_asn1_test
229add_executable(ec_asn1_test ec_asn1_test.c) 280add_executable(ec_asn1_test ec_asn1_test.c)
@@ -250,11 +301,21 @@ add_executable(ectest ectest.c)
250target_link_libraries(ectest ${OPENSSL_TEST_LIBS}) 301target_link_libraries(ectest ${OPENSSL_TEST_LIBS})
251add_test(ectest ectest) 302add_test(ectest ectest)
252 303
304# ed25519test
305add_executable(ed25519test ed25519test.c)
306target_link_libraries(ed25519test ${OPENSSL_TEST_LIBS})
307add_test(ed25519test ed25519test)
308
253# enginetest 309# enginetest
254add_executable(enginetest enginetest.c) 310add_executable(enginetest enginetest.c)
255target_link_libraries(enginetest ${OPENSSL_TEST_LIBS}) 311target_link_libraries(enginetest ${OPENSSL_TEST_LIBS})
256add_test(enginetest enginetest) 312add_test(enginetest enginetest)
257 313
314# evp_ecx_test
315add_executable(evp_ecx_test evp_ecx_test.c)
316target_link_libraries(evp_ecx_test ${OPENSSL_TEST_LIBS})
317add_test(evp_ecx_test evp_ecx_test)
318
258# evp_pkey_check 319# evp_pkey_check
259add_executable(evp_pkey_check evp_pkey_check.c) 320add_executable(evp_pkey_check evp_pkey_check.c)
260target_link_libraries(evp_pkey_check ${OPENSSL_TEST_LIBS}) 321target_link_libraries(evp_pkey_check ${OPENSSL_TEST_LIBS})
@@ -282,13 +343,6 @@ if(NOT WIN32)
282 add_test(explicit_bzero explicit_bzero) 343 add_test(explicit_bzero explicit_bzero)
283endif() 344endif()
284 345
285# exptest
286add_executable(exptest exptest.c)
287set_source_files_properties(exptest.c PROPERTIES COMPILE_FLAGS
288 -ULIBRESSL_INTERNAL)
289target_link_libraries(exptest ${OPENSSL_TEST_LIBS})
290add_test(exptest exptest)
291
292# freenull 346# freenull
293add_executable(freenull freenull.c) 347add_executable(freenull freenull.c)
294target_link_libraries(freenull ${OPENSSL_TEST_LIBS}) 348target_link_libraries(freenull ${OPENSSL_TEST_LIBS})
@@ -347,11 +401,6 @@ add_executable(md_test md_test.c)
347target_link_libraries(md_test ${OPENSSL_TEST_LIBS}) 401target_link_libraries(md_test ${OPENSSL_TEST_LIBS})
348add_test(md_test md_test) 402add_test(md_test md_test)
349 403
350# mont
351add_executable(mont mont.c)
352target_link_libraries(mont ${OPENSSL_TEST_LIBS})
353add_test(mont mont)
354
355# objectstest 404# objectstest
356add_executable(objectstest objectstest.c) 405add_executable(objectstest objectstest.c)
357target_link_libraries(objectstest ${OPENSSL_TEST_LIBS}) 406target_link_libraries(objectstest ${OPENSSL_TEST_LIBS})
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 24e6f2e..6fea2eb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -5,6 +5,7 @@ AM_CPPFLAGS += -DLIBRESSL_CRYPTO_INTERNAL
5AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1 5AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1
6AM_CPPFLAGS += -I $(top_srcdir)/crypto/bio 6AM_CPPFLAGS += -I $(top_srcdir)/crypto/bio
7AM_CPPFLAGS += -I $(top_srcdir)/crypto/bn 7AM_CPPFLAGS += -I $(top_srcdir)/crypto/bn
8AM_CPPFLAGS += -I $(top_srcdir)/crypto/curve25519
8AM_CPPFLAGS += -I $(top_srcdir)/crypto/evp 9AM_CPPFLAGS += -I $(top_srcdir)/crypto/evp
9AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes 10AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes
10AM_CPPFLAGS += -I $(top_srcdir)/crypto/x509 11AM_CPPFLAGS += -I $(top_srcdir)/crypto/x509
@@ -40,6 +41,11 @@ EXTRA_DIST += aes_256_gcm_tests.txt
40EXTRA_DIST += chacha20_poly1305_tests.txt 41EXTRA_DIST += chacha20_poly1305_tests.txt
41EXTRA_DIST += xchacha20_poly1305_tests.txt 42EXTRA_DIST += xchacha20_poly1305_tests.txt
42 43
44# aes
45TESTS += aes_test
46check_PROGRAMS += aes_test
47aes_test_SOURCES = aes_test.c
48
43# aes_wrap 49# aes_wrap
44TESTS += aes_wrap 50TESTS += aes_wrap
45check_PROGRAMS += aes_wrap 51check_PROGRAMS += aes_wrap
@@ -109,29 +115,56 @@ TESTS += base64test
109check_PROGRAMS += base64test 115check_PROGRAMS += base64test
110base64test_SOURCES = base64test.c 116base64test_SOURCES = base64test.c
111 117
112# bftest 118# bf_test
113TESTS += bftest 119TESTS += bf_test
114check_PROGRAMS += bftest 120check_PROGRAMS += bf_test
115bftest_SOURCES = bftest.c 121bf_test_SOURCES = bf_test.c
122
123# bio_chain
124TESTS += bio_chain
125check_PROGRAMS += bio_chain
126bio_chain_SOURCES = bio_chain.c
116 127
117# biotest 128# bio_host
118# the BIO tests rely on resolver results that are OS and environment-specific 129# this test relies on resolver results that are OS and environment-specific
119if ENABLE_EXTRATESTS 130if ENABLE_EXTRATESTS
120TESTS += biotest 131TESTS += bio_host
121check_PROGRAMS += biotest 132check_PROGRAMS += bio_host
122biotest_SOURCES = biotest.c 133bio_host_SOURCES = bio_host.c
123endif 134endif
124 135
125# bnaddsub 136# bio_mem
126TESTS += bnaddsub 137TESTS += bio_mem
127check_PROGRAMS += bnaddsub 138check_PROGRAMS += bio_mem
128bnaddsub_SOURCES = bnaddsub.c 139bio_mem_SOURCES = bio_mem.c
140
141# bn_add_sub
142TESTS += bn_add_sub
143check_PROGRAMS += bn_add_sub
144bn_add_sub_SOURCES = bn_add_sub.c
145
146# bn_cmp
147TESTS += bn_cmp
148check_PROGRAMS += bn_cmp
149bn_cmp_SOURCES = bn_cmp.c
129 150
130# bn_isqrt 151# bn_isqrt
131TESTS += bn_isqrt 152TESTS += bn_isqrt
132check_PROGRAMS += bn_isqrt 153check_PROGRAMS += bn_isqrt
133bn_isqrt_SOURCES = bn_isqrt.c 154bn_isqrt_SOURCES = bn_isqrt.c
134 155
156# bn_mod_exp
157TESTS += bn_mod_exp
158check_PROGRAMS += bn_mod_exp
159bn_mod_exp_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
160bn_mod_exp_SOURCES = bn_mod_exp.c
161
162# bn_mod_exp_zero
163TESTS += bn_mod_exp_zero
164check_PROGRAMS += bn_mod_exp_zero
165bn_mod_exp_zero_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
166bn_mod_exp_zero_SOURCES = bn_mod_exp_zero.c
167
135# bn_mod_exp2_mont 168# bn_mod_exp2_mont
136TESTS += bn_mod_exp2_mont 169TESTS += bn_mod_exp2_mont
137check_PROGRAMS += bn_mod_exp2_mont 170check_PROGRAMS += bn_mod_exp2_mont
@@ -142,6 +175,11 @@ TESTS += bn_mod_sqrt
142check_PROGRAMS += bn_mod_sqrt 175check_PROGRAMS += bn_mod_sqrt
143bn_mod_sqrt_SOURCES = bn_mod_sqrt.c 176bn_mod_sqrt_SOURCES = bn_mod_sqrt.c
144 177
178# bn_mont
179TESTS += bn_mont
180check_PROGRAMS += bn_mont
181bn_mont_SOURCES = bn_mont.c
182
145# bn_primes 183# bn_primes
146TESTS += bn_primes 184TESTS += bn_primes
147check_PROGRAMS += bn_primes 185check_PROGRAMS += bn_primes
@@ -152,17 +190,22 @@ TESTS += bn_rand_interval
152check_PROGRAMS += bn_rand_interval 190check_PROGRAMS += bn_rand_interval
153bn_rand_interval_SOURCES = bn_rand_interval.c 191bn_rand_interval_SOURCES = bn_rand_interval.c
154 192
155# bntest 193# bn_test
156TESTS += bntest 194TESTS += bn_test
157bntest_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL 195bn_test_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
158check_PROGRAMS += bntest 196check_PROGRAMS += bn_test
159bntest_SOURCES = bntest.c 197bn_test_SOURCES = bn_test.c
160 198
161# bn_to_string 199# bn_to_string
162TESTS += bn_to_string 200TESTS += bn_to_string
163check_PROGRAMS += bn_to_string 201check_PROGRAMS += bn_to_string
164bn_to_string_SOURCES = bn_to_string.c 202bn_to_string_SOURCES = bn_to_string.c
165 203
204# bn_unit
205TESTS += bn_unit
206check_PROGRAMS += bn_unit
207bn_unit_SOURCES = bn_unit.c
208
166# buffertest 209# buffertest
167TESTS += buffertest 210TESTS += buffertest
168check_PROGRAMS += buffertest 211check_PROGRAMS += buffertest
@@ -234,13 +277,14 @@ TESTS += dsatest
234check_PROGRAMS += dsatest 277check_PROGRAMS += dsatest
235dsatest_SOURCES = dsatest.c 278dsatest_SOURCES = dsatest.c
236 279
237# dtlstest 280# XXX this test is too flaky for CI. Disable it until it is fixed.
238if !HOST_WIN 281## dtlstest
239TESTS += dtlstest.sh 282#if !HOST_WIN
240check_PROGRAMS += dtlstest 283#TESTS += dtlstest.sh
241dtlstest_SOURCES = dtlstest.c 284#check_PROGRAMS += dtlstest
242endif 285#dtlstest_SOURCES = dtlstest.c
243EXTRA_DIST += dtlstest.sh 286#endif
287#EXTRA_DIST += dtlstest.sh
244 288
245# ec_asn1_test 289# ec_asn1_test
246TESTS += ec_asn1_test 290TESTS += ec_asn1_test
@@ -267,11 +311,21 @@ TESTS += ectest
267check_PROGRAMS += ectest 311check_PROGRAMS += ectest
268ectest_SOURCES = ectest.c 312ectest_SOURCES = ectest.c
269 313
314# ed25519test
315TESTS += ed25519test
316check_PROGRAMS += ed25519test
317ed25519test_SOURCES = ed25519test.c
318
270# enginetest 319# enginetest
271TESTS += enginetest 320TESTS += enginetest
272check_PROGRAMS += enginetest 321check_PROGRAMS += enginetest
273enginetest_SOURCES = enginetest.c 322enginetest_SOURCES = enginetest.c
274 323
324# evp_ecx_test
325TESTS += evp_ecx_test
326check_PROGRAMS += evp_ecx_test
327evp_ecx_test_SOURCES = evp_ecx_test.c
328
275# evp_pkey_check 329# evp_pkey_check
276TESTS += evp_pkey_check 330TESTS += evp_pkey_check
277check_PROGRAMS += evp_pkey_check 331check_PROGRAMS += evp_pkey_check
@@ -302,12 +356,6 @@ endif
302endif 356endif
303endif 357endif
304 358
305# exptest
306TESTS += exptest
307check_PROGRAMS += exptest
308exptest_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
309exptest_SOURCES = exptest.c
310
311# freenull 359# freenull
312TESTS += freenull 360TESTS += freenull
313check_PROGRAMS += freenull 361check_PROGRAMS += freenull
@@ -365,11 +413,6 @@ TESTS += md_test
365check_PROGRAMS += md_test 413check_PROGRAMS += md_test
366md_test_SOURCES = md_test.c 414md_test_SOURCES = md_test.c
367 415
368# mont
369TESTS += mont
370check_PROGRAMS += mont
371mont_SOURCES = mont.c
372
373# objectstest 416# objectstest
374TESTS += objectstest 417TESTS += objectstest
375check_PROGRAMS += objectstest 418check_PROGRAMS += objectstest
diff --git a/update.sh b/update.sh
index 3aea129..e7d9e6b 100755
--- a/update.sh
+++ b/update.sh
@@ -277,7 +277,9 @@ done
277echo "copying libssl source" 277echo "copying libssl source"
278rm -f ssl/*.c ssl/*.h 278rm -f ssl/*.c ssl/*.h
279for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do 279for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do
280 $CP $libssl_src/$i ssl 280 dir=`dirname $i`
281 mkdir -p ssl/$dir
282 $CP $libssl_src/$i ssl/$i
281done 283done
282# add the libssl symbol export list 284# add the libssl symbol export list
283$GREP '^[A-Za-z0-9_]' < $libssl_src/Symbols.list > ssl/ssl.sym 285$GREP '^[A-Za-z0-9_]' < $libssl_src/Symbols.list > ssl/ssl.sym