Skip to content

Commit 6b2fe61

Browse files
Merge pull request #6439 from lealem47/asio_cmake
CMake: add option to enable asio
2 parents e3be76b + 98522fa commit 6b2fe61

3 files changed

Lines changed: 49 additions & 6 deletions

File tree

CMakeLists.txt

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CMakeList.txt
22
#
3-
# Copyright (C) 2006-2020 wolfSSL Inc.
3+
# Copyright (C) 2006-2023 wolfSSL Inc.
44
#
55
# This file is part of wolfSSL. (formerly known as CyaSSL)
66
#
@@ -391,6 +391,24 @@ add_option(WOLFSSL_OPENSSLEXTRA
391391
"Enable extra OpenSSL API, size+ (default: disabled)"
392392
"no" "yes;no")
393393

394+
add_option(WOLFSSL_OPENSSLALL
395+
"Enable all OpenSSL API, size++ (default: disabled)"
396+
"no" "yes;no")
397+
398+
add_option(WOLFSSL_ASIO
399+
"Enable asio support (default: disabled)"
400+
"no" "yes;no")
401+
402+
if (WOLFSSL_ASIO)
403+
list(APPEND WOLFSSL_DEFINITIONS
404+
"-DWOLFSSL_ASIO" "-DASIO_USE_WOLFSSL"
405+
"-DBOOST_ASIO_USE_WOLFSSL" "-DHAVE_EX_DATA"
406+
"-DSSL_TXT_TLSV1_2" "-DOPENSSL_NO_SSL2" "-DOPENSSL_NO_SSL3"
407+
"-DHAVE_OCSP" "-DWOLFSSL_KEY_GEN")
408+
override_cache(WOLFSSL_OPENSSLALL "yes")
409+
override_cache(WOLFSSL_OPENSSLEXTRA "yes")
410+
endif()
411+
394412
if (WOLFSSL_OPENSSLEXTRA AND NOT WOLFSSL_OPENSSLCOEXIST)
395413
list(APPEND WOLFSSL_DEFINITIONS
396414
"-DOPENSSL_EXTRA"
@@ -401,6 +419,14 @@ if (WOLFSSL_OPENSSLEXTRA AND NOT WOLFSSL_OPENSSLCOEXIST)
401419
"-DWOLFSSL_FORCE_CACHE_ON_TICKET")
402420
endif()
403421

422+
if (WOLFSSL_OPENSSLALL)
423+
list(APPEND WOLFSSL_DEFINITIONS
424+
"-DOPENSSL_ALL" "-DWOLFSSL_EITHER_SIDE" "-DWC_RSA_NO_PADDING"
425+
"-DWC_RSA_PSS" "-DWOLFSSL_PSS_LONG_SALT" "-DWOLFSSL_TICKET_HAVE_ID"
426+
"-DWOLFSSL_ERROR_CODE_OPENSSL" "-DWOLFSSL_CERT_NAME_ALL")
427+
endif()
428+
429+
404430
# TODO: - IPv6 test apps
405431

406432
set(WOLFSSL_SLOW_MATH "yes")
@@ -548,7 +574,7 @@ endif()
548574

549575
# SHA224
550576
set(SHA224_DEFAULT "no")
551-
if(("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64") OR
577+
if(("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64|arm64") OR
552578
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
553579
if(NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
554580
(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2")))
@@ -562,7 +588,7 @@ add_option("WOLFSSL_SHA224"
562588

563589
# SHA3
564590
set(SHA3_DEFAULT "no")
565-
if(("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64") OR
591+
if(("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64|arm64") OR
566592
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
567593
if(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2"))
568594
set(SHA3_DEFAULT "yes")
@@ -1048,7 +1074,7 @@ endif()
10481074

10491075
# Base64
10501076
set(BASE64_ENCODE_DEFAULT "no")
1051-
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64")
1077+
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64|arm64")
10521078
set(BASE64_ENCODE_DEFAULT "yes")
10531079
endif()
10541080

@@ -1068,7 +1094,8 @@ add_option("WOLFSSL_DES3" ${WOLFSSL_DES3_HELP_STRING} "no" "yes;no")
10681094
if(WOLFSSL_OPENSSH OR
10691095
WOLFSSL_QT OR
10701096
WOLFSSL_OPENVPN OR
1071-
WOLFSSL_WPAS)
1097+
WOLFSSL_WPAS OR
1098+
WOLFSSL_ASIO)
10721099
override_cache(WOLFSSL_DES3 "yes")
10731100
endif()
10741101

@@ -1867,6 +1894,16 @@ if(WOLFSSL_CONFIG_H)
18671894
"${CMAKE_CURRENT_BINARY_DIR}/wolfcrypt/test/test_paths.h" )
18681895
endif()
18691896

1897+
# If config.h or wolfssl/options.h exists, delete it to avoid
1898+
# a mixup with build/wolfssl/options.h.
1899+
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/wolfssl/options.h")
1900+
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/wolfssl/options.h")
1901+
endif()
1902+
1903+
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h")
1904+
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/config.h")
1905+
endif()
1906+
18701907
# Suppress some warnings about separate compilation, inlining
18711908
add_definitions("-DWOLFSSL_IGNORE_FILE_WARN")
18721909
# Generate user options header
@@ -1892,7 +1929,7 @@ file(REMOVE ${OPTION_FILE})
18921929
file(APPEND ${OPTION_FILE} "/* wolfssl options.h\n")
18931930
file(APPEND ${OPTION_FILE} " * generated from configure options\n")
18941931
file(APPEND ${OPTION_FILE} " *\n")
1895-
file(APPEND ${OPTION_FILE} " * Copyright (C) 2006-2020 wolfSSL Inc.\n")
1932+
file(APPEND ${OPTION_FILE} " * Copyright (C) 2006-2023 wolfSSL Inc.\n")
18961933
file(APPEND ${OPTION_FILE} " *\n")
18971934
file(APPEND ${OPTION_FILE} " * This file is part of wolfSSL. (formerly known as CyaSSL)\n")
18981935
file(APPEND ${OPTION_FILE} " *\n")

cmake/functions.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,7 @@ function(generate_lib_src_list LIB_SOURCES)
824824
src/wolfio.c
825825
src/keys.c
826826
src/ssl.c
827+
src/ocsp.c
827828
src/tls.c)
828829

829830
if(BUILD_TLS13)

src/pk.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7433,6 +7433,11 @@ static WOLFSSL_DH *wolfssl_dhparams_read_pem(WOLFSSL_DH **dh,
74337433
!= 0) {
74347434
err = 1;
74357435
}
7436+
/* If Success on X9.42 DH format, clear error from failed DH format */
7437+
else {
7438+
unsigned long error;
7439+
CLEAR_ASN_NO_PEM_HEADER_ERROR(error);
7440+
}
74367441
}
74377442
if (memAlloced) {
74387443
/* PEM data no longer needed. */

0 commit comments

Comments
 (0)