aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt20
-rw-r--r--ChangeLog15
-rw-r--r--crypto/CMakeLists.txt78
-rw-r--r--crypto/Makefile.am54
-rw-r--r--crypto/Makefile.am.elf-arm7
-rw-r--r--crypto/Makefile.am.elf-mips7
-rw-r--r--crypto/Makefile.am.elf-mips647
-rw-r--r--crypto/Makefile.am.elf-x86_649
-rw-r--r--crypto/Makefile.am.macosx-x86_649
-rw-r--r--crypto/Makefile.am.masm-x86_649
-rw-r--r--crypto/Makefile.am.mingw64-x86_649
-rw-r--r--libtls.pc.in2
-rw-r--r--patches/win32_amd64_bn_arch.h.patch21
-rw-r--r--tests/CMakeLists.txt18
-rw-r--r--tests/Makefile.am18
-rwxr-xr-xupdate.sh6
16 files changed, 110 insertions, 179 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 01a42fb..95fe601 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -509,9 +509,7 @@ if(ENABLE_LIBRESSL_INSTALL)
509 "${CMAKE_CURRENT_BINARY_DIR}/LibreSSLConfigVersion.cmake" 509 "${CMAKE_CURRENT_BINARY_DIR}/LibreSSLConfigVersion.cmake"
510 DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}" 510 DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}"
511 ) 511 )
512endif()
513 512
514if(ENABLE_LIBRESSL_INSTALL)
515 if(NOT MSVC) 513 if(NOT MSVC)
516 # Create pkgconfig files. 514 # Create pkgconfig files.
517 set(prefix ${CMAKE_INSTALL_PREFIX}) 515 set(prefix ${CMAKE_INSTALL_PREFIX})
@@ -530,19 +528,17 @@ if(ENABLE_LIBRESSL_INSTALL)
530 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig 528 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig
531 DESTINATION ${CMAKE_INSTALL_LIBDIR}) 529 DESTINATION ${CMAKE_INSTALL_LIBDIR})
532 endif() 530 endif()
533endif(ENABLE_LIBRESSL_INSTALL)
534 531
535if(ENABLE_LIBRESSL_INSTALL)
536 install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR}) 532 install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
537 install(DIRECTORY DESTINATION ${CONF_DIR}/certs) 533 install(DIRECTORY DESTINATION ${CONF_DIR}/certs)
538endif(ENABLE_LIBRESSL_INSTALL)
539 534
540if(NOT TARGET uninstall) 535 if(NOT TARGET uninstall)
541 configure_file( 536 configure_file(
542 "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" 537 "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
543 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" 538 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
544 IMMEDIATE @ONLY) 539 IMMEDIATE @ONLY)
545 540
546 add_custom_target(uninstall 541 add_custom_target(uninstall
547 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) 542 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
543 endif()
548endif() 544endif()
diff --git a/ChangeLog b/ChangeLog
index 6d13119..c67eefa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,12 +40,27 @@ LibreSSL Portable Release Notes:
40 - Removed unnecessary stat calls in by_dir. 40 - Removed unnecessary stat calls in by_dir.
41 - Split parsing and processing of TLS extensions to ensure that 41 - Split parsing and processing of TLS extensions to ensure that
42 extension callbacks are called in a predefined order. 42 extension callbacks are called in a predefined order.
43 - Cleaned up the MD4 and MD5 implementations.
44 - Assembly functions are no longer exposed in the public API, they
45 are all wrapped by C functions.
46 - Removed assembly implementations of legacy ciphers on legacy
47 architectures.
48 - Merged most multi-file implementations of ciphers into one or two
49 C files.
43 * Documentation improvements 50 * Documentation improvements
44 - Removed documentation of no longer existing API. 51 - Removed documentation of no longer existing API.
45 * Testing and proactive security 52 * Testing and proactive security
46 - Switched the remaining tests to new certs. 53 - Switched the remaining tests to new certs.
47 * Compatibility changes 54 * Compatibility changes
55 - Removed workaround for F5 middle boxes.
48 * Bug fixes 56 * Bug fixes
57 - Improved standards compliance for supported groups and key shares
58 extensions
59 - Duplicate key shares are disallowed
60 - Duplicate supported groups are disallowed
61 - Key shares must be sent in the order of supported groups.
62 - Key shares will only be selected if they match the most
63 preferred supported group by client preference order.
49 - Fixed signed integer overflow in bnrand(). 64 - Fixed signed integer overflow in bnrand().
50 65
513.9.0 - Development release 663.9.0 - Development release
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 87fb2d8..835bb2b 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -30,19 +30,15 @@ if(HOST_ASM_ELF_X86_64)
30 aes/bsaes-elf-x86_64.S 30 aes/bsaes-elf-x86_64.S
31 aes/vpaes-elf-x86_64.S 31 aes/vpaes-elf-x86_64.S
32 aes/aesni-elf-x86_64.S 32 aes/aesni-elf-x86_64.S
33 aes/aesni-sha1-elf-x86_64.S
34 bn/modexp512-elf-x86_64.S 33 bn/modexp512-elf-x86_64.S
35 bn/mont-elf-x86_64.S 34 bn/mont-elf-x86_64.S
36 bn/mont5-elf-x86_64.S 35 bn/mont5-elf-x86_64.S
37 camellia/cmll-elf-x86_64.S
38 md5/md5-elf-x86_64.S 36 md5/md5-elf-x86_64.S
39 modes/ghash-elf-x86_64.S 37 modes/ghash-elf-x86_64.S
40 rc4/rc4-elf-x86_64.S 38 rc4/rc4-elf-x86_64.S
41 rc4/rc4-md5-elf-x86_64.S
42 sha/sha1-elf-x86_64.S 39 sha/sha1-elf-x86_64.S
43 sha/sha256-elf-x86_64.S 40 sha/sha256-elf-x86_64.S
44 sha/sha512-elf-x86_64.S 41 sha/sha512-elf-x86_64.S
45 whrlpool/wp-elf-x86_64.S
46 cpuid-elf-x86_64.S 42 cpuid-elf-x86_64.S
47 43
48 bn/arch/amd64/bignum_add.S 44 bn/arch/amd64/bignum_add.S
@@ -83,19 +79,15 @@ if(HOST_ASM_MACOSX_X86_64)
83 aes/bsaes-macosx-x86_64.S 79 aes/bsaes-macosx-x86_64.S
84 aes/vpaes-macosx-x86_64.S 80 aes/vpaes-macosx-x86_64.S
85 aes/aesni-macosx-x86_64.S 81 aes/aesni-macosx-x86_64.S
86 aes/aesni-sha1-macosx-x86_64.S
87 bn/modexp512-macosx-x86_64.S 82 bn/modexp512-macosx-x86_64.S
88 bn/mont-macosx-x86_64.S 83 bn/mont-macosx-x86_64.S
89 bn/mont5-macosx-x86_64.S 84 bn/mont5-macosx-x86_64.S
90 camellia/cmll-macosx-x86_64.S
91 md5/md5-macosx-x86_64.S 85 md5/md5-macosx-x86_64.S
92 modes/ghash-macosx-x86_64.S 86 modes/ghash-macosx-x86_64.S
93 rc4/rc4-macosx-x86_64.S 87 rc4/rc4-macosx-x86_64.S
94 rc4/rc4-md5-macosx-x86_64.S
95 sha/sha1-macosx-x86_64.S 88 sha/sha1-macosx-x86_64.S
96 sha/sha256-macosx-x86_64.S 89 sha/sha256-macosx-x86_64.S
97 sha/sha512-macosx-x86_64.S 90 sha/sha512-macosx-x86_64.S
98 whrlpool/wp-macosx-x86_64.S
99 cpuid-macosx-x86_64.S 91 cpuid-macosx-x86_64.S
100 92
101 bn/arch/amd64/bignum_add.S 93 bn/arch/amd64/bignum_add.S
@@ -137,19 +129,15 @@ if(HOST_ASM_MASM_X86_64)
137 aes/bsaes-masm-x86_64.S 129 aes/bsaes-masm-x86_64.S
138 aes/vpaes-masm-x86_64.S 130 aes/vpaes-masm-x86_64.S
139 aes/aesni-masm-x86_64.S 131 aes/aesni-masm-x86_64.S
140 aes/aesni-sha1-masm-x86_64.S
141 #bn/modexp512-masm-x86_64.S 132 #bn/modexp512-masm-x86_64.S
142 #bn/mont-masm-x86_64.S 133 #bn/mont-masm-x86_64.S
143 #bn/mont5-masm-x86_64.S 134 #bn/mont5-masm-x86_64.S
144 camellia/cmll-masm-x86_64.S
145 md5/md5-masm-x86_64.S 135 md5/md5-masm-x86_64.S
146 modes/ghash-masm-x86_64.S 136 modes/ghash-masm-x86_64.S
147 rc4/rc4-masm-x86_64.S 137 rc4/rc4-masm-x86_64.S
148 rc4/rc4-md5-masm-x86_64.S
149 sha/sha1-masm-x86_64.S 138 sha/sha1-masm-x86_64.S
150 sha/sha256-masm-x86_64.S 139 sha/sha256-masm-x86_64.S
151 sha/sha512-masm-x86_64.S 140 sha/sha512-masm-x86_64.S
152 whrlpool/wp-masm-x86_64.S
153 cpuid-masm-x86_64.S 141 cpuid-masm-x86_64.S
154 ) 142 )
155 add_definitions(-Dendbr64=) 143 add_definitions(-Dendbr64=)
@@ -178,19 +166,15 @@ if(HOST_ASM_MINGW64_X86_64)
178 aes/bsaes-mingw64-x86_64.S 166 aes/bsaes-mingw64-x86_64.S
179 aes/vpaes-mingw64-x86_64.S 167 aes/vpaes-mingw64-x86_64.S
180 aes/aesni-mingw64-x86_64.S 168 aes/aesni-mingw64-x86_64.S
181 aes/aesni-sha1-mingw64-x86_64.S
182 #bn/modexp512-mingw64-x86_64.S 169 #bn/modexp512-mingw64-x86_64.S
183 #bn/mont-mingw64-x86_64.S 170 #bn/mont-mingw64-x86_64.S
184 #bn/mont5-mingw64-x86_64.S 171 #bn/mont5-mingw64-x86_64.S
185 camellia/cmll-mingw64-x86_64.S
186 md5/md5-mingw64-x86_64.S 172 md5/md5-mingw64-x86_64.S
187 modes/ghash-mingw64-x86_64.S 173 modes/ghash-mingw64-x86_64.S
188 rc4/rc4-mingw64-x86_64.S 174 rc4/rc4-mingw64-x86_64.S
189 rc4/rc4-md5-mingw64-x86_64.S
190 sha/sha1-mingw64-x86_64.S 175 sha/sha1-mingw64-x86_64.S
191 sha/sha256-mingw64-x86_64.S 176 sha/sha256-mingw64-x86_64.S
192 sha/sha512-mingw64-x86_64.S 177 sha/sha512-mingw64-x86_64.S
193 whrlpool/wp-mingw64-x86_64.S
194 cpuid-mingw64-x86_64.S 178 cpuid-mingw64-x86_64.S
195 ) 179 )
196 add_definitions(-Dendbr32=endbr64) 180 add_definitions(-Dendbr32=endbr64)
@@ -212,34 +196,6 @@ if(HOST_ASM_MINGW64_X86_64)
212 set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY LANGUAGE C) 196 set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY LANGUAGE C)
213endif() 197endif()
214 198
215if((NOT HOST_ASM_ELF_X86_64) AND
216 (NOT HOST_ASM_MACOSX_X86_64) AND
217 (NOT HOST_ASM_MASM_X86_64) AND
218 (NOT HOST_ASM_MINGW64_X86_64) AND
219 (NOT HOST_ASM_ELF_ARMV4))
220 set(
221 CRYPTO_SRC
222 ${CRYPTO_SRC}
223 aes/aes_core.c
224 )
225endif()
226
227if((NOT HOST_ASM_ELF_X86_64) AND
228 (NOT HOST_ASM_MACOSX_X86_64) AND
229 (NOT HOST_ASM_MASM_X86_64) AND
230 (NOT HOST_ASM_MINGW64_X86_64))
231 set(
232 CRYPTO_SRC
233 ${CRYPTO_SRC}
234 aes/aes_cbc.c
235 camellia/camellia.c
236 camellia/cmll_cbc.c
237 rc4/rc4_enc.c
238 rc4/rc4_skey.c
239 whrlpool/wp_block.c
240 )
241endif()
242
243set( 199set(
244 CRYPTO_SRC 200 CRYPTO_SRC
245 ${CRYPTO_SRC} 201 ${CRYPTO_SRC}
@@ -253,12 +209,9 @@ set(
253 mem_dbg.c 209 mem_dbg.c
254 o_fips.c 210 o_fips.c
255 o_str.c 211 o_str.c
256 aes/aes_cfb.c 212 aes/aes.c
257 aes/aes_ctr.c 213 aes/aes_core.c
258 aes/aes_ecb.c
259 aes/aes_ige.c 214 aes/aes_ige.c
260 aes/aes_ofb.c
261 aes/aes_wrap.c
262 asn1/a_bitstr.c 215 asn1/a_bitstr.c
263 asn1/a_enum.c 216 asn1/a_enum.c
264 asn1/a_int.c 217 asn1/a_int.c
@@ -319,11 +272,7 @@ set(
319 asn1/x_val.c 272 asn1/x_val.c
320 asn1/x_x509.c 273 asn1/x_x509.c
321 asn1/x_x509a.c 274 asn1/x_x509a.c
322 bf/bf_cfb64.c 275 bf/blowfish.c
323 bf/bf_ecb.c
324 bf/bf_enc.c
325 bf/bf_ofb64.c
326 bf/bf_skey.c
327 bio/b_dump.c 276 bio/b_dump.c
328 bio/b_print.c 277 bio/b_print.c
329 bio/b_sock.c 278 bio/b_sock.c
@@ -373,16 +322,8 @@ set(
373 bytestring/bs_ber.c 322 bytestring/bs_ber.c
374 bytestring/bs_cbb.c 323 bytestring/bs_cbb.c
375 bytestring/bs_cbs.c 324 bytestring/bs_cbs.c
376 camellia/cmll_cfb.c 325 camellia/camellia.c
377 camellia/cmll_ctr.c 326 cast/cast.c
378 camellia/cmll_ecb.c
379 camellia/cmll_misc.c
380 camellia/cmll_ofb.c
381 cast/c_cfb64.c
382 cast/c_ecb.c
383 cast/c_enc.c
384 cast/c_ofb64.c
385 cast/c_skey.c
386 chacha/chacha.c 327 chacha/chacha.c
387 cmac/cm_ameth.c 328 cmac/cm_ameth.c
388 cmac/cm_pmeth.c 329 cmac/cm_pmeth.c
@@ -529,11 +470,7 @@ set(
529 hmac/hm_ameth.c 470 hmac/hm_ameth.c
530 hmac/hm_pmeth.c 471 hmac/hm_pmeth.c
531 hmac/hmac.c 472 hmac/hmac.c
532 idea/i_cbc.c 473 idea/idea.c
533 idea/i_cfb64.c
534 idea/i_ecb.c
535 idea/i_ofb64.c
536 idea/i_skey.c
537 kdf/hkdf_evp.c 474 kdf/hkdf_evp.c
538 kdf/kdf_err.c 475 kdf/kdf_err.c
539 lhash/lhash.c 476 lhash/lhash.c
@@ -601,6 +538,7 @@ set(
601 rc2/rc2_skey.c 538 rc2/rc2_skey.c
602 rc2/rc2cfb64.c 539 rc2/rc2cfb64.c
603 rc2/rc2ofb64.c 540 rc2/rc2ofb64.c
541 rc4/rc4.c
604 ripemd/ripemd.c 542 ripemd/ripemd.c
605 rsa/rsa_ameth.c 543 rsa/rsa_ameth.c
606 rsa/rsa_asn1.c 544 rsa/rsa_asn1.c
@@ -643,7 +581,7 @@ set(
643 ui/ui_lib.c 581 ui/ui_lib.c
644 ui/ui_null.c 582 ui/ui_null.c
645 ui/ui_util.c 583 ui/ui_util.c
646 whrlpool/wp_dgst.c 584 whrlpool/whirlpool.c
647 x509/by_dir.c 585 x509/by_dir.c
648 x509/by_file.c 586 x509/by_file.c
649 x509/by_mem.c 587 x509/by_mem.c
diff --git a/crypto/Makefile.am b/crypto/Makefile.am
index 49dcaae..9533907 100644
--- a/crypto/Makefile.am
+++ b/crypto/Makefile.am
@@ -196,13 +196,6 @@ if !HOST_ASM_MACOSX_X86_64
196if !HOST_ASM_MASM_X86_64 196if !HOST_ASM_MASM_X86_64
197if !HOST_ASM_MINGW64_X86_64 197if !HOST_ASM_MINGW64_X86_64
198libcrypto_la_CPPFLAGS += -DOPENSSL_NO_ASM 198libcrypto_la_CPPFLAGS += -DOPENSSL_NO_ASM
199libcrypto_la_SOURCES += aes/aes_cbc.c
200libcrypto_la_SOURCES += aes/aes_core.c
201libcrypto_la_SOURCES += camellia/camellia.c
202libcrypto_la_SOURCES += camellia/cmll_cbc.c
203libcrypto_la_SOURCES += rc4/rc4_enc.c
204libcrypto_la_SOURCES += rc4/rc4_skey.c
205libcrypto_la_SOURCES += whrlpool/wp_block.c
206endif 199endif
207endif 200endif
208endif 201endif
@@ -231,16 +224,12 @@ noinst_HEADERS += constant_time.h
231noinst_HEADERS += cryptlib.h 224noinst_HEADERS += cryptlib.h
232noinst_HEADERS += crypto_internal.h 225noinst_HEADERS += crypto_internal.h
233noinst_HEADERS += crypto_local.h 226noinst_HEADERS += crypto_local.h
234noinst_HEADERS += md32_common.h
235noinst_HEADERS += x86_arch.h 227noinst_HEADERS += x86_arch.h
236 228
237# aes 229# aes
238libcrypto_la_SOURCES += aes/aes_cfb.c 230libcrypto_la_SOURCES += aes/aes.c
239libcrypto_la_SOURCES += aes/aes_ctr.c 231libcrypto_la_SOURCES += aes/aes_core.c
240libcrypto_la_SOURCES += aes/aes_ecb.c
241libcrypto_la_SOURCES += aes/aes_ige.c 232libcrypto_la_SOURCES += aes/aes_ige.c
242libcrypto_la_SOURCES += aes/aes_ofb.c
243libcrypto_la_SOURCES += aes/aes_wrap.c
244noinst_HEADERS += aes/aes_local.h 233noinst_HEADERS += aes/aes_local.h
245 234
246# asn1 235# asn1
@@ -308,11 +297,7 @@ noinst_HEADERS += asn1/asn1_local.h
308noinst_HEADERS += asn1/charmap.h 297noinst_HEADERS += asn1/charmap.h
309 298
310# bf 299# bf
311libcrypto_la_SOURCES += bf/bf_cfb64.c 300libcrypto_la_SOURCES += bf/blowfish.c
312libcrypto_la_SOURCES += bf/bf_ecb.c
313libcrypto_la_SOURCES += bf/bf_enc.c
314libcrypto_la_SOURCES += bf/bf_ofb64.c
315libcrypto_la_SOURCES += bf/bf_skey.c
316noinst_HEADERS += bf/bf_local.h 301noinst_HEADERS += bf/bf_local.h
317 302
318# bio 303# bio
@@ -440,22 +425,12 @@ libcrypto_la_SOURCES += bytestring/bs_cbb.c
440libcrypto_la_SOURCES += bytestring/bs_cbs.c 425libcrypto_la_SOURCES += bytestring/bs_cbs.c
441 426
442# camellia 427# camellia
443libcrypto_la_SOURCES += camellia/cmll_cfb.c 428libcrypto_la_SOURCES += camellia/camellia.c
444libcrypto_la_SOURCES += camellia/cmll_ctr.c
445libcrypto_la_SOURCES += camellia/cmll_ecb.c
446libcrypto_la_SOURCES += camellia/cmll_misc.c
447libcrypto_la_SOURCES += camellia/cmll_ofb.c
448noinst_HEADERS += camellia/camellia.h 429noinst_HEADERS += camellia/camellia.h
449noinst_HEADERS += camellia/cmll_local.h
450 430
451# cast 431# cast
452libcrypto_la_SOURCES += cast/c_cfb64.c 432libcrypto_la_SOURCES += cast/cast.c
453libcrypto_la_SOURCES += cast/c_ecb.c
454libcrypto_la_SOURCES += cast/c_enc.c
455libcrypto_la_SOURCES += cast/c_ofb64.c
456libcrypto_la_SOURCES += cast/c_skey.c
457noinst_HEADERS += cast/cast_local.h 433noinst_HEADERS += cast/cast_local.h
458noinst_HEADERS += cast/cast_s.h
459 434
460# chacha 435# chacha
461EXTRA_libcrypto_la_SOURCES += chacha/chacha-merged.c 436EXTRA_libcrypto_la_SOURCES += chacha/chacha-merged.c
@@ -645,11 +620,14 @@ noinst_HEADERS += evp/evp_local.h
645 620
646# hidden 621# hidden
647noinst_HEADERS += hidden/crypto_namespace.h 622noinst_HEADERS += hidden/crypto_namespace.h
623noinst_HEADERS += hidden/openssl/aes.h
648noinst_HEADERS += hidden/openssl/asn1.h 624noinst_HEADERS += hidden/openssl/asn1.h
649noinst_HEADERS += hidden/openssl/asn1t.h 625noinst_HEADERS += hidden/openssl/asn1t.h
650noinst_HEADERS += hidden/openssl/bio.h 626noinst_HEADERS += hidden/openssl/bio.h
627noinst_HEADERS += hidden/openssl/blowfish.h
651noinst_HEADERS += hidden/openssl/bn.h 628noinst_HEADERS += hidden/openssl/bn.h
652noinst_HEADERS += hidden/openssl/buffer.h 629noinst_HEADERS += hidden/openssl/buffer.h
630noinst_HEADERS += hidden/openssl/camellia.h
653noinst_HEADERS += hidden/openssl/cast.h 631noinst_HEADERS += hidden/openssl/cast.h
654noinst_HEADERS += hidden/openssl/chacha.h 632noinst_HEADERS += hidden/openssl/chacha.h
655noinst_HEADERS += hidden/openssl/cmac.h 633noinst_HEADERS += hidden/openssl/cmac.h
@@ -658,9 +636,11 @@ noinst_HEADERS += hidden/openssl/conf_api.h
658noinst_HEADERS += hidden/openssl/crypto.h 636noinst_HEADERS += hidden/openssl/crypto.h
659noinst_HEADERS += hidden/openssl/ct.h 637noinst_HEADERS += hidden/openssl/ct.h
660noinst_HEADERS += hidden/openssl/curve25519.h 638noinst_HEADERS += hidden/openssl/curve25519.h
639noinst_HEADERS += hidden/openssl/des.h
661noinst_HEADERS += hidden/openssl/dh.h 640noinst_HEADERS += hidden/openssl/dh.h
662noinst_HEADERS += hidden/openssl/dsa.h 641noinst_HEADERS += hidden/openssl/dsa.h
663noinst_HEADERS += hidden/openssl/ec.h 642noinst_HEADERS += hidden/openssl/ec.h
643noinst_HEADERS += hidden/openssl/engine.h
664noinst_HEADERS += hidden/openssl/err.h 644noinst_HEADERS += hidden/openssl/err.h
665noinst_HEADERS += hidden/openssl/hkdf.h 645noinst_HEADERS += hidden/openssl/hkdf.h
666noinst_HEADERS += hidden/openssl/hmac.h 646noinst_HEADERS += hidden/openssl/hmac.h
@@ -678,6 +658,8 @@ noinst_HEADERS += hidden/openssl/poly1305.h
678noinst_HEADERS += hidden/openssl/posix_time.h 658noinst_HEADERS += hidden/openssl/posix_time.h
679noinst_HEADERS += hidden/openssl/rand.h 659noinst_HEADERS += hidden/openssl/rand.h
680noinst_HEADERS += hidden/openssl/rc2.h 660noinst_HEADERS += hidden/openssl/rc2.h
661noinst_HEADERS += hidden/openssl/rc4.h
662noinst_HEADERS += hidden/openssl/ripemd.h
681noinst_HEADERS += hidden/openssl/rsa.h 663noinst_HEADERS += hidden/openssl/rsa.h
682noinst_HEADERS += hidden/openssl/sha.h 664noinst_HEADERS += hidden/openssl/sha.h
683noinst_HEADERS += hidden/openssl/sm3.h 665noinst_HEADERS += hidden/openssl/sm3.h
@@ -686,6 +668,7 @@ noinst_HEADERS += hidden/openssl/stack.h
686noinst_HEADERS += hidden/openssl/ts.h 668noinst_HEADERS += hidden/openssl/ts.h
687noinst_HEADERS += hidden/openssl/txt_db.h 669noinst_HEADERS += hidden/openssl/txt_db.h
688noinst_HEADERS += hidden/openssl/ui.h 670noinst_HEADERS += hidden/openssl/ui.h
671noinst_HEADERS += hidden/openssl/whrlpool.h
689noinst_HEADERS += hidden/openssl/x509.h 672noinst_HEADERS += hidden/openssl/x509.h
690noinst_HEADERS += hidden/openssl/x509_vfy.h 673noinst_HEADERS += hidden/openssl/x509_vfy.h
691noinst_HEADERS += hidden/openssl/x509v3.h 674noinst_HEADERS += hidden/openssl/x509v3.h
@@ -700,11 +683,7 @@ libcrypto_la_SOURCES += hmac/hmac.c
700noinst_HEADERS += hmac/hmac_local.h 683noinst_HEADERS += hmac/hmac_local.h
701 684
702# idea 685# idea
703libcrypto_la_SOURCES += idea/i_cbc.c 686libcrypto_la_SOURCES += idea/idea.c
704libcrypto_la_SOURCES += idea/i_cfb64.c
705libcrypto_la_SOURCES += idea/i_ecb.c
706libcrypto_la_SOURCES += idea/i_ofb64.c
707libcrypto_la_SOURCES += idea/i_skey.c
708noinst_HEADERS += idea/idea_local.h 687noinst_HEADERS += idea/idea_local.h
709 688
710# kdf 689# kdf
@@ -808,7 +787,7 @@ libcrypto_la_SOURCES += rc2/rc2ofb64.c
808noinst_HEADERS += rc2/rc2_local.h 787noinst_HEADERS += rc2/rc2_local.h
809 788
810# rc4 789# rc4
811noinst_HEADERS += rc4/rc4_local.h 790libcrypto_la_SOURCES += rc4/rc4.c
812 791
813# ripemd 792# ripemd
814libcrypto_la_SOURCES += ripemd/ripemd.c 793libcrypto_la_SOURCES += ripemd/ripemd.c
@@ -883,8 +862,7 @@ libcrypto_la_SOURCES += ui/ui_util.c
883noinst_HEADERS += ui/ui_local.h 862noinst_HEADERS += ui/ui_local.h
884 863
885# whrlpool 864# whrlpool
886libcrypto_la_SOURCES += whrlpool/wp_dgst.c 865libcrypto_la_SOURCES += whrlpool/whirlpool.c
887noinst_HEADERS += whrlpool/wp_local.h
888 866
889# x509 867# x509
890libcrypto_la_SOURCES += x509/by_dir.c 868libcrypto_la_SOURCES += x509/by_dir.c
diff --git a/crypto/Makefile.am.elf-arm b/crypto/Makefile.am.elf-arm
index 041c27c..4f88994 100644
--- a/crypto/Makefile.am.elf-arm
+++ b/crypto/Makefile.am.elf-arm
@@ -7,13 +7,6 @@ ASM_ARM_ELF += modes/ghash-elf-armv4.S
7ASM_ARM_ELF += armv4cpuid.S 7ASM_ARM_ELF += armv4cpuid.S
8ASM_ARM_ELF += armcap.c 8ASM_ARM_ELF += armcap.c
9 9
10ASM_ARM_ELF += aes/aes_cbc.c
11ASM_ARM_ELF += camellia/camellia.c
12ASM_ARM_ELF += camellia/cmll_cbc.c
13ASM_ARM_ELF += rc4/rc4_enc.c
14ASM_ARM_ELF += rc4/rc4_skey.c
15ASM_ARM_ELF += whrlpool/wp_block.c
16
17EXTRA_DIST += $(ASM_ARM_ELF) 10EXTRA_DIST += $(ASM_ARM_ELF)
18 11
19if HOST_ASM_ELF_ARM 12if HOST_ASM_ELF_ARM
diff --git a/crypto/Makefile.am.elf-mips b/crypto/Makefile.am.elf-mips
index 9c4a70f..ea0a730 100644
--- a/crypto/Makefile.am.elf-mips
+++ b/crypto/Makefile.am.elf-mips
@@ -5,13 +5,6 @@ ASM_MIPS_ELF += sha/sha1-mips.S
5ASM_MIPS_ELF += sha/sha512-mips.S 5ASM_MIPS_ELF += sha/sha512-mips.S
6ASM_MIPS_ELF += sha/sha256-mips.S 6ASM_MIPS_ELF += sha/sha256-mips.S
7 7
8ASM_MIPS_ELF += aes/aes_cbc.c
9ASM_MIPS_ELF += camellia/camellia.c
10ASM_MIPS_ELF += camellia/cmll_cbc.c
11ASM_MIPS_ELF += rc4/rc4_enc.c
12ASM_MIPS_ELF += rc4/rc4_skey.c
13ASM_MIPS_ELF += whrlpool/wp_block.c
14
15EXTRA_DIST += $(ASM_MIPS_ELF) 8EXTRA_DIST += $(ASM_MIPS_ELF)
16 9
17if HOST_ASM_ELF_MIPS 10if HOST_ASM_ELF_MIPS
diff --git a/crypto/Makefile.am.elf-mips64 b/crypto/Makefile.am.elf-mips64
index c599fa8..8f851f3 100644
--- a/crypto/Makefile.am.elf-mips64
+++ b/crypto/Makefile.am.elf-mips64
@@ -5,13 +5,6 @@ ASM_MIPS64_ELF += sha/sha1-mips.S
5ASM_MIPS64_ELF += sha/sha512-mips.S 5ASM_MIPS64_ELF += sha/sha512-mips.S
6ASM_MIPS64_ELF += sha/sha256-mips.S 6ASM_MIPS64_ELF += sha/sha256-mips.S
7 7
8ASM_MIPS64_ELF += aes/aes_cbc.c
9ASM_MIPS64_ELF += camellia/camellia.c
10ASM_MIPS64_ELF += camellia/cmll_cbc.c
11ASM_MIPS64_ELF += rc4/rc4_enc.c
12ASM_MIPS64_ELF += rc4/rc4_skey.c
13ASM_MIPS64_ELF += whrlpool/wp_block.c
14
15EXTRA_DIST += $(ASM_MIPS64_ELF) 8EXTRA_DIST += $(ASM_MIPS64_ELF)
16 9
17if HOST_ASM_ELF_MIPS64 10if HOST_ASM_ELF_MIPS64
diff --git a/crypto/Makefile.am.elf-x86_64 b/crypto/Makefile.am.elf-x86_64
index 88be1d5..6933a11 100644
--- a/crypto/Makefile.am.elf-x86_64
+++ b/crypto/Makefile.am.elf-x86_64
@@ -3,19 +3,15 @@ ASM_X86_64_ELF = aes/aes-elf-x86_64.S
3ASM_X86_64_ELF += aes/bsaes-elf-x86_64.S 3ASM_X86_64_ELF += aes/bsaes-elf-x86_64.S
4ASM_X86_64_ELF += aes/vpaes-elf-x86_64.S 4ASM_X86_64_ELF += aes/vpaes-elf-x86_64.S
5ASM_X86_64_ELF += aes/aesni-elf-x86_64.S 5ASM_X86_64_ELF += aes/aesni-elf-x86_64.S
6ASM_X86_64_ELF += aes/aesni-sha1-elf-x86_64.S
7ASM_X86_64_ELF += bn/modexp512-elf-x86_64.S 6ASM_X86_64_ELF += bn/modexp512-elf-x86_64.S
8ASM_X86_64_ELF += bn/mont-elf-x86_64.S 7ASM_X86_64_ELF += bn/mont-elf-x86_64.S
9ASM_X86_64_ELF += bn/mont5-elf-x86_64.S 8ASM_X86_64_ELF += bn/mont5-elf-x86_64.S
10ASM_X86_64_ELF += camellia/cmll-elf-x86_64.S
11ASM_X86_64_ELF += md5/md5-elf-x86_64.S 9ASM_X86_64_ELF += md5/md5-elf-x86_64.S
12ASM_X86_64_ELF += modes/ghash-elf-x86_64.S 10ASM_X86_64_ELF += modes/ghash-elf-x86_64.S
13ASM_X86_64_ELF += rc4/rc4-elf-x86_64.S 11ASM_X86_64_ELF += rc4/rc4-elf-x86_64.S
14ASM_X86_64_ELF += rc4/rc4-md5-elf-x86_64.S
15ASM_X86_64_ELF += sha/sha1-elf-x86_64.S 12ASM_X86_64_ELF += sha/sha1-elf-x86_64.S
16ASM_X86_64_ELF += sha/sha256-elf-x86_64.S 13ASM_X86_64_ELF += sha/sha256-elf-x86_64.S
17ASM_X86_64_ELF += sha/sha512-elf-x86_64.S 14ASM_X86_64_ELF += sha/sha512-elf-x86_64.S
18ASM_X86_64_ELF += whrlpool/wp-elf-x86_64.S
19ASM_X86_64_ELF += cpuid-elf-x86_64.S 15ASM_X86_64_ELF += cpuid-elf-x86_64.S
20 16
21ASM_X86_64_ELF += bn/arch/amd64/bignum_add.S 17ASM_X86_64_ELF += bn/arch/amd64/bignum_add.S
@@ -37,6 +33,11 @@ if HOST_ASM_ELF_X86_64
37libcrypto_la_CPPFLAGS += -DAES_ASM 33libcrypto_la_CPPFLAGS += -DAES_ASM
38libcrypto_la_CPPFLAGS += -DBSAES_ASM 34libcrypto_la_CPPFLAGS += -DBSAES_ASM
39libcrypto_la_CPPFLAGS += -DVPAES_ASM 35libcrypto_la_CPPFLAGS += -DVPAES_ASM
36libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL
37libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
38libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
39libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL
40libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL
40libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 41libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
41libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 42libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
42libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 43libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
diff --git a/crypto/Makefile.am.macosx-x86_64 b/crypto/Makefile.am.macosx-x86_64
index b9b89cf..1020567 100644
--- a/crypto/Makefile.am.macosx-x86_64
+++ b/crypto/Makefile.am.macosx-x86_64
@@ -3,19 +3,15 @@ ASM_X86_64_MACOSX = aes/aes-macosx-x86_64.S
3ASM_X86_64_MACOSX += aes/bsaes-macosx-x86_64.S 3ASM_X86_64_MACOSX += aes/bsaes-macosx-x86_64.S
4ASM_X86_64_MACOSX += aes/vpaes-macosx-x86_64.S 4ASM_X86_64_MACOSX += aes/vpaes-macosx-x86_64.S
5ASM_X86_64_MACOSX += aes/aesni-macosx-x86_64.S 5ASM_X86_64_MACOSX += aes/aesni-macosx-x86_64.S
6ASM_X86_64_MACOSX += aes/aesni-sha1-macosx-x86_64.S
7ASM_X86_64_MACOSX += bn/modexp512-macosx-x86_64.S 6ASM_X86_64_MACOSX += bn/modexp512-macosx-x86_64.S
8ASM_X86_64_MACOSX += bn/mont-macosx-x86_64.S 7ASM_X86_64_MACOSX += bn/mont-macosx-x86_64.S
9ASM_X86_64_MACOSX += bn/mont5-macosx-x86_64.S 8ASM_X86_64_MACOSX += bn/mont5-macosx-x86_64.S
10ASM_X86_64_MACOSX += camellia/cmll-macosx-x86_64.S
11ASM_X86_64_MACOSX += md5/md5-macosx-x86_64.S 9ASM_X86_64_MACOSX += md5/md5-macosx-x86_64.S
12ASM_X86_64_MACOSX += modes/ghash-macosx-x86_64.S 10ASM_X86_64_MACOSX += modes/ghash-macosx-x86_64.S
13ASM_X86_64_MACOSX += rc4/rc4-macosx-x86_64.S 11ASM_X86_64_MACOSX += rc4/rc4-macosx-x86_64.S
14ASM_X86_64_MACOSX += rc4/rc4-md5-macosx-x86_64.S
15ASM_X86_64_MACOSX += sha/sha1-macosx-x86_64.S 12ASM_X86_64_MACOSX += sha/sha1-macosx-x86_64.S
16ASM_X86_64_MACOSX += sha/sha256-macosx-x86_64.S 13ASM_X86_64_MACOSX += sha/sha256-macosx-x86_64.S
17ASM_X86_64_MACOSX += sha/sha512-macosx-x86_64.S 14ASM_X86_64_MACOSX += sha/sha512-macosx-x86_64.S
18ASM_X86_64_MACOSX += whrlpool/wp-macosx-x86_64.S
19ASM_X86_64_MACOSX += cpuid-macosx-x86_64.S 15ASM_X86_64_MACOSX += cpuid-macosx-x86_64.S
20 16
21ASM_X86_64_MACOSX += bn/arch/amd64/bignum_add.S 17ASM_X86_64_MACOSX += bn/arch/amd64/bignum_add.S
@@ -37,6 +33,11 @@ if HOST_ASM_MACOSX_X86_64
37libcrypto_la_CPPFLAGS += -DAES_ASM 33libcrypto_la_CPPFLAGS += -DAES_ASM
38libcrypto_la_CPPFLAGS += -DBSAES_ASM 34libcrypto_la_CPPFLAGS += -DBSAES_ASM
39libcrypto_la_CPPFLAGS += -DVPAES_ASM 35libcrypto_la_CPPFLAGS += -DVPAES_ASM
36libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL
37libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
38libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
39libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL
40libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL
40libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 41libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
41libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 42libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
42libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 43libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
diff --git a/crypto/Makefile.am.masm-x86_64 b/crypto/Makefile.am.masm-x86_64
index b914cb6..7da3cc2 100644
--- a/crypto/Makefile.am.masm-x86_64
+++ b/crypto/Makefile.am.masm-x86_64
@@ -3,19 +3,15 @@ ASM_X86_64_MASM = aes/aes-masm-x86_64.S
3ASM_X86_64_MASM += aes/bsaes-masm-x86_64.S 3ASM_X86_64_MASM += aes/bsaes-masm-x86_64.S
4ASM_X86_64_MASM += aes/vpaes-masm-x86_64.S 4ASM_X86_64_MASM += aes/vpaes-masm-x86_64.S
5ASM_X86_64_MASM += aes/aesni-masm-x86_64.S 5ASM_X86_64_MASM += aes/aesni-masm-x86_64.S
6ASM_X86_64_MASM += aes/aesni-sha1-masm-x86_64.S
7ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S 6ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S
8ASM_X86_64_MASM += bn/mont-masm-x86_64.S 7ASM_X86_64_MASM += bn/mont-masm-x86_64.S
9ASM_X86_64_MASM += bn/mont5-masm-x86_64.S 8ASM_X86_64_MASM += bn/mont5-masm-x86_64.S
10ASM_X86_64_MASM += camellia/cmll-masm-x86_64.S
11ASM_X86_64_MASM += md5/md5-masm-x86_64.S 9ASM_X86_64_MASM += md5/md5-masm-x86_64.S
12ASM_X86_64_MASM += modes/ghash-masm-x86_64.S 10ASM_X86_64_MASM += modes/ghash-masm-x86_64.S
13ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S 11ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S
14ASM_X86_64_MASM += rc4/rc4-md5-masm-x86_64.S
15ASM_X86_64_MASM += sha/sha1-masm-x86_64.S 12ASM_X86_64_MASM += sha/sha1-masm-x86_64.S
16ASM_X86_64_MASM += sha/sha256-masm-x86_64.S 13ASM_X86_64_MASM += sha/sha256-masm-x86_64.S
17ASM_X86_64_MASM += sha/sha512-masm-x86_64.S 14ASM_X86_64_MASM += sha/sha512-masm-x86_64.S
18ASM_X86_64_MASM += whrlpool/wp-masm-x86_64.S
19ASM_X86_64_MASM += cpuid-masm-x86_64.S 15ASM_X86_64_MASM += cpuid-masm-x86_64.S
20 16
21EXTRA_DIST += $(ASM_X86_64_MASM) 17EXTRA_DIST += $(ASM_X86_64_MASM)
@@ -24,6 +20,11 @@ if HOST_ASM_MASM_X86_64
24libcrypto_la_CPPFLAGS += -DAES_ASM 20libcrypto_la_CPPFLAGS += -DAES_ASM
25libcrypto_la_CPPFLAGS += -DBSAES_ASM 21libcrypto_la_CPPFLAGS += -DBSAES_ASM
26libcrypto_la_CPPFLAGS += -DVPAES_ASM 22libcrypto_la_CPPFLAGS += -DVPAES_ASM
23libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL
24libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
25libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
26libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL
27libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL
27libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 28libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
28libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 29libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
29libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 30libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
diff --git a/crypto/Makefile.am.mingw64-x86_64 b/crypto/Makefile.am.mingw64-x86_64
index 12f41a5..7d0d3f7 100644
--- a/crypto/Makefile.am.mingw64-x86_64
+++ b/crypto/Makefile.am.mingw64-x86_64
@@ -3,19 +3,15 @@ ASM_X86_64_MINGW64 = aes/aes-mingw64-x86_64.S
3ASM_X86_64_MINGW64 += aes/bsaes-mingw64-x86_64.S 3ASM_X86_64_MINGW64 += aes/bsaes-mingw64-x86_64.S
4ASM_X86_64_MINGW64 += aes/vpaes-mingw64-x86_64.S 4ASM_X86_64_MINGW64 += aes/vpaes-mingw64-x86_64.S
5ASM_X86_64_MINGW64 += aes/aesni-mingw64-x86_64.S 5ASM_X86_64_MINGW64 += aes/aesni-mingw64-x86_64.S
6ASM_X86_64_MINGW64 += aes/aesni-sha1-mingw64-x86_64.S
7#ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S 6#ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S
8#ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S 7#ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S
9#ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S 8#ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S
10ASM_X86_64_MINGW64 += camellia/cmll-mingw64-x86_64.S
11ASM_X86_64_MINGW64 += md5/md5-mingw64-x86_64.S 9ASM_X86_64_MINGW64 += md5/md5-mingw64-x86_64.S
12ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S 10ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S
13ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S 11ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S
14ASM_X86_64_MINGW64 += rc4/rc4-md5-mingw64-x86_64.S
15ASM_X86_64_MINGW64 += sha/sha1-mingw64-x86_64.S 12ASM_X86_64_MINGW64 += sha/sha1-mingw64-x86_64.S
16ASM_X86_64_MINGW64 += sha/sha256-mingw64-x86_64.S 13ASM_X86_64_MINGW64 += sha/sha256-mingw64-x86_64.S
17ASM_X86_64_MINGW64 += sha/sha512-mingw64-x86_64.S 14ASM_X86_64_MINGW64 += sha/sha512-mingw64-x86_64.S
18ASM_X86_64_MINGW64 += whrlpool/wp-mingw64-x86_64.S
19ASM_X86_64_MINGW64 += cpuid-mingw64-x86_64.S 15ASM_X86_64_MINGW64 += cpuid-mingw64-x86_64.S
20 16
21EXTRA_DIST += $(ASM_X86_64_MINGW64) 17EXTRA_DIST += $(ASM_X86_64_MINGW64)
@@ -25,6 +21,11 @@ libcrypto_la_CPPFLAGS += -Dendbr32=endbr64
25libcrypto_la_CPPFLAGS += -DAES_ASM 21libcrypto_la_CPPFLAGS += -DAES_ASM
26libcrypto_la_CPPFLAGS += -DBSAES_ASM 22libcrypto_la_CPPFLAGS += -DBSAES_ASM
27libcrypto_la_CPPFLAGS += -DVPAES_ASM 23libcrypto_la_CPPFLAGS += -DVPAES_ASM
24libcrypto_la_CPPFLAGS += -DHAVE_AES_CBC_ENCRYPT_INTERNAL
25libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
26libcrypto_la_CPPFLAGS += -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
27libcrypto_la_CPPFLAGS += -DHAVE_AES_ENCRYPT_INTERNAL
28libcrypto_la_CPPFLAGS += -DHAVE_AES_DECRYPT_INTERNAL
28libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 29libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
29#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 30#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
30#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 31#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
diff --git a/libtls.pc.in b/libtls.pc.in
index d176929..3c49391 100644
--- a/libtls.pc.in
+++ b/libtls.pc.in
@@ -9,5 +9,5 @@ Name: LibreSSL-libtls
9Description: Secure communications using the TLS socket protocol. 9Description: Secure communications using the TLS socket protocol.
10Version: @VERSION@ 10Version: @VERSION@
11Libs: -L${libdir} -ltls 11Libs: -L${libdir} -ltls
12Libs.private: @LIBS@ @PLATFORM_LDADD@ 12Libs.private: @LIBS@ @PLATFORM_LDADD@ -lssl -lcrypto
13Cflags: -I${includedir} 13Cflags: -I${includedir}
diff --git a/patches/win32_amd64_bn_arch.h.patch b/patches/win32_amd64_bn_arch.h.patch
index ad7c89d..b7926e3 100644
--- a/patches/win32_amd64_bn_arch.h.patch
+++ b/patches/win32_amd64_bn_arch.h.patch
@@ -1,21 +1,26 @@
1--- crypto/bn/arch/amd64/bn_arch.h.orig 2023-02-27 04:43:12.257874699 -0600 1We should consider a OPENSSL_NO_BN_ASM if we can't figure
2+++ crypto/bn/arch/amd64/bn_arch.h 2023-02-27 04:44:05.541873870 -0600 2out how to fix BIGNUM on this OS
3@@ -20,6 +20,12 @@ 3
4--- crypto/bn/arch/amd64/bn_arch.h.orig Wed Mar 27 22:17:03 2024
5+++ crypto/bn/arch/amd64/bn_arch.h Wed Mar 27 22:17:31 2024
6@@ -20,8 +20,14 @@
4 #ifndef HEADER_BN_ARCH_H 7 #ifndef HEADER_BN_ARCH_H
5 #define HEADER_BN_ARCH_H 8 #define HEADER_BN_ARCH_H
6 9
7+#ifdef _WIN32 10+#ifdef _WIN32
8+#ifndef OPENSSL_NO_ASM 11 #ifndef OPENSSL_NO_ASM
9+#define OPENSSL_NO_ASM 12+#define OPENSSL_NO_ASM
10+#endif 13+#endif
11+#else 14+#else
12+
13 #ifndef OPENSSL_NO_ASM
14 15
16+#ifndef OPENSSL_NO_ASM
17+
15 #define HAVE_BN_ADD 18 #define HAVE_BN_ADD
16@@ -85,6 +91,7 @@ 19 #define HAVE_BN_ADD_WORDS
17 *out_r0 = r0; 20
21@@ -104,6 +110,7 @@ bn_subw(BN_ULONG a, BN_ULONG b, BN_ULONG *out_borrow,
18 } 22 }
23
19 #endif /* __GNUC__ */ 24 #endif /* __GNUC__ */
20+#endif /* _WIN32 */ 25+#endif /* _WIN32 */
21 26
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 1a4f142..7e384bf 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -268,10 +268,10 @@ add_executable(cipherstest cipherstest.c)
268target_link_libraries(cipherstest ${OPENSSL_TEST_LIBS}) 268target_link_libraries(cipherstest ${OPENSSL_TEST_LIBS})
269add_test(cipherstest cipherstest) 269add_test(cipherstest cipherstest)
270 270
271# clienttest 271## clienttest
272add_executable(clienttest clienttest.c) 272#add_executable(clienttest clienttest.c)
273target_link_libraries(clienttest ${OPENSSL_TEST_LIBS}) 273#target_link_libraries(clienttest ${OPENSSL_TEST_LIBS})
274add_test(clienttest clienttest) 274#add_test(clienttest clienttest)
275 275
276# cmstest 276# cmstest
277add_executable(cmstest cmstest.c) 277add_executable(cmstest cmstest.c)
@@ -579,6 +579,11 @@ add_executable(rmd_test rmd_test.c)
579target_link_libraries(rmd_test ${OPENSSL_TEST_LIBS}) 579target_link_libraries(rmd_test ${OPENSSL_TEST_LIBS})
580add_test(rmd_test rmd_test) 580add_test(rmd_test rmd_test)
581 581
582# rsa_padding_test
583add_executable(rsa_padding_test rsa_padding_test.c)
584target_link_libraries(rsa_padding_test ${OPENSSL_TEST_LIBS})
585add_test(rsa_padding_test rsa_padding_test)
586
582# rsa_test 587# rsa_test
583add_executable(rsa_test rsa_test.c) 588add_executable(rsa_test rsa_test.c)
584target_link_libraries(rsa_test ${OPENSSL_TEST_LIBS}) 589target_link_libraries(rsa_test ${OPENSSL_TEST_LIBS})
@@ -765,6 +770,11 @@ add_executable(verifytest verifytest.c)
765target_link_libraries(verifytest ${LIBTLS_TEST_LIBS}) 770target_link_libraries(verifytest ${LIBTLS_TEST_LIBS})
766add_test(verifytest verifytest) 771add_test(verifytest verifytest)
767 772
773# whirlpool_test
774add_executable(whirlpool_test whirlpool_test.c)
775target_link_libraries(whirlpool_test ${OPENSSL_TEST_LIBS})
776add_test(whirlpool_test whirlpool_test)
777
768# x25519test 778# x25519test
769add_executable(x25519test x25519test.c) 779add_executable(x25519test x25519test.c)
770target_link_libraries(x25519test ${OPENSSL_TEST_LIBS}) 780target_link_libraries(x25519test ${OPENSSL_TEST_LIBS})
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e79958c..9e46299 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -283,10 +283,10 @@ TESTS += cipherstest
283check_PROGRAMS += cipherstest 283check_PROGRAMS += cipherstest
284cipherstest_SOURCES = cipherstest.c 284cipherstest_SOURCES = cipherstest.c
285 285
286# clienttest 286## clienttest
287TESTS += clienttest 287#TESTS += clienttest
288check_PROGRAMS += clienttest 288#check_PROGRAMS += clienttest
289clienttest_SOURCES = clienttest.c 289#clienttest_SOURCES = clienttest.c
290 290
291# cmstest 291# cmstest
292TESTS += cmstest 292TESTS += cmstest
@@ -613,6 +613,11 @@ TESTS += rmd_test
613check_PROGRAMS += rmd_test 613check_PROGRAMS += rmd_test
614rmd_test_SOURCES = rmd_test.c 614rmd_test_SOURCES = rmd_test.c
615 615
616# rsa_padding_test
617TESTS += rsa_padding_test
618check_PROGRAMS += rsa_padding_test
619rsa_padding_test_SOURCES = rsa_padding_test.c
620
616# rsa_test 621# rsa_test
617TESTS += rsa_test 622TESTS += rsa_test
618check_PROGRAMS += rsa_test 623check_PROGRAMS += rsa_test
@@ -766,6 +771,11 @@ TESTS += verifytest
766check_PROGRAMS += verifytest 771check_PROGRAMS += verifytest
767verifytest_SOURCES = verifytest.c 772verifytest_SOURCES = verifytest.c
768 773
774# whirlpool
775TESTS += whirlpool_test
776check_PROGRAMS += whirlpool_test
777whirlpool_test_SOURCES = whirlpool_test.c
778
769# x25519test 779# x25519test
770TESTS += x25519test 780TESTS += x25519test
771check_PROGRAMS += x25519test 781check_PROGRAMS += x25519test
diff --git a/update.sh b/update.sh
index c154ad7..b190ab8 100755
--- a/update.sh
+++ b/update.sh
@@ -184,7 +184,7 @@ $CP crypto/compat/ui_openssl_win.c crypto/ui
184$GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[A-Za-z0-9_]' > crypto/crypto.sym 184$GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[A-Za-z0-9_]' > crypto/crypto.sym
185 185
186fixup_masm() { 186fixup_masm() {
187 cpp -I./crypto -I./include/compat -D_MSC_VER $1 \ 187 cpp -I./crypto -I./include/compat -D_MSC_VER -U__CET__ $1 \
188 | sed -e 's/^#/;/' \ 188 | sed -e 's/^#/;/' \
189 | sed -e 's/|/OR/g' \ 189 | sed -e 's/|/OR/g' \
190 | sed -e 's/~/NOT/g' \ 190 | sed -e 's/~/NOT/g' \
@@ -271,19 +271,15 @@ for abi in elf macosx masm mingw64; do
271 gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S 271 gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S
272 gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S 272 gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S
273 gen_asm_stdout $abi aes/asm/aesni-x86_64.pl aes/aesni-$abi-x86_64.S 273 gen_asm_stdout $abi aes/asm/aesni-x86_64.pl aes/aesni-$abi-x86_64.S
274 gen_asm_stdout $abi aes/asm/aesni-sha1-x86_64.pl aes/aesni-sha1-$abi-x86_64.S
275 gen_asm_stdout $abi bn/asm/modexp512-x86_64.pl bn/modexp512-$abi-x86_64.S 274 gen_asm_stdout $abi bn/asm/modexp512-x86_64.pl bn/modexp512-$abi-x86_64.S
276 gen_asm_stdout $abi bn/asm/x86_64-mont.pl bn/mont-$abi-x86_64.S 275 gen_asm_stdout $abi bn/asm/x86_64-mont.pl bn/mont-$abi-x86_64.S
277 gen_asm_stdout $abi bn/asm/x86_64-mont5.pl bn/mont5-$abi-x86_64.S 276 gen_asm_stdout $abi bn/asm/x86_64-mont5.pl bn/mont5-$abi-x86_64.S
278 gen_asm_stdout $abi camellia/asm/cmll-x86_64.pl camellia/cmll-$abi-x86_64.S
279 gen_asm_stdout $abi md5/asm/md5-x86_64.pl md5/md5-$abi-x86_64.S 277 gen_asm_stdout $abi md5/asm/md5-x86_64.pl md5/md5-$abi-x86_64.S
280 gen_asm_stdout $abi modes/asm/ghash-x86_64.pl modes/ghash-$abi-x86_64.S 278 gen_asm_stdout $abi modes/asm/ghash-x86_64.pl modes/ghash-$abi-x86_64.S
281 gen_asm_stdout $abi rc4/asm/rc4-x86_64.pl rc4/rc4-$abi-x86_64.S 279 gen_asm_stdout $abi rc4/asm/rc4-x86_64.pl rc4/rc4-$abi-x86_64.S
282 gen_asm_stdout $abi rc4/asm/rc4-md5-x86_64.pl rc4/rc4-md5-$abi-x86_64.S
283 gen_asm_stdout $abi sha/asm/sha1-x86_64.pl sha/sha1-$abi-x86_64.S 280 gen_asm_stdout $abi sha/asm/sha1-x86_64.pl sha/sha1-$abi-x86_64.S
284 gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha256-$abi-x86_64.S 281 gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha256-$abi-x86_64.S
285 gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha512-$abi-x86_64.S 282 gen_asm $abi sha/asm/sha512-x86_64.pl sha/sha512-$abi-x86_64.S
286 gen_asm_stdout $abi whrlpool/asm/wp-x86_64.pl whrlpool/wp-$abi-x86_64.S
287 gen_asm $abi x86_64cpuid.pl cpuid-$abi-x86_64.S 283 gen_asm $abi x86_64cpuid.pl cpuid-$abi-x86_64.S
288done 284done
289 285