Compare commits

...

1124 Commits

Author SHA1 Message Date
Jacob Barthelmeh
723ed009ae revert changes to match 4.8.1 bundle 2021-07-23 23:01:55 +07:00
David Garske
49ee2b71d7 Merge pull request #4224 from JacobBarthelmeh/Release
update docs for 4.8.1
2021-07-23 22:54:41 +07:00
JacobBarthelmeh
21ea34282a Merge pull request #4211 from SparkiDev/ocsp_no_check
OCSP: improve handling of OCSP no check extension
2021-07-23 22:54:35 +07:00
David Garske
e0292fdc94 Merge pull request #4201 from JacobBarthelmeh/Release
bump version for dev
2021-07-23 22:54:26 +07:00
John Safranek
add4a68465 Merge pull request #4199 from JacobBarthelmeh/Certs
Lighttpd build fix and gencertbuf on updated ed25519 certs
2021-07-12 09:15:50 -07:00
Jacob Barthelmeh
851c1fe1cf fix for lighttpd build 2021-07-12 16:25:50 +07:00
Jacob Barthelmeh
2f9af5f753 gencertbuf on updated ed25519 certs 2021-07-12 14:31:03 +07:00
John Safranek
30baa83a0b Merge pull request #4198 from douzzer/fix-linuxkm-for-v4.8 2021-07-09 19:15:23 -07:00
John Safranek
50d007ded8 Merge pull request #4196 from JacobBarthelmeh/Release
Release version 4.8.0
2021-07-09 14:33:26 -07:00
John Safranek
84539be656 Merge pull request #4197 from JacobBarthelmeh/Jenkins
Updates found with Jenkins tests
2021-07-09 14:32:43 -07:00
Daniel Pouzzner
15c890179f Linux kernel module: add an explicit -ffreestanding to CFLAGS in linuxkm/Makefile, and in wc_port.h ifdef WOLFSSL_LINUXKM, ignore -Wtype-limits in Linux kernel header files (needed for kernel v5.13), and suppress inclusion of stdint-gcc.h. 2021-07-09 15:23:07 -05:00
Jacob Barthelmeh
88b70a3906 update google cert that was set to expire in Dec 2021 2021-07-09 23:57:50 +07:00
JacobBarthelmeh
c01a63508a account for testing on big endian system 2021-07-09 08:18:39 -06:00
Jacob Barthelmeh
f4c4cf8afe update changelog for release 4.8.0 2021-07-09 17:02:18 +07:00
JacobBarthelmeh
500a6c8b27 prepare for release 4.8.0 2021-07-08 12:02:40 -06:00
JacobBarthelmeh
127add4bf7 include stddef for size_t type for ptr 2021-07-08 07:06:20 -06:00
Jacob Barthelmeh
7bcd0da164 warning for length used on strncpy 2021-07-08 15:51:17 +07:00
Jacob Barthelmeh
263e03748e fix issue of handling partially streamed PKCS7 input 2021-07-08 15:25:40 +07:00
JacobBarthelmeh
a250e1f23a Merge pull request #4194 from ejohnstown/to-fix
Timeout Fix
2021-07-08 14:34:42 +07:00
John Safranek
c9aa23ac7a Merge pull request #4191 from dgarske/htons
Fix for missing `XHTONS` with `WOLFSSL_USER_IO` and session tickets
2021-07-07 16:21:59 -07:00
John Safranek
00cab36b36 Timeout Fix
The macros setting up the timeout for the select used to timeout just
multiplied the ms by 1000 to make us. The BSD select used on macOS
doesn't like the us to be greater than 999999. Modified to carry the
excess us over into the seconds.
2021-07-07 16:14:48 -07:00
Sean Parkinson
849020660f Merge pull request #4182 from JacobBarthelmeh/CAAM
check return of DSA decode
2021-07-08 08:16:46 +10:00
John Safranek
b9dac74086 Merge pull request #4193 from JacobBarthelmeh/StaticAnalysisTests
Static analysis tests
2021-07-07 14:23:58 -07:00
JacobBarthelmeh
86e5287a14 Merge pull request #4032 from TakayukiMatsuo/tk11968
Make wolfSSL_CTX_set_timeout reflect to Session-ticket-lifetime-hint
2021-07-07 22:26:06 +07:00
JacobBarthelmeh
7b9d6a3f5e Merge pull request #3792 from TakayukiMatsuo/os_keylog
Add wolfSSL_CTX_set_keylog_callback
2021-07-07 15:34:33 +07:00
David Garske
41ac17cdc6 Improve support for XHTONS with WOLFSSL_USER_IO and session tickets with default encryption implementation !WOLFSSL_NO_DEF_TICKET_ENC_CB. 2021-07-06 13:13:35 -07:00
Jacob Barthelmeh
b1a6d88af6 fix for memory leak 2021-07-06 23:37:35 +07:00
Jacob Barthelmeh
a6ce91f3bb fix for gcc-11 build with blake2 2021-07-06 14:53:39 +07:00
Jacob Barthelmeh
ae00b5acd0 some minor changes for unintialized and null infer reports 2021-07-06 14:13:45 +07:00
TakayukiMatsuo
5df0f7820a Add wolfSSL_CTX_set_keylog_callback 2021-07-03 14:51:23 +09:00
Jacob Barthelmeh
89866846d6 check return of DSA decode 2021-07-03 03:41:40 +07:00
TakayukiMatsuo
567d8ed704 Make wolfSSL_set_session return success on timeout under WOLFSSL_ERROR_CODE_OPENSSL macro definition. 2021-07-02 10:50:00 +09:00
TakayukiMatsuo
aef9e560b1 Make wolfSSL_CTX_set_timeout call wolfSSL_CTX_set_TicketHint internally to change session-ticket-lifetime-hint. 2021-07-02 09:15:01 +09:00
David Garske
197b959916 Merge pull request #4177 from SparkiDev/ecc_exp_point_size
ECC: validate ordinate length before export
2021-07-01 17:07:35 -07:00
David Garske
d16e374972 Merge pull request #4160 from JacobBarthelmeh/fuzzing
better checking on length of streaming buffer
2021-07-01 17:04:49 -07:00
David Garske
43f8c5ba1b Merge pull request #4121 from JacobBarthelmeh/PKCS7
wc_PKCS7_DecodeCompressedData optionally handle a packet without cont…
2021-07-01 17:03:56 -07:00
JacobBarthelmeh
9b8142c1ff Merge pull request #4174 from SparkiDev/zephyr_2_6_99
Zephyr Project: update port to work with latest
2021-07-02 03:23:10 +07:00
Daniel Pouzzner
e9e41d3344 Merge pull request #4070 from elms/fsanitize/undefined_fixes
address errors with `-fsanitize=undefined`
2021-07-01 13:00:06 -05:00
JacobBarthelmeh
45486ac904 Merge pull request #4166 from miyazakh/supportedversion_ex_mindowngrade
not include smaller versions than minimum downgrade
2021-07-01 21:00:20 +07:00
JacobBarthelmeh
7a42096643 Merge pull request #4175 from SparkiDev/sp_thumb_clang
SP: Thumb implementaton that works with clang
2021-07-01 20:39:06 +07:00
Sean Parkinson
a992480f91 ECC: validate ordinate length before export 2021-07-01 15:50:04 +10:00
Elms
75e807abc6 Fixes for gcc-10 and -fsanitize=undefined for rabbit.c
* One introduced in #4156
* One from previous commit in this PR
2021-06-30 22:20:17 -07:00
Sean Parkinson
6694775d4b Changes to compile without XTREAM_ALIGN
Use macro to load 32 bits from input parameters key in hc128.c and input
in rabbit.c
Also fix warning about string copy.
2021-06-30 21:58:30 -07:00
Elms
56d879f422 address scan-build issues for clang 6 and 10 2021-06-30 21:58:30 -07:00
Elms
c9597ea735 sha3: align data for Sha3Update 2021-06-30 21:58:30 -07:00
Elms
dc7beab784 address errors with -fsanitize=undefined
- fix null dereferences or undefined `memcpy` calls
 - fix alignment in `myCryptoDevCb`
 - fix default dtls context assignment
 - add align configure option to force data alignment

TESTED:
 `./configure CFLAGS=-fsanitize=undefined\ -DWOLFSSL_GENERAL_ALIGNMENT=1 --enable-all`
2021-06-30 21:58:30 -07:00
David Garske
f9cd83743a Fix include.am typo. 2021-06-30 08:42:15 -07:00
David Garske
23b573c70a Autoconf Include.am fixes, spelling and copyright. 2021-06-30 08:38:17 -07:00
David Garske
c820b5679a Merge pull request #4173 from SparkiDev/sp_int_mingw64 2021-06-30 06:57:58 -07:00
Jacob Barthelmeh
893b71e8c1 remove dead code 2021-06-30 19:54:25 +07:00
Jacob Barthelmeh
23eededc36 simplify and fix max stream buffer length 2021-06-30 15:26:44 +07:00
Hideki Miyazaki
b0688688c1 addressed review comments 2021-06-30 13:52:46 +09:00
Sean Parkinson
60a520c525 SP: Thumb implementaton that works with clang 2021-06-30 13:10:29 +10:00
Sean Parkinson
d1fb736136 Zephyr Project: update port to work with latest 2021-06-30 10:29:54 +10:00
Sean Parkinson
36d534034c SP math: cast number to sp_digit rather than declare as long 2021-06-30 09:28:51 +10:00
David Garske
ae68de060a Merge pull request #4171 from SparkiDev/sp_small_fast_modexp
SP: allow fast mod_exp to be compiled for small C code
2021-06-29 13:32:55 -07:00
David Garske
0d1672dfee Merge pull request #4170 from SparkiDev/sp_mingw64
SP: Don't cast number to sp_digit rather than declare as long
2021-06-29 13:32:28 -07:00
Chris Conlon
9179071af5 Merge pull request #4153 from JacobBarthelmeh/Testing
fix for keyid with ktri cms
2021-06-29 11:40:00 -06:00
David Garske
e59cc79a1f Document new WOLFSSL_SP_FAST_MODEXP option. 2021-06-29 09:16:27 -07:00
David Garske
a748b5264e Fix for wolfcrypt/src/sp_int.c:2720:34: error: left shift count >= width of type with mingw64. 2021-06-29 09:13:32 -07:00
David Garske
b0e9531f26 Merge pull request #4169 from SparkiDev/dh_anon_tls12
TLS: Get DH anon working TLS 1.2 and below
2021-06-29 08:53:44 -07:00
Sean Parkinson
303f944935 SP: allow fast mod_exp to be compiled for small C code 2021-06-29 12:51:21 +10:00
Sean Parkinson
08e560e0a7 SP: Don't cast number to sp_digit rather than declare as long
mingw64 has numbers as 32-bit type when declarted long.
Fixup some line lengths.
2021-06-29 11:07:47 +10:00
Sean Parkinson
f56bf3d8ee TLS: Get DH anon working TLS 1.2 and below
Send the server DH parameters in ServerKeyExchange.
./configure '--enable-anon' '--disable-rsa' '--enable-oldtls'
2021-06-29 10:29:39 +10:00
David Garske
0bb66f3023 Merge pull request #4167 from danielinux/pka_readme
port/st: added mention of the PKA support in README
2021-06-28 10:35:32 -07:00
Eric Blankenhorn
33174cec5c Merge pull request #4161 from dgarske/ssl_doxy
Added inline documentation for `wolfSSL_CTX_load_verify_buffer_ex`
2021-06-28 12:35:11 -05:00
Daniele Lacamera
15080317ce port/st: added mention of the PKA support in README 2021-06-28 14:39:58 +02:00
David Garske
80480e5d1f Merge pull request #4163 from lealem47/rsa-test
Rsa test
2021-06-25 13:12:58 -07:00
David Garske
5adbcfb3be Merge pull request #4151 from SparkiDev/sp_math_all_base10
SP math all: fix read radix 10
2021-06-25 09:37:05 -07:00
David Garske
63ad5d58a2 Merge pull request #4162 from ejohnstown/abi-update
ABI Update
2021-06-25 08:36:07 -07:00
John Safranek
5437883da7 Merge pull request #4164 from dgarske/async_frag
Fix for async with fragmented packets
2021-06-25 08:33:50 -07:00
David Garske
74b9b5a8cd Merge pull request #4156 from SparkiDev/regression_fixes_1
Regression test fixes
2021-06-25 07:48:02 -07:00
Lealem Amedie
729fea6b71 unused variable fix in rsa_oaep_padding_test fix 2021-06-25 08:39:44 -06:00
Jacob Barthelmeh
5038a27cda add test cases and set content oid with decode encrypted data 2021-06-25 21:16:01 +07:00
Jacob Barthelmeh
55002c56d2 update for ber padding 2021-06-25 18:57:28 +07:00
Hideki Miyazaki
5bb52915b9 update test conf to fix jenkins failures 2021-06-25 16:31:49 +09:00
Sean Parkinson
fbe086534a SP math all: fix read radix 10
Ensure first digit is 0 when zeroing a number.
Check size of output in _sp_mul_d() - only place to be sure of overflow.
Modify callers of _sp_mul_d() to check return.
2021-06-25 15:55:32 +10:00
Hideki Miyazaki
d576e3ef96 not send smaller versions than minimum downgradable version as supportedversion ext 2021-06-25 14:51:34 +09:00
Sean Parkinson
dab6724059 Regression fixes: more configurations
./configure --disable-rsa --disable-ecc --disable-dh --enable-curve25519
&& make
./configure --disable-aescbc --disable-chacha --disable-poly1305
--disable-coding && make
2021-06-25 15:23:51 +10:00
Lealem Amedie
873f10b0cf Simplifying rsa_test() by extracting sections as separate functions 2021-06-24 20:47:14 -06:00
Sean Parkinson
1994811d24 Merge pull request #4144 from haydenroche5/pkcs8
Make a bunch of PKCS#8 improvements.
2021-06-25 12:22:11 +10:00
Sean Parkinson
dae6683803 Merge pull request #4030 from julek-wolfssl/ZD12235
Expand SHA-3 support
2021-06-25 12:18:03 +10:00
Sean Parkinson
8592053856 Regression test fixes
./configure --enable-all --disable-rsa
./configure --disable-chacha --disable-asm
./configure --disable-rsa --disable-ecc --disable-dh --enable-curve25519
--enable-cryptonly (and ed25519, curve448, ed448)
./configure --disable-tls13 --enable-psk --disable-rsa --disable-ecc
--disable-dh C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK
./configure --disable-oldtls --enable-psk -disable-rsa --disable-dh
-disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK
--enable-lowresource --enable-singlethreaded --disable-asm
--disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224
--disable-sha384 --disable-sha512 --disable-sha --disable-md5
-disable-aescbc --disable-chacha --disable-poly1305 --disable-coding
Various build combinations with WOLFSSL_SP_MATH and WOLFSSL_SP_MATH_ALL
2021-06-25 09:18:06 +10:00
David Garske
45ef68d5c7 Fix for async with fragmented packets where inline crypto could be overwritten on reprocessing fragment. FIxes unit tests with --enable-all --enable-asynccrypt. Minor cleanup for line length and free verify RSA buffer sooner.
Reproducible with:

```
./examples/server/server -v 3 -l ECDHE-ECDSA-AES256-GCM-SHA384 -c ./certs/server-ecc.pem -k ./certs/ecc-key.pem -2
./examples/client/client -v 3 -l ECDHE-ECDSA-AES256-GCM-SHA384 -A ./certs/ca-ecc-cert.pem -F 6 -2
```
2021-06-24 16:03:12 -07:00
John Safranek
66c29ef1ca ABI Update
Add wolfSSL_CTX_set_verify to the ABI list.
2021-06-24 14:08:28 -07:00
David Garske
4ef3c5d75c Added inline documentation for wolfSSL_CTX_load_verify_buffer_ex. 2021-06-24 10:38:34 -07:00
Juliusz Sosinowicz
656e49cc3b Expand SHA-3 support
Add more support in the EVP layer as well as add signing support. The SHA-3 OID's were also added for DER algorithm identifier encoding.
2021-06-24 19:31:43 +02:00
David Garske
c59d1f2e8d Merge pull request #4155 from SparkiDev/ssl_reorg_3
Reorg of ssl.c: standard C wrappers, EX_DATA, BUF_MEM, TXT_DB
2021-06-24 09:53:53 -07:00
David Garske
1ec212be81 Merge pull request #4159 from SparkiDev/sakke_eccsi_fix_1
SAKKE: fix configurations
2021-06-24 09:48:14 -07:00
David Garske
97ab1bb013 Merge pull request #4154 from SparkiDev/hmac_update_ct
TLS hmac: handle truncated mac in Hmac_UpdateFinal_CT()
2021-06-24 09:28:22 -07:00
Jacob Barthelmeh
b826083fbf better checking on length of streaming buffer 2021-06-24 23:06:37 +07:00
Sean Parkinson
2fb6a9eacf SAKKE: fix configurations
Fix position of sp_1024_norm_18 now that div requires it:
./configure --disable-shared --enable-sakke --disable-eccsi
--enable-sp
Fix missing '{' in sp_mulmod_table_1024:
./configure --disable-shared --enable-sakke --enable-eccsi
--enable-smallstack  --enable-sp
2021-06-24 14:01:27 +10:00
Sean Parkinson
92a4e30b69 Merge pull request #4158 from dgarske/nxp_ltc_rsa2
Fixes for NXP LTC with RSA and Blinding
2021-06-24 12:14:04 +10:00
David Garske
73c90369c6 Fix for int neg being defined mid code. Fix limit check for mp_mulmod using hardware vs software. Resolves issue when using WC_RSA_BLINDING. 2021-06-23 14:45:52 -07:00
David Garske
2d1b113f51 Fix for missing wolfcrypt_mp_prime_is_prime_ex def. 2021-06-23 14:45:52 -07:00
John Safranek
ae2f2b246e Merge pull request #4148 from BrianAker/master
Fix for make distcheck, maintainer-clean, to allow distribution builds.
2021-06-23 10:33:06 -07:00
David Garske
81daf9172b Merge pull request #3872 from ejohnstown/pcExt
Policy Constraints Extension
2021-06-23 09:40:15 -07:00
Hayden Roche
b3401bd102 Make a bunch of PKCS#8 improvements.
- Add doxygen documentation for wc_GetPkcs8TraditionalOffset, wc_CreatePKCS8Key,
wc_EncryptPKCS8Key, and wc_DecryptPKCS8Key.
- Add a new API function, wc_CreateEncryptedPKCS8Key, which handles both
creation of an unencrypted PKCS#8 key and the subsequent encrypting of said key.
This is a wrapper around TraditionalEnc, which does the same thing. This may
become a first-class function at some point (i.e. not a wrapper). TraditionalEnc
is left as is since it is used in the wild.
- Added a unit test which exercises wc_CreateEncryptedPKCS8Key and
wc_DecryptPKCS8Key. Testing wc_CreateEncryptedPKCS8Key inherently also tests
TraditionalEnc, wc_CreatePKCS8Key, and wc_EncryptPKCS8Key.
- Modified wc_EncryptPKCS8Key to be able to return the required output buffer
size via LENGTH_ONLY_E idiom.
- Added parameter checking to wc_EncryptPKCS8Key and wc_DecryptPKCS8Key.
2021-06-23 08:39:20 -07:00
John Safranek
f762672a12 Merge pull request #4157 from julek-wolfssl/app-data-reason
Add a reason text for APP_DATA_READY
2021-06-23 08:30:19 -07:00
Juliusz Sosinowicz
4eff3ff3dd Add a reason text for APP_DATA_READY 2021-06-23 13:43:56 +02:00
Sean Parkinson
945acb4c2f Reorg of ssl.c: standard C wrappers, EX_DATA, BUF_MEM, TXT_DB 2021-06-23 11:28:38 +10:00
Sean Parkinson
2923d812bd Merge pull request #4058 from miyazakh/qt_oslext_cs
TLS: extend set_cipher_list() compatibility layer API
2021-06-23 10:12:11 +10:00
Sean Parkinson
5cf7e17820 TLS hmac: handle truncated mac in Hmac_UpdateFinal_CT() 2021-06-23 09:54:41 +10:00
John Safranek
a5852fe440 Merge pull request #4119 from julek-wolfssl/dtls-seq-num-refactor
Refactor `dtls_expected_peer_handshake_number` handling
2021-06-22 16:29:45 -07:00
Sean Parkinson
eccfb4f632 Merge pull request #4125 from dgarske/sniffer_etsi
TLS: Fixes for sniffer and static ephemeral keys
2021-06-23 09:17:13 +10:00
Chris Conlon
4b3bd3e384 Merge pull request #4049 from miyazakh/set_verifyDepth_3
Set verify depth limit
2021-06-22 10:23:43 -06:00
Chris Conlon
b70e028200 Merge pull request #4087 from miyazakh/get_ciphers_compat
higher priority of cipher suite is on top of stack
2021-06-22 10:22:43 -06:00
Chris Conlon
446393bcab Merge pull request #3793 from TakayukiMatsuo/os_base64
Add wolfSSL_EVP_Encode/Decode APIs
2021-06-22 10:19:30 -06:00
Chris Conlon
b050463dce Merge pull request #4059 from miyazakh/qt_unit_test
fix qt unit test
2021-06-22 10:12:48 -06:00
Jacob Barthelmeh
647bde671c macro guard on test case 2021-06-22 22:56:35 +07:00
Jacob Barthelmeh
2b1a6cfb54 add setting contentOID with decode enveloped data 2021-06-22 22:06:16 +07:00
Jacob Barthelmeh
a4b5ebb62f remove contentOID check 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
31e8784057 fix for compressedData eContent encoding with PKCS7 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
9c2de0e40a wc_PKCS7_DecodeCompressedData optionally handle a packet without content wrapping 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
3cd43cf692 fix for keyid with ktri cms 2021-06-22 21:33:12 +07:00
David Garske
67b87a8883 Merge pull request #4127 from douzzer/wolfsentry-client
outbound connection filtering and wolfSentry integration
2021-06-22 07:27:18 -07:00
David Garske
c4ea64b7fc Merge pull request #4140 from SparkiDev/set_sig_algs 2021-06-21 19:18:10 -07:00
David Garske
52582ede28 Merge pull request #4146 from SparkiDev/pkcs11_dec_final
PKCS #11: Use C_Decrypt instead of C_DecryptUpdate
2021-06-21 15:28:45 -07:00
Sean Parkinson
ab2c1e117e Merge pull request #4149 from guidovranken/wc_ecc_verify_hash_ex-alloc-check
ECC: wc_ecc_verify_hash_ex, return if ALLOC_CURVE_SPECS() fails
2021-06-22 08:24:22 +10:00
David Garske
716237c5dd Fix minor line length and spelling. 2021-06-21 15:09:39 -07:00
David Garske
4942220718 Merge pull request #4150 from elms/fix/sniffer_no_dh
Fix build with `--enable-sniffer --disable-dh`
2021-06-21 12:47:58 -07:00
Elms
a409e7c9ce Fix build with --enable-sniffer --disable-dh 2021-06-21 09:42:51 -07:00
David Garske
7491a44bb4 Fix for possible memory leak case on mp_init failure in wc_ecc_verify_hash_ex with WOLFSSL_SMALL_STACK. 2021-06-21 09:19:47 -07:00
Guido Vranken
7c600e3ebc In wc_ecc_verify_hash_ex, return if ALLOC_CURVE_SPECS() fails
This prevents a NULL pointer dereference later in the function.
2021-06-20 22:29:20 +02:00
Brian Aker
2d497d1cf5 Fix for make distcheck, maintainer-clean, to allow distribution builds.
This the second pass at this after seeing how fips is added to tree in later phases.
This allow autoreconf to be directly called which allows the Makefile to rebuild when seeing that changes have been ( having an autogen.sh is older convention which left to history in the way autotools are invoked )
This fixes "make distcheck" and "make maintainer-clean" which are required by most distributions packaging systems.

The files previously touched by autogen.sh are now properly placed into autoconf.
The include files files are generated by configure. ( There is a note placed in configure.ac as to why and reference to the automake documention for this ). Append to file was done on purpose, touch cannot be in configure safetly. Normally autoheader would be used for this but since the include files are created out of tree, care has to be taken to not overwrite those file.
For the source files, they were moved into the coresponding automake file. It is safe to use touch in automake. Since files can optionally copied from elsewhere, they have to be listed in BUILT_SOURCES. They are written srcdir in order to allow make to do VPATH builds ( which is configure by make distcheck ).
To show fips files are preserved without having the actual fips files, a C style comment can be echoed into the files.
There are a few current, but outstanding issues.
1) config.h needs to be fixed configure.ac to use autoheader in order to allow configure to know to rebuilt depencies on its changes. ( Out of scope for this patch. )
2) verion.h checked into the tree and it is a built file. A make maintainer-clean followed by "git status --ignored" will confirm this. ( Out of scope for this patch )
3) autogen.sh has not been updated to reflect fixes. I believe that for this patch, it should be left alone and checked for regression in Jenkins by itself.
4) There is an out of date .spec file for building RPM which should be updated now that distcheck is working.
5) maintainer-clean should have rule added to remove build-aux testdriver.

This has been tested on current Ubuntu testing, OSX, Fedora 34, and Debian 10.

Additionaly "make distcheck" should be added to regression testing, along with "make maintainer-check".

Other improvement possibilities:
A possible future improvement is to let autoconf handle build with optional out of dist files.
Modify fips configure.ac check to allow for an injection of comments into blank fips files in order to prove distribution of fips/non-fips builds.
Update git rules to use 'make maintainer-clean', 'autoreconf -if', 'make distcheck'.
2021-06-19 20:16:14 -07:00
Kaleb Himes
149920fc14 Merge pull request #4110 from dgarske/config_examples
Additional user_settings.h examples
2021-06-18 12:00:29 -05:00
David Garske
5a685ca37e Merge pull request #4139 from SparkiDev/etm_check_pad
TLS EtM: check all padding bytes are the same value
2021-06-18 08:14:46 -07:00
David Garske
15065175d8 Merge pull request #4145 from SparkiDev/sp_int_neg_mod
SP int negative: check size of a in mp_mod
2021-06-18 08:14:02 -07:00
Sean Parkinson
7224fcd9bc TLS: add support for user setting signature algorithms 2021-06-18 16:19:01 +10:00
Hideki Miyazaki
fbb7a40295 simplified string parse 2021-06-18 11:55:09 +09:00
Hideki Miyazaki
b52ff200de addressed code review part2 2021-06-18 11:22:23 +09:00
Hideki Miyazaki
368dd7b501 address review comments part1 2021-06-18 11:22:22 +09:00
Hideki Miyazaki
23a3c7f5f5 fixed no-termination 2021-06-18 11:22:21 +09:00
Hideki Miyazaki
1ebb4a47f6 addressed jenkins failure 2021-06-18 11:22:20 +09:00
Hideki Miyazaki
a4ff5de369 always tls13 suites in the front position 2021-06-18 11:22:20 +09:00
Hideki Miyazaki
4feedb72cc simulate set_ciphersuites comp. API 2021-06-18 11:22:19 +09:00
Sean Parkinson
699a75c211 PKCS #11: Use C_Decrypt instead of C_DecryptUpdate
Some PKCS #11 devices need final called (implicit in C_Decrypt).
2021-06-18 12:14:34 +10:00
Hideki Miyazaki
23fc810b3c added more context 2021-06-18 11:10:13 +09:00
Hideki Miyazaki
ddf2a0227f additional fix for set verify depth to be compliant with openssl limit 2021-06-18 11:00:51 +09:00
Hideki Miyazaki
2bbf7cc0fb addressed review comments 2021-06-18 10:49:24 +09:00
David Garske
3d5c5b39ac Merge pull request #4134 from embhorn/joi-cert
Update use of joi cert and add to renew script.
2021-06-17 18:28:12 -07:00
Daniel Pouzzner
b59c60db8a ssl.c: fix build gating on wolfSSL_X509_get_ex_new_index() again (fixing rebase error). 2021-06-17 20:14:54 -05:00
Daniel Pouzzner
8c75553e08 wolfSentry integration: move rest of recyclable code out of examples and into wolfsentry_setup() in wolfssl/test.h, and implement peer review corrections on error codes and string.h wrapper macros. 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
55ed985c9a include error-ssl.h, not error-crypt.h, in wolfssl/test.h, and fix rebase error in src/ssl.c. 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
1c9ea6228c ssl.c: fix build gating on wolfSSL_X509_get_ex_new_index(). 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
93dfb4c7f4 add outbound connection filtering support to libwolfssl, add wolfSentry support to the test client, and add wolfSentry JSON config file support to the test client and server using --wolfsentry-config.
also, add mygetopt_long() to wolfssl/test.h, and add --help and Japanese counterpart options to test client and server.
2021-06-17 20:05:40 -05:00
Sean Parkinson
2fb80ceb59 Merge pull request #4133 from dgarske/crypto_cb_25519
Adds crypto callback support for Ed/Curve25519 and SHA2-512/384
2021-06-18 09:47:30 +10:00
David Garske
18fc1b7e63 Merge pull request #4006 from elms/refactor_pointer_manipulation 2021-06-17 16:37:03 -07:00
Sean Parkinson
485cfd798b SP int negative: check size of a in mp_mod
When using negative numbers, t is allocated to be one digit longer than
a->used. Fail when a->used is SP_DIGIT_MAX.
2021-06-18 09:28:51 +10:00
Hideki Miyazaki
951de64e2c set PSK at the beginning 2021-06-18 07:59:35 +09:00
Hideki Miyazaki
3386069490 add LOAD flag to be compliant with OpenSSL 2021-06-18 07:59:34 +09:00
Hideki Miyazaki
af917cc55e tell error code 2021-06-18 07:59:34 +09:00
Hideki Miyazaki
976b6ae97c not push CA, revert error code when being OpensslExtra mode 2021-06-18 07:59:33 +09:00
Hideki Miyazaki
cd73cf3d0f fix Qt unit test verifyClientCert 2021-06-18 07:59:32 +09:00
Hideki Miyazaki
8b9bf041c1 addressed review comments 2021-06-18 07:50:06 +09:00
Sean Parkinson
98ce4e901a TLS EtM: check all padding bytes are the same value
Must be constant time so as not to provide an oracle.
That is, don't leak length of data and padding.
2021-06-18 08:42:48 +10:00
Hideki Miyazaki
22430ccdd3 higher priority of cipher suite is on top of stack 2021-06-18 07:42:41 +09:00
David Garske
9181c949ae Added static ciphers and sniffer. Fixed spelling. 2021-06-17 15:19:45 -07:00
David Garske
ffb9a8b440 Improve the user_settings_template to incude Windows. Added STM32 configuration example. 2021-06-17 15:19:45 -07:00
David Garske
8b14bf2951 Additional user_settings.h examples. 2021-06-17 15:19:45 -07:00
David Garske
4bff3b6c69 Fix issue with WOLFSSL object copying CTX and object free'ing. Track ownership of the static key info. 2021-06-17 15:12:07 -07:00
David Garske
155621b611 Fix to prevent static ephemeral memory leak if WC_PK_TYPE_NONE is used for auto-detect. Add DER PK auto detect support. Add sniffer ssl_SetWatchKey_buffer support for static ephemeral. 2021-06-17 15:11:03 -07:00
David Garske
258e0c10da Merge pull request #4142 from elms/fix/memtest
test: Fix memtest callbacks
2021-06-17 14:01:21 -07:00
David Garske
5440b6c63c Fix for intel asm SHA512 where HAVE_INTEL_AVX1 or HAVE_INTEL_AVX2 is defined, but USE_INTEL_SPEEDUP is not. Fix for scan-build error with test.c ret not used. 2021-06-17 13:50:09 -07:00
Chris Conlon
bd6a353921 Merge pull request #4083 from dgarske/stm32_aes_gcm
Fix for STM32 AES GCM for HAL's that support byte sized headers
2021-06-17 13:08:15 -06:00
Elms
91f002235e make: --enable-memtest track and --enable-memtest=fail to force failure 2021-06-17 10:45:39 -07:00
Elms
ad59b8af45 test: Fix memtest callbacks 2021-06-17 10:15:11 -07:00
David Garske
c802ea7ebd Fix for unaligned authentication tag sizes when the STM32 Cube HAL supports it with CRYP_HEADERWIDTHUNIT_BYTE. 2021-06-17 08:15:44 -07:00
David Garske
b6ec698a83 Fix for FIPS case with hkdf_test. 2021-06-17 08:15:44 -07:00
David Garske
14b845a9a5 Fixes for wolfCrypt HMAC test without SHA1/SHA2. Added NO RNG option to cube pack configuration template. 2021-06-17 08:15:44 -07:00
David Garske
e8c4f857e1 Fix to use accelerated AES GCM when auth is not 4-byte aligned on platforms supporting byte header size. 2021-06-17 08:15:44 -07:00
David Garske
a1517dbfe4 Merge pull request #4138 from SparkiDev/ssl_reorg_2
Reorg of ssl.c: X509_STORE_CTX and X509_STORE APIs isolated
2021-06-17 07:38:25 -07:00
David Garske
eb7896919b Merge pull request #4137 from SparkiDev/tls13_hrr_ch_ems
TLS EMS ext: TLS13 - send in second CH if in first
2021-06-17 07:29:19 -07:00
David Garske
5751e20bcc Merge pull request #4136 from SparkiDev/tfm_size_checks
tfm: fix length check in add and mul_d
2021-06-17 07:28:40 -07:00
Sean Parkinson
ad4baec0f5 Merge pull request #4090 from JacobBarthelmeh/CAAM
CAAM: add dynamic setup of entropy delay on init
2021-06-17 17:06:01 +10:00
Jacob Barthelmeh
d09b7153f2 address review items 2021-06-17 09:43:06 +07:00
Sean Parkinson
4bba282a70 TLS EMS ext: TLS13 - send in second CH if in first 2021-06-17 11:40:48 +10:00
Sean Parkinson
effa7e079d Reorg of ssl.c: X509_STORE_CTX and X509_STORE APIs isolated 2021-06-17 11:38:26 +10:00
David Garske
98147de422 Fix for wolfCrypt test not calling init for ed25519 tests. 2021-06-16 16:44:28 -07:00
David Garske
54cef64250 Merge pull request #4128 from SparkiDev/ssl_reorg_1
Reorg of ssl.c: PKCS7, PKCS12, crypto-only APIs isolated
2021-06-16 16:12:03 -07:00
Sean Parkinson
9023c4d65a tfm: fix length check in add and mul_d
Check that the overflow digit is going to fit rather than whether we are
at limit after adding digit.
2021-06-17 09:11:01 +10:00
Kaleb Himes
93ae372c55 Merge pull request #4132 from dgarske/exebits
Remove execute bit on update pem/der files
2021-06-16 17:20:53 -05:00
David Garske
0fc9c33f84 Wire up Ed25519 SHA512 to use devId. 2021-06-16 13:15:06 -07:00
David Garske
54f69079a8 Merge pull request #4131 from elms/fix/g++_enum_logical_op
fixes build with g++ automatically converting enum to int
2021-06-16 13:09:06 -07:00
Eric Blankenhorn
1307972344 Update use of joi cert and add to renew script. 2021-06-16 13:55:36 -05:00
David Garske
15d761a0c2 Added ED25519 and Curve25519 crypto callback support. 2021-06-16 11:49:24 -07:00
David Garske
9c24731e3c Added SHA2-384/512 crypto callback support. 2021-06-16 11:49:24 -07:00
David Garske
27218e1d40 Merge pull request #4129 from JacobBarthelmeh/Testing
add cert generation to renewcerts script
2021-06-16 10:21:59 -07:00
David Garske
90d894b9fd Remove execute bit on update pem/der files. 2021-06-16 10:17:20 -07:00
David Garske
852892c85b Merge pull request #4130 from embhorn/zd12463
Fix BIO_free_all return type
2021-06-16 10:06:49 -07:00
David Garske
e39fc4b6ec Merge pull request #4099 from embhorn/zd12274
Fix nonblocking ret value from crlIOCb
2021-06-16 10:05:04 -07:00
Elms
75445f7810 fixes build with g++ automatically converting enum to int 2021-06-16 09:40:20 -07:00
Eric Blankenhorn
b3bfe2d12b Fix BIO_free_all return type 2021-06-16 09:51:45 -05:00
TakayukiMatsuo
9e02655ac4 Merge remote-tracking branch 'upstream/master' into os_base64 2021-06-16 23:19:52 +09:00
Jacob Barthelmeh
d8fc01aabf add cert generation to renewcerts script 2021-06-16 14:31:33 +07:00
Sean Parkinson
2ca6550207 Reorg of ssl.c: PKCS7, PKCS12, crypto-only APIs isolated
Moved functions to bottom of file in groups.
Whitespace changed but not code.
PKCS7 APIs and wolfSSL_d2i_PKCS12_fp now protected by !NO_CERTS
2021-06-16 16:08:24 +10:00
Elms
3a885aba23 Refactor pointer manipulation to be independent of datatype width
Tested with `./configure CFLAGS="-DNO_64BIT" --disable-sha512
--disable-sha384 --enable-harden` on a 64-bit machine
2021-06-15 21:08:49 -07:00
Sean Parkinson
5bb639f6db Merge pull request #4126 from dgarske/certs_test_expired
Fixes for expired test certs
2021-06-16 11:25:54 +10:00
Sean Parkinson
d849606bba Merge pull request #4109 from guidovranken/Base64_SkipNewline-fixes
Additional length check improvements in Base64_SkipNewline
2021-06-16 08:52:32 +10:00
Sean Parkinson
b73673a218 Merge pull request #3794 from TakayukiMatsuo/os_keyprint
Add wolfSSL_EVP_PKEY_print_public
2021-06-16 08:43:41 +10:00
David Garske
1374ab7da5 Merge pull request #4123 from SparkiDev/sp_int_neg_cmp
SP math all: sp_cmp handling of negative values
2021-06-15 15:33:29 -07:00
David Garske
6d95188f4b Fixes for expired test certs. Generated using cd certs/test && ./gen-testcerts.sh. 2021-06-15 15:07:34 -07:00
Eric Blankenhorn
8900d05167 Fix nonblocking ret value from crlIOCb 2021-06-15 15:31:29 -05:00
David Garske
2f39e6c217 Merge pull request #4122 from kaleb-himes/BUGREPORT_M_W_GCOV
Address bug that fails to ignore select files generated by gcov. Thanks to M.W. for the report
2021-06-15 11:07:30 -07:00
David Garske
a9515b80eb Merge pull request #4108 from elms/fix/scripts/paths_w_spaces
tests: fix test scripts for paths with spaces
2021-06-15 08:18:08 -07:00
TakayukiMatsuo
c6680d08ba Fix coding issues 2021-06-15 11:16:38 +09:00
Sean Parkinson
cce96f5fe6 Merge pull request #4114 from dgarske/secrene_extmst
Check for insecure build combination of secure renegotiation and no extended master secret
2021-06-15 10:52:25 +10:00
Sean Parkinson
12c358bc30 Merge pull request #3979 from dgarske/tls13_async
Asynchronous support for TLS v1.3 TLSX ECC/DH key generation and key agreement
2021-06-15 10:02:19 +10:00
Sean Parkinson
b9715432f8 SP math all: sp_cmp handling of negative values 2021-06-15 09:44:06 +10:00
Sean Parkinson
07784e9f56 Merge pull request #4066 from dgarske/stm_pka
Fixes for STM32 PKA with ECC
2021-06-15 08:33:50 +10:00
David Garske
77df7d8630 Merge pull request #3968 from elms/pedantic_cleanup
Fixes for some `-pedantic` errors
2021-06-14 13:46:39 -07:00
David Garske
831e1713f1 Merge pull request #4076 from TakayukiMatsuo/st_timeout
Add session ticket timeout check in DoSessionTicket
2021-06-14 13:44:32 -07:00
David Garske
fd6b30ef32 Merge pull request #4111 from elms/silabs/fix_ecc_shared_secret_outlen
silabs: fix `wc_ecc_shared_secret` to only return x coordinate
2021-06-14 13:44:00 -07:00
kaleb-himes
eea9866967 Address bug that fails to ignore select files generated by gcov. Thanks to M.W. for the report 2021-06-14 14:40:11 -06:00
Chris Conlon
7ad4a3dffd Merge pull request #4086 from miyazakh/psk_length_zero
treats a return of zero from callback as no psk available
2021-06-14 13:54:00 -06:00
Chris Conlon
a8d185cb9e Merge pull request #4117 from TakayukiMatsuo/tk12403
Add null-parameters-test cases for SHA(), SHA224(), MD5() and MD5_xxx().
2021-06-14 13:52:01 -06:00
Chris Conlon
9d569dfeb7 Merge pull request #4116 from miyazakh/tcp_accept
fix api unit test compile failure
2021-06-14 13:49:00 -06:00
Elms
9ae021d2cb tests: server example doesn't like empty string params
But it's ok with them at the end
2021-06-14 12:01:09 -07:00
David Garske
a110f249bd Merge pull request #4118 from JacobBarthelmeh/ECC
add error return with alloc curve macro
2021-06-14 10:46:42 -07:00
David Garske
2ffc0a8392 Remove casts that are not needed. 2021-06-14 08:47:40 -07:00
David Garske
4d4b3c9e8a Fixes for return codes on STM PKA code. Fix for const warnings. 2021-06-14 08:47:40 -07:00
David Garske
98ab62ea74 Fix for STM32 PKA ECC point mapping, which is handled in hardware. 2021-06-14 08:47:38 -07:00
David Garske
7b6005d467 Remove unused STM32 cofactor. 2021-06-14 08:46:20 -07:00
David Garske
b0782cb8f8 Fix for improperly initialized PKA_ECDSASignOutTypeDef on STM32 PKA sign. 2021-06-14 08:46:20 -07:00
David Garske
839231c508 Fixes for STM32 PKA compiler warnings. 2021-06-14 08:46:20 -07:00
Jacob Barthelmeh
70063213a5 additional comments, code readability, and error check 2021-06-14 21:40:51 +07:00
Juliusz Sosinowicz
1ee0c3a7fd Refactor dtls_expected_peer_handshake_number handling
Moving the `dtls_expected_peer_handshake_number` value along has been moved to one location. It has also been changed to not keep state before a cookie exchange has been completed.
2021-06-14 15:51:04 +02:00
Jacob Barthelmeh
bba1c8b433 add error return with alloc curve macro 2021-06-14 20:33:20 +07:00
JacobBarthelmeh
64298a2c4a Merge pull request #4094 from guidovranken/DecodePolicyOID-XSNPRINTF
Improve checking of XSNPRINTF return value in DecodePolicyOID
2021-06-14 19:58:09 +07:00
Elms
ed4cf6e91c silabs: fix wc_ecc_shared_secret to only return x coordinate
secure element computes and returns the full coordinate. The wolfSSL
API should only return the x component.
2021-06-13 21:46:23 -07:00
TakayukiMatsuo
ebec2fbd25 Fixed uninitialized parameter for Base16_Encode 2021-06-14 13:45:12 +09:00
Elms
21db484f50 tests: fix test scripts for paths with spaces 2021-06-13 21:37:07 -07:00
Guido Vranken
f163a4e18f Return BUFFER_E from DecodePolicyOID if XSNPRINTF indicates insufficient buffer space 2021-06-14 03:55:13 +02:00
Guido Vranken
220bfe9926 Fix Base64_SkipNewline such that tests pass 2021-06-14 03:42:41 +02:00
Sean Parkinson
3180ec96a5 Merge pull request #3963 from dgarske/nxp_ltc_rsa
Fixes for NXP LTC ECC/RSA
2021-06-14 08:29:24 +10:00
TakayukiMatsuo
50526cfe67 Changed some logics for simplicity 2021-06-14 03:26:00 +09:00
Hideki Miyazaki
6d3b9aec80 fix api compile failure 2021-06-12 09:24:11 +09:00
David Garske
5e6b8e50c8 Fix to set groups for client benchmark test. 2021-06-11 14:12:15 -07:00
David Garske
2e4e65f518 Asynchronous support for TLS v1.3 TLSX ECC/DH key generation and key agreement
* Added async support to `SendTls13ClientHello`, `DoTls13ServerHello` and `DoTls13ClientHello`.
* Cleanup of the example client/server use key share code.
* Fix some scan-build warnings.
ZD 12065
2021-06-11 14:12:12 -07:00
David Garske
7eb840d615 Merge pull request #4115 from SparkiDev/ed25519_openssl_fix
ED25119 and SHAKE-256: fixes
2021-06-11 10:41:51 -07:00
David Garske
5f99979597 Peer review feedback and improvements. 2021-06-11 09:10:26 -07:00
David Garske
b28aab4cf9 Merge pull request #4098 from SparkiDev/san_hw_name_fix
Certs: fix leak when multiple hardware names in SAN
2021-06-11 08:25:28 -07:00
David Garske
5a78574a8a Add new scripts to include.am. 2021-06-11 08:19:23 -07:00
TakayukiMatsuo
ed5cb0a1bd Modified along the revire comments 2021-06-11 21:08:27 +09:00
TakayukiMatsuo
779e3701e6 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-06-11 13:56:52 +09:00
TakayukiMatsuo
1a9b59b183 Add macro guard for LowResTimer 2021-06-11 11:58:55 +09:00
Sean Parkinson
89156908da Merge pull request #4021 from embhorn/zd12233
Fix heap-buffer-overflow issues in wolfSSL_SMIME_read_PKCS7
2021-06-11 12:38:52 +10:00
Sean Parkinson
36a9cd3010 Merge pull request #3911 from TakayukiMatsuo/tk11851
Fix SSL_read behaving differently from openSSL after bidirectional shutdown
2021-06-11 10:25:39 +10:00
Sean Parkinson
e720762b5a Merge pull request #4010 from JacobBarthelmeh/fuzzing
fix for use after free issue on error cases
2021-06-11 10:21:30 +10:00
Sean Parkinson
ed14e593c7 ED25119 and SHAKE-256: fixes
SHAKE-256 is off by default now. Make sure WOLFSSL_SHAKE256 doesn't make
it into options.h.
Fix openssl.test usage of ed25519 certificates.
Add scripts that regenerate certificates
2021-06-11 10:13:31 +10:00
David Garske
61314f3971 Added build error for insecure build combination of secure renegotiation enabled with extended master secret disabled when session resumption is enabled. 2021-06-10 16:44:23 -07:00
John Safranek
4e881a226a Merge pull request #4088 from julek-wolfssl/dtls-mtu-define
Change magic number 100 bytes to an enum define
2021-06-10 09:22:08 -07:00
David Garske
624e150c7b Merge pull request #3827 from SparkiDev/tls13_psk_hash
TLS 1.3 PSK: use the hash algorithm to choose cipher suite
2021-06-10 06:59:40 -07:00
David Garske
2fc5b03d71 Merge pull request #4102 from danielinux/psoc6-sha-fixes
[PSOC6_CRYPTO] Do not directly include psoc6 port header to prevent loops
2021-06-10 06:57:17 -07:00
Sean Parkinson
3ecb8d5a3e Merge pull request #4062 from dgarske/dh_key
DH Key and Params Export cleanups and Apache httpd fixes
2021-06-10 20:54:32 +10:00
TakayukiMatsuo
4d3f2f92fd Add test cases for SHA(), SHA224(), MD5() and MD5_xxx() to test with null parameters. 2021-06-10 16:40:51 +09:00
Sean Parkinson
56c317e1ab Merge pull request #4052 from elms/gcc11_fixes
fixes for gcc 11 compile and other whitespace
2021-06-10 15:51:04 +10:00
Sean Parkinson
7e0c372e4c TLS 1.3 PSK: use the hash algorithm to choose cipher suite
See RFC 8446: 4.2.11
With TLS 1.3 PSK callback, If the returned cipher suite isn't available,
use the hash from the cipher suite and choose from available list.
Require exact match when: WOLFSSL_TLS13_PSK_NO_MATCH_HASH

Alternative callback for client added that is passed a cipher suite
string. Called for each cipher suite that is to be negotiated.
If cipher suite to be used with PSK then return client identity.
Returning an identity based on cipher suite hash will result in
only one PSK extension being added per hash.
2021-06-10 09:55:27 +10:00
David Garske
c6c7dfd5db Merge pull request #4053 from SparkiDev/cppcheck_fixes_6
cppcheck: fixes from reviewing report
2021-06-09 12:51:30 -07:00
David Garske
a6edff7bd5 Merge pull request #4017 from SparkiDev/not_ecc_pk_cb
ECC: Disable ECC but have Curve25519/448 and PK callbacks fix
2021-06-09 12:38:37 -07:00
David Garske
c6fc709502 Merge pull request #4072 from SparkiDev/ecc_sp_c_mod_sub_fix
SP C ECC: mont sub - always normalize after sub before check for add
2021-06-09 12:36:46 -07:00
Guido Vranken
fb366f063e Additional length check improvements in Base64_SkipNewline 2021-06-09 19:16:07 +02:00
Eric Blankenhorn
a68542e6f4 Fix heap-buffer-overflow issues in wolfSSL_SMIME_read_PKCS7 2021-06-09 08:32:52 -05:00
Elms
5a54bb656b make macros for pragma to compile with gcc11 2021-06-08 19:20:20 -07:00
Sean Parkinson
d8cd7cbee1 Merge pull request #4024 from kabuobeid/zd12245
PKCS7: Check size in wc_PKCS7_InitWithCert before XMEMCPY to avoid overflow.
2021-06-09 10:06:02 +10:00
Sean Parkinson
c6646ae9c8 Merge pull request #4044 from julek-wolfssl/ZD12270
Check for XREAD when XFREAD fails
2021-06-09 09:48:25 +10:00
Sean Parkinson
50dca86dcf Merge pull request #3878 from JacobBarthelmeh/ECC
add deterministic k generation for ECC sign
2021-06-09 09:47:19 +10:00
Sean Parkinson
8fa4dedf97 Merge pull request #4096 from vaintroub/master
MSVC, ARM64  - correct 64bit detection
2021-06-09 09:40:47 +10:00
Sean Parkinson
32c215775a Merge pull request #4093 from guidovranken/DecodeResponseData-allocation-check
ASN: Catch allocation failure in DecodeResponseData
2021-06-09 09:38:53 +10:00
Sean Parkinson
9580574382 Merge pull request #3999 from dgarske/user_io
Fixes for building with `WOLFSSL_USER_IO`
2021-06-09 08:55:36 +10:00
Sean Parkinson
70d2c838bb Merge pull request #4080 from kaleb-himes/SHAKE_DEFAULT_FIX
Sync SHAKE256 default (disabled) with parent default edDSA448 (disabled) and remove WOLFSSL_NO_SHAKE256 flag
2021-06-09 08:52:05 +10:00
David Garske
ae4af3c681 Merge pull request #4071 from SparkiDev/fp_ecc_long_order
ECC FP: cached doesn't work when order has more bits than prime
2021-06-08 12:17:04 -07:00
David Garske
4a85127507 Improve wc_DhKeyToDer for public key size calculation. Fixes bug with the output too (was missing 1 byte in length for the unused bits byte in bit string). 2021-06-08 09:55:56 -07:00
David Garske
9b215c5138 Fixes for DH Pub key import/export and new test case. Improve wc_DhParamsToDer. 2021-06-08 09:27:30 -07:00
David Garske
6db0b42c7f * Refactor of DH key and param exports code (moved into asn.c) enabled with WOLFSSL_DH_EXTRA.
* Cleanup `WOLFSSL_DH_EXTRA` macro logic and do not allow with FIPS v1 or v2.
* Fixes for httpd (if `SSL_CONF_FLAG_FILE` is defined it is used to indicate support for `SSL_CONF_CTX_set_flags` and `SSL_CONF_cmd_value_type`).
* Add Curve448 and ED448 key type to `enum wc_PkType`.
* Expand `dh_ffdhe_test` to include 4096 bit.
2021-06-08 09:27:26 -07:00
David Garske
54d13f63c1 Merge pull request #4067 from haydenroche5/pkcs8
Add an API function wc_EncryptPKCS8Key to handle encrypting a DER, PKCS#8-formatted key.
2021-06-08 09:21:53 -07:00
Jacob Barthelmeh
34d8073fbd remove dead code 2021-06-08 22:45:28 +07:00
David Garske
de70681229 Improve code comments to explain FP_ECC limitation for SECP160R1, SECP160R2, SECP160K1 and SECP224K1. 2021-06-08 08:41:36 -07:00
David Garske
61eae79f71 Merge pull request #4074 from SparkiDev/ecdsa_dbl_table_point
ECDSA FP ECC: fix corner case
2021-06-08 08:35:17 -07:00
David Garske
5586bc349c Merge pull request #4056 from SparkiDev/mp_int_rem_apis
MP Integer: remove unsupported API prototypes
2021-06-08 08:08:04 -07:00
David Garske
50e8509a36 Merge pull request #4037 from SparkiDev/prime_test_err_check
TFM prime checking: check for more errors
2021-06-08 08:06:37 -07:00
David Garske
9497c74283 Merge pull request #4081 from strongX509/master
SHA3-based RSA signatures require SHA-3 hash OIDs
2021-06-08 07:46:18 -07:00
TakayukiMatsuo
0186d19aba Fix some coding style issues. 2021-06-08 16:25:28 +09:00
Daniele Lacamera
6d1981abd1 Do not directly include psoc6 port header to prevent loops 2021-06-08 08:24:43 +02:00
Sean Parkinson
88322b82a5 Merge pull request #3871 from julek-wolfssl/openvpn-master
OpenVPN additions and fixes
2021-06-08 13:54:14 +10:00
Sean Parkinson
194b494741 Merge pull request #4034 from embhorn/zd12261
Fix declarations for EVP_VerifyFinal and RSA_private_encrypt
2021-06-08 12:15:30 +10:00
Sean Parkinson
b3352648dd Merge pull request #4097 from guidovranken/blake2-init-key-fixes
Check return value in BLAKE2 key init functions
2021-06-08 11:54:29 +10:00
Sean Parkinson
8ee1dda2f9 Merge pull request #4001 from dgarske/time_long
Improve TLS v1.3 time rollover support and fixes for NO_ASN_TIME
2021-06-08 11:17:55 +10:00
Sean Parkinson
23d733f837 Merge pull request #4063 from guidovranken/zd12328
Fix length calculations in Base64_SkipNewline
2021-06-08 10:55:15 +10:00
Elms
c726cddf1b session_ticket: Add separate member to track compatCb
This resolves an error:
`ISO C forbids conversion of object pointer to function pointer type`

Instead of casting the function pointer, the extra
member contains the function pointer.
2021-06-07 15:42:38 -07:00
Elms
5c01613acb Add GCC extension to bypass select -pedantic warnings
Add wrapper macro for `__extension__` to suppress pedantic warnings
2021-06-07 15:38:15 -07:00
Jacob Barthelmeh
9fadc21e0f add version print out 2021-06-08 04:18:22 +07:00
David Garske
3e307aa626 Merge pull request #4091 from JacobBarthelmeh/Testing
add strict check on signature length
2021-06-07 11:02:02 -07:00
Guido Vranken
4e318ade36 In wc_PBKDF1_ex, break out of outer loop on error 2021-06-07 16:21:02 +02:00
Jacob Barthelmeh
f97ca1c1ca adjust test case and add useful comments 2021-06-07 19:44:05 +07:00
Sean Parkinson
e76ae2b8ac Certs: fix leak when multiple hardware names in SAN
Can only be one hardware name in SAN as this indicates the certificate
is for verifying signatures created by hardware module.
2021-06-07 12:02:23 +10:00
Guido Vranken
96b7b193d7 Check return value in BLAKE2 key init functions
If built with smallstack, allocations in `blake2s_update` and `blake2b_update` may fail,
so the error must be propagated.
2021-06-07 03:34:44 +02:00
Guido Vranken
bd7b57783d Remove excess space characters 2021-06-07 03:20:16 +02:00
Sean Parkinson
898b9d5e24 Merge pull request #4084 from dgarske/sp_math_keygen
Fix for building SP small math only (no DH) with key generation
2021-06-07 10:48:01 +10:00
Vladislav Vaintroub
29968716ea MSVC, ARM64 - correct 64bit detection
Fixes https://github.com/wolfSSL/wolfssl/issues/4095
2021-06-06 23:30:27 +02:00
Guido Vranken
1af3f482cb Catch allocation failure in ASNToHexString 2021-06-06 19:52:15 +02:00
Hideki Miyazaki
1606746d2d a return of zero from callback as no psk available 2021-06-06 11:53:02 +09:00
Guido Vranken
8cb576009d Improve bounds check in EncodePolicyOID 2021-06-06 04:07:02 +02:00
Guido Vranken
a1257429bd Improve checking of XSNPRINTF return value in DecodePolicyOID 2021-06-06 03:54:15 +02:00
Guido Vranken
76e0a8666b Catch allocation failure in DecodeResponseData 2021-06-06 03:12:53 +02:00
David Garske
5d33161032 Fixes for RSA keygen with SP (no DH). Thanks Sean. 2021-06-04 13:32:59 -07:00
Jacob Barthelmeh
c245c4a812 add strict check on signature length 2021-06-05 03:09:33 +07:00
Jacob Barthelmeh
9ef43c5aff add dynamic setup of entropy delay on init 2021-06-05 00:41:10 +07:00
David Garske
d7117cd8bb Merge pull request #4089 from danielinux/psoc6-sha-fixes
psoc6_Crypto port: fixes to sha256/sha512 objects
2021-06-04 09:16:42 -07:00
Daniele Lacamera
a5a4925370 Fixed sha256 and sha512 interface for psoc6 crypto module 2021-06-04 13:22:17 +02:00
Juliusz Sosinowicz
588a424d8d Change magic number 100 bytes to an enum define 2021-06-04 11:27:57 +02:00
Chris Conlon
961773b384 Merge pull request #4079 from lealem47/PKCS12UnitTest
Pkcs12 unit test
2021-06-03 16:07:54 -06:00
David Garske
21060afb80 Fix for building SP math only (small) with key generation. Fix for WOLFSSL_EXTRA. Fix for RSA without PSS. Fix for ed25519 spelling error. 2021-06-03 10:56:54 -07:00
Jacob Barthelmeh
66c7acb076 add use of heap hint for malloc 2021-06-03 23:38:30 +07:00
TakayukiMatsuo
195ca2b3f0 Add corner test cases for EVP_EncodeFinal and EVP_DecodeFinal 2021-06-03 20:02:48 +09:00
David Garske
eb63ab19e2 Fix for mp_mulmod with NXP LTC. 2021-06-01 16:33:58 -07:00
Chris Conlon
6cfb982740 Merge pull request #3981 from miyazakh/qt_oslext_cnf
Added compatibility layer API
2021-06-01 15:25:37 -06:00
Lealem Amedie
72fc7e62b8 Fixed spacing 2021-06-01 14:47:51 -06:00
Andreas Steffen
0caf3ba456 SHA3-based RSA signatures require SHA-3 hash OIDs
The SHA-3 ASN.1 OIDs are defined by NIST under the
nistalgorithm/hashAlgs node.
2021-06-01 22:02:23 +02:00
Kaleb Himes
a27cdc538a Fix typo 2021-06-01 13:30:32 -06:00
Kaleb Himes
3a9c6ea924 fix FIPS v2 check ($ENABLED_FIPS not set for v2) 2021-06-01 13:29:39 -06:00
kaleb-himes
94831eadf1 Sync SHAKE256 default (disabled) with parent default edDSA448 (disabled) and remove WOLFSSL_NO_SHAKE256 flag 2021-06-01 11:38:17 -06:00
Lealem Amedie
03a5395b53 Fixed casting issue 2021-06-01 09:46:30 -06:00
TakayukiMatsuo
69cf5ef266 Chage to use WOLFSSL_SESSION.bornON instead of WOLFSSL_SESSION.timestamp to hold the ticket creation time. 2021-06-01 15:30:07 +09:00
TakayukiMatsuo
5f7477980c Add session ticket timeout check in DoSessionTicket 2021-06-01 00:09:50 +09:00
Lealem Amedie
2db233d10e Added wolfssl_PKCS12_verify_mac testing in test_wolfSSL_PKCS12() function in api.c 2021-05-28 16:33:46 -06:00
Chris Conlon
15931fa199 Merge pull request #4060 from kojo1/encrypt_len
FP_MAX_BITS for ENCRYPT_LEN
2021-05-28 15:55:58 -06:00
Jacob Barthelmeh
ab07c55609 check on hmac free and add else if case for check if key is 0's 2021-05-28 16:27:54 +07:00
Sean Parkinson
9fff404313 Merge pull request #4073 from TakayukiMatsuo/tk12138
Add calling wc_FreeMutex for globalRNGMutex
2021-05-28 16:11:00 +10:00
Sean Parkinson
c69665b999 ECDSA FP ECC: fix corner case
When the same table is used for both base point and public point (which
is not a valid thing to do) then a corner case occurs when the table
point can be added to the same point. This has to be a double operation
instead.
The table point isn't able to be doubled as it has a z-ordinate of 0 and
the original point is overwritten with the invalid add result.
Fix this case by:
 - copying the table point into the result,
 - setting z-ordinate to Montgomery form of 1,
 - double the result point in place.
2021-05-28 13:06:20 +10:00
TakayukiMatsuo
54dba6a2f2 Add calling wc_FreeMutex for globalRNGMutex 2021-05-28 11:19:40 +09:00
Elms
3deb635155 skip memory callback tests with STATIC_MEMORY and LINUXKM 2021-05-27 14:46:45 -07:00
Elms
7a98c517e4 Fixes for some -pedantic errors
Some of the API with callbacks may not be compatible with pedantic
2021-05-27 14:46:45 -07:00
Jacob Barthelmeh
252971aad7 better comments on RFC steps and fixes for combining code blocks, fix for check on sign_k value 2021-05-27 17:27:15 +07:00
Sean Parkinson
4e88521a90 SP C ECC: mont sub - always normalize after sub before check for add 2021-05-27 11:08:05 +10:00
Sean Parkinson
6bf9a887e1 ECC FP: cached doesn't work when order has more bits than prime
Small curves that are not commonly used do not work with scalars that
are the length of the order when the order is longer than the prime.
The table is generated based on modulus length not order length.
Simple fix is to not allow these curves to be used with FP_ECC.
Order isn't passed into the pseudo-public APIs.
2021-05-27 09:53:03 +10:00
John Safranek
1fe445368c Merge pull request #4069 from guidovranken/zd12349
Several ASN decoder fixes
2021-05-26 16:13:54 -07:00
TakayukiMatsuo
d1e3be1f43 Replace return code from literal to value 2021-05-27 06:20:34 +09:00
Guido Vranken
1fbc3dc2d4 Heap-allocate additional CertStatus structs in DecodeResponseData 2021-05-26 21:41:47 +02:00
Guido Vranken
cfef249041 Several ASN decoder fixes
See ZD 12349
2021-05-26 20:15:32 +02:00
Hayden Roche
88370285cc Add an API function wc_DecryptPKCS8Key to handle decrypting a DER, PKCS#8
encrypted key.
2021-05-26 10:48:14 -07:00
Hayden Roche
5e4e73d6e9 Add an API function wc_EncryptPKCS8Key to handle encrypting a DER,
PKCS#8-formatted key.

There's already a function wc_CreatePKCS8Key, but this only creates the
unencrypted PKCS#8 key. TraditionalEnc exists, which takes a non-PKCS#8 key,
converts it to PKCS#8 format, and encrypts it, but this function isn't in the
public-facing API. I've modified TraditionalEnc to use wc_EncryptPKCS8Key after
wc_CreatePKCS8Key. wc_EncryptPKCS8Key is essentially the encryption portion of
TraditionalEnc moved out into its own function. wc_EncryptPKCS8Key will be in
the API going forward so that users can do PKCS#8 encryption without relying on
the non-API TraditionalEnc. Next, I'll be adding a corresponding
wc_DecryptPKCS8Key to handle decryption.
2021-05-26 10:48:11 -07:00
David Garske
8bf2cbf55e Fix for NXP LTC to not modify incoming math variables (use temp). Added build option for testing/validation of the LTC math operation. 2021-05-26 10:30:47 -07:00
David Garske
0d3530b45d Cleanup NXP LTC logic. 2021-05-25 16:49:58 -07:00
David Garske
c59349c7a7 Fix for ecc_map, which is handled in hardware. Fix for NXP LTC mp_mul N value. Fix for MMCAU cast warnings. 2021-05-25 15:58:22 -07:00
David Garske
63ac9decfc Added error response checking for NXP LTC LTC_PKHA_ModMul. Isolated the result C to it's own variable. 2021-05-25 15:58:22 -07:00
David Garske
9453f83d28 Fix bad logic flow in WC_NO_RNG case. 2021-05-25 15:58:22 -07:00
David Garske
64ae0a827c Fixes for RSA with NXP LTC. The invmod function must reduce if A > B. Added RSA Key Generation acceleration. 2021-05-25 15:58:22 -07:00
David Garske
41af3da0e3 Merge pull request #4057 from SparkiDev/no_tls12_pkcb
TLS: fix build with no TLSv12 but PK callbacks
2021-05-25 15:26:40 -07:00
Guido Vranken
360d6c8a4f Additional fix for Base64_SkipNewline 2021-05-26 00:25:27 +02:00
David Garske
3cc69ee6a0 Merge pull request #4064 from SparkiDev/evp_aes_gcm_stream_leak
EVP AES-GCM Streaming: must free Aes
2021-05-25 15:11:03 -07:00
Hideki Miyazaki
1c0fd3f1c0 addressed review comments part3 2021-05-26 06:17:33 +09:00
Hideki Miyazaki
e2284d59bf addressed review comments part2 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
ae502c7a09 addressed review comments part1 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
af67965f65 addressed jenkins failures part1 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
33e91c577f added unit test cases for cmdline 2021-05-26 06:07:47 +09:00
Hideki Miyazaki
394c0b5cdc implemented CONF_cmd 2021-05-26 06:07:47 +09:00
Elms
7127dbeeec fixes for gcc 11 compile and other whitespace 2021-05-25 12:34:04 -07:00
Sean Parkinson
e1bc0c4447 EVP AES-GCM Streaming: must free Aes
AES streaming implementation allocates data in Aes objects, when small
stack, that needs to be freed.
Fix memory leaks in streaming test case too.
2021-05-25 15:57:09 +10:00
Guido Vranken
b7663a51b4 Fix length calculations in Base64_SkipNewline
ZD 12328
2021-05-25 03:52:16 +02:00
Chris Conlon
956a0f2b5f Merge pull request #3931 from julek-wolfssl/dsa-engine
Add more DSA parameters support
2021-05-24 14:57:02 -06:00
Chris Conlon
399ce70aba Merge pull request #4055 from JacobBarthelmeh/PKCS7
set content type parsed
2021-05-24 13:21:19 -06:00
Chris Conlon
d03ce69009 Merge pull request #4050 from julek-wolfssl/devkitpro
Add support for running `wolfcrypt/test/testwolfcrypt` on Dolphin emulator
2021-05-24 13:20:42 -06:00
Takashi Kojo
159fe1541a FP_MAX_BITS for ENCRYPT_LEN 2021-05-24 07:12:07 +09:00
Sean Parkinson
6747055d46 TLS: fix build with no TLSv12 but PK callbacks
./configure '--disable-tlsv12' '-enable-pkcallbacks'
Disable non-TLS13 cipher suite test as well.
2021-05-21 10:59:23 +10:00
Sean Parkinson
573c0fcba7 MP Integer: remove unsupported API prototypes
mp_read_signed_bin, mp_signed_bin_size, mp_to_signed_bin - not
implemented anywhere. (Removed fp versions that were commented out too.)
mp_read_raw, mp_raw_size, mp_toraw - map to unimplemented mp_*_signed_*
APIs.
2021-05-21 08:22:04 +10:00
Juliusz Sosinowicz
ceadb62d5b Add support for running wolfcrypt/test/testwolfcrypt on Dolphin emulator 2021-05-20 21:07:50 +02:00
Jacob Barthelmeh
f4959cca8d set content type parsed 2021-05-21 01:42:10 +07:00
Sean Parkinson
2c6285ccba cppcheck: fixes from reviewing report 2021-05-20 17:55:06 +10:00
Chris Conlon
0e23d40250 Merge pull request #4038 from TakayukiMatsuo/tk12254
Add test cases for wc_ShaxxxUpdate funcs
2021-05-18 15:38:02 -06:00
Eric Blankenhorn
b87af6ae89 Merge pull request #4046 from SparkiDev/coverity_1
TFM: get returned error to act on
2021-05-18 14:26:04 -05:00
Daniel Pouzzner
687736fd56 Merge pull request #4047 from elms/automake_branch_switch
make: fix timing error when switching between revisions
2021-05-18 13:50:46 -05:00
David Garske
9661677d4d Merge pull request #4041 from SparkiDev/tls13_psk_early_test_fix
TLS 1.3 PSK EarlyData testing
2021-05-18 10:00:03 -07:00
Elms
82981e9305 make: fix timing error when switching between revisions
On switching over revision that added server target specific CFLAGS,
could receive: `error: #warning "For timing resistance / side-channel
attack prevention consider using harden options"`
2021-05-18 09:43:29 -07:00
Sean Parkinson
ed5b134161 TLS 1.3 PSK EarlyData testing
Fix test to expect 3 or 5 lines with "Early Data" (release or debug
build).
2021-05-18 15:25:12 +10:00
Sean Parkinson
c1490bb91a TFM: get returned error to act on 2021-05-18 14:30:26 +10:00
Sean Parkinson
ed3a0ae694 TFM prime checking: check for more errors
Small stack can produce errors that were being ignored.
Checks for valid size in fp_exptmod was being ignored.
2021-05-18 08:51:55 +10:00
David Garske
d8312a2e61 Merge pull request #4040 from JacobBarthelmeh/CAAM
add caam header files to make install
2021-05-17 12:22:41 -07:00
David Garske
4a1907ae88 Merge pull request #3976 from rliebscher/Use_Renesas_RX_intrinsics_with_CC-RX_compiler
Renesas RX: Use intrinsics for rot[rl], revl
2021-05-17 11:05:01 -07:00
David Garske
379312d23e Merge pull request #4042 from danielinux/dcp_explicit_casts 2021-05-17 08:05:39 -07:00
Juliusz Sosinowicz
58e7d5388a Check for XREAD when XFREAD fails
On Windows we would always fail with `NOT_COMPILED_IN` when reading a  file BIO.
2021-05-17 16:57:53 +02:00
Daniele Lacamera
b09df89200 NXP DCP: add explicit casts 2021-05-17 10:35:00 +02:00
Jacob Barthelmeh
efa478c121 add caam header files to make install 2021-05-15 15:42:50 +07:00
David Garske
e18880f7dc Merge pull request #4036 from SparkiDev/sp_asm_x86_64_ifdef
SP ASM: x86_64 asm files - protect with WOLFSSL_SP_X86_64_ASM
2021-05-14 10:35:59 -07:00
TakayukiMatsuo
8c71fb4113 Add test cases for wc_ShaxxxUpdate funcs 2021-05-14 09:46:21 +09:00
Sean Parkinson
740f200156 SP ASM: x86_64 asm files - protect with WOLFSSL_SP_X86_64_ASM 2021-05-14 09:22:41 +10:00
David Garske
19526f050e Merge pull request #4035 from JacobBarthelmeh/CAAM
add macro guard on debug print
2021-05-13 12:46:11 -07:00
Jacob Barthelmeh
82a2797b56 add macro guard on debug print 2021-05-13 23:58:51 +07:00
David Garske
263105abec Merge pull request #4033 from JacobBarthelmeh/CAAM
set partition number on key import and use ocb address for free'ing d…
2021-05-13 09:39:36 -07:00
David Garske
44a9346305 Merge pull request #4025 from danielinux/hdrbg_double_include_sha256
Fix double include of sha256.h causing a build error
2021-05-13 09:15:51 -07:00
Eric Blankenhorn
9eebaaf352 Fix declarations for EVP_VerifyFinal and RSA_private_encrypt 2021-05-13 10:48:49 -05:00
Juliusz Sosinowicz
5865dc08dd Code review changes 2021-05-13 15:21:33 +02:00
Jacob Barthelmeh
311c929fe2 set partition number on key import and use ocb address for free'ing dangling partitions on close 2021-05-13 17:34:30 +07:00
Daniele Lacamera
420a48a5aa Removed unnecessary headers 2021-05-13 07:40:22 +02:00
Daniele Lacamera
563c7391ed DCP: moved guards so code is not included when building *.c 2021-05-13 07:29:33 +02:00
Daniele Lacamera
6ea5254bb9 DCP refactor: do not override wc_Sha types 2021-05-12 17:11:09 +02:00
David Garske
0a8996f467 Merge pull request #4028 from danielinux/freescale_rng
Allow use of FREESCALE hw RNG without a specific port
2021-05-12 06:41:01 -07:00
Daniele Lacamera
1dfde34852 Allow use of FREESCALE hw RNG without a specific port 2021-05-12 10:10:42 +02:00
Daniele Lacamera
f3c07e5f3f include sha256.h when required by smallstackcache 2021-05-12 09:42:41 +02:00
Daniele Lacamera
8c008b81ac random.h: removed include of sha256.h with HASHDBRG 2021-05-12 07:46:22 +02:00
Sean Parkinson
8a17e6c10e Merge pull request #4019 from dgarske/zd11435
ECC, SP math all: Add `wc_ecc_gen_k` arg checking. Fix SP math debug support (mp_dump)
2021-05-12 08:21:56 +10:00
Chris Conlon
c75830e2e8 Merge pull request #4011 from miyazakh/set_verify_depth2
fix out of bound access when peer's chain is greater than verifyDepth + 1
2021-05-11 15:38:39 -06:00
Kareem Abuobeid
cba029a436 PKCS7: Check size in wc_PKCS7_InitWithCert before XMEMCPY to avoid overflow. 2021-05-11 14:35:41 -07:00
Chris Conlon
ae0591b1db Merge pull request #4016 from miyazakh/qt_sanity_check
add sanity check
2021-05-11 15:06:54 -06:00
David Garske
64330d468e Merge pull request #4023 from danielinux/dcp_rt1060_fixes_aes
DCP port: Fixed AES, aligned key for the HW module
2021-05-11 09:55:50 -07:00
David Garske
92a524820b Merge pull request #4018 from SparkiDev/jenkins-nightly-1
Fixes from nightly builds
2021-05-11 09:11:42 -07:00
David Garske
fce9870a64 Merge pull request #4020 from ejohnstown/options-export
New Option Export/Import
2021-05-11 09:10:17 -07:00
Daniele Lacamera
d9cc013fd2 DCP port: Fixed AES, aligned key for the HW module 2021-05-11 08:27:03 +02:00
John Safranek
d74b74d156 Also adjust for v3 of export, and update the API test case. 2021-05-10 18:06:31 -07:00
David Garske
7e69277680 Improve SP mp_dump to use macro. 2021-05-10 16:27:06 -07:00
Sean Parkinson
bab0d9bd4a Merge pull request #4022 from dgarske/test_fix
Test AES CBC: Fix for the unmodified check for AesCbc test
2021-05-11 08:38:04 +10:00
David Garske
db7888ceaa Fix for the unmodified check for AesCbc test. 2021-05-10 10:04:50 -07:00
John Safranek
a608b083b4 Take into account a new flag in the DTLS state export and import. 2021-05-10 09:33:38 -07:00
David Garske
8c91a0c6b0 Support for mp_dump with SP Math ALL. 2021-05-10 09:26:33 -07:00
David Garske
f5509780c6 Add argument checking to wc_ecc_gen_k . Cleanup return codes for wc_ecc_mulmod_ex2. 2021-05-10 09:26:33 -07:00
David Garske
ead656c4db Fixes for NO_BIO related to ZD11886. Replaces PR #3888. 2021-05-10 09:19:08 -07:00
Juliusz Sosinowicz
ddbd26305f OpenVPN additions and fixes
- `SSL_CTX_set_min_proto_version` now allows setting not compiled in protocols but checks that the constraints leave any compiled in protocol available
- wolfSSL_HmacCopy return already returns `WOLFSSL_SUCCESS` or `WOLFSSL_FAILURE`
2021-05-10 12:00:18 +02:00
Sean Parkinson
0c1af66843 Fixes from nightly builds
output not read.
g++ realloc cast.
curve25519 - no fix, only format changes
2021-05-10 11:59:52 +10:00
Sean Parkinson
8779c3a884 ECC: Disable ECC but have Curve25519/448 and PK callbacks fix
Fix ed25519 certificates.
Tidy up testsuite.c
2021-05-10 10:32:55 +10:00
Hideki Miyazaki
07872189eb add sanity check 2021-05-08 13:15:50 +09:00
John Safranek
e247161b2e Merge pull request #3992 from embhorn/zd12169
Allow parsing spaces in Base64_SkipNewline
2021-05-07 14:30:24 -07:00
Daniel Pouzzner
49717328dd Merge pull request #4014 from haydenroche5/cmake
Add support for reproducible builds with CMake.
2021-05-07 15:54:01 -05:00
David Garske
aa3f9f8459 Merge pull request #4013 from kabuobeid/smime_fixes
S/MIME: Fix issue with canonSection size when adding newlines.
2021-05-07 13:12:54 -07:00
David Garske
28e2d68677 Merge pull request #4015 from embhorn/zd12221
Fix XMALLOC of sp_point_256 array
2021-05-07 13:11:41 -07:00
David Garske
3807304243 Fixes in additional places for incorrect point heap allocation size in SP ecc_mulmod with small stack or SP no malloc. 2021-05-07 09:43:17 -07:00
Eric Blankenhorn
0bc0e0f562 Fix XMALLOC of sp_point_256 array 2021-05-07 09:12:22 -05:00
Hayden Roche
051d1c2579 Add support for reproducible builds with CMake.
Unlike the autotools build, I've chosen NOT to make the build un-deterministic
if WOLFSSL_REPRODUCIBLE_BUILD is set to no (the default). Instead, I just use
whatever CMake's default is. On my system, ar and ranlib run in deterministic
mode by default, and the CMake defaults for the relevant ar and ranlib variables
are:

CMAKE_C_ARCHIVE_CREATE = <CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>
CMAKE_C_ARCHIVE_APPEND = <CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>
CMAKE_C_ARCHIVE_FINISH = <CMAKE_RANLIB> <TARGET>

So my builds are automatically deterministic. This is normal on my system so I
wouldn't want to make them not deterministic by default, hence the decision.

I validated with md5sum on libwolfssl.a that explicitly making the build not
deterministic indeed results in different checksums across multiple runs. The
checksums are the same when flipping back to deterministic mode.
2021-05-06 23:05:33 -07:00
Kareem Abuobeid
62bb0a8527 S/MIME: Fix issue with canonSection size when adding newlines. 2021-05-06 16:35:24 -07:00
David Garske
6c131e3e8b Fix off by 1 in rollover calculation. 2021-05-06 14:46:35 -07:00
David Garske
c88afdef87 Fixes for building with WOLFSSL_USER_IO (with no built-in socket support). Related to issue #3998. 2021-05-06 11:07:05 -07:00
David Garske
1cd8bd3a94 Merge pull request #3993 from ejohnstown/actions 2021-05-06 08:32:37 -07:00
Hideki Miyazaki
2a39f1dc5c fixed memory leak 2021-05-06 16:55:51 +09:00
Hideki Miyazaki
93f04543b0 fixed unit test intermittent failure 2021-05-06 15:40:24 +09:00
Hideki Miyazaki
0539b99c86 fix boundary access when peer's chain is less than verifyDepth + 1 2021-05-06 14:54:16 +09:00
Jacob Barthelmeh
2c2f389373 set pointer to null after free 2021-05-06 12:11:52 +07:00
Jacob Barthelmeh
e185a9b7ca reset pointer on SMIME fail case 2021-05-06 11:44:46 +07:00
toddouska
4cfa6c43a5 Merge pull request #4000 from dgarske/sizeof_ctc
Fix for SIZEOF detection and issue with CTC_SETTINGS
2021-05-05 15:46:14 -07:00
toddouska
014bd21df0 Merge pull request #3983 from tmael/tls_down
TLS minimum downgrade option
2021-05-05 15:38:45 -07:00
toddouska
bc043ee358 Merge pull request #3980 from embhorn/gh3978
Fix Espressif win script
2021-05-05 15:37:04 -07:00
toddouska
0b16b33de4 Merge pull request #3973 from SparkiDev/pkcs11_sign
PKCS#11: rework RSA operations to be clearer
2021-05-05 15:35:27 -07:00
David Garske
94c0bff839 Merge pull request #3997 from tmael/minor_fixes
Fix test build
2021-05-04 08:51:30 -07:00
David Garske
ed188903e0 Merge pull request #4007 from haydenroche5/ocsp_bug
Fix test_wolfSSL_CertManagerCheckOCSPResponse.
2021-05-03 16:55:52 -07:00
Hayden Roche
822aa92fcc Fix test_wolfSSL_CertManagerCheckOCSPResponse.
This test broke once we went past the nextUpdate time in the static, raw OCSP
response being used. This change makes it so that response is valid until 2048.
2021-05-03 15:26:39 -07:00
David Garske
6e0197e171 Merge pull request #4002 from kabuobeid/smime_fixes
S/MIME: Canonicalize multi-part messages before hashing.  Improve error checking in wc_MIME_parse_headers.
2021-05-03 09:24:43 -07:00
TakayukiMatsuo
9eab854c61 Revised logic along review comments 2021-05-03 07:44:04 +09:00
Kareem Abuobeid
8071fac306 S/MIME: Add smime-test-canon.p7s to include.am 2021-04-30 15:30:55 -07:00
Kareem Abuobeid
effcecf40d S/MIME: Add non-canonicalized test case 2021-04-30 15:07:37 -07:00
David Garske
f8ecd4b441 Fixes for building with NO_ASN_TIME. If used with TLS user must supply LowResTimer and TimeNowInMilliseconds. 2021-04-30 15:04:31 -07:00
David Garske
c9634952d5 Fix to handle time rollover in TLS v1.3 diff calculation. 2021-04-30 15:04:09 -07:00
David Garske
651860dce7 Merge pull request #3991 from kaleb-himes/OE6_MINOR_PORTING_CHANGE
Implement minor port change requested by customer
2021-04-30 14:37:35 -07:00
David Garske
9e48de9d42 Merge pull request #3970 from embhorn/zd12122
Clarify that units of size parameters are in bits
2021-04-30 14:28:50 -07:00
David Garske
fa9f1f8012 Merge pull request #3977 from embhorn/zd12136
Improve PSK callback doc
2021-04-30 14:26:39 -07:00
David Garske
ea2e2994af Reversing hunk in test.c for DEOS (suspect that was in error). 2021-04-30 14:21:23 -07:00
Kareem Abuobeid
baa80284c0 S/MIME: Code review fixes 2021-04-30 14:00:59 -07:00
Chris Conlon
57e03d7e2f Merge pull request #3961 from miyazakh/qt_oslext_pskss_cb
added psk session callback compatibility layer API
2021-04-30 14:26:44 -06:00
Chris Conlon
44b7dd828e Merge pull request #3972 from TakayukiMatsuo/newindex
Add wolfSSL_CRYPTO_get_ex_new_index
2021-04-30 14:21:55 -06:00
Chris Conlon
3daafb47d5 Merge pull request #3982 from dgarske/atca_bool
Fix for ATECC on platforms where bool and int have different sizes
2021-04-30 13:59:49 -06:00
Chris Conlon
37cb24874e Merge pull request #3994 from miyazakh/esp_rsa_hw
Fixed esp32 RSA hw accelerator initialization issue
2021-04-30 13:58:24 -06:00
Kareem Abuobeid
573d51966a S/MIME: Canonicalize multi-part messages before hashing. Improve error checking in wc_MIME_parse_headers. 2021-04-30 12:50:27 -07:00
David Garske
6489d69c7c For platforms that support limits.h or windows make sure both SIZEOF_LONG_LONG and SIZEOF_LONG are set, otherwise causes issues with CTC_SETTINGS. 2021-04-30 11:06:09 -07:00
David Garske
e97692c521 Merge pull request #3926 from vppillai/vppillai-patch-2
Fix ATECC608A TNGTLS certificate size issue
2021-04-30 10:58:09 -07:00
David Garske
751cb8f43f Merge pull request #3974 from JacobBarthelmeh/sniffer
add fatal error return value for sniffer
2021-04-30 10:57:33 -07:00
David Garske
1388956a35 Merge pull request #3995 from SparkiDev/sha3_align
SHA-3: Aligned access of 64 bit value.
2021-04-30 10:54:21 -07:00
Tesfa Mael
f9a9b139ed Fix a build err 2021-04-29 16:44:51 -07:00
Sean Parkinson
1fbe0cb408 SHA-3: Aligned access of 64 bit value. 2021-04-30 08:45:05 +10:00
Vysakh P Pillai
8ede17f337 code formating changes based on PR review. 2021-04-29 07:48:31 +05:30
Hideki Miyazaki
f4935f52b5 clear PROT_RSA_PD bit in PORT_RSA_PD_CTRL_REG to be initialization and activate RSA accelerator 2021-04-29 09:20:16 +09:00
John Safranek
3aa3fc889f Add simple push and pull-request triggered build checks. 2021-04-28 16:52:54 -07:00
Sean Parkinson
985482a2ad PKCS#11: rework RSA operations to be clearer 2021-04-29 08:42:53 +10:00
Eric Blankenhorn
cdede0515c Allow parsing spaces in Base64_SkipNewline 2021-04-28 10:30:16 -05:00
kaleb-himes
0b4b0193e7 Implement minor port change requested by customer 2021-04-28 08:58:23 -06:00
TakayukiMatsuo
f652ac2a04 Removed unused macro guard. 2021-04-28 10:47:22 +09:00
TakayukiMatsuo
a56de6361d Removed the double-defined function. 2021-04-28 10:41:49 +09:00
TakayukiMatsuo
c4782a7a1c Fix macro guard for wolfSSL_CRYPTO_get_ex_new_index and get_ex_new_index. 2021-04-28 10:41:49 +09:00
TakayukiMatsuo
9c0ff73370 Add wolfSSL_CRYPTO_get_ex_new_index 2021-04-28 10:38:53 +09:00
Hideki Miyazaki
4063e33b02 addressed review comments p1 2021-04-28 10:08:22 +09:00
Hideki Miyazaki
9de3fab74c fixed jenkins failures part1 2021-04-28 10:08:21 +09:00
Hideki Miyazaki
0e40293798 added psk session callback 2021-04-28 10:08:21 +09:00
David Garske
385e0bedaa Merge pull request #3990 from haydenroche5/ocsp_bug
Fix CompareOcspReqResp.
2021-04-27 17:07:58 -07:00
Chris Conlon
edb0beb9b6 Merge pull request #3969 from TakayukiMatsuo/koyo
Add wolfSSL_DH_get0_pqg
2021-04-27 17:52:17 -06:00
Chris Conlon
6fad8c4a57 Merge pull request #3975 from TakayukiMatsuo/resumable
Add implementation for wolfSSL_SESSION_is_resumable.
2021-04-27 16:45:34 -06:00
Hayden Roche
73076940af Fix CompareOcspReqResp.
There was a bug in this function that could cause a match to be reported even
when the OCSP request and response in fact had a mismatch.
2021-04-27 13:54:43 -07:00
Chris Conlon
1bff411191 Merge pull request #3986 from miyazakh/qt_ctx_min_max_proto
add MIN/MAX_PROTO into CTX_ctrl
2021-04-27 14:54:16 -06:00
Hideki Miyazaki
6d381a6c7f do nothing when version is zero 2021-04-27 21:13:19 +09:00
Hideki Miyazaki
3b070e1bd0 add MIN/MAX_PROTO into CTX_ctrl
add unit test for min/max proto of CTX ctrl
2021-04-27 21:13:17 +09:00
Vysakh P Pillai
e716fcc635 do not reserve ATMEL_SLOT_ECDHE type for TNGTLS 2021-04-27 16:51:49 +05:30
Vysakh P Pillai
c34fcf908c code cleanup based on PR review comments 2021-04-27 12:17:23 +05:30
Sean Parkinson
7e87c01a7d Merge pull request #3987 from tmael/pss_salt
RSA: Fix RSA PSS padding check
2021-04-27 14:50:32 +10:00
Tesfa Mael
1637bd3e02 Fix RSA PSS padding 2021-04-26 19:21:23 -07:00
toddouska
b7b2347804 Merge pull request #3985 from elms/fix/dtls_no_asn
fix define gates for `AddFragHeaders` with DTLS
2021-04-26 15:13:59 -07:00
Elms
d20f7e7143 fix define gates for AddFragHeaders with DTLS
fixes build with `./configure --enable-dtls --disable-asn`
2021-04-24 07:23:50 -07:00
toddouska
3502bdc8df Merge pull request #3960 from elms/msys_build_fix
mingw/msys: fix build error with TFM
2021-04-23 15:56:10 -07:00
Tesfa Mael
f8e9f32eb8 Add a new file 2021-04-23 15:56:09 -07:00
toddouska
54b17ba465 Merge pull request #3952 from julek-wolfssl/ZD12062
Using `--enable-chacha=noasm` wouldn't actually enable chacha
2021-04-23 15:55:10 -07:00
toddouska
40fe746710 Merge pull request #3942 from dgarske/get_static_ephemeral
Added API's for getting pointer to loaded static ephemeral key
2021-04-23 15:54:46 -07:00
toddouska
47fe114a02 Merge pull request #3901 from dgarske/bio_read
Fix for BIO read callback not called
2021-04-23 15:51:38 -07:00
toddouska
bbda833909 Merge pull request #3720 from elms/deos/project_files
DEOS: Add project files for shared library
2021-04-23 15:44:33 -07:00
toddouska
91e90f7a98 Merge pull request #3604 from haydenroche5/stunnel
Make changes to get latest verison of stunnel (5.57) working with wolfSSL.
2021-04-23 15:41:22 -07:00
toddouska
c3fefc6e27 Merge pull request #3889 from douzzer/network-introspection
--enable-wolfsentry
2021-04-23 15:38:01 -07:00
Tesfa Mael
0c16ef4b29 Check for TLS downgrade 2021-04-23 14:45:35 -07:00
David Garske
fa353b1ee0 Fix for ATECC on platforms where bool and int have different sizes. Related to issue #3971 2021-04-23 11:15:36 -07:00
elms
33f9f98569 Deos: fixup readme 2021-04-23 10:15:23 -07:00
TakayukiMatsuo
2b6f623777 Add implementation for wolfSSL_SESSION_is_resumable. 2021-04-23 11:12:20 +09:00
TakayukiMatsuo
c442841e4a Fix some along review. 2021-04-23 10:53:22 +09:00
TakayukiMatsuo
d22ed7443b Fix unit test. 2021-04-23 09:47:24 +09:00
TakayukiMatsuo
568c09bcde Add guard to the unit test 2021-04-23 09:47:24 +09:00
TakayukiMatsuo
63826e227b Add wolfSSL_DH_get0_pqg 2021-04-23 09:47:24 +09:00
Chris Conlon
878e0006ad Merge pull request #3965 from miyazakh/qt_oslext_epk_param_ck
added wofSSL_EVP_PKEY_param_check for compatibility layer API
2021-04-22 15:43:47 -06:00
Chris Conlon
a83c6c68fe Merge pull request #3940 from miyazakh/qt_v5p15p2_r3
Added compatibility layer API for Qt5.15.2 part2
2021-04-22 15:36:20 -06:00
Eric Blankenhorn
cb02f46fec Fix Espressif win script 2021-04-22 16:20:34 -05:00
Eric Blankenhorn
3c0a77485e Improve PSK callback doc 2021-04-22 10:47:46 -05:00
René Liebscher
fa98477f22 Renesas RX: Use intrinsics for rot[rl], revl
For byte order reverse and rotation we have builtins
in the CC-RX compiler.
Especially when rotating registers with fixed amounts
this can be compiled efficiently into opcodes with
embedded values for shift (without needing other registers).
2021-04-22 16:44:19 +02:00
Jacob Barthelmeh
14ddfa6894 add fatal error return value for sniffer 2021-04-22 14:28:10 +07:00
Daniel Pouzzner
9c7ee3fa64 examples/server/server.c: when TEST_IPV6, set the remote address to IPv6 localhost for wolfsentry_route_insert_static(). 2021-04-22 00:20:12 -05:00
Daniel Pouzzner
1650e8b88a ssl.c: add back missing line continuation backslash. 2021-04-21 17:45:08 -05:00
Daniel Pouzzner
0cf9bacf1b WOLFSSL_WOLFSENTRY_HOOKS/HAVE_EX_DATA*: refactor wolfSSL_CRYPTO_cleanup_ex_data() to take only one arg (the WOLFSSL_CRYPTO_EX_DATA *); fix preprocessor gates on wolfSSL_set_ex_data() and wolfSSL_X509_get_ex_new_index(); fix line lengths. 2021-04-21 17:34:47 -05:00
Daniel Pouzzner
40d5aad8fe configure.ac: improve dynamics of --enable-wolfsentry and --with-wolfsentry*, including existence-checking user-supplied paths. 2021-04-21 17:28:27 -05:00
David Garske
67277d13cd Merge pull request #3937 from elms/intime/dir_pre_intimever6
INTIME: support CRL for INTIME version < 6
2021-04-21 10:42:33 -07:00
Daniel Pouzzner
0afcd4227b ssl.c/internal.c: refactor _EX_DATA_CLEANUP_HOOKS cleanup in _free() routines to use a common wolfSSL_CRYPTO_cleanup_ex_data() routine; remove superfluous WOLFSSL_API qualifiers in ssl.c. 2021-04-21 12:20:56 -05:00
Daniel Pouzzner
89d7f4faf3 tests/api.c: add missing void arglists. 2021-04-21 03:22:10 -05:00
Daniel Pouzzner
660e64cdff examples/server/server.c: clean up wolfsentry printfs. 2021-04-21 03:19:55 -05:00
Daniel Pouzzner
c874d9259c configure.ac: add --with-wolfsentry option. 2021-04-21 03:19:35 -05:00
Hideki Miyazaki
23b5447050 Qt v5.15 requires greater than version 1.1.1 2021-04-21 17:01:06 +09:00
Daniel Pouzzner
cb976db02b server.c: update for wolfSentry API changes. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
6175e11156 server.c: update wolfsentry_init() usage (hpi pointer). 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
23d8df720e remove WOLFSSL_NETWORK_INTROSPECTION code; add wolfSSL_X509_STORE_set_ex_data_with_cleanup(); refactor WOLFSSL_WOLFSENTRY_HOOKS code in server.c to use HAVE_EX_DATA/HAVE_EX_DATA_CLEANUP_HOOKS. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
4458ed37c1 fix a couple stray WOLFSSL_NETWORK_INTROSPECTION gates that needed to be WOLFSSL_WOLFSENTRY_HOOKS. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
2a05fcb59a examples/server: fix wolfSentry integration to handle DTLS correctly. 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
1cbe696716 checkpoint: fully functioning demo via examples/server/ and unit.test (which produces a "filtered" error on a subtest when built --enable-wolfsentry). 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
734860f535 WOLFSSL_NETWORK_INTROSPECTION WIP 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
ba2cc00e5d initial implementation of WOLFSSL_NETWORK_INTROSPECTION: --enable-network-introspection, struct wolfSSL_network_connection, wolfSSL_*_endpoints*(), NetworkFilterCallback_t, wolfSSL_*set_AcceptFilter(). 2021-04-20 23:59:57 -05:00
John Safranek
38ff193368 Merge pull request #3962 from julek-wolfssl/dtls-allow-future
Change default DTLS future packet behaviour
2021-04-20 17:32:42 -07:00
John Safranek
6e7b43056d Merge pull request #3956 from dgarske/zd12010
Fix in sniffer for possible use of uninitialized variable
2021-04-20 17:29:46 -07:00
John Safranek
9d387b13d0 Merge pull request #3938 from julek-wolfssl/dtls-mtu
Refactor DTLS MTU logic
2021-04-20 17:18:12 -07:00
Hideki Miyazaki
d3b41a2fed addressed review comments p1 2021-04-21 09:10:32 +09:00
Hideki Miyazaki
2f5b280d6c fixed jenkins failure part1 2021-04-21 07:53:19 +09:00
Hideki Miyazaki
e063984d17 added EVP_PKEY_param_check 2021-04-21 07:53:18 +09:00
Hideki Miyazaki
b37f1ac0c0 addressed review comments part1 2021-04-21 07:39:13 +09:00
Hideki Miyazaki
bca3cd1d49 fix jenkins failures 2021-04-21 07:39:12 +09:00
Hideki Miyazaki
89b5b90be6 added compatibility layer API stub for Qt 5.15.2 2021-04-21 07:39:12 +09:00
Sean Parkinson
31bc2e4114 Merge pull request #3967 from embhorn/zd12116
PKCS#11: Add debug for failure in wc_Pkcs11_Initialize
2021-04-21 08:06:14 +10:00
Chris Conlon
b9c52729d1 Merge pull request #3959 from kaleb-himes/WINCE_settings_update
Update WINCE for wolfEngine and turn off MD5
2021-04-20 10:15:44 -06:00
Chris Conlon
537d33d5fa Merge pull request #3951 from dgarske/stm32_aes_h7
Fix for AES GCM with STM32H7
2021-04-20 10:14:13 -06:00
Chris Conlon
f931e67cd7 Merge pull request #3946 from TakayukiMatsuo/tk11899
Add test cases for EVP_CIPHER_CTX_cleanup and BIO_free
2021-04-20 10:10:41 -06:00
Chris Conlon
c3aee06b23 Merge pull request #3939 from miyazakh/qt_v5p15p2_r1
added and modified compatibility layer APIs for Qt v5.15.2 part1
2021-04-20 10:02:27 -06:00
Chris Conlon
bd5dc0b21d Merge pull request #3948 from miyazakh/qt_unittest_cert
added favourite drink pilot attribute
2021-04-20 09:50:30 -06:00
Eric Blankenhorn
1d50962889 Clarify that units of size parameters are in bits 2021-04-20 09:28:17 -05:00
Elms
9dd5768ecc Intime: simplify and fix stat on different directory 2021-04-19 22:34:31 -07:00
Eric Blankenhorn
94eb096e42 Add debug for failure in wc_Pkcs11_Initialize 2021-04-19 17:53:21 -05:00
Daniel Pouzzner
d08a2b1761 Merge pull request #3966 from SparkiDev/arm-jenkins-2
ARMv8 ASM AES-CBC: Fix parameter validation
2021-04-19 17:06:48 -05:00
Sean Parkinson
d274c80789 ARMv8 ASM AES-CBC: Fix parameter validation 2021-04-19 16:47:34 +10:00
Sean Parkinson
d7b0b97352 Merge pull request #3955 from kaleb-himes/OE18-external-to-module-changes
non-const versions only needed when using inlined ARM assembly in the module.
2021-04-19 09:13:11 +10:00
elms
a26a19b4c8 Deos: rebase fix and add note about importing to readme 2021-04-16 16:35:30 -07:00
elms
6600a531c8 Deos: project relative include paths and ignore fips files by default 2021-04-16 15:39:24 -07:00
Elms
3e6f663a38 DEOS: update readme 2021-04-16 15:39:24 -07:00
Elms
d6a29b269d DEOS: add files to dist 2021-04-16 15:39:24 -07:00
Elms
57f4adf438 DEOS: updated memory and add DTLS
Tested: DDC-I 9.2.0r94156 and OpenArbor on PPC hardware
2021-04-16 15:39:19 -07:00
Kaleb Himes
3da32e75ad Correct commentary based on peer feedback 2021-04-16 15:12:35 -06:00
David Garske
099f88e45b Revert the change to test.c. 2021-04-16 12:02:04 -07:00
David Garske
7cfd22304e Fix to improve STM32 AES GCM with partial blocks. Use a local buffer for partial remainder and make sure remainder is zero'd. 2021-04-16 11:58:45 -07:00
Juliusz Sosinowicz
2bc2a911d7 Change default DTLS future packet behaviour
This is a better default for most users. Most users who make use of DTLS, allow messages from "too far into the future". It makes sense that DTLS may lose connection for a period of time and will lose all messages from this period. Losing connection effectively stalls the wolfSSL DTLS connection.
2021-04-16 19:27:39 +02:00
Juliusz Sosinowicz
70a3857ae8 Fragmentation for ServerKeyExchange and CeriticateVerify
- The `ssl->dtlsMtuSz` value is the maximum possible size of the DTLS record layer. We read `ssl->dtlsMtuSz + 100` in case peer has slightly different MTU set.
- The `-u` option in the examples takes the value of the MTU size.
- MTU tests are added in `tests/test-dtls-mtu.conf`
2021-04-16 17:30:51 +02:00
TakayukiMatsuo
9553188099 Added type cast to the parm of wolfSSL_BIO_write. 2021-04-16 11:51:58 +09:00
TakayukiMatsuo
1a4adab52e Changed DumpElement() so that the allocated buffer is freed in the WOLFSSL_SMALL_STACK build case. 2021-04-16 10:05:48 +09:00
Sean Parkinson
5955603c51 Merge pull request #3958 from TakayukiMatsuo/tk11969
Changed the logic for determining the group used for KeyShare in TLSX_PopulateExtensions.
2021-04-16 09:34:54 +10:00
Hideki Miyazaki
cc0359accb changed callback func name corresponding other cb func name convention 2021-04-16 08:20:12 +09:00
Elms
cc4116de24 mingw/msys: fix build error with TFM
Conditional was always true. Rule out using preprocessor.
2021-04-15 15:16:21 -07:00
David Garske
38637bb276 Merge pull request #3957 from SparkiDev/sp_div_word_fix
SP DIV word C: Add instead of OR
2021-04-15 12:20:56 -07:00
kaleb-himes
96256a3ec1 Update WINCE for wolfEngine and turn off MD5 2021-04-15 10:27:41 -06:00
David Garske
64c7830c93 Fix for possible use of invalid *sslFrame and calculated headerSz in partial case with WOLFSSL_SNIFFER_CHAIN_INPUT. 2021-04-15 09:01:11 -07:00
TakayukiMatsuo
2db06eb3b7 Changed the logic for determining the group used for KeyShare. 2021-04-15 19:30:02 +09:00
Sean Parkinson
bb75c4d610 SP DIV word C: Add instead of OR 2021-04-15 09:22:29 +10:00
David Garske
d34161e482 Fix in sniffer for possible use of uninitialized length when skipPartial is set. ZD 12010 2021-04-14 15:14:14 -07:00
Hideki Miyazaki
5a1d171236 fixed unit test failure 2021-04-14 21:25:50 +09:00
Hideki Miyazaki
03cfc3dc8f addressed review comments part1 2021-04-14 11:15:23 +09:00
kaleb-himes
88aed28a3f Refactor following peer review 2021-04-13 17:28:43 -06:00
Hideki Miyazaki
f8e7f9bf03 addressed review comment part1 2021-04-14 07:58:22 +09:00
TakayukiMatsuo
f245ba0ca1 Merge remote-tracking branch 'upstream/master' into tk11899
# Conflicts:
#	tests/api.c
2021-04-14 06:13:46 +09:00
Chris Conlon
21faeff478 Merge pull request #3916 from JacobBarthelmeh/PKCS7
fix for streaming with PKCS7
2021-04-13 14:04:06 -06:00
Chris Conlon
c129f630e2 Merge pull request #3933 from miyazakh/rand_bytes_regression
fix retrun code regression on RAND_bytes
2021-04-13 13:55:04 -06:00
Chris Conlon
71e2f191a6 Merge pull request #3947 from dgarske/nxp_ltc
Fixes for NXP LTC
2021-04-13 13:49:22 -06:00
kaleb-himes
87a2cdea31 const poisoning - gcc 4.x prefers consistency in prototypes and implementations 2021-04-13 13:29:40 -06:00
Hayden Roche
4cd3f2e826 Make changes to get latest verison of stunnel (5.57) working with wolfSSL. 2021-04-13 09:18:25 -05:00
JacobBarthelmeh
295418fa3e Merge pull request #3954 from ejohnstown/m1
M1 Update
2021-04-13 12:08:11 +08:00
David Garske
54e111aa85 Update copy/paste error in comment. 2021-04-12 17:02:35 -07:00
David Garske
89e4bae8d2 Fix for STM32 AES GCM decrypt to support partial (not multiple of 4) for auth tag calculation. 2021-04-12 16:57:57 -07:00
Chris Conlon
2739759072 Merge pull request #3953 from JacobBarthelmeh/build-tests
add option to use an engine with openssl test script
2021-04-12 13:22:52 -06:00
Juliusz Sosinowicz
c6077b6767 Refactor DTLS MTU logic
- wolfSSL_GetMaxRecordSize will now take additional cipher data into account
- The set MTU size is understood as the maximum size of a DTLS record. The WOLFSSL_MAX_MTU was adjusted to account for UDP/IP headers.
2021-04-12 21:01:15 +02:00
John Safranek
74df158c5c Update the check for 64-bit on the M1 to filter out other ARM processors. 2021-04-12 11:18:52 -07:00
David Garske
021c22c038 Merge pull request #3950 from embhorn/zd11850
Fix build error with NO_PKCS12
2021-04-12 10:46:45 -07:00
toddouska
0f1a702f58 Merge pull request #3949 from JacobBarthelmeh/StaticAnalysisTests
remove dead code, variable gn will currently always be null
2021-04-12 10:26:02 -07:00
Hideki Miyazaki
501de37cad fixed memory leak in unit test 2021-04-12 18:34:07 +09:00
Hideki Miyazaki
ad6f8e4246 added and modified compatibility layer APIs for Qt v5.15.2 part1 2021-04-12 18:34:07 +09:00
Jacob Barthelmeh
4a7434a56d add missing ret checks 2021-04-12 16:33:14 +08:00
Jacob Barthelmeh
160faa851c add deterministic k generation for ECC sign 2021-04-12 16:33:14 +08:00
JacobBarthelmeh
d44549fd77 only update OPENSSL_ENGINE_ID if already set 2021-04-12 01:47:01 -06:00
Sean Parkinson
7345b2418b Merge pull request #3944 from guidovranken/zd12039
Account for sp_sqr failure in _sp_exptmod_nct
2021-04-12 11:03:38 +10:00
Sean Parkinson
0197e133b1 Merge pull request #3929 from hicksjacobp/tls13-cbclientcert
fix: call CBClientCert for TLS 1.3 certificate requests
2021-04-12 09:25:22 +10:00
JacobBarthelmeh
ee22d27cf8 add sanity check that engine can be loaded 2021-04-11 20:48:18 +07:00
JacobBarthelmeh
c34025b186 add option to use an engine with openssl test script 2021-04-11 20:06:13 +07:00
David Garske
8538869d33 Added runtime checking for LTC big integer buffer sizes. 2021-04-09 15:51:57 -07:00
David Garske
070dfad07a Fix for NXP LTC ECC public key computation broken in PR #2859 for contstant time changes. 2021-04-09 15:51:30 -07:00
Daniel Pouzzner
04cc48b810 Merge pull request #3935 from miyazakh/x509_store_ex_data
add X509_STORE_get/set_ex_data
2021-04-08 21:51:03 -05:00
Chris Conlon
a4ebeac932 fix minor typo in function return comment 2021-04-08 16:37:16 -06:00
Elms
18eca4deff INTIME: fix check returns Find{First,Next,Close} for version <6 2021-04-08 10:23:26 -07:00
Juliusz Sosinowicz
beff4daf7e Refactor wolfSSL_BIO_BASE64_write to simplify its logic 2021-04-08 19:11:55 +02:00
TakayukiMatsuo
07022eebe7 Add a OPENSSL_EXTRA guard to call SSL_get_early_data_status 2021-04-09 01:10:45 +09:00
David Garske
f298bb9f22 Peer review feedback. 2021-04-08 08:06:45 -07:00
TakayukiMatsuo
424d97ca3d Merge remote-tracking branch 'upstream/master' into tk11899
# Conflicts:
#	src/ssl.c
2021-04-08 23:59:51 +09:00
TakayukiMatsuo
bc7191ca4c Added test cases for NULL-parameter 2021-04-08 23:11:00 +09:00
Juliusz Sosinowicz
d8dd69cf44 Using --enable-chacha=noasm wouldn't actually enable chacha 2021-04-08 12:46:05 +02:00
toddouska
3b9e7942ea Merge pull request #3908 from embhorn/zd11866
Sanity check size in TLSX_Parse
2021-04-07 16:34:56 -07:00
toddouska
b3177ffc17 Merge pull request #3945 from dgarske/ecc_nomalloc
Improve ECC with `WOLFSSL_NO_MALLOC`
2021-04-07 16:29:13 -07:00
toddouska
418e5b46d6 Merge pull request #3934 from SparkiDev/armv8-asm-sha256-fix
ARMv8 SHA-256: recalc data in SHA256 update
2021-04-07 16:22:27 -07:00
toddouska
86fe77d776 Merge pull request #3924 from dgarske/sp_math_all
Sp math all fixes
2021-04-07 16:21:58 -07:00
toddouska
de8653be35 Merge pull request #3941 from JacobBarthelmeh/Compatibility-Layer
add implementation of EC_KEY_set_group
2021-04-07 16:20:50 -07:00
toddouska
9e9506c260 Merge pull request #3919 from JacobBarthelmeh/StaticAnalysisTests_2
Static analysis tests 2
2021-04-07 16:18:37 -07:00
David Garske
acf1a9833b Fix for AES GCM with STM32H7 to use crypto hardware in all cases except IV size != 12. 2021-04-07 15:51:50 -07:00
Eric Blankenhorn
ef69a9b458 Fix build error with NO_PKCS12 2021-04-07 15:36:35 -05:00
David Garske
4747ba9ccb Fix for BIO base64 write valgrind issue. 2021-04-07 12:23:26 -07:00
Jacob Barthelmeh
f16136c29b remove dead code, variable gn will currently always be null 2021-04-07 20:56:50 +07:00
Hideki Miyazaki
8e6710e030 added favourite drink pilot attribute
fix OCSP authority access info
2021-04-07 18:44:32 +09:00
TakayukiMatsuo
7da85c6f3f Merge remote-tracking branch 'upstream/master' into tk11899 2021-04-07 12:01:39 +09:00
David Garske
786bbabbdc Improve ECC with WOLFSSL_NO_MALLOC
Tested with `./configure --enable-cryptonly --disable-examples --disable-rsa --disable-dh CFLAGS="-DWOLFSSL_NO_MALLOC -DBENCH_EMBEDDED" && make check`.
All ECC operations can work now with WOLFSSL_NO_MALLOC and variables will be on stack.
ZD 11829
2021-04-06 15:31:40 -07:00
David Garske
779dabc04e Cleanups to KSDK port for LTC. 2021-04-06 13:50:33 -07:00
David Garske
f4e1d96cfc Fixes for building K82. Fixes for warning with const mp_int* k changes. 2021-04-06 11:38:05 -07:00
Jacob Barthelmeh
4eb8265c46 add ecc guard on test case 2021-04-06 20:01:15 +07:00
TakayukiMatsuo
0a05acff09 Add test cases for EVP_CIPHER_CTX_cleanup and BIO_free 2021-04-06 14:21:53 +09:00
Guido Vranken
52e6ff7c56 Account for sp_sqr failure in _sp_exptmod_nct
ZD 12039
2021-04-06 01:34:09 +02:00
David Garske
5ebe5d071f Fixes for wolfSSL_BIO_BASE64_write changes. 2021-04-05 14:35:47 -07:00
Juliusz Sosinowicz
1a9d59c185 front may be unused and generate a warning 2021-04-05 14:35:47 -07:00
Juliusz Sosinowicz
d257cf5003 Return error when using not compiled in BIO
Refactor base64 BIO write into static function
2021-04-05 14:35:47 -07:00
David Garske
5b751d9eaa Fix for possible unused label "exit_chain". 2021-04-05 14:35:47 -07:00
David Garske
8984ce03e9 Refactor BIO read/write to use switch. 2021-04-05 14:35:47 -07:00
David Garske
072e6e010c Handle the BIO want read in BioReceive. 2021-04-05 14:35:47 -07:00
David Garske
5c762afb94 Fix for BIO with callbacks not called after PR #3824 (was always returning WANT_READ). 2021-04-05 14:35:47 -07:00
David Garske
e13c93d493 Added API's for getting pointer to load static ephemeral key. 2021-04-05 13:40:48 -07:00
David Garske
6b46669641 Merge pull request #3917 from embhorn/zd11959
Sanity check sockfd max value
2021-04-05 11:50:13 -07:00
David Garske
7935b7c485 Merge pull request #3920 from SparkiDev/sp_int_ullong
SP int: Handle ULLONG_MAX not being defined
2021-04-05 11:48:38 -07:00
David Garske
53d97d1961 Fix for DSA only case and missing sp_read_radix 2021-04-05 11:43:21 -07:00
David Garske
24d8e1b104 SP math all edge cases without RSA. 2021-04-05 11:31:55 -07:00
David Garske
eb37953061 Fix for WOLFSSL_SP_MATH_ALL typo. Plus a few other minor ones. 2021-04-05 11:31:55 -07:00
JacobBarthelmeh
63c96c3585 add implementation of EC_KEY_set_group 2021-04-05 22:22:31 +07:00
Jacob Barthelmeh
9a86f133c8 additional fixes for reports with test cases 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
71fea2bdd1 initialize hash size variable to 0 in the case that getting the digest size returns 0 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
4e8769ba6b initialize variable 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
39f34ef88b check return values 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
1c3ba77bee remove dead code path 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
fdb3221ea7 check variable is not null before use in error case 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
b4c0301f57 add sanity check on serial size 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
9ea60db80a add free of bio in error case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
4ead19e21f check return value of hash digest size 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
75abeebaf7 free memory in test case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
97b83a2550 free PKCS7 structure on error case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
141d1cb5af fix for potential leak on fail case 2021-04-05 21:26:22 +07:00
Elms
379e1fb630 INTIME: support CRL for INTIME version < 6 2021-04-01 11:15:23 -07:00
Juliusz Sosinowicz
c5b6d20483 Add more DSA parameters support
- Implement wc_DsaParamsDecode and wc_DsaKeyToParamsDer
- Don't include NIDs without OpenSSL builds
2021-04-01 19:47:09 +02:00
Hideki Miyazaki
ea0f4580de add X509_STORE_get/set_ex_data 2021-04-01 17:06:02 +09:00
Sean Parkinson
e3c86f8f77 ARMv8 SHA-256: recalc data in SHA256 update 2021-04-01 17:01:21 +10:00
Sean Parkinson
fd94d05b0a Merge pull request #3932 from guidovranken/zd12012
MP integer.c: Use unsigned integers in mp_is_bit_set
2021-04-01 15:41:01 +10:00
Hideki Miyazaki
b8684f3f7e fix retrun code regression on RAND_bytes
fix jenkins fail
2021-04-01 13:35:50 +09:00
Guido Vranken
2ecaa3c4c6 Use unsigned integers in mp_is_bit_set
ZD 12012
2021-04-01 00:57:06 +02:00
toddouska
95b91d8913 Merge pull request #3886 from DKubasekRA/fix/RA/v4.7.0-coverity
RA - Fixes for Coverity issues
2021-03-31 10:41:54 -07:00
toddouska
49b29bec32 Merge pull request #3930 from JacobBarthelmeh/Testing
add link to wolfssl-examples repository in README
2021-03-31 10:10:44 -07:00
toddouska
38cec4b0d4 Merge pull request #3922 from dgarske/have_secret
Expose functions to get client/server random for have secret callback
2021-03-30 16:03:57 -07:00
toddouska
f7046ca12a Merge pull request #3906 from douzzer/AES-BAD_ALIGN_E-consistency
Adds optional AES CBC length checking
2021-03-30 16:01:29 -07:00
toddouska
4d1ad6acd6 Merge pull request #3885 from JacobBarthelmeh/StaticAnalysisTests
Static analysis fixes for items listed as high priority
2021-03-30 16:00:03 -07:00
Chris Conlon
4044b30363 Merge pull request #3915 from TakayukiMatsuo/os_ecdh
Add unit tests for OpenSSL compat APIs
2021-03-30 16:18:16 -06:00
Jacob Barthelmeh
dfb7848320 add link to wolfssl-examples repository in README 2021-03-31 01:34:14 +07:00
Jake Hicks
0ea9163253 fix: call CBClientCert for TLS 1.3 certificate requests 2021-03-30 07:25:05 -05:00
TakayukiMatsuo
56b1406a30 Fix to call wc_FreeDhKey only after wc_InitDhKey succeeds. 2021-03-30 00:18:40 +09:00
Sean Parkinson
c3fcb2e95f Merge pull request #3923 from dgarske/armv8
ARMv8: do not compile code if module is disabled
2021-03-29 08:50:41 +10:00
Vysakh P Pillai
4911977946 rename I2C address var per cryptoauthlib 3.3.0 2021-03-28 00:11:11 +05:30
Vysakh P Pillai
ccc50714d0 Fix TNGTLS certificate size issue
TNGTLS devices has shown variations in the device and signer certificate sizes causing failure.
This fix makes the size query dynamic.
2021-03-28 00:02:17 +05:30
Chris Conlon
a9ff314840 Merge pull request #3912 from miyazakh/rsa_bits_
Added RSA_bits
2021-03-26 17:00:56 -06:00
Chris Conlon
b67f270e3d Merge pull request #3910 from miyazakh/openssl_ext_unit_test
Update compatibility layer api unit test
2021-03-26 16:58:21 -06:00
David Garske
a22defec50 Fix for availability of wolfSSL_SESSION_print. 2021-03-26 15:39:55 -07:00
David Garske
95ff75c43d Fix for wolfSSL_SESSION_print 2021-03-26 13:41:11 -07:00
David Garske
724a415d51 Fix ARMv8 to not compile code if module is disabled 2021-03-26 13:28:15 -07:00
David Garske
f65e1f1f09 Expose functions to get client/server random when HAVE_SECRET_CALLBACK is defined. 2021-03-26 13:23:00 -07:00
Daniel Pouzzner
5f6b618e71 configure.ac: add --enable-aescbc-length-checks and add it to --enable-all; api.c: fix expected error code in WOLFSSL_AES_CBC_LENGTH_CHECKS path of test_wc_AesCbcEncryptDecrypt(); aes.c: add explanatory comment on WOLFSSL_AES_CBC_LENGTH_CHECKS to top of file. 2021-03-26 14:04:25 -05:00
Daniel Pouzzner
5d9ee97530 WOLFSSL_AES_CBC_LENGTH_CHECKS: add gated logic to aes.c wc_AesCbc{En,De}crypt() to return BAD_LENGTH_E when input length is not a multiple of AES_BLOCK_SIZE; add gated tests of new functionality in test_wc_AesCbcEncryptDecrypt(); fix first encrypt-decrypt-memcmp in test_wc_AesCbcEncryptDecrypt() to span all of test vector and extend test vector length to be block-multiple; add ungated logic in platform-specific wc_AesCbc{En,De}crypt() routines to return with early success when blocks == 0 (also mitigates buffer overrun on short (less-than-AES_BLOCK_SIZE) input); add BAD_LENGTH_E error code; update documentation. 2021-03-26 13:40:08 -05:00
David Garske
f201d65459 Merge pull request #3898 from elms/intime_rtos/crl_directory_fix
INTIME: add support for directory file search
2021-03-26 09:37:21 -07:00
toddouska
79fa71d600 Merge pull request #3882 from TakayukiMatsuo/tk11899
Return code differences in wolfSSL_EVP_PKEY_cmp et al.
2021-03-26 09:36:52 -07:00
toddouska
212be50a23 Merge pull request #3899 from SparkiDev/shake256_improve
SHA-3: Improve SHAKE256 change to support longer output
2021-03-26 09:35:52 -07:00
toddouska
bb7dce8b46 Merge pull request #3921 from SparkiDev/sp_modinv_win
SP MSVC: movslq -> movsxd
2021-03-26 09:34:15 -07:00
TakayukiMatsuo
f7477b932d Add return value checks and fixed typos. 2021-03-26 17:06:14 +09:00
TakayukiMatsuo
5456765dca Changed API names to call in unit tests. 2021-03-26 17:05:25 +09:00
Sean Parkinson
1b832bf8fa SHA-3: Improve SHAKE256 change to support longer output
Added tests for 1 complete block output and longer from NIST's CAVP
tests vectors.
2021-03-26 14:59:12 +10:00
Sean Parkinson
a188ef251c SP MSVC: movslq -> movsl 2021-03-26 14:12:58 +10:00
TakayukiMatsuo
4460180214 Fix implicit conv error. 2021-03-26 08:18:16 +09:00
Sean Parkinson
08be489bf5 SP int: Handle ULLONG_MAX not being defined 2021-03-26 09:03:39 +10:00
Sean Parkinson
0d995527aa Merge pull request #3918 from dgarske/fix_ecc_mulmod_fast
Fix for SP ecc_mulmod_fast
2021-03-26 08:39:48 +10:00
TakayukiMatsuo
5887c2f2e2 Fix fall through. 2021-03-26 04:45:10 +09:00
Eric Blankenhorn
23bd46bac6 Sanity check sockfd 2021-03-25 14:40:38 -05:00
TakayukiMatsuo
79837eeb8e Changed the function name to be called in the unit test to the OpeSSL function name. 2021-03-26 04:30:36 +09:00
Eric Blankenhorn
11189fe386 Sanity check size in TLSX_Parse 2021-03-25 14:16:22 -05:00
TakayukiMatsuo
da9131d30d Added return value checks and removed ToDec() 2021-03-26 04:14:14 +09:00
TakayukiMatsuo
dd6db22bc6 Changed the function name to be called in the unit test to the OpenSSL function name. 2021-03-26 04:08:02 +09:00
Elms
4eb4cecff4 INTIME: whitespace fixup and zero context in wc_ReadDirFirst 2021-03-25 10:54:05 -07:00
David Garske
c9b5806575 Fix for ecc_mulmod_fast broken in PR #3868. The "t" needs 1 extra point for "rt". 2021-03-25 09:19:17 -07:00
David Garske
06966a203b Merge pull request #3914 from SparkiDev/sp_c_sub_fixes
SP C 32/64: fix corner cases around subtraction
2021-03-25 08:11:06 -07:00
Stanislav Klima
6c7b3d806a Fixed modifying a const value. 2021-03-25 15:36:30 +01:00
Radim Smat
fd7131197f Updated fix of CID 587269. 2021-03-25 13:28:47 +01:00
Jacob Barthelmeh
a472d2af4a fix for streaming with PKCS7 2021-03-25 18:54:09 +07:00
Stanislav Klima
67d4611fda Review fixes. 2021-03-25 11:26:34 +01:00
TakayukiMatsuo
8dcaa8c4b6 Merge remote-tracking branch 'upstream/master' into os_ecdh
# Conflicts:
#	tests/api.c
2021-03-25 19:17:22 +09:00
TakayukiMatsuo
952a9b3497 Add unit tests for CONT_modules_xxx, CRYPTO_set_dynlock_xxx, CRYPTO_THREADID_xxx and ENGINE_cleanup. 2021-03-25 19:02:13 +09:00
Sean Parkinson
d8a81d0c0f SP C 32/64: fix corner cases around subtraction
Affected RSA PSS
2021-03-25 16:19:54 +10:00
Hideki Miyazaki
c9be50c3a0 added RSA_bits 2021-03-25 13:31:47 +09:00
TakayukiMatsuo
03bad1c056 Added logic to wait for TCP disconnect so that SSL_read behaves the same as OpenSSL after a bidirectional shutdown. 2021-03-25 12:54:05 +09:00
John Safranek
8bee2af550 Merge pull request #3904 from julek-wolfssl/dtls-chacha-poly-fix
Chacha-Poly AEAD fix for SCR
2021-03-24 18:53:46 -07:00
David Garske
64555cdd11 Merge pull request #3907 from JacobBarthelmeh/CAAM 2021-03-24 18:47:47 -07:00
John Safranek
662d04ce74 Merge pull request #3879 from julek-wolfssl/dtls-timeout
Let user inspect error in wolfSSL_dtls_got_timeout
2021-03-24 18:31:05 -07:00
John Safranek
f2f2976e96 Merge pull request #3837 from haydenroche5/zd11808
Fix for ZD 11808.
2021-03-24 18:24:04 -07:00
Sean Parkinson
08ea90ad94 Merge pull request #3905 from dgarske/sp_nb_sync
SP ECC: Fix for non-blocking test and synchronization of changes
2021-03-25 10:35:30 +10:00
Hideki Miyazaki
f7652d18a0 use compatibility layer API when they are enabled 2021-03-25 08:09:06 +09:00
JacobBarthelmeh
e074513d38 fix for memory management with mmap function calls 2021-03-25 01:32:37 +07:00
Jacob Barthelmeh
183917f102 change debug message type from review 2021-03-25 01:16:20 +07:00
Martin Kinčl
7f64950da4 Fixed fix of CID 576329. 2021-03-24 17:23:49 +01:00
Martin Kinčl
bf1482a2d7 Fixed another CID 529732. 2021-03-24 17:05:02 +01:00
JacobBarthelmeh
13d81f1fb9 Merge pull request #3902 from dgarske/snicb
Fix for SNI recv callback
2021-03-24 15:34:35 +07:00
David Garske
a6851a44af Fix for ECC non-blocking test R/S values not zero padded causing occasstional wolfCrypt test failures with ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS="-DWOLFSSL_PUBLIC_MP". 2021-03-23 17:32:36 -07:00
David Garske
a6e9e71fde Synchronization of SP ECC non-blocking code. Adds WOLFSSL_ECDSA_SET_K_ONE_LOOP support to SP ECC non-block. Removes double code in verify steps. Fixes verify result logic. Spelling error. 2021-03-23 17:30:56 -07:00
toddouska
14ef517b61 Merge pull request #3884 from SparkiDev/tfm_read_bin
TFM read_unsigned_bin: endian may not be defined
2021-03-23 14:47:18 -07:00
toddouska
d539dc59be Merge pull request #3903 from SparkiDev/sha2_arm
ARMv8 SHA256, SHA512: Add wc_Sha256Transform, wc_Sha512Transform
2021-03-23 14:46:45 -07:00
toddouska
1643bec05f Merge pull request #3862 from kaleb-himes/WIN32_WCE_PORTING
_WIN32_WCE port of wolfCrypt - OE12
2021-03-23 14:40:48 -07:00
toddouska
6134de6a22 Merge pull request #3855 from miyazakh/openssl_ext_r2
Compatibility layer API addition
2021-03-23 14:37:47 -07:00
Stanislav Klima
ee79e1082a Updated fix of 58787. 2021-03-23 13:19:32 +01:00
Juliusz Sosinowicz
3abcdf059a Chacha-Poly AEAD fix for SCR
Wrong cipher material was being used when using Chacha-Poly AEAD for DTLS 1.2 with secure renegotiation
2021-03-23 10:38:48 +01:00
Sean Parkinson
089ebf277f ARMv8 SHA256, SHA512: Add wc_Sha256Transform, wc_Sha512Transform 2021-03-23 12:53:06 +10:00
David Garske
9313d59479 Fix for SNI callback
* Fix for SNI callback on server to make sure the SNI data is stored even without setting a hostname. This makes sure the SNI extension is set when there is a registered SNI recv callback.
* Fix for Apache HTTPD to include `WOLFSSL_ALWAYS_KEEP_SNI`
2021-03-22 11:28:16 -07:00
kaleb-himes
b3eb2e3ddd Implement peer review feedback
Fix items that were missed from peer review

Remove dead code

Add ret capture of return from XVSNPRINTF
2021-03-22 11:55:16 -06:00
David Garske
3accd4dd86 Merge pull request #3900 from JacobBarthelmeh/CAAM
account for leading 0's with r and s during ECC verify
2021-03-22 09:08:44 -07:00
JacobBarthelmeh
b7ac12edb6 account for leading 0's with r and s during ECC verify 2021-03-22 18:16:21 +07:00
Stanislav Klima
2e25c53111 Revert "Fixed CID 583215."
This reverts commit 26578be1a7.
2021-03-22 09:50:20 +01:00
Stanislav Klima
a8abeeb50e Fixed CID 58787. 2021-03-22 09:47:52 +01:00
Sean Parkinson
24b67599c8 Merge pull request #3896 from strongX509/wolfssl-shake256
Full implementation of SHAKE256
2021-03-22 09:57:05 +10:00
TakayukiMatsuo
53c54ab475 Added bounds checks. 2021-03-21 12:30:45 +09:00
TakayukiMatsuo
a86a638698 Fix for PRB tests. 2021-03-21 08:19:02 +09:00
TakayukiMatsuo
6bf14dfa56 Added bounds checks, smallstack pattern. 2021-03-21 07:37:02 +09:00
TakayukiMatsuo
a1ff026670 Revert the change of wolfSSL_EVP_CHIPER_CTX_cleanup. 2021-03-21 00:14:57 +09:00
Elms
c3e6195da5 INTIME: add support for directory file search
Directory support allows CRL use with undefining `NO_WOLFSSL_DIR`

Also increase stack size to avoid page fault and add
`_USE_64BIT_TIME_T` to example project to pass ASN test
2021-03-20 00:53:02 -07:00
Hideki Miyazaki
526688a1a5 adressed review comments part 5-1 2021-03-20 14:57:26 +09:00
Hideki Miyazaki
fae36f108e adressed review comments part 5 2021-03-20 12:29:42 +09:00
toddouska
14b7d70ae4 Merge pull request #3846 from kabuobeid/builtinEngsRandMethod
Add wolfSSL_RAND_set_rand_method() and document ENGINE_load_builtin_engines()
2021-03-19 14:23:03 -07:00
toddouska
a0a1406a43 Merge pull request #3894 from SparkiDev/eccsi_sakke_g++
ECCSI/SAKKE: fix for g++
2021-03-19 14:03:06 -07:00
toddouska
fc2dff0af6 Merge pull request #3895 from SparkiDev/no_dhe_psk_fix
TLS 1.3 PSK no DHE: When not doing PSK don't allow noPskDheKe to be set
2021-03-19 14:02:43 -07:00
Chris Conlon
19c321f165 Merge pull request #3891 from JacobBarthelmeh/PKCS7
adjust size when streaming with PKCS7 verify
2021-03-19 11:53:38 -06:00
David Garske
761bebc4a0 Merge pull request #3893 from SparkiDev/sp_dyn_stack
SP dyanmic stack: WOLFSSL_SP_NO_DYN_STACK disable use
2021-03-19 10:53:02 -07:00
Chris Conlon
f49e8669cd Merge pull request #3892 from dgarske/stm32g0
Adds support for STM32G0
2021-03-19 11:31:17 -06:00
Andreas Steffen
6e383cf6cd Full implementation of SHAKE256
The current SHAKE256 implementation squeezes output bytes only up
to the rate limit of 136 bytes. This has been fixed to support
the output of an unlimited amount of bytes complying with the
NIST FIPS 202 standard.
2021-03-19 11:13:54 +01:00
TakayukiMatsuo
4136dcb098 Add modifications to fix following issues:
- bounds checks
- sanity checks
- smallstack pattern
- coding standard
- typos
2021-03-19 14:58:56 +09:00
TakayukiMatsuo
491f3bc423 Add two public key files in certs folder and register them to gencertbuf.pl 2021-03-19 14:52:58 +09:00
TakayukiMatsuo
62304411dd Remove wc_EccPublicKeyDecode_ex 2021-03-19 14:48:46 +09:00
TakayukiMatsuo
1c81afcc0a Add wc_FreeDhKey in wolfSSL_d2i_PUBKEY 2021-03-19 14:23:40 +09:00
TakayukiMatsuo
364e35575c Add following modifications to unit-test:
- Modify reference data in test_wolfSSL_EVP_PKEY_print_public
- Remove test_wc_EccPublicKeyDecode_ex
- Rewrite test_wc_DhPublicKeyDecode to have Assert
2021-03-19 14:17:26 +09:00
Hideki Miyazaki
300cbf7a5b fixed NO_WOLFSSL_DIR configuration case 2021-03-19 13:13:03 +09:00
Hideki Miyazaki
ffa6a80725 addressed review comments part 4 2021-03-19 13:13:02 +09:00
Hideki Miyazaki
7b81ff1bc6 fixed api testing for hash dir 2021-03-19 13:13:01 +09:00
Hideki Miyazaki
c5327866a4 addressed review comments part 3 2021-03-19 13:13:01 +09:00
Hideki Miyazaki
84368eed3f addressed review comment part 2 moving BY_DIR_xxx functions to internal 2021-03-19 13:13:00 +09:00
Hideki Miyazaki
4650aaf4fb addressed review comments part 1 2021-03-19 13:13:00 +09:00
Hideki Miyazaki
f9c9de5855 free Mutex 2021-03-19 13:12:59 +09:00
Hideki Miyazaki
2d79578eda addressed jenkins failure
fix missing mutex initialization
2021-03-19 13:12:59 +09:00
Hideki Miyazaki
a13784abe1 fixed jenkins failure 2021-03-19 13:12:58 +09:00
Hideki Miyazaki
cb0f082e39 simplified wc_EncodeName* 2021-03-19 13:12:57 +09:00
Hideki Miyazaki
e73b06e797 add comments and description to new function and API 2021-03-19 13:12:57 +09:00
Hideki Miyazaki
39b0c4eaf8 fixed sanitize errors 2021-03-19 13:12:56 +09:00
Hideki Miyazaki
b4a573ca98 Initial implemented X509_LOOKUP_ctrl L_ADD_DIR 2021-03-19 13:12:55 +09:00
Hideki Miyazaki
ce485d99b3 implemented L_FILE_LOAD case 2021-03-19 13:12:54 +09:00
Sean Parkinson
e7472384c2 TLS 1.3 PSK no DHE: When not doing PSK don't allow noPskDheKe to be set 2021-03-19 12:11:30 +10:00
Sean Parkinson
7cacfc53e6 ECCSI/SAKKE: fix for g++
Cast XMALLOC return.
2021-03-19 10:49:34 +10:00
Sean Parkinson
f6840ca907 SP dyanmic stack: WOLFSSL_SP_NO_DYN_STACK disable use
For small code and not small stack, arrays are being defined with a size
dependent on the input parameters, where compiler supports it.
Disable this with: WOLFSSL_SP_NO_DYN_STACK
2021-03-19 09:56:56 +10:00
Sean Parkinson
a688245738 Merge pull request #3868 from dgarske/sp_nomalloc
Fixes for SP RSA/DH with `WOLFSSL_SP_NO_MALLOC`
2021-03-19 09:41:30 +10:00
David Garske
14e79a165a Merge pull request #3880 from embhorn/cov_fixes
Fix resource leak
2021-03-18 15:18:38 -07:00
toddouska
a363077b1e Merge pull request #3841 from SparkiDev/aes_gcm_stream
AES GCM: implement streaming
2021-03-18 14:36:55 -07:00
David Garske
6bf3c08634 Fixes for SP RSA/DH with WOLFSSL_SP_NO_MALLOC. Cleanup of the SP no malloc code for ECC, RSA and DH. 2021-03-18 14:00:51 -07:00
David Garske
a27a61c937 Adds support for STM32G0. 2021-03-18 11:25:48 -07:00
Kareem Abuobeid
a85e348c0e Change void return from RAND_seed back to int. 2021-03-18 11:20:56 -07:00
Kareem Abuobeid
5aa23424a4 wolfSSL_RAND_set_rand_method: Cleanup 2021-03-18 10:27:31 -07:00
Jacob Barthelmeh
de50209cdf adjust size when streaming with PKCS7 verify 2021-03-18 22:52:36 +07:00
David Garske
e7ad9b423f Merge pull request #3881 from embhorn/zd11906
Fix der struct mem leak in AddTrustedPeer
2021-03-18 07:40:27 -07:00
David Garske
89a461595f Merge pull request #3890 from douzzer/fix-linuxkm-tls13-typo
src/tls13.c: fix typo introduced in commit 697d34c80d.
2021-03-18 07:36:58 -07:00
Jacob Barthelmeh
360c961b48 fix for unused variable in dh.c from Jenkins test 2021-03-18 20:34:38 +07:00
Jacob Barthelmeh
a64bb8aef7 fix unused variable in test case from Jenkins test 2021-03-18 15:17:08 +07:00
Daniel Pouzzner
717c0089c0 src/tls13.c: fix typo introduced in commit 697d34c80d. 2021-03-18 00:04:53 -05:00
Kareem Abuobeid
832c99597c wolfSSL_RAND_set_rand_method: Code review feedback 2021-03-17 17:02:20 -07:00
David Garske
7760dcb43b Fixes and cleanups for the openssl compatibility layer RAND_ functions. For opensslextra=x509small don't include the RAND method code. Removed abandonded "ENABLED_SMALL" option in configure.ac. 2021-03-17 15:51:52 -07:00
Kareem Abuobeid
1477af9a22 Add wolfSSL_RAND_set_rand_method() and support for RAND_ callbacks. 2021-03-17 14:29:24 -07:00
toddouska
a3be049e0e Merge pull request #3883 from SparkiDev/sp_asm_config
SP config: allow asm to be an SP options (--enable-sp=asm,yes)
2021-03-17 12:53:14 -07:00
Jacob Barthelmeh
12b290cbaf remove duplicate (deadcode) for clearing mp_int's 2021-03-17 17:34:54 +07:00
Jacob Barthelmeh
6ef905c9e3 use err goto for error out 2021-03-17 17:06:03 +07:00
Jacob Barthelmeh
2732ba2bba check return value is not negative 2021-03-17 16:50:53 +07:00
Jacob Barthelmeh
1ca3604212 add check on init mutex return value 2021-03-17 16:42:16 +07:00
Jacob Barthelmeh
da56c33f48 add debug message on BIO write return value when printing out error nodes 2021-03-17 16:33:37 +07:00
Jacob Barthelmeh
d439694eb6 sanity check on length in wolfSSL_BN_rand 2021-03-17 13:41:27 +07:00
Jacob Barthelmeh
6995f6dedc help out static analyizer and memset buffer created 2021-03-17 12:34:12 +07:00
Jacob Barthelmeh
48d13bbfa5 fix for leak with wolfSSL_a2i_ASN1_INTEGER 2021-03-17 12:24:18 +07:00
Sean Parkinson
2dafb3ed96 TFM read_unsigned_bin: endian may not be defined 2021-03-17 12:10:06 +10:00
Sean Parkinson
38d268dbbb fixup 2021-03-17 11:31:03 +10:00
Sean Parkinson
7f1e63e7f5 SP config: allow asm to be an SP options (--enable-sp=asm.yes) 2021-03-17 11:24:55 +10:00
TakayukiMatsuo
3bd7127188 Wrap some long lines. 2021-03-17 06:58:51 +09:00
toddouska
cba348dbf1 Merge pull request #3853 from SparkiDev/sp_add_d
SP int neg add_d/sub_d: handle small values properly
2021-03-16 14:16:01 -07:00
TakayukiMatsuo
07807526c6 Change the following functions to behave the same as opeSSL:
- EVP_CIPHER_CTX_cleanup
- BIO_free
- EVP_PKEY_cmp
2021-03-17 05:47:45 +09:00
Eric Blankenhorn
3f8444e7ea Fix der struct mem leak in AddTrustedPeer 2021-03-16 11:57:49 -05:00
David Garske
e668b9b5d6 Merge pull request #3876 from kabuobeid/sslSuitesNullCheck
Fix missing NULL check in FreeSuites().  Fixes #3873.
2021-03-16 09:02:10 -07:00
JacobBarthelmeh
df2e0905e0 Merge pull request #3874 from dgarske/cryptocb_devctx
Fixes for for crypto callbacks (SHA1, HMAC and CMAC)
2021-03-16 21:26:50 +07:00
TakayukiMatsuo
9f6d1fe964 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-03-16 15:55:51 +09:00
Sean Parkinson
35659be06f AES GCM: implement streaming
Updated EVP layer to use streaming API when enabled.
Assembly for x64 updated to include streaming.
2021-03-16 16:39:49 +10:00
David Garske
f3900be6dc Merge pull request #3877 from SparkiDev/sakke_eccsi_fixup 2021-03-15 20:18:09 -07:00
TakayukiMatsuo
9fd8fde714 Add fixes along the review commnents. 2021-03-16 11:55:18 +09:00
Sean Parkinson
9caf366a25 SP x86_64 asm: put back in lost fixes
Corner case for P-256.
ModInv P-256 AVX2 fix carry and use movslq for clang.
Get entry P-384 non-AVX2 don't assume table data is aligned.
2021-03-16 11:08:34 +10:00
Sean Parkinson
6fc0440904 SP int neg add_d/sub_d: handle small values properly 2021-03-16 10:22:48 +10:00
toddouska
5c82ef9420 Merge pull request #3858 from julek-wolfssl/x509-set-pub-key
wolfSSL_X509_set_pubkey fix
2021-03-15 17:19:30 -07:00
toddouska
5c4c101ac5 Merge pull request #3863 from JacobBarthelmeh/Testing
fix for wolfSSL_ASN1_TIME_adj set length
2021-03-15 17:17:33 -07:00
toddouska
1b8c0c73a9 Merge pull request #3851 from SparkiDev/sp_read_bin_align
SP int: read_unsigned_bin and BIG_ENDIAN
2021-03-15 17:12:23 -07:00
toddouska
3ac03d3d66 Merge pull request #3805 from JacobBarthelmeh/copyright
update copyright date to 2021
2021-03-15 16:16:50 -07:00
toddouska
5fd0950a3a Merge pull request #3654 from SparkiDev/sakke_eccsi
ECCSI and SAKKE: add support
2021-03-15 16:15:59 -07:00
Kareem Abuobeid
46b3beeccd Fix missing NULL check in FreeSuites(), with OPENSSL_ALL enabled, this was causing a segfault in when freeing a WOLFSSL object created with wolfSSL_write_dup(). 2021-03-15 16:15:21 -07:00
Juliusz Sosinowicz
0fa39a04dc Let user inspect error in wolfSSL_dtls_got_timeout 2021-03-15 19:00:11 +01:00
David Garske
2e247cc176 Merge pull request #3870 from JacobBarthelmeh/Benchmark
fix for using devId with benchmarking ECC
2021-03-15 10:09:23 -07:00
David Garske
d4d30a0078 Merge pull request #3875 from SparkiDev/sp_get_entry
SP x86_64 non-AVX2: Fix get_entry to no load table aligned
2021-03-15 10:00:27 -07:00
Sean Parkinson
0f605b2aab SP x86_64 non-AVX2: Fix get_entry to no load table aligned 2021-03-15 18:05:10 +10:00
David Garske
e2aee302ef Merge pull request #3867 from douzzer/autoconf-2.71-gcc-10.2-updates 2021-03-12 16:19:28 -08:00
David Garske
7a020e4bb6 Fix for FIPS and CMAC init. 2021-03-12 14:23:34 -08:00
Eric Blankenhorn
36f80d53aa Fix resource leak 2021-03-12 14:57:45 -06:00
Daniel Pouzzner
92854a5ddc configure.ac: advance AC_PREREQ from 2.63 (2008) to 2.69 (2012) to reflect current automated testing coverage, and to avoid intractable best-practice conflicts between 2.63 and 2.70 (2020); advance AM_INIT_AUTOMAKE from 1.11 (2009) to 1.14.1 (2013) to reflect current automated testing coverage; advance LT_PREREQ from 2.2 (2008) to 2.4.2 (2011) to reflect current automated testing coverage. 2021-03-12 13:49:29 -06:00
David Garske
697d34c80d Fix for for crypto callback devCtx on symmetric algorithms (missing for SHA1 and CMAC). Fix for HMAC to use devId for hashing. Fixes for CMAC crypto callbacks and testing. 2021-03-12 11:49:25 -08:00
John Safranek
62ec4ef3b9 Policy Constraints Extension
Read the policy constraints extension from a certificate. Save the skip value but don't do anything with it at this time.
2021-03-12 10:23:23 -08:00
Juliusz Sosinowicz
c5c80b67d2 wolfSSL_X509_set_pubkey fix
wolfSSL_X509_set_pubkey should always regenerate the key to make sure that it does not contain the private key
2021-03-12 18:13:15 +01:00
JacobBarthelmeh
e9b39c3091 fix for using devId with benchmarking ECC 2021-03-12 21:14:20 +07:00
David Garske
fa8934c5fc Merge pull request #3861 from haydenroche5/cmake_session_ticket 2021-03-11 21:05:31 -08:00
Jacob Barthelmeh
5369c133ad add macro guard around test 2021-03-12 11:44:09 +07:00
Sean Parkinson
a20b7fae32 ECCSI/SAKKE: add loop count to generation functions 2021-03-12 13:57:53 +10:00
Sean Parkinson
a55e94cf6f ECCSI and SAKKE: add support
Fixes for static code analysis included.
Added const to function parameters.
Zeroise some temporaries.
2021-03-12 09:31:22 +10:00
Daniel Pouzzner
771a7418ea fixes for compat with autoconf 2.70 and gcc-10: update m4/ax_pthread.m4 and m4/ax_tls.m4 from upstream, fix declaration syntax in tests/api.c, add AC_CANONICAL_TARGET in configure.ac, and fix two spots with bad quoting syntax in configure.ac and m4/ax_linuxkm.m4. also fix myriad whitespace flubs in api.c. 2021-03-11 17:29:12 -06:00
elms
c091b968a3 Merge pull request #3864 from cconlon/0311
api.c fix for --enable-opensslall and --enable-debug
2021-03-11 14:54:40 -08:00
Chris Conlon
e93568816e Merge pull request #3859 from TakayukiMatsuo/os_ecdh
Remove NO_WOLFSSL_STUB guard and add a comment to each API
2021-03-11 15:31:21 -07:00
elms
6241d56eec Merge pull request #3865 from haydenroche5/fix_have_aes_ecb
Change WOLFSSL_AES_ECB to HAVE_AES_ECB in api.c.
2021-03-11 14:12:46 -08:00
Hayden Roche
211eefa155 Change WOLFSSL_AES_ECB to HAVE_AES_ECB in api.c. 2021-03-11 14:03:54 -06:00
Chris Conlon
e184cf5c29 fix api.c build with --enable-opensslall and --enable-debug 2021-03-11 12:56:13 -07:00
kaleb-himes
1d5d946273 Cleanup user_settings.h 2021-03-11 06:39:39 -07:00
Jacob Barthelmeh
eb8b40c64a fix for wolfSSL_ASN1_TIME_adj set length 2021-03-11 20:34:17 +07:00
TakayukiMatsuo
b9464befb6 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-03-11 16:21:09 +09:00
Jacob Barthelmeh
c729318ddd update copyright date 2021-03-11 13:42:46 +07:00
John Safranek
fceba6eb6f Merge pull request #3860 from julek-wolfssl/scr-hello-verify
SCR cookie exchange shouldn't change seq and epoch numbers
2021-03-10 16:11:03 -08:00
kaleb-himes
16d55b0b86 _WIN32_WCE port of wolfCrypt - OE12
Add user_settings.h for OE12

Restrict LPCWSTR typecast to be WINCE specific
2021-03-10 17:02:21 -07:00
toddouska
72eebd6e75 Merge pull request #3795 from JacobBarthelmeh/CAAM
Addition of QNX CAAM driver
2021-03-10 15:04:21 -08:00
toddouska
44c5ca9d39 Merge pull request #3825 from julek-wolfssl/openssl-key-wrap
Implement `AES_wrap_key` and `AES_unwrap_key`
2021-03-10 15:01:51 -08:00
toddouska
b081243af3 Merge pull request #3850 from SparkiDev/sp_x64_asm_fixes
SP ECC: Fix P-256 modinv for AVX2
2021-03-10 14:57:17 -08:00
toddouska
385ef17099 Merge pull request #3852 from SparkiDev/mp_is_bit_set
MP int: fix word range check in mp_is_bit_set()
2021-03-10 14:54:58 -08:00
David Garske
2b92abdd35 Merge pull request #3857 from embhorn/zd11865
Fix header cir ref with WPAS
2021-03-10 14:54:50 -08:00
toddouska
0bcde126d9 Merge pull request #3791 from TakayukiMatsuo/ZD11641
Causes SSL_CTX_load_verify_locations and X509_LOOKUP_load_file to return zero on failure if WOLFSSL_ERR_CODE_OPENSSL is defined
2021-03-10 14:54:14 -08:00
Chris Conlon
40b5d94db8 Merge pull request #3848 from JacobBarthelmeh/Testing
sanity check on size before compare
2021-03-10 15:18:44 -07:00
Hayden Roche
0403990cc8 Add support for session tickets in CMake.
Additionally, ensure duplicate definitions don't make it into options.h.
2021-03-10 11:48:59 -06:00
Juliusz Sosinowicz
26fb658206 SCR cookie exchange shouldn't change seq and epoch numbers 2021-03-10 18:34:09 +01:00
TakayukiMatsuo
0e699ff046 Remove NO_WOLFSSL_STUB guard and add a comment to each wolfSSL_set_dynlock_xxx API. 2021-03-11 00:04:17 +09:00
JacobBarthelmeh
4ad1b52108 Merge pull request #3824 from julek-wolfssl/ssl-bio-use-chain
WOLFSSL_BIO_SSL BIO should use remaining chain for IO
2021-03-10 18:21:09 +07:00
JacobBarthelmeh
28ae8e3e11 add include file for getting WOLFSSL_CAAM_DEVID in test case 2021-03-10 17:27:40 +07:00
Juliusz Sosinowicz
d7838155e5 WOLFSSL_BIO_SSL BIO should use remaining chain for IO
This is accomplished by passing the next BIO in the chain in to the `wolfSSL_set_bio` API.
2021-03-10 10:13:42 +01:00
David Garske
ce62a24325 Merge pull request #3856 from embhorn/gh3849
Typo in client example
2021-03-09 15:49:30 -08:00
Eric Blankenhorn
f421f949c9 Fix header cir ref with WPAS 2021-03-09 17:09:04 -06:00
Chris Conlon
23396a94c4 Merge pull request #3822 from TakayukiMatsuo/os_ecdh
Add CTX_set_ecdh_auto
2021-03-09 15:15:38 -07:00
John Safranek
fd6618170d Merge pull request #3843 from julek-wolfssl/dtls-reset-seq-num
Correctly move the Tx sequence number forward
2021-03-09 13:06:04 -08:00
Juliusz Sosinowicz
d4302cc71b Correctly reset the Tx sequence number
All DTLS records after the ClientHello should try to start from the sequence number of the ClientHello if it is available.
2021-03-09 18:30:10 +01:00
Stanislav Klima
9f9bf7345b Fixed CID 13482 2021-03-09 15:12:31 +01:00
Stanislav Klima
dc1f11666d Fixed CID 588443 2021-03-09 14:49:30 +01:00
Stanislav Klima
9e68d0d1a8 Fixed CID 586938 2021-03-09 12:30:39 +01:00
TakayukiMatsuo
153859f2b2 Merge remote-tracking branch 'upstream/master' into os_ecdh
# Conflicts:
#	tests/api.c
2021-03-09 12:00:15 +09:00
Eric Blankenhorn
5e953d5968 Typo in client example 2021-03-08 17:31:12 -06:00
Sean Parkinson
ff3325fcaf SP ECC: Fix P-256 modinv for AVX2
modinv AVX2: do quick norm on result twice and convert 32-bit signed to
64-bit signed before adding
P-256 mont_add, mont_dbl, mont_tpl, mont_sub x64: handle mul/sqr result
being greater than modulus but not greater than 1<<256.
2021-03-09 08:42:07 +10:00
Hayden Roche
b271da2954 Fix for ZD 11808. 2021-03-08 12:23:32 -06:00
David Garske
c73965b471 Merge pull request #3842 from danielinux/imx-rt1060-fixes
Fixed regressions in sha modules when compiling with WOLFSSL_IMXRT_DCP
2021-03-08 10:21:40 -08:00
Chris Conlon
7b2aa54044 Merge pull request #3801 from TakayukiMatsuo/os_bio
Add wolfSSL_BIO_tell
2021-03-08 09:56:01 -07:00
Chris Conlon
ec58765498 Merge pull request #3769 from miyazakh/openssl_ext_r1
Compatibility layer API addition
2021-03-08 09:54:07 -07:00
Sean Parkinson
419b426a1b MP int: fix word range check in mp_is_bit_set() 2021-03-08 15:45:04 +10:00
Sean Parkinson
98683bf71c SP int: read_unsigned_bin and BIG_ENDIAN
When unaligned access of sp_int_digit pointer causes segfault, define:
WOLFSSL_SP_INT_DIGIT_ALIGN
2021-03-08 15:17:12 +10:00
TakayukiMatsuo
feeb0ceb96 Change macro name to WS_RETURN_CODE and add more comments. 2021-03-08 11:57:36 +09:00
JacobBarthelmeh
2275c97602 check ret of lock and adjust return type 2021-03-06 14:21:44 +07:00
Jacob Barthelmeh
e497a8f589 sanity check on size before compare 2021-03-06 08:58:37 +07:00
Hideki Miyazaki
3b768bcb5e addressed review comments 2021-03-06 10:18:31 +09:00
Martin Kinčl
5efd0bf2a4 Fixed CID 587445. 2021-03-06 00:58:39 +01:00
Martin Kinčl
db275268a1 Fixed CID 581667. 2021-03-06 00:40:08 +01:00
Martin Kinčl
c2629d34b5 Fixed CID 577166, 577196. 2021-03-06 00:07:37 +01:00
Martin Kinčl
5841ee8efb Fixed CID 576945. 2021-03-05 23:40:49 +01:00
Martin Kinčl
7d9661d75c Fixed CID 576884. 2021-03-05 23:24:34 +01:00
Martin Kinčl
876cc9239d Fixed CID 576574. 2021-03-05 23:16:50 +01:00
toddouska
b6130513e3 Merge pull request #3844 from SparkiDev/mp_read_radix_fail
MP small: read radix set result to 0 on all errors
2021-03-05 12:09:38 -08:00
toddouska
8428823881 Merge pull request #3840 from SparkiDev/mp_neg_fixes
MP: fixes for negative
2021-03-05 12:08:45 -08:00
David Garske
b55e428795 Merge pull request #3826 from tmael/ecc_err
WOLFSSL_STATIC_MEMORY no longer requires fast math
2021-03-05 11:49:01 -08:00
Radim Smat
af7b1bd25e Fixed CID 587328. 2021-03-05 17:18:34 +01:00
Radim Smat
e76da394b7 Fixed CID 587287. 2021-03-05 15:44:00 +01:00
David Kubasek
d01d32b6ed Fixed the fix of CID 578018 2021-03-05 14:59:18 +01:00
David Kubasek
175fe250ba Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-05 14:44:10 +01:00
David Kubasek
97a9938f94 Fixed CID 584275 2021-03-05 14:43:52 +01:00
Radim Smat
9732f6e74b Fixed CID 587328. 2021-03-05 14:27:47 +01:00
Radim Smat
f7fbd0fceb Fixed CID 587287. 2021-03-05 13:35:27 +01:00
Radim Smat
8588998234 Fixed CID 586797. 2021-03-05 12:22:59 +01:00
Radim Smat
8539e8c170 Fixed CID 584000. 2021-03-05 12:10:40 +01:00
Radim Smat
0caed02db7 Fixed CID 576609. 2021-03-05 12:04:30 +01:00
David Kubasek
d2b26f66d5 Fixed CID 578018 2021-03-05 10:59:08 +01:00
David Kubasek
ad70112fd8 Fixed CID 576268 2021-03-05 10:35:14 +01:00
Radim Smat
d510c270cd Fixed CID 212170. 2021-03-05 09:44:47 +01:00
Jacob Barthelmeh
6d0dbbe1c0 add IDE/QNX/README.md and add WOLFSSL_QNX_CAAM guard 2021-03-05 14:43:23 +07:00
Sean Parkinson
298ebd6024 MP small: read radix set result to 0 on all errors 2021-03-05 10:02:07 +10:00
Sean Parkinson
046b279ae2 MP: fixes for negative
sp_int.c:
  - sp_addmod_ct(), sp_submod_ct(), sp_gcd() and sp_lcm() only support
positive numbers: updated comments.
  - sp_mod(0, neg): fix to not add 0 and neg.
  - sp_div(): set sign on rem when a is greater than d but same bit length
and fix sign setting on result when absolute values equal or
close.
  - Modular exponentation functions: compare absolute values when
determining whether base needs to be reduced.
- Fix calculation of hex string when negative: add -ve nibble before
checking for need of extra 0.
  - Fix size allocation in sp_mod when WOLFSSL_SP_INT_NEGATIVE defined
tfm.c:
  - fp_mod(0, neg): fix to not add 0 and neg.
  - fp_isone(): fixed to check for negative
  - fp_add_d(): fix small stack version to support negative numbers
integer.c:
  - mp_isone(): fixed to check for negative
2021-03-05 09:29:46 +10:00
Hideki Miyazaki
896245cae7 addressed jenkins cavp test failure 2021-03-05 08:19:25 +09:00
Hideki Miyazaki
464f82a575 addressed jenkins failure part4 2021-03-05 08:19:24 +09:00
Hideki Miyazaki
2246ea33cc addressed sanitize failure 2021-03-05 08:19:23 +09:00
Hideki Miyazaki
302c6dfe11 addressed jenkins failure part3 2021-03-05 08:19:22 +09:00
Hideki Miyazaki
9bae05525c addressed review comments 2021-03-05 08:19:22 +09:00
Hideki Miyazaki
5ddd2710d7 addressed jenkins failure part2 2021-03-05 08:19:21 +09:00
Hideki Miyazaki
cd26444e01 addressed jenkins failure part1 2021-03-05 08:19:21 +09:00
Hideki Miyazaki
5fb9aa3f9b implemented SHA512_Transform and unit test 2021-03-05 08:19:20 +09:00
Hideki Miyazaki
82fb498ed5 Implemented MD5 unit tests 2021-03-05 08:19:19 +09:00
Hideki Miyazaki
525d28f38f Implemented MD5_Transform 2021-03-05 08:19:18 +09:00
Hideki Miyazaki
502e1458f9 Implemented SHA one shot
Implemented SHA_Transform
2021-03-05 08:19:17 +09:00
Hideki Miyazaki
95cf3675e9 implemented SHA256_Transform
WIP SHA512_Transform
2021-03-05 08:19:17 +09:00
Hideki Miyazaki
cb3fa8ff9e SHA224 implementation 2021-03-05 08:19:16 +09:00
Hideki Miyazaki
141d07e21b addressed pre-review comments 2021-03-05 08:19:16 +09:00
Hideki Miyazaki
e39477c531 initial implement SSL_get_early_data_status 2021-03-05 08:19:15 +09:00
Hideki Miyazaki
44a20c8ce6 add more unit test case for load_crl_file 2021-03-05 08:19:14 +09:00
Hideki Miyazaki
544ed32893 implemented X509_load_crl_file 2021-03-05 08:19:14 +09:00
Hideki Miyazaki
2e223fb101 implemeted wolfSSL_CTX_get0/set1_param, and corresponding to sub-methods 2021-03-05 08:19:13 +09:00
JacobBarthelmeh
f15450f63e Merge pull request #3839 from cconlon/pkcs7free
fix PKCS7 dynamic content save/restore in PKCS7_VerifySignedData
2021-03-05 05:53:38 +07:00
Tesfa Mael
19fa75c6a8 static memory no longer requires fast math 2021-03-04 14:40:14 -08:00
Tesfa Mael
16f39b4e77 Fix _sp_add_d err 2021-03-04 14:40:14 -08:00
Sean Parkinson
25228cb6c0 Merge pull request #3798 from dgarske/no_hash
wolfcrypt: Fixes for building without hash or rng
2021-03-05 08:16:34 +10:00
David Garske
7983734dcb Merge pull request #3786 from tmael/cc310_ecc_importkey
Add Cryptocell wc_ecc_import_x963_ex
2021-03-04 13:59:54 -08:00
toddouska
53a7397418 Merge pull request #3828 from elms/test/fix_openssl_ticket_noaes
test: fix compile with session-ticket without AES-GCM
2021-03-04 11:15:20 -08:00
toddouska
bd57e3e4cf Merge pull request #3818 from dgarske/zd11760
Fix for InTime RTOS v5 random
2021-03-04 11:14:34 -08:00
toddouska
b8235649ea Merge pull request #3812 from haydenroche5/get-certs-refactor
Improve wolfSSL_CertManagerGetCerts.
2021-03-04 11:14:05 -08:00
toddouska
0a74fbf95f Merge pull request #3789 from fabiankeil/configure-accept-amd64
configure: When enabling --enable-sp-asm, accept host_cpu amd64
2021-03-04 11:11:13 -08:00
toddouska
12d5c6d416 Merge pull request #3783 from haydenroche5/socat
Add support for OpenSSL compatibility function SSL_CTX_get_min_proto_…
2021-03-04 11:10:17 -08:00
toddouska
90d45028cc Merge pull request #3781 from fabiankeil/NO_WOLFSSL_STUB-build-fix
Fix build with  NO_WOLFSSL_STUB
2021-03-04 11:07:26 -08:00
toddouska
447b8c9318 Merge pull request #3831 from SparkiDev/sp_int_not_inf
SP int: define errors for backward compatability
2021-03-04 11:06:15 -08:00
Martin Kinčl
ea243e0906 Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-04 18:26:20 +01:00
Radim Smat
027f05e349 Fixed CID 583215. 2021-03-04 13:40:45 +01:00
Radim Smat
f056601d26 Fixed CID 587549. 2021-03-04 11:16:40 +01:00
Radim Smat
dbaf545694 Fixed CID 587348 and CID 587349. 2021-03-04 11:08:25 +01:00
Radim Smat
86b5434dcc Fixed CID 587342. 2021-03-04 10:45:49 +01:00
TakayukiMatsuo
da75a4f803 Add comment to each added function and fix return value of wolfSSL_EVP_DecodedFinal 2021-03-04 18:39:47 +09:00
TakayukiMatsuo
5043f0229a Add comment to each added functions 2021-03-04 17:41:18 +09:00
Daniele Lacamera
7610e4989c iMX-RT1060 support: Fixed missing definition of wc_Sha256Free 2021-03-04 08:34:15 +01:00
Daniele Lacamera
791a5b4244 iMXRT1060 support: Fixed duplicate definition of wc_InitSha & wc_ShaCopy 2021-03-04 08:33:20 +01:00
TakayukiMatsuo
871933e3e8 Add s comment to wolfSSL_BIO_tell 2021-03-04 15:41:03 +09:00
TakayukiMatsuo
b141c2f4f2 Add comment for each added function 2021-03-04 15:02:53 +09:00
Martin Kinčl
d5cd9c4a7f Fixed CID 591810. 2021-03-04 01:02:11 +01:00
Chris Conlon
2be80acdd3 fix PKCS7 dynamic content save/restore in PKCS7_VerifySignedData for multiPart bundles with certs 2021-03-03 16:19:58 -07:00
Sean Parkinson
8c3b5c3402 Merge pull request #3838 from guidovranken/zd11824
Return error code from sp_cond_swap_ct
2021-03-04 08:30:19 +10:00
Martin Kinčl
b383d93274 Fixed CID 582952. 2021-03-03 21:32:34 +01:00
Martin Kinčl
3770d4c581 Fixed CID 577295. 2021-03-03 21:20:33 +01:00
Martin Kinčl
c634c6c850 Fixed CID 577188. 2021-03-03 21:09:24 +01:00
Martin Kinčl
d3314f142a Fixed CID 576946. 2021-03-03 21:04:51 +01:00
Martin Kinčl
f2b832415e Fixed CID 576799. 2021-03-03 20:57:40 +01:00
Martin Kinčl
9ea66868d8 Fixed CID 536133. 2021-03-03 20:37:29 +01:00
Martin Kinčl
05156083ec Fixed CID 529770. 2021-03-03 20:29:21 +01:00
Martin Kinčl
c27c78f9e4 Fixed CID 529748. 2021-03-03 20:12:59 +01:00
Guido Vranken
6725a4f5d2 Return error code from sp_cond_swap_ct
ZD 11824
2021-03-03 20:03:10 +01:00
Martin Kinčl
d941cb4456 Fixed CID 587279. 2021-03-03 19:48:54 +01:00
Martin Kinčl
806313ff1a Fixed CID 576473. 2021-03-03 19:43:19 +01:00
Martin Kinčl
af42e2a799 Fixed CID 576329. 2021-03-03 19:21:51 +01:00
Martin Kinčl
b47678513a Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-03 18:49:06 +01:00
Martin Kinčl
1aa718a438 Fixed CID 143658, 463100, 529732. 2021-03-03 18:49:00 +01:00
Radim Smat
061120dda6 Fixed CID 587340. 2021-03-03 17:18:24 +01:00
Radim Smat
18163c9a2a Fixed CID 587269. 2021-03-03 16:38:28 +01:00
Radim Smat
d5c3d9ca4f Fixed CID 587064. 2021-03-03 16:03:32 +01:00
Radim Smat
27c5714f11 Fixed CID 586826. 2021-03-03 15:58:55 +01:00
Radim Smat
0bdb2bf40c Fixed CID 583972. 2021-03-03 15:55:02 +01:00
Radim Smat
26578be1a7 Fixed CID 583215. 2021-03-03 15:51:22 +01:00
Radim Smat
ef34e613e8 Fixed CID 582947. 2021-03-03 15:46:37 +01:00
Radim Smat
38cfe71732 Fixed CID 576552. 2021-03-03 15:41:28 +01:00
Jacob Barthelmeh
b801a6e809 silence warning of unused parameter in certain builds 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
9db0257e2e changes after initial review 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
26a6643383 fix typo on black keymod size and set devid default with TLS 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
73349d9a83 add missing header file 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
ffbd565285 fix for cryptocb with private key check 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
79ec07f5e1 adjustment after rebase 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
69a0b643be removing some magic numbers 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
4409be2a4e some misra c changes 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
99f19b19d4 fix for valgrind ecc verify issue 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
3757e83c64 use hardset mmap device memory for flags 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
49aeafaa8d adjust dist files and fix warning 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
749425e1e8 first pre alpha code for QNX + CAAM
manual run of RNG init and JDKEK print

job ring does initial rng

is successful on some red key blob operations

caam red key blob test pass

ecdsa sign/verify

ecdsa ecdh/sign/verify with black secure key

ecdsa ecdh/sign/verify with black secure key

initial cmac addition

initial cmac addition

black blob encap

black keys with cmac

add invalidate memory

refactoring and clean up

more code cleanup

add files for dist and remove some printf's

remove unneeded macro guard

use resource manager
2021-03-03 18:45:40 +07:00
David Kubasek
5dbc6db295 Fixed CID 576149 2021-03-03 10:25:54 +01:00
TakayukiMatsuo
bbf1284112 Replace immediate value "0" with WOLFSSL_FAILURE and add comment to the RETURN_CODE macro 2021-03-03 11:23:11 +09:00
Sean Parkinson
7b78c61ed3 Merge pull request #3833 from dgarske/ecc_keydp
ECC: Improve the key ecc_set NULL checking
2021-03-03 09:47:32 +10:00
David Garske
3752347f14 Improve the random logic for the INTIME RTOS RNG. 2021-03-02 15:04:01 -08:00
David Garske
4d8068a328 Merge pull request #3813 from douzzer/configure-autotools-boilerplate-at-the-top
configure.ac: put autotools boilerplate at the top
2021-03-02 09:22:09 -08:00
elms
7e8aa99471 Merge pull request #3820 from haydenroche5/cmake-options-cleanup
Clean up CMake option strings.
2021-03-02 08:55:12 -08:00
Elms
4ff886dbda test: fix compile with session-ticket without AES-GCM
EVP compat layer doesn't support poly chacha so test shouldn't be
included to try and test it.
2021-03-02 08:40:19 -08:00
David Garske
9fe7be5ac4 Improve the key ecc_set NULL checking for possible use of key->dp == NULL cases. This is cases where the key has not been properly iniailized or loaded prior to calling from a public API. 2021-03-01 17:17:40 -08:00
David Garske
9d4d36f7fe Fix hasty copy/paste with privSz2. 2021-03-01 16:02:51 -08:00
Sean Parkinson
84d5d37f61 SP int: define errors for backward compatability 2021-03-02 08:34:23 +10:00
David Garske
14faf16955 Dismiss unused warnings for dh_test. 2021-03-01 10:14:28 -08:00
David Garske
8c1a93d9e1 Using "rand()" to seed our PRNG as its available on all INTIME RTOS versions. 2021-03-01 09:23:19 -08:00
Juliusz Sosinowicz
39a28eeec2 Add RSA_NO_PADDING to wolfSSL_RSA_private_encrypt 2021-03-01 13:21:26 +01:00
TakayukiMatsuo
42e87fa542 Add DH key initialization 2021-03-01 01:13:25 +09:00
TakayukiMatsuo
a34c5b018f Move the local variable declaration to the beginning of the function 2021-03-01 00:49:50 +09:00
TakayukiMatsuo
e72948b018 Fix for PR tests 2021-02-28 10:27:43 +09:00
Hayden Roche
265b456cac Improve wolfSSL_CertManagerGetCerts.
- Use wolfSSL_d2i_X509. wolfSSL_CertManagerGetCerts duplicated a lot of work
that wolfSSL_d2i_X509 can do for us.
- This function gets the caLock from the CertManager and then calls ParseCert.
Ultimately, ParseCert calls GetCA, which attempts to acquire the same caLock.
Deadlock ensues. The solution is to get the caLock, make a copy of all the
certs, and release the lock. Then, we use the copy of the certs to build up
the stack of X509 objects. What happens if one of the certs is removed from
the CertManager between our copying and calling wolfSSL_d2i_X509? Nothing of
consequence for this use case. ParseCertRelative won't set the DecodedCert's ca
field, but we don't need that to be set here.
2021-02-26 10:45:27 -06:00
Hayden Roche
cd9f400cf3 Clean up CMake option strings.
This commit makes all the binary CMake options (i.e. yes/no) conform to one
string convention: "yes/no." Previously, we had a mixture of yes/no and ON/OFF.
2021-02-26 10:30:46 -06:00
TakayukiMatsuo
78e2e37fd6 Remove unneccessary local variable initializations and remove local variable declarations in for-loops 2021-02-26 17:17:32 +09:00
TakayukiMatsuo
e9719595fa Removed commented-out line 2021-02-26 12:49:32 +09:00
TakayukiMatsuo
a54e3aadea Fix for PR tests 2021-02-26 12:42:42 +09:00
TakayukiMatsuo
ec471af9c5 Add following stub funcs:
- wolfSSL_THREADID_current
- wolfSSL_THREADID_hash
- wolfSSL_CTX_set_ecdh_auto
2021-02-26 11:26:10 +09:00
toddouska
4c1a94a6ad Merge pull request #3768 from SparkiDev/mp_add_d_too_big
MP small: mp_add_d doesn't support adding a digit greater than MP_DIG…
2021-02-25 16:56:23 -08:00
toddouska
e18eacfcd2 Merge pull request #3779 from embhorn/zd11711
Squelch interfering def of SHA_CTX
2021-02-25 16:05:24 -08:00
toddouska
2d13a43e71 Merge pull request #3819 from elms/fix/nightly_g++
ssl: fix g++ compile warning with explicit cast
2021-02-25 16:04:05 -08:00
toddouska
5682d61e75 Merge pull request #3817 from SparkiDev/i2d_x509_name_mv
ASN: move wolfSSL_i2d_X509_NAME to ssl.c
2021-02-25 16:03:30 -08:00
toddouska
7d002a7645 Merge pull request #3816 from SparkiDev/win_curve448
Windows Project: Include the X448 and Ed448 files
2021-02-25 16:00:53 -08:00
toddouska
dbc4c51a4e Merge pull request #3815 from SparkiDev/sp_math_keygen
SP int: get keygen working with SP math again
2021-02-25 16:00:27 -08:00
toddouska
8d37da24dc Merge pull request #3814 from SparkiDev/gcd_lcm_zero
Math: GCD(0,0) is undefined and LCM(0,*) is undefined.
2021-02-25 16:00:04 -08:00
Hayden Roche
10181b7bbf Add support for OpenSSL compatibility function SSL_CTX_get_min_proto_version.
This is needed by socat-1.7.4.1.
2021-02-25 17:04:41 -06:00
David Garske
bc585e85b6 Dismiss unused warnings for rsa_test. 2021-02-25 11:23:21 -08:00
Juliusz Sosinowicz
2eb253330f Implement AES_wrap_key and AES_unwrap_key
Add `wc_AesKeyWrap_ex` and `wc_AesKeyUnWrap_ex` API to accept an `Aes` object to use for the AES operations
2021-02-25 20:01:51 +01:00
Elms
afbe3607d7 ssl: fix g++ compile warning with explicit cast
cast OpenSSL callback to `void*` for storage as context to be used by
static callback
2021-02-25 11:01:16 -08:00
David Garske
acff0e8781 Fix for InTime RTOS v5. The arc4random_buf wasn't added until v6, so opting to use arc4random. ZD 11760. 2021-02-25 08:54:30 -08:00
David Garske
442f182c67 Merge pull request #3778 from haydenroche5/cmake_curve_ed
Add CMake support for CURVE25519, ED25519, CURVE448, and ED448.
2021-02-25 08:01:26 -08:00
Sean Parkinson
d271092aef ASN: move wolfSSL_i2d_X509_NAME to ssl.c
Move WOLFSSL_X509_NAME APIs out of asn.[ch].
2021-02-25 11:45:12 +10:00
Sean Parkinson
7bc12bb536 Windows Project: Include the X448 and Ed448 files 2021-02-25 11:10:46 +10:00
Sean Parkinson
d805a5c681 SP int: get keygen working with SP math again
./configure --enable-sp --enable-sp-math --enable-keygen
2021-02-25 10:01:27 +10:00
Sean Parkinson
982ba6c1e0 Math: GCD(0,0) is undefined and LCM(0,*) is undefined.
All integers divide 0 so there is no greatest common divisor.
0 is not in the set of numbers for LCM.
2021-02-25 09:29:21 +10:00
David Garske
5cc8979309 Review feedback for unused `pubSz2. 2021-02-24 15:09:51 -08:00
David Garske
3a3c0be43f Fixes for build warnings for CryptoCell with ECC and RSA. 2021-02-24 15:05:27 -08:00
Daniel Pouzzner
9be1e74dc3 configure.ac: move the autotools boilerplate/initializations back to the top, before --enable-distro and --enable-reproducible-build handling. 2021-02-24 17:04:33 -06:00
Elms
101b35e766 cmake: mirror configure logic for SHA3, SHAKE256, SHA224 2021-02-24 14:25:30 -08:00
David Garske
49a0f70c24 Fix errors from last commit. 2021-02-24 14:19:13 -08:00
Hayden Roche
074090049b Add CMake support for CURVE25519, ED25519, CURVE448, and ED448. 2021-02-24 13:57:34 -08:00
Eric Blankenhorn
8988f1d5a2 Squelch interfering def of SHA_CTX 2021-02-24 15:46:02 -06:00
David Garske
9ebdc8d61c Additional fixes for building without RNG. Fix for possible use of key->dp == NULL in wc_ecc_export_ex. 2021-02-24 13:21:54 -08:00
Daniel Pouzzner
c201b6801c Merge pull request #3808 from lechner/enable-base64-with-all
Enable Base64 as part of --enable-all.
2021-02-24 14:39:20 -06:00
Daniel Pouzzner
764207a9f5 Merge pull request #3806 from elms/autoconf/oot_fips_check
configure: fix for FIPS out-of-tree builds
2021-02-24 14:38:26 -06:00
toddouska
94a23c1d48 Merge pull request #3646 from julek-wolfssl/nginx-1.19.6
Add support for Nginx 1.19.6
2021-02-24 12:21:51 -08:00
toddouska
d8a053ac35 Merge pull request #3809 from embhorn/zd11773
Warnings and error fixes
2021-02-24 12:14:08 -08:00
David Garske
bf63b41465 Fixes for building without hash. If all hash algorithms are disabled wc_HashAlg could report empty union. ZD 11585. 2021-02-24 11:04:03 -08:00
Elms
36ba2e134b configure: FIPS error and compatability cleanup
Use autotools macros for case and if. Simplify validation logic.
2021-02-24 08:53:50 -08:00
Eric Blankenhorn
1d16af4f32 Warnings and error fixes 2021-02-24 09:08:15 -06:00
Felix Lechner
ae28550667 Enable Base64 as part of --enable-all.
Part of an effort to standardize build options across distributions.

When building with all options, this includes Base64, a feature that
was requested in the past.

This commit passed Debian's Salsa CI pipeline [1] as part of a larger
commit streamlining the build options for distributions. [2]

A related pull request by douzzer activated reproducible builds for
distributions by default. [3]

Thanks to David Garske for his generous contributions to this commit!

[1] https://salsa.debian.org/lechner/wolfssl/-/pipelines/233601
[2] https://salsa.debian.org/lechner/wolfssl/-/blob/debian/master/debian/patches/standardize-distro-options.patch
[3] e30b3d3554
2021-02-23 19:46:56 -08:00
David Garske
ac38e53fec Merge pull request #3804 from tmael/aws-sdk
Use Unix line endings
2021-02-23 18:33:07 -08:00
David Garske
e30b3d3554 Merge pull request #3807 from douzzer/distro-reproducible-build
--enable-distro implies --enable-reproducible-build
2021-02-23 18:32:04 -08:00
Daniel Pouzzner
9dadd02fb9 configure.ac move --enable-distro handling to top (preceding --enable-reproducible-build handling), and turn on reproducible-build by default when enable-distro; fix spelling error in reproducible-build help text. 2021-02-23 17:05:44 -06:00
Sean Parkinson
3cdbc242b4 Merge pull request #3803 from dgarske/zd11759
Fix misplaced endif and brace
2021-02-24 09:04:38 +10:00
Elms
47872224d8 configure: fix for FIPS out-of-tree builds
Check for fips files relative to source directory.
2021-02-23 14:17:35 -08:00
David Garske
7a71ec4692 Merge pull request #3802 from tmael/pkcs8err
Fix PKCS8 build config
2021-02-23 13:42:17 -08:00
Tesfa Mael
9bfbc999d9 Move variable declarations to the top 2021-02-23 13:21:50 -08:00
TakayukiMatsuo
2d0207fc60 Fix undeclared identifier errors 2021-02-24 05:38:28 +09:00
JacobBarthelmeh
0dfdf92ff7 Merge pull request #3784 from elms/cmake_curve_ed
configure: ED448 to enable SHA3 and SHAKE256 properly
2021-02-24 03:20:38 +07:00
toddouska
5eba89c3ca Merge pull request #3742 from julek-wolfssl/error-queue-per-thread
Add --enable-error-queue-per-thread
2021-02-23 12:02:16 -08:00
toddouska
ef916df1b1 Merge pull request #3761 from JacobBarthelmeh/Release
update changelog and bump version to 4.7.1 for development bundles
2021-02-23 12:00:59 -08:00
toddouska
60614ff8b1 Merge pull request #3772 from SparkiDev/sp_ecdsa_set_k
SP ECDSA sign: fix multiple loops work of generating k
2021-02-23 12:00:21 -08:00
toddouska
a1db869491 Merge pull request #3775 from haydenroche5/openldap
Add a define to openssl/ssl.h needed for openldap port.
2021-02-23 11:58:37 -08:00
toddouska
363185669a Merge pull request #3776 from cconlon/pkcs7testfix
fix wolfCrypt PKCS#7 test when PKCS7_OUTPUT_TEST_BUNDLES is defined
2021-02-23 11:58:00 -08:00
toddouska
e471cba8df Merge pull request #3780 from SparkiDev/tls13_key_up_resp
TLS 1.3: add API to tell if a KeyUpdate response is required
2021-02-23 11:57:10 -08:00
Tesfa Mael
d3c8720b56 Use Unix line endings 2021-02-23 11:54:02 -08:00
toddouska
244accece1 Merge pull request #3799 from SparkiDev/sp_gcd_protect
SP int: fix guard around sp_gcm and sp_lcm
2021-02-23 11:53:25 -08:00
David Garske
6cc137dce0 Fix misplaced endif and brace. 2021-02-23 10:22:59 -08:00
TakayukiMatsuo
760ea219a8 Fix for "unused variable" warning 2021-02-24 02:33:46 +09:00
Tesfa Mael
b199c2e444 Fix PKCS8 test 2021-02-23 09:33:14 -08:00
TakayukiMatsuo
c0a9f86de3 Move some variable declarations to the beginning of the block 2021-02-24 01:33:51 +09:00
TakayukiMatsuo
362d2a2d68 Moved int pos declaration at the top the func 2021-02-24 01:07:45 +09:00
Juliusz Sosinowicz
d074e7443f Remove default ticket cb as this will be added in another PR 2021-02-23 10:06:11 +01:00
Sean Parkinson
22349e0539 Merge pull request #3800 from dgarske/zd11759
Fixes for warnings in Windows and failing `wc_BufferKeyEncrypt` test
2021-02-23 17:07:14 +10:00
TakayukiMatsuo
9e4dcfb66c Add wolfSSL_BIO_tell 2021-02-23 11:12:12 +09:00
David Garske
b5239f97c4 Fixes for warnings in Windows. Fix for failing wc_BufferKeyEncrypt with PBKDF disabled. ZD 11759. 2021-02-22 16:51:17 -08:00
David Garske
3ac40be091 Merge pull request #3797 from tmael/builderr
Correct a build error with a non-standard configurations
2021-02-22 16:33:01 -08:00
Sean Parkinson
d2f9f4c4ce SP int: fix guard around sp_gcm and sp_lcm 2021-02-23 10:21:32 +10:00
Sean Parkinson
fc6394b923 Merge pull request #3796 from elms/fix_valgrind_fpecc
tests: fix preprocessor test for gcd/lcm
2021-02-23 09:42:35 +10:00
TakayukiMatsuo
a7cca8a99b Fix wolfSSL_EVP_PKEY_print_public 2021-02-23 07:57:45 +09:00
John Safranek
e9cdcf5bac Merge pull request #3764 from embhorn/zd11668
Fix typo
2021-02-22 14:12:12 -08:00
Tesfa Mael
243c3ceacc Fix build err 2021-02-22 13:36:21 -08:00
Elms
c4d2e7cfdb configure: split SHA3 and SHAKE256 to work with ED448
Define flags and defaults early, but set CFLAGS later to allow
override.
2021-02-22 10:14:21 -08:00
Elms
451b8ede51 tests: fix preprocessor test for gcd/lcm
Fixes `--enable-valgrind --enable-fpecc --enable-ecc` build
2021-02-22 09:53:55 -08:00
TakayukiMatsuo
b495e12179 Fix such as "for loop initial declaration" 2021-02-23 02:29:37 +09:00
TakayukiMatsuo
e25284c690 Add wolfSSL_EVP_PKEY_print_public 2021-02-22 23:51:27 +09:00
TakayukiMatsuo
49d1b859d4 Add wolfSSL_EVP_Encode/Decode APIs 2021-02-22 17:51:44 +09:00
TakayukiMatsuo
4264a49246 Causes SSL_CTX_load_verify_locations and X509_LOOKUP_load_file to return zero on failure if WOLFSSL_ERR_CODE_OPENSSL is defined 2021-02-22 08:05:11 +09:00
Sean Parkinson
41c4a25b25 Merge pull request #3785 from embhorn/zd11752
Fix ret val for wolfSSL_BIO_set_ssl
2021-02-22 08:34:47 +10:00
Fabian Keil
1b319804ad configure: When enabling --enable-sp-asm, accept host_cpu amd64 as alternative to x86_64
Allows to use --enable-sp-asm on ElectroBSD amd64.

Previouly configure failed with:
 configure: error: ASM not available for CPU. Supported CPUs: x86_64, aarch64, arm
2021-02-20 14:25:05 +01:00
Tesfa Mael
c7b1dc8f94 Fix Cryptocell ECC tests 2021-02-19 16:39:45 -08:00
Eric Blankenhorn
ebb2c7ae71 Fix ret val for wolfSSL_BIO_set_ssl 2021-02-19 16:35:01 -06:00
David Garske
078d78a884 Merge pull request #3782 from JacobBarthelmeh/Async 2021-02-19 14:24:09 -08:00
Elms
31d3dfdd4d configure: ED448 to enable SHA3 and SHAKE256 properly
SHA3 and SHAKE256 are required for ED448, but were potentially
overwritten after being set when ED448, specifically others than
x86_64/aarch64
2021-02-19 13:18:52 -08:00
Jacob Barthelmeh
3079ca4d6a add comment that use is blocking and adjust indentation 2021-02-20 02:54:10 +07:00
JacobBarthelmeh
8d7c61cf10 prep for Async release 2021-02-19 11:51:23 -07:00
Fabian Keil
2002ae9dca tests/api.c: Fix build with NO_WOLFSSL_STUB defined 2021-02-19 05:45:19 +01:00
Fabian Keil
400a1d6927 Compile wolfSSL_ASN1_TIME_set_string() independently of NO_WOLFSSL_STUB 2021-02-19 05:45:09 +01:00
Sean Parkinson
8fabb9e9bb Merge pull request #3767 from dgarske/rsapubonly
Fixes for building with RSA verify or public only
2021-02-19 10:36:00 +10:00
Sean Parkinson
fa7b5f55ee TLS 1.3: add API to tell if a KeyUpdate response is required 2021-02-19 10:21:08 +10:00
David Garske
31c76dcc1a Merge pull request #3777 from elms/cmake/configure_test_paths
cmake: configure `test_paths.h`
2021-02-18 15:02:19 -08:00
Elms
70ddaf8f2e cmake: configure test_paths.h 2021-02-18 12:17:55 -08:00
Chris Conlon
4da0328e1a fix wolfCrypt PKCS#7 test when PKCS7_OUTPUT_TEST_BUNDLES is defined 2021-02-18 12:14:48 -07:00
David Garske
10be54054e Minor fixes for build errors and bad macro names. 2021-02-18 10:55:47 -08:00
David Garske
c62b48f7d0 Fixes for building with RSA public or verify only. Fixes issue with reserved "div" keyword as variable name. ZD11585 2021-02-18 07:47:00 -08:00
Hayden Roche
2290d1b4c8 Add a define to openssl/ssl.h needed for openldap port. 2021-02-18 09:17:47 -06:00
Sean Parkinson
3bf9b49274 SP ECDSA sign: fix multiple loops work of generating k
Support only one loop of generated k.
2021-02-18 09:06:50 +10:00
Sean Parkinson
ad58478d29 Merge pull request #3765 from embhorn/zd11703
Validate name size
2021-02-18 08:42:26 +10:00
Sean Parkinson
276e090a1f Merge pull request #3763 from embhorn/zd11726
Adding wolfSSL_CTX_get_TicketEncCtx
2021-02-18 08:35:03 +10:00
Sean Parkinson
5dc6de3063 Merge pull request #3771 from JacobBarthelmeh/Testing
fix build for apache without tls 1.3
2021-02-18 08:19:29 +10:00
Eric Blankenhorn
caa39f78ae Fix from review and leak in wolfSSL_X509_get_serialNumber 2021-02-17 13:53:30 -06:00
Eric Blankenhorn
d31f184c49 Adding tests 2021-02-17 13:34:38 -06:00
Eric Blankenhorn
608083f559 Add more checks for name->sz 2021-02-17 12:19:42 -06:00
Jacob Barthelmeh
4def38dd7e fix build for apache without tls 1.3 2021-02-17 18:23:03 +07:00
Sean Parkinson
7ce3860e19 MP small: mp_add_d doesn't support adding a digit greater than MP_DIGIT_MAX 2021-02-17 09:24:22 +10:00
Sean Parkinson
80e75c3db8 Merge pull request #3766 from guidovranken/zd11733
Better error propagation in _fp_exptmod_ct
2021-02-17 08:45:43 +10:00
David Garske
cc37227f18 Merge pull request #3762 from guidovranken/zd11732
Fix memory leak in fp_gcd
2021-02-16 13:04:10 -08:00
Eric Blankenhorn
806b5d7d23 Validate name size 2021-02-16 14:58:58 -06:00
Guido Vranken
b47809e718 Better error propagation in _fp_exptmod_ct 2021-02-16 19:54:59 +01:00
Jacob Barthelmeh
3a9d533d2c update changelog with researchers names, thanks Aina and Olivier 2021-02-17 00:04:16 +07:00
Jacob Barthelmeh
5f3ee2985c bump version for development bundles 2021-02-16 23:57:47 +07:00
Guido Vranken
7bd3cccd87 Fix memory leak in fp_gcd
ZD 11732
2021-02-16 17:47:00 +01:00
Juliusz Sosinowicz
b8f841599c Add --enable-error-queue-per-thread 2021-02-16 16:08:13 +01:00
Juliusz Sosinowicz
89fd0b375b Correctly read anon cipher run-time options 2021-02-16 14:27:19 +01:00
Juliusz Sosinowicz
9265c3f71f Use native API for ticket callback 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
0ae1a8b8c5 Jenkins fixes
- Change pushCAx509Chain to an iterative implementation
- Fix variable names shadowing global names
2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
e80158a96e Set full chain with known CA's in wolfSSL_set_peer_cert_chain 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
b90862fa3f Free OcspEntry.status only when the struct owns the pointer 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
26df833074 Compat layer session tickets
- OpenSSL uses an internal mechanism by default for session tickets. This is now implemented for OPENSSL_EXTRA in wolfSSL.
- Add testing of wolfSSL_CTX_set_tlsext_ticket_key_cb
2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
9a1e54cfd5 Nginx 1.19.6 Fixes 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
b63f43a2af Nginx 1.19.6
- Implement X509_pubkey_digest
- Initialize entire WOLFSSL_X509_NAME struct to zero
- Set raw and rawLen when copying WOLFSSL_X509_NAME
2021-02-16 14:25:45 +01:00
Jacob Barthelmeh
8f88ac7442 add note about s/mime addition to changelog 2021-02-16 08:35:21 +07:00
Eric Blankenhorn
b7b07e1945 Adding wolfSSL_CTX_get_TicketEncCtx 2021-02-15 11:28:46 -06:00
Eric Blankenhorn
2c2bdca200 Fix typo 2021-02-11 12:27:43 -06:00
828 changed files with 322600 additions and 52836 deletions

28
.github/workflows/macos-check.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: macOS Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: brew
run: brew install automake libtool
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make distcheck
run: make distcheck

26
.github/workflows/ubuntu-check.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Ubuntu Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make distcheck
run: make distcheck

38
.github/workflows/windows-check.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Windows Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: wolfssl64.sln
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
BUILD_PLATFORM: x64
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}

7
.gitignore vendored
View File

@@ -230,6 +230,7 @@ IDE/MDK-ARM/LPC43xx/LPC43xx/
*.gcno
*.gcda
*.gcov
*.dgcov
!linuxkm/Makefile
/Kbuild
linuxkm/*.ko
@@ -355,6 +356,12 @@ IDE/XCODE/Index
/IDE/Renesas/e2studio/Projects/test/*.launch
/IDE/Renesas/e2studio/Projects/test/*.scfg
# QNX CAAM
/IDE/QNX/example-server/server-tls
/IDE/QNX/example-client/client-tls
/IDE/QNX/example-cmac/cmac-test
/IDE/QNX/CAAM-DRIVER/wolfCrypt
# Emacs
*~

View File

@@ -28,7 +28,7 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
You must delete them, or cmake will refuse to work.")
endif()
project(wolfssl VERSION 4.7.0 LANGUAGES C)
project(wolfssl VERSION 4.8.1 LANGUAGES C)
# shared library versioning
# increment if interfaces have been added, removed or changed
@@ -180,9 +180,21 @@ find_package(Threads)
# - 32-bit mode
# - 16-bit mode
# For reproducible build, gate out from the build anything that might
# introduce semantically frivolous jitter, maximizing chance of
# identical object files.
set(WOLFSSL_REPRODUCIBLE_BUILD_HELP_STRING "Enable maximally reproducible build (default: disabled)")
add_option("WOLFSSL_REPRODUCIBLE_BUILD" ${WOLFSSL_REPRODUCIBLE_BUILD_HELP_STRING} "no" "yes;no")
if(WOLFSSL_REPRODUCIBLE_BUILD)
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Dqc <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> Dq <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -D <TARGET>")
endif()
# Support for disabling all ASM
set(WOLFSSL_ASM_HELP_STRING "Enables option for assembly (default: enabled)")
option(WOLFSSL_ASM ${WOLFSSL_ASM_HELP_STRING} "yes")
add_option("WOLFSSL_ASM" ${WOLFSSL_ASM_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_ASM)
list(APPEND WOLFSSL_DEFINITIONS
@@ -192,7 +204,7 @@ endif()
# Single threaded
set(WOLFSSL_SINGLE_THREADED_HELP_STRING "Enable wolfSSL single threaded (default: disabled)")
option(WOLFSSL_SINGLE_THREADED ${WOLFSSL_SINGLE_THREADED_HELP_STRING} "no")
add_option("WOLFSSL_SINGLE_THREADED" ${WOLFSSL_SINGLE_THREADED_HELP_STRING} "no" "yes;no")
# TODO: Logic here isn't complete, yet (see AX_PTHREAD)
if(NOT WOLFSSL_SINGLE_THREADED)
@@ -209,7 +221,7 @@ endif()
# TLS v1.3
set(WOLFSSL_TLS13_HELP_STRING "Enable wolfSSL TLS v1.3 (default: enabled)")
option(WOLFSSL_TLS13 ${WOLFSSL_TLS13_HELP_STRING} "yes")
add_option("WOLFSSL_TLS13" ${WOLFSSL_TLS13_HELP_STRING} "yes" "yes;no")
if("${FIPS_VERSION}" STREQUAL "v1")
override_cache(WOLFSSL_TLS13 "no")
@@ -220,7 +232,7 @@ endif()
# RNG
set(WOLFSSL_RNG_HELP_STRING "Enable compiling and using RNG (default: enabled)")
option(WOLFSSL_RNG ${WOLFSSL_RNG_HELP_STRING} "yes")
add_option("WOLFSSL_RNG" ${WOLFSSL_RNG_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_RNG)
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RNG")
@@ -247,7 +259,7 @@ endif()
# Harden, enable Timing Resistance and Blinding by default
set(WOLFSSL_HARDEN_HELP_STRING "Enable Hardened build, Enables Timing Resistance and Blinding (default: enabled)")
option(WOLFSSL_HARDEN ${WOLFSSL_HARDEN_HELP_STRING} "yes")
add_option("WOLFSSL_HARDEN" ${WOLFSSL_HARDEN_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_HARDEN)
list(APPEND WOLFSSL_DEFINITIONS "-DTFM_TIMING_RESISTANT" "-DECC_TIMING_RESISTANT")
@@ -279,7 +291,7 @@ set(WOLFSSL_SLOW_MATH "yes")
# AES-CBC
set(WOLFSSL_AESCBC_HELP_STRING "Enable wolfSSL AES-CBC support (default: enabled)")
option(WOLFSSL_AESCBC ${WOLFSSL_AESCBC_HELP_STRING} "yes")
add_option("WOLFSSL_AESCBC" ${WOLFSSL_AESCBC_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_AESCBC)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES_CBC")
@@ -287,8 +299,7 @@ endif()
# AES-GCM
set(WOLFSSL_AESGCM_HELP_STRING "Enable wolfSSL AES-GCM support (default: enabled)")
set(WOLFSSL_AESGCM "yes" CACHE STRING ${WOLFSSL_AESGCM_HELP_STRING})
set_property(CACHE WOLFSSL_AESGCM PROPERTY STRINGS "yes" "no" "table" "small" "word32")
add_option("WOLFSSL_AESGCM" ${WOLFSSL_AESGCM_HELP_STRING} "yes" "yes;no;table;small;word32")
# leanpsk and leantls don't need gcm
if(WOLFSSL_LEAN_PSK OR (WOLFSSL_LEAN_TLS AND NOT WOLFSSL_TLS13))
@@ -331,9 +342,37 @@ endif()
# - RIPEMD
# - BLAKE2
# SHA224
set(SHA224_DEFAULT "no")
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
if(NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2")))
set(SHA224_DEFAULT "yes")
endif()
endif()
set(WOLFSSL_SHA224_HELP_STRING "Enable wolfSSL SHA-224 support (default: enabled on x86_64/aarch64)")
add_option("WOLFSSL_SHA224" ${WOLFSSL_SHA224_HELP_STRING} ${SHA224_DEFAULT} "yes;no")
# SHA3
set(SHA3_DEFAULT "no")
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
if(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2"))
set(SHA3_DEFAULT "yes")
endif()
endif()
set(WOLFSSL_SHA3_HELP_STRING "Enable wolfSSL SHA-3 support (default: enabled on x86_64/aarch64)")
add_option("WOLFSSL_SHA3" ${WOLFSSL_SHA3_HELP_STRING} ${SHA3_DEFAULT} "yes;no;small")
# SHAKE256
set(WOLFSSL_SHAKE256_HELP_STRING "Enable wolfSSL SHAKE256 support (default: enabled on x86_64/aarch64)")
add_option("WOLFSSL_SHAKE256" ${WOLFSSL_SHAKE256_HELP_STRING} "no" "yes;no;small")
# SHA512
set(WOLFSSL_SHA512_HELP_STRING "Enable wolfSSL SHA-512 support (default: enabled)")
option(WOLFSSL_SHA512 ${WOLFSSL_SHA512_HELP_STRING} "yes")
add_option("WOLFSSL_SHA512" ${WOLFSSL_SHA512_HELP_STRING} "yes" "yes;no")
# options that don't require sha512
if(WOLFSSL_LEAN_PSK OR
@@ -356,7 +395,7 @@ endif()
# SHA384
set(WOLFSSL_SHA384_HELP_STRING "Enable wolfSSL SHA-384 support (default: enabled)")
option(WOLFSSL_SHA384 ${WOLFSSL_SHA384_HELP_STRING} "yes")
add_option("WOLFSSL_SHA384" ${WOLFSSL_SHA384_HELP_STRING} "yes" "yes;no")
# options that don't require sha384
if(WOLFSSL_LEAN_PSK OR
@@ -387,7 +426,7 @@ endif()
# HKDF
set(WOLFSSL_HKDF_HELP_STRING "Enable HKDF (HMAC-KDF) support (default: disabled)")
option(WOLFSSL_HKDF ${WOLFSSL_HKDF_HELP_STRING} "no")
add_option("WOLFSSL_HKDF" ${WOLFSSL_HKDF_HELP_STRING} "no" "yes;no")
if(WOLFSSL_TLS13)
override_cache(WOLFSSL_HKDF "yes")
@@ -401,7 +440,7 @@ endif()
# DSA
set(WOLFSSL_DSA_HELP_STRING "Enable DSA (default: disabled)")
option(WOLFSSL_DSA ${WOLFSSL_DSA_HELP_STRING} "no")
add_option("WOLFSSL_DSA" ${WOLFSSL_DSA_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_DSA AND NOT WOLFSSL_OPENSSH)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DSA")
@@ -409,12 +448,11 @@ endif()
# ECC Shamir
set(WOLFSSL_ECCSHAMIR_HELP_STRING "Enable ECC Shamir (default: enabled)")
option(WOLFSSL_ECCSHAMIR ${WOLFSSL_ECCSHAMIR_HELP_STRING} "yes")
add_option("WOLFSSL_ECCSHAMIR" ${WOLFSSL_ECCSHAMIR_HELP_STRING} "yes" "yes;no")
# ECC
set(WOLFSSL_ECC_HELP_STRING "Enable ECC (default: enabled)")
set(WOLFSSL_ECC "yes" CACHE STRING ${WOLFSSL_ECC_HELP_STRING})
set_property(CACHE WOLFSSL_ECC PROPERTY STRINGS "yes" "no" "nonblock")
add_option("WOLFSSL_ECC" ${WOLFSSL_ECC_HELP_STRING} "yes" "yes;no;nonblock")
# lean psk doesn't need ecc
if(WOLFSSL_LEAN_PSK)
@@ -441,18 +479,105 @@ endif()
# TODO: - ECC custom curves
# - Compressed key
# - CURVE25519
# - ED25519
# - CURVE448
# - ED448
# - FP ECC, fixed point cache ECC
# - ECC encrypt
# - PSK
# - Single PSK identity
# CURVE25519
set(WOLFSSL_CURVE25519_SMALL "no")
set(WOLFSSL_CURVE25519_HELP_STRING "Enable Curve25519 (default: disabled)")
add_option("WOLFSSL_CURVE25519" ${WOLFSSL_CURVE25519_HELP_STRING} "no" "yes;no;small;no128bit")
if(WOLFSSL_OPENSSH)
override_cache(WOLFSSL_CURVE25519 "yes")
endif()
if(WOLFSSL_CURVE25519)
if("${WOLFSSL_CURVE25519}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
list(APPEND WOLFSSL_DEFINITIONS "-DCURVE25519_SMALL")
set(WOLFSSL_CURVE25519_SMALL "yes")
endif()
if("${WOLFSSL_CURVE25519}" STREQUAL "no128bit" OR WOLFSSL_32BIT)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CURVED25519_128BIT")
endif()
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_CURVE25519")
set(WOLFSSL_FEMATH "yes")
endif()
# ED25519
set(WOLFSSL_ED25519_SMALL "no")
set(WOLFSSL_ED25519_HELP_STRING "Enable ED25519 (default: disabled)")
add_option("WOLFSSL_ED25519" ${WOLFSSL_ED25519_HELP_STRING} "no" "yes;no")
if(WOLFSSL_OPENSSH)
override_cache(WOLFSSL_ED25519 "yes")
endif()
if(WOLFSSL_ED25519 AND NOT WOLFSSL_32BIT)
if("${WOLFSSL_ED25519}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
list(APPEND WOLFSSL_DEFINITIONS "-DED25519_SMALL")
set(WOLFSSL_ED25519_SMALL "yes")
set(WOLFSSL_CURVE25519_SMALL "yes")
endif()
if(NOT WOLFSSL_SHA512)
message(FATAL_ERROR "cannot enable ed25519 without enabling sha512.")
endif()
set(WOLFSSL_FEMATH "yes")
set(WOLFSSL_GEMATH "yes")
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_ED25519")
endif()
# CURVE448
set(WOLFSSL_CURVE448_SMALL "no")
set(WOLFSSL_CURVE448_HELP_STRING "Enable Curve448 (default: disabled)")
add_option("WOLFSSL_CURVE448" ${WOLFSSL_CURVE448_HELP_STRING} "no" "yes;no;small")
if(WOLFSSL_CURVE448)
if("${WOLFSSL_CURVE448}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
list(APPEND WOLFSSL_DEFINITIONS "-DCURVE448_SMALL")
set(WOLFSSL_CURVE448_SMALL "yes")
endif()
if("${WOLFSSL_CURVE448}" STREQUAL "no128bit" OR WOLFSSL_32BIT)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CURVED448_128BIT")
endif()
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_CURVE448")
set(WOLFSSL_FE448 "yes")
endif()
# ED448
set(WOLFSSL_ED448_SMALL "no")
set(WOLFSSL_ED448_HELP_STRING "Enable ED448 (default: disabled)")
add_option("WOLFSSL_ED448" ${WOLFSSL_ED448_HELP_STRING} "no" "yes;no;small")
if(WOLFSSL_ED448 AND NOT WOLFSSL_32BIT)
if("${WOLFSSL_ED448}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
list(APPEND WOLFSSL_DEFINITIONS "-DED448_SMALL")
set(WOLFSSL_ED448_SMALL "yes")
set(WOLFSSL_CURVE448_SMALL "yes")
endif()
if(NOT WOLFSSL_SHA512)
message(FATAL_ERROR "cannot enable ed448 without enabling sha512.")
endif()
set(WOLFSSL_FE448 "yes")
set(WOLFSSL_GE448 "yes")
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_ED448")
# EdDSA448 requires SHAKE256 which requires SHA-3
override_cache(WOLFSSL_SHAKE256 "yes")
endif()
# Error strings
set(WOLFSSL_ERROR_STRINGS_HELP_STRING "Enable error strings table (default: enabled)")
option(WOLFSSL_ERROR_STRINGS ${WOLFSSL_ERROR_STRINGS_HELP_STRING} "yes")
add_option("WOLFSSL_ERROR_STRINGS" ${WOLFSSL_ERROR_STRINGS_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_ERROR_STRINGS)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_STRINGS")
@@ -466,7 +591,7 @@ endif()
# Error queue
set(WOLFSSL_ERROR_QUEUE_HELP_STRING "Enables adding nodes to error queue when compiled with OPENSSL_EXTRA (default: enabled)")
option(WOLFSSL_ERROR_QUEUE ${WOLFSSL_DISABLE_ERROR_QUEUE_HELP_STRING} "yes")
add_option("WOLFSSL_ERROR_QUEUE" ${WOLFSSL_ERROR_QUEUE_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_ERROR_QUEUE)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_QUEUE")
@@ -474,7 +599,7 @@ endif()
# Old TLS
set(WOLFSSL_OLD_TLS_HELP_STRING "Enable old TLS versions < 1.2 (default: enabled)")
option(WOLFSSL_OLD_TLS ${WOLFSSL_OLD_TLS_HELP_STRING} "yes")
add_option("WOLFSSL_OLD_TLS" ${WOLFSSL_OLD_TLS_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_OLD_TLS)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_OLD_TLS")
@@ -488,7 +613,7 @@ endif()
# TLSv1.2
set(WOLFSSL_TLSV12_HELP_STRING "Enable TLS versions 1.2 (default: enabled)")
option(WOLFSSL_TLSV12 ${WOLFSSL_TLSV12_HELP_STRING} "yes")
add_option("WOLFSSL_TLSV12" ${WOLFSSL_TLSV12_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_TLSV12)
list(APPEND WOLFSSL_DEFINITIONS
@@ -503,7 +628,7 @@ endif()
# Memory
set(WOLFSSL_MEMORY_HELP_STRING "Enable memory callbacks (default: enabled)")
option(WOLFSSL_MEMORY ${WOLFSSL_MEMORY_HELP_STRING} "yes")
add_option("WOLFSSL_MEMORY" ${WOLFSSL_MEMORY_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_MEMORY)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_WOLFSSL_MEMORY")
@@ -521,7 +646,7 @@ endif()
# RSA
set(WOLFSSL_RSA_HELP_STRING "Enable RSA (default: enabled)")
option(WOLFSSL_RSA ${WOLFSSL_RSA_HELP_STRING} "yes")
add_option("WOLFSSL_RSA" ${WOLFSSL_RSA_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_RSA)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_RSA")
@@ -534,7 +659,7 @@ endif()
# OAEP
set(WOLFSSL_OAEP_HELP_STRING "Enable RSA OAEP (default: enabled)")
option(WOLFSSL_OAEP ${WOLFSSL_OAEP_HELP_STRING} "yes")
add_option("WOLFSSL_OAEP" ${WOLFSSL_OAEP_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_OAEP)
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RSA_OAEP")
@@ -545,7 +670,7 @@ endif()
# RSA-PSS
set(WOLFSSL_RSA_PSS_HELP_STRING "Enable RSA-PSS (default: disabled)")
option(WOLFSSL_RSA_PSS ${WOLFSSL_RSA_PSS_HELP_STRING} "no")
add_option("WOLFSSL_RSA_PSS" ${WOLFSSL_RSA_PSS_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_RSA)
override_cache(WOLFSSL_RSA_PSS "no")
@@ -560,7 +685,7 @@ endif()
# DH
set(WOLFSSL_DH_HELP_STRING "Enable DH (default: enabled)")
option(WOLFSSL_DH ${WOLFSSL_DH_HELP_STRING} "yes")
add_option("WOLFSSL_DH" ${WOLFSSL_DH_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_OPENSSH)
override_cache(WOLFSSL_DH "yes")
@@ -581,7 +706,7 @@ endif()
# turn off asn, which means no certs, no rsa, no dsa, no ecc,
# and no big int (unless dh is on)
set(WOLFSSL_ASN_HELP_STRING "Enable ASN (default: enabled)")
option(WOLFSSL_ASN ${WOLFSSL_ASN_HELP_STRING} "yes")
add_option("WOLFSSL_ASN" ${WOLFSSL_ASN_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_ASN)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ASN" "-DNO_CERTS")
@@ -626,7 +751,7 @@ endif()
# AES
set(WOLFSSL_AES_HELP_STRING "Enable AES (default: enabled)")
option(WOLFSSL_AES ${WOLFSSL_AES_HELP_STRING} "yes")
add_option("WOLFSSL_AES" ${WOLFSSL_AES_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_AES)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES")
@@ -655,7 +780,7 @@ endif()
# Coding
set(WOLFSSL_CODING_HELP_STRING "Enable coding base 16/64 (default: enabled)")
option(WOLFSSL_CODING ${WOLFSSL_CODING_HELP_STRING} "yes")
add_option("WOLFSSL_CODING" ${WOLFSSL_CODING_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_CODING)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CODING")
@@ -674,7 +799,7 @@ if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
endif()
set(WOLFSSL_BASE64_ENCODE_HELP_STRING "Enable Base64 encoding (default: enabled on x86_64)")
option(WOLFSSL_BASE64_ENCODE ${WOLFSSL_BASE64_ENCODE_HELP_STRING} ${BASE64_ENCODE_DEFAULT})
add_option("WOLFSSL_BASE64_ENCODE" ${WOLFSSL_BASE64_ENCODE_HELP_STRING} ${BASE64_ENCODE_DEFAULT} "yes;no")
if(WOLFSSL_BASE64_ENCODE)
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_BASE64_ENCODE")
@@ -684,7 +809,7 @@ endif()
# DES3
set(WOLFSSL_DES3_HELP_STRING "Enable DES3 (default: disabled)")
option(WOLFSSL_DES3 ${WOLFSSL_DES3_HELP_STRING} "no")
add_option("WOLFSSL_DES3" ${WOLFSSL_DES3_HELP_STRING} "no" "yes;no")
if(WOLFSSL_OPENSSH OR
WOLFSSL_QT OR
@@ -697,7 +822,7 @@ endif()
# ARC4
set(WOLFSSL_ARC4_HELP_STRING "Enable ARC4 (default: disabled)")
option(WOLFSSL_ARC4 ${WOLFSSL_ARC4_HELP_STRING} "no")
add_option("WOLFSSL_ARC4" ${WOLFSSL_ARC4_HELP_STRING} "no" "yes;no")
if(WOLFSSL_OPENSSH OR WOLFSSL_WPAS)
override_cache(WOLFSSL_ARC4 "yes")
@@ -715,7 +840,7 @@ endif()
# MD5
set(WOLFSSL_MD5_HELP_STRING "Enable MD5 (default: enabled)")
option(WOLFSSL_MD5 ${WOLFSSL_MD5_HELP_STRING} "yes")
add_option("WOLFSSL_MD5" ${WOLFSSL_MD5_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_MD5)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS")
@@ -729,7 +854,7 @@ endif()
# SHA
set(WOLFSSL_SHA_HELP_STRING "Enable SHA (default: enabled)")
option(WOLFSSL_SHA ${WOLFSSL_SHA_HELP_STRING} "yes")
add_option("WOLFSSL_SHA" ${WOLFSSL_SHA_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_SHA)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_SHA" "-DNO_OLD_TLS")
@@ -748,7 +873,7 @@ endif()
# HC128
set(WOLFSSL_HC128_HELP_STRING "Enable HC-128 (default: disabled)")
option(WOLFSSL_HC128 ${WOLFSSL_HC128_HELP_STRING} "no")
add_option("WOLFSSL_HC128" ${WOLFSSL_HC128_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_HC128)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_HC128")
@@ -768,35 +893,11 @@ endif()
# - Selftest
# SHA224
set(SHA224_DEFAULT "no")
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
if(NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2")))
set(SHA224_DEFAULT "yes")
endif()
endif()
set(WOLFSSL_SHA224_HELP_STRING "Enable wolfSSL SHA-224 support (default: enabled on x86_64/aarch64)")
option(WOLFSSL_SHA224 ${WOLFSSL_SHA224_HELP_STRING} ${SHA224_DEFAULT})
if(WOLFSSL_SHA224)
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA224")
endif()
# SHA3
set(SHA3_DEFAULT "no")
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
if(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2"))
set(SHA3_DEFAULT "yes")
endif()
endif()
set(WOLFSSL_SHA3_HELP_STRING "Enable wolfSSL SHA-3 support (default: enabled on x86_64/aarch64)")
set(WOLFSSL_SHA3 ${SHA3_DEFAULT} CACHE STRING ${WOLFSSL_SHA3_HELP_STRING})
set_property(CACHE WOLFSSL_SHA3 PROPERTY STRINGS "yes" "no" "small")
if("${WOLFSSL_SHA3}" STREQUAL "small")
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA3_SMALL")
override_cache(WOLFSSL_SHA3 "yes")
@@ -807,10 +908,6 @@ if(WOLFSSL_SHA3 AND NOT WOLFSSL_32BIT)
endif()
# SHAKE256
set(WOLFSSL_SHAKE256_HELP_STRING "Enable wolfSSL SHAKE256 support (default: enabled on x86_64/aarch64)")
set(WOLFSSL_SHAKE256 "no" CACHE STRING ${WOLFSSL_SHAKE256_HELP_STRING})
set_property(CACHE WOLFSSL_SHAKE256 PROPERTY STRINGS "yes" "no" "small")
if(NOT WOLFSSL_SHAKE256)
override_cache(WOLFSSL_SHAKE256 ${WOLFSSL_SHA3})
endif()
@@ -832,7 +929,7 @@ if(WOLFSSL_FIPS)
endif()
set(WOLFSSL_POLY1305_HELP_STRING "Enable wolfSSL POLY1305 support (default: enabled)")
option(WOLFSSL_POLY1305 ${WOLFSSL_POLY1305_HELP_STRING} ${POLY1305_DEFAULT})
add_option("WOLFSSL_POLY1305" ${WOLFSSL_POLY1305_HELP_STRING} ${POLY1305_DEFAULT} "yes;no")
# leanpsk and leantls don't need poly1305
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
@@ -852,8 +949,7 @@ if(WOLFSSL_FIPS)
endif()
set(WOLFSSL_CHACHA_HELP_STRING "Enable CHACHA (default: enabled). Use `=noasm` to disable ASM AVX/AVX2 speedups")
set(WOLFSSL_CHACHA ${CHACHA_DEFAULT} CACHE STRING ${WOLFSSL_CHACHA_HELP_STRING})
set_property(CACHE WOLFSSL_CHACHA PROPERTY STRINGS "yes" "no" "noasm")
add_option("WOLFSSL_CHACHA" ${WOLFSSL_CHACHA_HELP_STRING} ${CHACHA_DEFAULT} "yes;no;noasm")
# leanpsk and leantls don't need chacha
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
@@ -872,7 +968,7 @@ endif()
# Hash DRBG
set(WOLFSSL_HASH_DRBG_HELP_STRING "Enable Hash DRBG support (default: enabled)")
option(WOLFSSL_HASH_DRBG ${WOLFSSL_HASH_DRBG_HELP_STRING} "yes")
add_option("WOLFSSL_HASH_DRBG" ${WOLFSSL_HASH_DRBG_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_HASH_DRBG)
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_HASHDRBG")
@@ -894,7 +990,7 @@ else()
endif()
set(WOLFSSL_FILESYSTEM_HELP_STRING "Enable Filesystem support (default: enabled)")
option(WOLFSSL_FILESYSTEM ${WOLFSSL_FILESYSTEM_HELP_STRING} ${FILESYSTEM_DEFAULT})
add_option("WOLFSSL_FILESYSTEM" ${WOLFSSL_FILESYSTEM_HELP_STRING} ${FILESYSTEM_DEFAULT} "yes;no")
if(NOT WOLFSSL_FILESYSTEM)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_FILESYSTEM")
@@ -907,7 +1003,7 @@ endif()
# Inline function support
set(WOLFSSL_INLINE_HELP_STRING "Enable inline functions (default: enabled)")
option(WOLFSSL_INLINE ${WOLFSSL_INLINE_HELP_STRING} "yes")
add_option("WOLFSSL_INLINE" ${WOLFSSL_INLINE_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_INLINE)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE")
@@ -933,7 +1029,7 @@ endif()
# Supported elliptic curves extensions
set(WOLFSSL_SUPPORTED_CURVES_HELP_STRING "Enable Supported Elliptic Curves (default: enabled)")
option(WOLFSSL_SUPPORTED_CURVES ${WOLFSSL_SUPPORTED_CURVES_HELP_STRING} "yes")
add_option("WOLFSSL_SUPPORTED_CURVES" ${WOLFSSL_SUPPORTED_CURVES_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_SUPPORTED_CURVES)
if(NOT WOLFSSL_ECC AND NOT WOLFSSL_CURVE25519 AND NOT WOLFSSL_CURVE448)
@@ -968,11 +1064,23 @@ if (WOLFSSL_TLS13)
"-DHAVE_SUPPORTED_CURVES")
endif()
# TODO: - Session ticket
# Session Ticket Extension
set(WOLFSSL_SESSION_TICKET_HELP_STRING "Enable Session Ticket (default: disabled)")
add_option("WOLFSSL_SESSION_TICKET" ${WOLFSSL_SESSION_TICKET_HELP_STRING} "no" "yes;no")
if(WOLFSSL_NGINX OR WOLFSSL_WPAS OR WOLFSSL_HAPROXY OR WOLFSSL_LIGHTY)
override_cache(WOLFSSL_SESSION_TICKET "yes")
endif()
if(WOLFSSL_SESSION_TICKET)
list(APPEND WOLFSSL_DEFINITIONS
"-DHAVE_TLS_EXTENSIONS"
"-DHAVE_SESSION_TICKET")
endif()
# Extended master secret extension
set(WOLFSSL_EXTENDED_MASTER_HELP_STRING "Enable Extended Master Secret (default: enabled)")
option(WOLFSSL_EXTENDED_MASTER ${WOLFSSL_EXTENDED_MASTER_HELP_STRING} "yes")
add_option("WOLFSSL_EXTENDED_MASTER" ${WOLFSSL_EXTENDED_MASTER_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_EXTENDED_MASTER)
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_EXTENDED_MASTER")
@@ -998,7 +1106,7 @@ endif()
# Encrypt-then-mac
set(WOLFSSL_ENC_THEN_MAC_HELP_STRING "Enable Encryptr-Then-Mac extension (default: enabled)")
option(WOLFSSL_ENC_THEN_MAC ${WOLFSSL_ENC_THEN_MAC_HELP_STRING} "yes")
add_option("WOLFSSL_ENC_THEN_MAC" ${WOLFSSL_ENC_THEN_MAC_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_APACHE_HTTPD)
override_cache(WOLFSSL_ENC_THEN_MAC "no")
@@ -1015,7 +1123,7 @@ endif()
# stunnel Support
# TODO: rest of stunnel support
set(WOLFSSL_STUNNEL_HELP_STRING "Enable stunnel (default: disabled)")
option(WOLFSSL_STUNNEL ${WOLFSSL_STUNNEL_HELP_STRING} "no")
add_option("WOLFSSL_STUNNEL" ${WOLFSSL_STUNNEL_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_PSK AND
NOT WOLFSSL_LEAN_PSK AND
@@ -1029,7 +1137,7 @@ endif()
# MD4
set(WOLFSSL_MD4_HELP_STRING "Enable MD4 (default: disabled)")
option(WOLFSSL_MD4 ${WOLFSSL_MD4_HELP_STRING} "no")
add_option("WOLFSSL_MD4" ${WOLFSSL_MD4_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_MD4)
# turn on MD4 if using stunnel
@@ -1045,7 +1153,7 @@ endif()
# PWDBASED has to come after certservice since we want it on w/o explicit on
# PWDBASED
set(WOLFSSL_PWDBASED_HELP_STRING "Enable PWDBASED (default: disabled)")
option(WOLFSSL_PWDBASED ${WOLFSSL_PWDBASED_HELP_STRING} "no")
add_option("WOLFSSL_PWDBASED" ${WOLFSSL_PWDBASED_HELP_STRING} "no" "yes;no")
if(NOT WOLFSSL_PWDBASED)
if(WOLFSSL_OPENSSLEXTRA OR
@@ -1079,7 +1187,7 @@ if(WOLFSSL_SP_MATH)
endif()
set(WOLFSSL_FAST_MATH_HELP_STRING "Enable fast math ops (default: enabled on x86_64/aarch64)")
option(WOLFSSL_FAST_MATH ${WOLFSSL_FAST_MATH_HELP_STRING} ${FASTMATH_DEFAULT})
add_option("WOLFSSL_FAST_MATH" ${WOLFSSL_FAST_MATH_HELP_STRING} ${FASTMATH_DEFAULT} "yes;no")
if(WOLFSSL_FAST_MATH)
# turn off fastmath if leanpsk on or asn off (w/o DH and ECC)
@@ -1113,7 +1221,7 @@ else()
endif()
set(WOLFSSL_EXAMPLES_HELP_STRING "Enable examples (default: enabled)")
option(WOLFSSL_EXAMPLES ${WOLFSSL_EXAMPLES_HELP_STRING} ${EXAMPLES_DEFAULT})
add_option("WOLFSSL_EXAMPLES" ${WOLFSSL_EXAMPLES_HELP_STRING} ${EXAMPLES_DEFAULT} "yes;no")
if(NOT WOLFSSL_FILESYSTEM OR
NOT WOLFSSL_INLINE OR
@@ -1129,7 +1237,7 @@ else()
endif()
set(WOLFSSL_CRYPT_TESTS_HELP_STRING "Enable Crypt Bench/Test (default: enabled)")
option(WOLFSSL_CRYPT_TESTS ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFAULT})
add_option("WOLFSSL_CRYPT_TESTS" ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFAULT} "yes;no")
# TODO: - LIBZ
# - PKCS#11
@@ -1146,7 +1254,7 @@ option(WOLFSSL_CRYPT_TESTS ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFA
# Asynchronous threading
set(WOLFSSL_ASYNC_THREADS_HELP_STRING "Enable Asynchronous Threading (default: enabled)")
option(WOLFSSL_ASYNC_THREADS ${WOLFSSL_ASYNC_THREADS_HELP_STRING} "yes")
add_option("WOLFSSL_ASYNC_THREADS" ${WOLFSSL_ASYNC_THREADS_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_ASYNC_CRYPT AND WOLFSSL_ASYNC_THREADS)
if(CMAKE_USE_PTHREADS_INIT)
@@ -1171,7 +1279,7 @@ endif()
# - AES key wrap
set(WOLFSSL_OLD_NAMES_HELP_STRING "Keep backwards compat with old names (default: enabled)")
option(WOLFSSL_OLD_NAMES ${WOLFSSL_OLD_NAMES_HELP_STRING} "yes")
add_option("WOLFSSL_OLD_NAMES" ${WOLFSSL_OLD_NAMES_HELP_STRING} "yes" "yes;no")
if(NOT WOLFSSL_OLD_NAMES AND NOT WOLFSSL_OPENSSL_COEXIST)
list(APPEND WOLFSSL_DEFINITIONS
@@ -1186,7 +1294,7 @@ endif()
# Support for enabling setting default DH parameters
set(WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING "Enables option for default dh parameters (default: disabled)")
option(WOLFSSL_DH_DEFAULT_PARAMS ${WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING} "no")
add_option("WOLFSSL_DH_DEFAULT_PARAMS" ${WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING} "no" "yes;no")
if(WOLFSSL_DH_DEFAULT_PARAMS OR NOT WOLFSSL_QT)
override_cache(WOLFSSL_DH_DEFAULT_PARAMS "yes")
@@ -1204,10 +1312,10 @@ else()
endif()
set(WOLFSSL_USER_SETTINGS_HELP_STRING "Use your own user_settings.h and do not add Makefile CFLAGS (default: disabled)")
option(WOLFSSL_USER_SETTINGS ${WOLFSSL_USER_SETTINGS_HELP_STRING} "no")
add_option("WOLFSSL_USER_SETTINGS" ${WOLFSSL_USER_SETTINGS_HELP_STRING} "no" "yes;no")
set(WOLFSSL_OPTFLAGS_HELP_STRING "Enable default optimization CFLAGS for the compiler (default: enabled)")
option(WOLFSSL_OPTFLAGS ${WOLFSSL_OPTFLAGS_HELP_STRING} "yes")
add_option("WOLFSSL_OPTFLAGS" ${WOLFSSL_OPTFLAGS_HELP_STRING} "yes" "yes;no")
# Generates the BUILD_* flags. These control what source files are included in
# the library. A series of AM_CONDITIONALs handle this in configure.ac.
@@ -1227,12 +1335,16 @@ endif()
add_definitions(${WOLFSSL_DEFINITIONS})
set(WOLFSSL_CONFIG_H_HELP_STRING "Enable generation of config.h and define HAVE_CONFIG_H (default: enabled)")
option(WOLFSSL_CONFIG_H ${WOLFSSL_CONFIG_H_HELP_STRING} "yes")
add_option("WOLFSSL_CONFIG_H" ${WOLFSSL_CONFIG_H_HELP_STRING} "yes" "yes;no")
if(WOLFSSL_CONFIG_H)
add_definitions("-DHAVE_CONFIG_H")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.in"
"${CMAKE_CURRENT_BINARY_DIR}/config.h" )
set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
set(abs_top_builddir ${CMAKE_CURRENT_BINARY_DIR})
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/wolfcrypt/test/test_paths.h.in"
"${CMAKE_CURRENT_BINARY_DIR}/wolfcrypt/test/test_paths.h" )
endif()
# Suppress some warnings about separate compilation, inlining
@@ -1257,6 +1369,8 @@ file(APPEND ${OPTION_FILE} "#ifdef __cplusplus\n")
file(APPEND ${OPTION_FILE} "extern \"C\" {\n")
file(APPEND ${OPTION_FILE} "#endif\n\n")
list(REMOVE_DUPLICATES WOLFSSL_DEFINITIONS)
foreach(DEF IN LISTS WOLFSSL_DEFINITIONS)
if(DEF MATCHES "^-D")
if(DEF MATCHES "^-D(N)?DEBUG(=.+)?")

View File

@@ -1,3 +1,218 @@
# wolfSSL Release 4.8.1 (July 16, 2021)
Release 4.8.1 of wolfSSL embedded TLS has an OCSP vulnerability fix:
### Vulnerabilities
* [High] OCSP verification issue when response is for a certificate with no relation to the chain in question BUT that response contains the NoCheck extension which effectively disables ALL verification of that one cert. Users who should upgrade to 4.8.1 are TLS client users doing OCSP, TLS server users doing mutual auth with OCSP, and CertManager users doing OCSP independent of TLS. Thanks to Jan Nauber, Marco Smeets, Werner Rueschenbaum and Alissa Kim for the report.
# wolfSSL Release 4.8.0 (July 09, 2021)
Release 4.8.0 of wolfSSL embedded TLS has bug fixes and new features including:
### Vulnerabilities
* [Low] OCSP request/response verification issue. In the case that the serial number in the OCSP request differs from the serial number in the OCSP response the error from the comparison was not resulting in a failed verification. We recommend users that have wolfSSL version 4.6.0 and 4.7.0 with OCSP enabled update their version of wolfSSL. Version 4.5.0 and earlier are not affected by this report. Thanks to Rainer, Roee, Barak, Hila and Shoshi (from Cymotive and CARIAD) for the report.
* [Low] CVE-2021-24116: Side-Channel cache look up vulnerability in base64 PEM decoding for versions of wolfSSL 4.5.0 and earlier. Versions 4.6.0 and up contain a fix and do not need to be updated for this report. If decoding a PEM format private key using version 4.5.0 and older of wolfSSL then we recommend updating the version of wolfSSL used. Thanks to Florian Sieck, Jan Wichelmann, Sebastian Berndt and Thomas Eisenbarth for the report.
### New Feature Additions
###### New Product
* Added wolfSentry build with --enable-wolfsentry and tie-ins to wolfSSL code for use with wolfSentry
###### Ports
* QNX CAAM driver added, supporting ECC black keys, CMAC, BLOBs, and TRNG use
* _WIN32_WCE wolfCrypt port added
* INTIME_RTOS directory support added
* Added support for STM32G0
* Renesas RX: Added intrinsics for rot[rl], revl (thanks @rliebscher)
* Added support for running wolfcrypt/test/testwolfcrypt on Dolphin emulator to test DEVKITPRO port
* Zephyr project port updated to latest version 2.6.X
###### ASN1 and PKCS
* Storing policy constraint extension from certificate added
* Added support for NID_favouriteDrink pilot
* Added the API function wc_EncryptPKCS8Key to handle encrypting a DER, PKCS#8-formatted key
###### Compatibility Layer Additions
* Open Source PORTS Added/Updated
- OpenVPN
- OpenLDAP
- socat-1.7.4.1
- Updated QT port for 5.15.2
* Changes to extend set_cipher_list() compatibility layer API to have set_ciphersuites compatibility layer API capability
* Added more support for SHA3 in the EVP layer
* API Added
- MD5/MD5_Transform
- SHA/SHA_Transform/SHA1_Transform
- SHA224/SHA256_Transform/SHA512_Transform
- SSL_CTX_get0_param/SSL_CTX_set1_param
- X509_load_crl_file
- SSL_CTX_get_min_proto_version
- EVP_ENCODE_CTX_new
- EVP_ENCODE_CTX_free
- EVP_EncodeInit
- EVP_EncodeUpdate
- EVP_EncodeFinal
- EVP_DecodeInit
- EVP_DecodeUpdate
- EVP_DecodeFinal
- EVP_PKEY_print_public
- BIO_tell
- THREADID_current
- THREADID_hash
- SSL_CTX_set_ecdh_auto
- RAND_set_rand_method()
- X509_LOOKUP_ctrl()
- RSA_bits
- EC_curve_nist2nid
- EC_KEY_set_group
- SSL_SESSION_set_cipher
- SSL_set_psk_use_session_callback
- EVP_PKEY_param_check
- DH_get0_pqg
- CRYPTO_get_ex_new_index
- SSL_SESSION_is_resumable
- SSL_CONF_cmd
- SSL_CONF_CTX_finish
- SSL_CTX_keylog_cb_func
- SSL_CTX_set_keylog_callback
- SSL_CTX_get_keylog_callback
###### Misc.
* Added wolfSSL_CTX_get_TicketEncCtx getter function to return the ticket encryption ctx value
* Added wc_AesKeyWrap_ex and wc_AesKeyUnWrap_ex APIs to accept an Aes object to use for the AES operations
* Added implementation of AES-GCM streaming (--enable-aesgcm-stream)
* Added deterministic generation of k with ECC following RFC6979 when the macro WOLFSL_ECDSA_DETERMINISTIC_K is defined and wc_ecc_set_deterministic function is called
* Implemented wc_DsaParamsDecode and wc_DsaKeyToParamsDer
* Asynchronous support for TLS v1.3 TLSX ECC/DH key generation and key agreement
* Added crypto callback support for Ed/Curve25519 and SHA2-512/384
* TLS 1.3 wolfSSL_key_update_response function added to see if a update response is needed
### Fixes
* Fix for detecting extra unused bytes that are in an ASN1 sequence appended to the end of a valid ECC signature
* Fix for keyid with ktri CMS (breaks compatibility with previous keyid ASN1 syntax)
* Fix for failed handshake if a client offers more than 150 cipher suites. Thanks to Marcel Maehren, Philipp Nieting, Robert Merget from Ruhr University Bochum Sven Hebrok, Juraj Somorovsky from Paderborn University
* Fix for default order of deprecated elliptic curves SECP224R1, SECP192R1, SECP160R1. Thanks to Marcel Maehren, Philipp Nieting, Robert Merget from Ruhr University Bochum Sven Hebrok, Juraj Somorovsky from Paderborn University
* Fix for corner TLS downgrade case where a TLS 1.3 setup that allows for downgrades but has TLS 1.3 set as the minimum version would still downgrade to TLS 1.2
###### PKCS7 (Multiple fixes throughout regarding memory leaks with SMIME and heap buffer overflows due to streaming functionality)
* Fix PKCS7 dynamic content save/restore in PKCS7_VerifySignedData
* Fix for heap buffer overflow on compare with wc_PKCS7_DecryptKtri
* Fix for heap buffer overflow with wc_PKCS7_VerifySignedData
* Fix for heap buffer overflow with wc_PKCS7_DecodeEnvelopedData
* Check size of public key used with certificate passed into wc_PKCS7_InitWithCert before XMEMCPY to avoid overflow
* Fix for heap buffer overflow fix for wolfSSL_SMIME_read_PKCS7
* Fix to cleanly free memory in error state with wolfSSL_SMIME_read_PKCS7
* SMIME error checking improvements and canonicalize multi-part messages before hashing
###### DTLS Fixes
* DTLS fix to correctly move the Tx sequence number forward
* DTLS fix for sequence and epoch number with secure renegotiation cookie exchange
* Fix for Chacha-Poly AEAD for DTLS 1.2 with secure renegotiation
###### PORT Fixes
* Fix AES, aligned key for the HW module with DCP port
* Fix ATECC608A TNGTLS certificate size issue (thanks @vppillai)
* Fixes for mingw compile warnings
* Fixes for NXP LTC ECC/RSA
* Fix ESP32 RSA hw accelerator initialization issue
* Fixes for STM32 PKA with ECC
* Fixes for STM32 AES GCM for HAL's that support byte sized headers
* Espressif ESP32 SHA_CTX macro conflict resolved
###### Math Library Fixes
* For platforms that support limits.h or windows make sure both SIZEOF_LONG_LONG and SIZEOF_LONG are set to avoid issues with CTC_SETTINGS
* SP C 32/64: fix corner cases around subtraction affecting RSA PSS use
* Fix to return the error code from sp_cond_swap_ct when malloc fails
* Fix potential memory leak with small stack in the function fp_gcd
* Static Analysis Fixes
* Fixes made from Coverity analysis including:
* Cleanups for some return values,
* Fix for leak with wolfSSL_a2i_ASN1_INTEGER
* Sanity check on length in wolfSSL_BN_rand
* Sanity check size in TLSX_Parse catching a possible integer overflow
* Fixes found with -fsanitize=undefined testing
* Fix null dereferences or undefined memcpy calls
* Fix alignment in myCryptoDevCb
* Fix default DTLS context assignment
* Added align configure option to force data alignment
###### Misc.
* Fix for wolfSSL_ASN1_TIME_adj set length
* Fix for freeing structure on error case in the function AddTrustedPeer
* Return value of SSL_read when called after bidirectional shutdown
* Fix for build options ./configure --enable-dtls --disable-asn
* FIx for detection of a salt length from an RSA PSS signature
* Fix to free up globalRNGMutex mutex when cleaning up global RNG
* Fix leak when multiple hardware names are in SAN
* Fix nonblocking ret value from CRL I/O callbacks
* Fix wolfSSL_BIO_free_all return type to better match for compatibility layer
* Fix for make distcheck, maintainer-clean, to allow distribution builds
* Fix for async with fragmented packets
* Fix for the build or RSA verify or public only
* Fix for return value of wolfSSL_BIO_set_ssl to better match expected compatibility layer return value
* Fix for sanity checks on size of issuer hash and key along with better freeing on error cases with DecodeBasicOcspResponse
* Fix for potential memory leak with wolfSSL_OCSP_cert_to_id
### Improvements/Optimizations
###### DTLS/TLS Code Base
* Improved TLS v1.3 time rollover support
* TLS 1.3 PSK: use the hash algorithm to choose cipher suite
* TLS Extended Master Secret ext: TLS13 - send in second Client Hello if in first
* TLS Encrypt then MAC: check all padding bytes are the same value
* wolfSSL_GetMaxRecordSize updated to now take additional cipher data into account
* Updated session export/import with DTLS to handle a new internal options flag
* Refactored dtls_expected_peer_handshake_number handling
* Added wolfSSL_CTX_get_ephemeral_key and wolfSSL_get_ephemeral_key for loading a constant key in place of an ephemeral one
* Improved checking of XSNPRINTF return value in DecodePolicyOID
###### Build Options and Warnings
* Added wolfSSL_CTX_set_verify to the ABI list
* Adjusted FP_ECC build to not allow SECP160R1, SECP160R2, SECP160K1 and SECP224K1. FP_ECC does not work with scalars that are the length of the order when the order is longer than the prime.
* Added CMake support for CURVE25519, ED25519, CURVE448, and ED448
* cmake addition to test paths when building
* Added support for session tickets in CMake
* Added support for reproducible builds with CMake
* Turn on reproducible-build by default when enable-distro
* Windows Project: Include the X448 and Ed448 files
* GCC-11 compile time warning fixes
* Fix for compiling build of ./configure '--disable-tlsv12' '-enable-pkcallbacks'
* Added build error for insecure build combination of secure renegotiation enabled with extended master secret disabled when session resumption is enabled
* Updated building and running with Apple M1
* Apache httpd build without TLS 1.3 macro guard added
* Enable SHA3 and SHAKE256 requirements automatically when ED448 is enabled
* Added option for AES CBC cipher routines to return BAD_LENGTH_E when called with an input buffer length not a multiple of AES_BLOCK_SIZE
* Macro WOLFSSL_SP_INT_DIGIT_ALIGN added for alignment on buffers with SP build. This was needed for compiler building on a Renesas board.
* Build support with no hashes enabled an no RNG compiled in
* Allow use of FREESCALE hardware RNG without a specific port
* Resolved some warnings with Windows builds and PBKDF disabled
* Updated the version of autoconf and automake along with fixes for some new GCC-10 warnings
###### Math Libraries
* SP: Thumb implementation that works with clang
* SP math all: sp_cmp handling of negative values
* SP C ECC: mont sub - always normalize after sub before check for add
* TFM math library prime checking, added more error checks with small stack build
* Sanity checks on 0 value with GCD math function
* fp_exptmod_ct error checking and small stack variable free on error
* Sanity check on supported digit size when calling mp_add_d in non fastmath builds
* Support for mp_dump with SP Math ALL
* WOLFSSL_SP_NO_MALLOC for both the normal SP build and small SP build now
* WOLFSSL_SP_NO_DYN_STACK added for SP small code that is not small stack build to avoid dynamic stack
###### PKCS 7/8
* wc_PKCS7_DecodeCompressedData to optionally handle a packet without content wrapping
* Added setting of content type parsed with PKCS7 wc_PKCS7_DecodeAuthEnvelopedData and wc_PKCS7_DecodeEnvelopedData
* PKCS8 code improvements and refactoring
###### Misc.
* Sanity checks on null inputs to the functions wolfSSL_X509_get_serialNumber and wolfSSL_X509_NAME_print_ex
* Added ARM CryptoCell support for importing public key with wc_ecc_import_x963_ex()
* Improved checking for possible use of key->dp == NULL cases with ECC functions
* Updated SHAKE256 to compile with NIST FIPS 202 standard and added support for OID values (thanks to strongX509)
* Improved ECC operations when using WOLFSSL_NO_MALLOC
* Added WOLFSSL_SNIFFER_FATAL_ERROR for an return value when sniffer is in a fatal state
* Allow parsing spaces in Base64_SkipNewline
* Issue callback when exceeding depth limit rather than error out with OPENSSL_EXTRA build
* Added NXP LTC RSA key generation acceleration
# wolfSSL Release 4.7.0 (February 16, 2021)
Release 4.7.0 of wolfSSL embedded TLS has bug fixes and new features including:
@@ -7,6 +222,7 @@ Release 4.7.0 of wolfSSL embedded TLS has bug fixes and new features including:
* Function wolfSSL_CTX_NoTicketTLSv12 added to enable turning off session tickets with TLS 1.2 while keeping TLS 1.3 session tickets available
* Implement RFC 5705: Keying Material Exporters for TLS
* Added --enable-reproducible-build flag for making more deterministic library outputs to assist debugging
* Added support for S/MIME (Secure/Multipurpose Internet Mail Extensions) bundles
### Fixes
* Fix to free mutex when cert manager is freed
@@ -44,7 +260,7 @@ Release 4.7.0 of wolfSSL embedded TLS has bug fixes and new features including:
* Out of directory builds resolved, wolfSSL can now be built in a separate directory than the root wolfssl directory
### Vulnerabilities
* [HIGH] CVE-2021-3336: In earlier versions of wolfSSL there exists a potential man in the middle attack on TLS 1.3 clients. Malicious attackers with a privileged network position can impersonate TLS 1.3 servers and bypass authentication. Users that have applications with client side code and have TLS 1.3 turned on, should update to the latest version of wolfSSL. Users that do not have TLS 1.3 turned on, or that are server side only, are NOT affected by this report. For the code change see https://github.com/wolfSSL/wolfssl/pull/3676.
* [HIGH] CVE-2021-3336: In earlier versions of wolfSSL there exists a potential man in the middle attack on TLS 1.3 clients. Malicious attackers with a privileged network position can impersonate TLS 1.3 servers and bypass authentication. Users that have applications with client side code and have TLS 1.3 turned on, should update to the latest version of wolfSSL. Users that do not have TLS 1.3 turned on, or that are server side only, are NOT affected by this report. For the code change see https://github.com/wolfSSL/wolfssl/pull/3676. Thanks to Aina Toky Rasoamanana and Olivier Levillain from Télécom SudParis for the report.
* [LOW] In the case of using custom ECC curves there is the potential for a crafted compressed ECC key that has a custom prime value to cause a hang when imported. This only affects applications that are loading in ECC keys with wolfSSL builds that have compressed ECC keys and custom ECC curves enabled.
* [LOW] With TLS 1.3 authenticated-only ciphers a section of the server hello could contain 16 bytes of uninitialized data when sent to the connected peer. This affects only a specific build of wolfSSL with TLS 1.3 early data enabled and using authenticated-only ciphers with TLS 1.3.

View File

@@ -1,6 +1,6 @@
/* wolfssl_client.ino
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolfssl_server.ino
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -18,6 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -41,6 +41,7 @@ extern "C" {
#endif
#if defined(WOLFSSL_CRYPTOCELL)
/* see SASI_AES_KEY_MAX_SIZE_IN_BYTES in the nRF5 SDK */
#define AES_MAX_KEY_SIZE 128
#endif /* WOLFSSL_CRYPTOCELL*/
@@ -137,6 +138,9 @@ extern "C" {
#if 1
#define HAVE_ECC
#include <strings.h>
/* strings.h required for strncasecmp */
/* Manually define enabled curves */
#undef ECC_USER_CURVES
#define ECC_USER_CURVES

View File

@@ -1,71 +1,64 @@
# Deos Port
## Overview
You can enable the wolfSSL support for Deos RTOS available [here](https://www.ddci.com/products_deos_do_178c_arinc_653/) using the `#define WOLFSSL_DEOS`.
Deos is a time & space partitioned, multi-core enabled, DO-178C DAL A certifiable RTOS.
You can enable the wolfSSL support for Deos RTOS available
[here](https://www.ddci.com/products_deos_do_178c_arinc_653/) using
the `#define WOLFSSL_DEOS`. Deos is a time & space partitioned,
multi-core enabled, DO-178C DAL A certifiable RTOS.
## Usage
You can start with your OpenArbor IDE-based example project for Deos with the network stack (lwip) to integrate wolfSSL source code.
You can start with your OpenArbor IDE-based example project for Deos
with the network stack (lwip) to integrate wolfSSL source code.
wolfSSL supports a compile-time user configurable options in the `IDE/ECLIPSE/DEOS/user_settings.h` file.
wolfSSL supports a compile-time user configurable options in the
`IDE/ECLIPSE/DEOS/user_settings.h` file.
The `tls_wolfssl.c` example application provides a simple function to run the selected examples at compile time through the following four #defines in user_settings.h. You can undefine any of these macro options to run a test.
```
1. #undef NO_CRYPT_TEST
2. #undef NO_CRYPT_BENCHMARK
3. #undef NO_WOLFSSL_CLIENT
4. #undef NO_WOLFSSL_SERVER
```
Do one of the following steps for building and running wolfSSL with the Deos kernel examples, which are included in the DDS release:
If you want to create a project from scratch, skip the Importing the project section and follow the steps in the other sections.
### Importing the project
If you want to use an pre-configured example project, go to the Importing the project section, skip the other sections and follow the Building and Running section.
#### Importing the project
In this section you will import a pre-configured example project.
Note: To work wolfssl directory must not be under the workspace directory.
1. Launch the OpenArbor IDE as an administrator
2. In the Workspace Launcher dialog, in the Workspace field, enter your
workspace
2. In the Workspace Launcher dialog, in the Workspace field, enter
your workspace
3. Right-click in the Project Explorer view and select Import
4. In the Import dialog, select General > Existing Projects into Workspace, then click Next.
5. In the Import Projects dialog, select Select archive file, then browse to `IDE/ECLIPSE/DEOS/` and double-click `deosWolfssl.zip` file
4. In the Import dialog, select General > Existing Projects into
Workspace, then click Next.
5. In the Import Projects dialog, select `Select root directory` and
browse to `IDE/ECLIPSE/DEOS/deos_wolfssl` and select the wolfssl
project
6. In the Import Projects dialog, click Finish
#### Dependencies
* ansi
* gnu-language
* deos-time
### Setting up a Deos project with wolfSSL
The `tls_wolfssl.c` example application provides a simple function to
run the selected examples at compile time through the following four
`#defines` in `user_settings.h`. You can undefine any of these macro
options to run a test.
#### Setting up a Deos project with wolfSSL
1. Download the wolfSSL source code or a zip file from GitHub. You can remove all of the files except for these folders and its contents. The top folder for this example is wolfsslPort.
```
wolfsslPort
|-- IDE
| -- ECLIPSE
| -- DEOS
|-- src
|-- wolfcrypt
| -- benchmark
| -- src
| -- test
|-- wolfssl
|-- openssl
|-- wolfcrypt
|-- port
#undef NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
#undef NO_WOLFSSL_CLIENT
#undef NO_WOLFSSL_SERVER
```
2. Remove these two platform specific assembly source files:
- wolfsslPort/wolfcrypt/src/aes_asm.asm
- wolfsslPort/wolfcrypt/src/aes_asm.S
3. Launch the OpenArbor IDE as an administrator
4. Create a DDC-I Deos example project. In the main menu, go to File >DDC-I Deos example project > socket > udp-vs-tcp
5. Import the `wolfSSLPort` source code into your project.
- Right-click the ` udp-vs-tcp` project and choose File -> Import.
- Expand the General folder and select File System, then click Next. You should now see the Import File system dialog.
- Browse to the location containing the wolfSSL code and choose OK. Select the `wolfsslPort` folder and check the `Create top-level folder` button, then select Finish. You should see the folder hierarchy the same as wolfSSL folder structures.
6. Review the configuration in $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h
1. Launch the OpenArbor IDE
7. Review the custom malloc/realloc/free configuration $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/deos_malloc.c . Memory allocated with malloc() is never freed.
2. Create a DDC-I Deos example project. In the main menu, go to File >
DDC-I Deos example project > socket > udp-vs-tcp
3. Customize your config/udp-vs-tcp.pd.xml with the following changes:
#### Configuring the Deos Project
1. Customize your config/udp-vs-tcp.pd.xml with the following changes:
```
<processTemplate
mutexQuota = "5"
@@ -90,35 +83,54 @@ wolfsslPort
</processTemplate>
```
Depending on your configuration, wolfSSL uses upto four mutexes. You also need to configure enough memory for the stack of each threads and the process logical memory pool.
Depending on your configuration, wolfSSL uses upto four mutexes. You
also need to configure enough memory for the stack of each threads and
the process logical memory pool.
4. Right click on the `udp-vs-tcp` project, select properties and add
the following macros in the DDC-I Options > C Compile >
Preprocessor
* WOLFSSL_USER_SETTINGS
5. Add the following directory paths in the DDC-I Options > C Compile >
Directories and in the DDC-I Options > C++ Compile > Directories
* $(PROJECT_DIR.wolfssl)/../../../..
* $(PROJECT_DIR.wolfssl)/..
* $(PROJECT_DIR.printx)/code
6. Add the following library dependencies in the
DDC-I Options > Deos > Dependencies
* math
* ansi
* deos-time
For benchmark and test code:
* printx - You must add printx into your workspace, File >DDC-I
Deos example project > training > printx
7. Edit $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h to
customize your configuration. For example, you can undef or define
these tests.
* `#undef NO_CRYPT_TEST`
* `#undef NO_CRYPT_BENCHMARK`
* `#undef NO_WOLFSSL_CLIENT`
* `#undef NO_WOLFSSL_SERVER`
8. Edit your application source file where main() thread is defined
and add the following:
* #include "printx.h"
* #include "tls_wolfssl.h"
* and a call to `wolfsslRunTests()`
2. Right click on the `udp-vs-tcp` project, select properties and add the following macros in the DDC-I Options > C Compile > Preprocessor
- DEOS_ALLOW_OBSOLETE_DEFINITIONS
- WOLFSSL_USER_SETTINGS
3. Add the following directory paths in the DDC-I Options > C Compile > Directories and in the DDC-I Options > C++ Compile > Directories
- $(PROJECT_DIR)/wolfsslPort
- $(PROJECT_DIR)/wolfsslPort/wolfssl
- $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS
- $(PROJECT_DIR.printx)/code
4. Change the optimization level in the DDC-I Options > C Compile > Code Generation > Optimization level:g
- g
5. Add the following library dependencies in the DDC-I Options > Deos > Dependencies
- math
- dart
- ansi
- printx
- You must add printx into your workspace, File >DDC-I Deos example project > training > printx
6. Edit $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h to customize your configuration. For example, you can undef or define these tests.
- #undef NO_CRYPT_TEST
- #undef NO_CRYPT_BENCHMARK
- #undef NO_WOLFSSL_CLIENT
- #undef NO_WOLFSSL_SERVER
7. Edit your application source file where main() thread is defined and add the following:
- #include "printx.h"
- #include "tls_wolfssl.h"
- and a call to `wolfsslRunTests()`
Here's an example:
```
#include <deos.h>
#include <printx.h>
@@ -137,7 +149,10 @@ int main(void)
}
```
8. Review $(PROJECT_DIR)/udp-vs-tcp/mailbox-transport.config configuration.
9. Review `$(PROJECT_DIR)/udp-vs-tcp/mailbox-transport.config`
configuration.
```
transportConfigurationId
2 # Client thread quota - for client and server TCP
@@ -166,45 +181,62 @@ userServiceThread # Server thread template name
/
```
#### Building and Running
1. Build your project, then load and run your image on a target platform. Review the test results on the console output.
#### Building and Running
1. Build your project, then load and run your image on a target
platform. Review the test results on the console output.
### `wolfcrypt_test()`
wolfcrypt_test() prints a message on the target console similar to the following output:
`wolfcrypt_test()` prints a message on similar to the following:
```
error test passed!
base64 test passed!
asn test passed!
...
```
This example doesn't show the whole output.
### `benchmark_test()`
benchmark_test() prints a message on the target console similar to the following output.
`benchmark_test()` prints a message on the similar to the following:
```
------------------------------------------------------------------------------
wolfSSL version 3.15.5
wolfSSL version 4.6.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 225 KB tooks 1.026 seconds, 219.313 KB/s
AES-128-CBC-enc 250 KB toks 1.105 seconds 226.210 KB/s
AES-128-CBC-dec 225 KB tooks 1.005 seconds, 223.922 KB/s
RNG 2 MB took 1.000 seconds, 2.124 MB/s
AES-128-CBC-enc 5 MB took 1.000 seconds, 5.127 MB/s
AES-128-CBC-dec 5 MB took 1.000 seconds, 4.907 MB/s
AES-192-CBC-enc 5 MB took 1.000 seconds, 4.736 MB/s
AES-192-CBC-dec 5 MB took 1.000 seconds, 4.761 MB/s
...
```
This example doesn't show the whole output.
### `wolfssl_client_test()`
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros in the `tls_wolfssl.c` file to configure the host address and port. You will also need to define the server certificate. The example client uses the GET request to get a web resource from the server at https://google.com.
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros
in the `tls_wolfssl.c` file to configure the host address and
port. You will also need to define the server certificate. The example
client uses the GET request to get a web resource from the server at
https://google.com.
### `wolfssl_server_test()`
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to configure the port number to listen on a local-host.
Once you start the TLS server and `Listening for client connection` displays on the serial console, the server is ready to accept client connections.
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to
configure the port number to listen on a local-host. Once you start
the TLS server and `Listening for client connection` displays on the
serial console, the server is ready to accept client connections.
You can connect to the server using the wolfssl TLS client example
from your Linux or Windows host as follows:
You can connect to the server using the wolfssl TLS client example from your Linux or Windows host as follows:
```
$ ./examples/client/client.exe -h TLS_SERVER_IP_ADDRESS
@@ -218,8 +250,10 @@ I hear ya fa shizzle!
## References
The test results were collected from the qemu-x86 reference platform target with the following software and tool chains:
- OpenArbor, eclipse based IDE, toolVersion = "3.31.0"
The following software and tool chains were used for testing:
- OpenArbor 7.0.0
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
For more information or questions, please email
[support@wolfssl.com](mailto:support@wolfssl.com)

View File

@@ -1,6 +1,6 @@
/* deos_malloc.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -19,27 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#define ROUND_UP(x, align) (((int) (x) + (align - 1)) & ~(align - 1))
#define SIZEOF_HEADER sizeof(size_t) /* tracks size of allocated block */
#define HEAP_SIZE_MAX (1*1024*1024)
static size_t allocatedMemory = 0;
size_t getMemAllocatedSize_deos(size_t* size){
if (size)
*size = allocatedMemory;
return allocatedMemory;
}
/* Simply returns without freeing any memory. */
#include <wolfssl/wolfcrypt/types.h>
#include <deos.h>
void free_deos(void *ptr) {
//printf("fake free_deos()\n");
free(ptr);
return;
}
@@ -51,10 +35,6 @@ void *realloc_deos(void *ptr, size_t size) {
newptr = malloc_deos(size);
if (ptr != NULL && newptr != NULL) {
if ( *((char *)ptr - SIZEOF_HEADER) < *((char *)newptr - SIZEOF_HEADER))
size = *((char *)ptr - SIZEOF_HEADER);
XMEMCPY((char *) newptr, (const char *) ptr, size);
free_deos(ptr);
}
@@ -63,46 +43,5 @@ void *realloc_deos(void *ptr, size_t size) {
}
void *malloc_deos(size_t size) {
PDEOS_SYSTEM_INFO systemInfoPtr;
static VirtualAddressTYP heapAddr = NULL;
static VirtualAddressTYP freeAddr = NULL;
VirtualAddressTYP retAddr = NULL;
DWORD allocationSize = 0;
static int initialized = 0;
if (size <= 0)
return NULL;
if (!initialized) {
systemInfoPtr = (PDEOS_SYSTEM_INFO)getSystemInfoDEOS();
freeAddr = (VirtualAddressTYP)getNextLibraryStartAddress();
allocationSize = (((HEAP_SIZE_MAX - 1) / systemInfoPtr->dwPageSize) + 1) *
systemInfoPtr->dwPageSize;
if (virtualAllocDEOS(freeAddr, allocationSize) != allocSuccess){
printf("ERROR: virtualAllocDEOS failed\n");
return NULL;
}
setNextLibraryStartAddress(freeAddr + allocationSize);
heapAddr = freeAddr;
initialized = 1;
}
size = ROUND_UP(size, sizeof(size_t));
if ((size + SIZEOF_HEADER) > (HEAP_SIZE_MAX - (freeAddr - heapAddr))){
printf("ERROR: malloc_deos cannot allocate from heap memory anymore\n");
return NULL;
}
*freeAddr = size;
freeAddr += SIZEOF_HEADER;
retAddr = freeAddr;
XMEMSET(retAddr, 0, size);
freeAddr += size;
allocatedMemory += size;
return retAddr;
return malloc(size);
}

View File

@@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="org.eclipse.cdt.core.default.config.472844465">
<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.472844465" moduleId="org.eclipse.cdt.core.settings" name="Configuration">
<externalSettings/>
<extensions/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.core.pathentry">
<pathentry base-path="C:/DDC-I/desk/ppc/include" include="./" kind="inc" path="" system="true"/>
<pathentry base-path="C:/DDC-I/desk/include" include="./" kind="inc" path="" system="true"/>
<pathentry base-path="C:/" include="./" kind="inc" path="" system="true"/>
<pathentry kind="mac" name="DIAGNOSTIC" path="" value=""/>
<pathentry kind="mac" name="WOLFSSL_USER_SETTINGS" path="" value=""/>
<pathentry kind="mac" name="__OpenArbor_editor" path="" value=""/>
<pathentry kind="mac" name="__DBL_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT32X_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubmsp" path="" value="__builtin_vsx_xvmsubsp"/>
<pathentry kind="mac" name="__UINT_LEAST16_MAX__" path="" value="0xffff"/>
<pathentry kind="mac" name="__ATOMIC_ACQUIRE" path="" value="2"/>
<pathentry kind="mac" name="__FLT_MIN__" path="" value="1.1754943508222875e-38F"/>
<pathentry kind="mac" name="__GCC_IEC_559_COMPLEX" path="" value="2"/>
<pathentry kind="mac" name="__UINT_LEAST8_TYPE__" path="" value="unsigned char"/>
<pathentry kind="mac" name="__INTMAX_C(c)" path="" value="c ## LL"/>
<pathentry kind="mac" name="__CHAR_BIT__" path="" value="8"/>
<pathentry kind="mac" name="__UINT8_MAX__" path="" value="0xff"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddadp" path="" value="__builtin_vsx_xvnmadddp"/>
<pathentry kind="mac" name="__WINT_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__FLT32_MIN_EXP__" path="" value="(-125)"/>
<pathentry kind="mac" name="__builtin_vsx_xxlnor" path="" value="__builtin_vec_nor"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmdp" path="" value="__builtin_vsx_xvnmsubdp"/>
<pathentry kind="mac" name="__ORDER_LITTLE_ENDIAN__" path="" value="1234"/>
<pathentry kind="mac" name="__SIZE_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__WCHAR_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1" path="" value="1"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2" path="" value="1"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4" path="" value="1"/>
<pathentry kind="mac" name="__DBL_DENORM_MIN__" path="" value="((double)4.9406564584124654e-324L)"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__GCC_IEC_559" path="" value="2"/>
<pathentry kind="mac" name="__FLT32X_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__FLT_EVAL_METHOD__" path="" value="0"/>
<pathentry kind="mac" name="__unix__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR32_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="pixel" path="" value="pixel"/>
<pathentry kind="mac" name="bool" path="" value="bool"/>
<pathentry kind="mac" name="__UINT_FAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__SIG_ATOMIC_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__DBL_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__FINITE_MATH_ONLY__" path="" value="0"/>
<pathentry kind="mac" name="__GNUC_PATCHLEVEL__" path="" value="0"/>
<pathentry kind="mac" name="__FLT32_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddasp" path="" value="__builtin_vsx_xvnmaddsp"/>
<pathentry kind="mac" name="__UINT_FAST8_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__has_include(STR)" path="" value="__has_include__(STR)"/>
<pathentry kind="mac" name="__DEC64_MAX_EXP__" path="" value="385"/>
<pathentry kind="mac" name="__INT8_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__INT_LEAST8_WIDTH__" path="" value="8"/>
<pathentry kind="mac" name="__UINT_LEAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__SHRT_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__LDBL_MAX__" path="" value="1.7976931348623157e+308L"/>
<pathentry kind="mac" name="__UINT_LEAST8_MAX__" path="" value="0xff"/>
<pathentry kind="mac" name="__GCC_ATOMIC_BOOL_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="_ARCH_PPC" path="" value="1"/>
<pathentry kind="mac" name="__UINTMAX_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__DEC32_EPSILON__" path="" value="1E-6DF"/>
<pathentry kind="mac" name="__FLT_EVAL_METHOD_TS_18661_3__" path="" value="0"/>
<pathentry kind="mac" name="__CHAR_UNSIGNED__" path="" value="1"/>
<pathentry kind="mac" name="__UINT32_MAX__" path="" value="0xffffffffUL"/>
<pathentry kind="mac" name="__LDBL_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__WINT_MIN__" path="" value="0U"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddmdp" path="" value="__builtin_vsx_xvmadddp"/>
<pathentry kind="mac" name="__builtin_vsx_vperm" path="" value="__builtin_vec_perm"/>
<pathentry kind="mac" name="__INT_LEAST16_WIDTH__" path="" value="16"/>
<pathentry kind="mac" name="__SCHAR_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__WCHAR_MIN__" path="" value="(-__WCHAR_MAX__ - 1)"/>
<pathentry kind="mac" name="vector" path="" value="vector"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmsp" path="" value="__builtin_vsx_xvnmsubsp"/>
<pathentry kind="mac" name="__INT64_C(c)" path="" value="c ## LL"/>
<pathentry kind="mac" name="__DBL_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__GCC_ATOMIC_POINTER_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIZEOF_INT__" path="" value="4"/>
<pathentry kind="mac" name="__SIZEOF_POINTER__" path="" value="4"/>
<pathentry kind="mac" name="__USER_LABEL_PREFIX__" path="" value=""/>
<pathentry kind="mac" name="__STDC_HOSTED__" path="" value="1"/>
<pathentry kind="mac" name="__LDBL_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddmsp" path="" value="__builtin_vsx_xvmaddsp"/>
<pathentry kind="mac" name="__FLT32_DIG__" path="" value="6"/>
<pathentry kind="mac" name="__FLT_EPSILON__" path="" value="1.1920928955078125e-7F"/>
<pathentry kind="mac" name="__SHRT_WIDTH__" path="" value="16"/>
<pathentry kind="mac" name="_CALL_SYSV" path="" value="1"/>
<pathentry kind="mac" name="__LDBL_MIN__" path="" value="2.2250738585072014e-308L"/>
<pathentry kind="mac" name="__STDC_UTF_16__" path="" value="1"/>
<pathentry kind="mac" name="__DEC32_MAX__" path="" value="9.999999E96DF"/>
<pathentry kind="mac" name="__FLT32X_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__INT32_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__INT_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__SIZEOF_LONG__" path="" value="4"/>
<pathentry kind="mac" name="__UINT16_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__PTRDIFF_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__FLT64_EPSILON__" path="" value="2.2204460492503131e-16F64"/>
<pathentry kind="mac" name="__INTMAX_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__has_include_next(STR)" path="" value="__has_include_next__(STR)"/>
<pathentry kind="mac" name="__LDBL_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__GNUC__" path="" value="7"/>
<pathentry kind="mac" name="__FLT_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__SIZEOF_LONG_DOUBLE__" path="" value="8"/>
<pathentry kind="mac" name="__BIGGEST_ALIGNMENT__" path="" value="16"/>
<pathentry kind="mac" name="__FLT64_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__DBL_MAX__" path="" value="((double)1.7976931348623157e+308L)"/>
<pathentry kind="mac" name="__INT_FAST32_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__DBL_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmdp" path="" value="__builtin_vsx_xvnmadddp"/>
<pathentry kind="mac" name="__DEC32_MIN_EXP__" path="" value="(-94)"/>
<pathentry kind="mac" name="__builtin_vsx_xxlandc" path="" value="__builtin_vec_andc"/>
<pathentry kind="mac" name="__INTPTR_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__FLT32X_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST16_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__LDBL_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__DEC128_MAX__" path="" value="9.999999999999999999999999999999999E6144DL"/>
<pathentry kind="mac" name="__INT_LEAST32_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__DEC32_MIN__" path="" value="1E-95DF"/>
<pathentry kind="mac" name="__DBL_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__WCHAR_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__FLT32_MAX__" path="" value="3.4028234663852886e+38F32"/>
<pathentry kind="mac" name="__DEC128_EPSILON__" path="" value="1E-33DL"/>
<pathentry kind="mac" name="__PTRDIFF_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__FLT32_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__LONG_LONG_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__SIZEOF_SIZE_T__" path="" value="4"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmsp" path="" value="__builtin_vsx_xvnmaddsp"/>
<pathentry kind="mac" name="__PPC__" path="" value="1"/>
<pathentry kind="mac" name="__SIZEOF_WINT_T__" path="" value="4"/>
<pathentry kind="mac" name="__LONG_LONG_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__FLT32_MAX_EXP__" path="" value="128"/>
<pathentry kind="mac" name="__GXX_ABI_VERSION" path="" value="1011"/>
<pathentry kind="mac" name="__FLT_MIN_EXP__" path="" value="(-125)"/>
<pathentry kind="mac" name="__INT_FAST64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__FP_FAST_FMAF" path="" value="1"/>
<pathentry kind="mac" name="__FP_FAST_FMAL" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_DENORM_MIN__" path="" value="4.9406564584124654e-324F64"/>
<pathentry kind="mac" name="__DBL_MIN__" path="" value="((double)2.2250738585072014e-308L)"/>
<pathentry kind="mac" name="__FLT32X_EPSILON__" path="" value="2.2204460492503131e-16F32x"/>
<pathentry kind="mac" name="__FLT64_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT64_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__DEC128_MIN__" path="" value="1E-6143DL"/>
<pathentry kind="mac" name="__REGISTER_PREFIX__" path="" value=""/>
<pathentry kind="mac" name="__UINT16_MAX__" path="" value="0xffff"/>
<pathentry kind="mac" name="__DBL_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xxland" path="" value="__builtin_vec_and"/>
<pathentry kind="mac" name="__FLT32_MIN__" path="" value="1.1754943508222875e-38F32"/>
<pathentry kind="mac" name="__UINT8_TYPE__" path="" value="unsigned char"/>
<pathentry kind="mac" name="__NO_INLINE__" path="" value="1"/>
<pathentry kind="mac" name="__FLT_MANT_DIG__" path="" value="24"/>
<pathentry kind="mac" name="__LDBL_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__VERSION__" path="" value="&quot;7.3.0&quot;"/>
<pathentry kind="mac" name="__UINT64_C(c)" path="" value="c ## ULL"/>
<pathentry kind="mac" name="__BIG_ENDIAN__" path="" value="1"/>
<pathentry kind="mac" name="__GCC_ATOMIC_INT_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__pixel" path="" value="__attribute__((altivec(pixel__))) unsigned short"/>
<pathentry kind="mac" name="__FLT32_MANT_DIG__" path="" value="24"/>
<pathentry kind="mac" name="__FLOAT_WORD_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__SCHAR_WIDTH__" path="" value="8"/>
<pathentry kind="mac" name="__INT32_C(c)" path="" value="c ## L"/>
<pathentry kind="mac" name="__DEC64_EPSILON__" path="" value="1E-15DD"/>
<pathentry kind="mac" name="__ORDER_PDP_ENDIAN__" path="" value="3412"/>
<pathentry kind="mac" name="__DEC128_MIN_EXP__" path="" value="(-6142)"/>
<pathentry kind="mac" name="__FLT32_MAX_10_EXP__" path="" value="38"/>
<pathentry kind="mac" name="__INT_FAST32_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__UINT_LEAST16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="unix" path="" value="1"/>
<pathentry kind="mac" name="__INT16_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__SIZE_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__UINT64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__INT8_TYPE__" path="" value="signed char"/>
<pathentry kind="mac" name="__ELF__" path="" value="1"/>
<pathentry kind="mac" name="__HAVE_BSWAP__" path="" value="1"/>
<pathentry kind="mac" name="__FLT_RADIX__" path="" value="2"/>
<pathentry kind="mac" name="__INT_LEAST16_TYPE__" path="" value="short int"/>
<pathentry kind="mac" name="__LDBL_EPSILON__" path="" value="2.2204460492503131e-16L"/>
<pathentry kind="mac" name="__UINTMAX_C(c)" path="" value="c ## ULL"/>
<pathentry kind="mac" name="__SIG_ATOMIC_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__GCC_ATOMIC_WCHAR_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIZEOF_PTRDIFF_T__" path="" value="4"/>
<pathentry kind="mac" name="__FLT32X_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__FLT32X_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__DEC32_SUBNORMAL_MIN__" path="" value="0.000001E-95DF"/>
<pathentry kind="mac" name="__INT_FAST16_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__vector" path="" value="__attribute__((altivec(vector__)))"/>
<pathentry kind="mac" name="__FLT64_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__UINT_FAST32_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__UINT_LEAST64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubadp" path="" value="__builtin_vsx_xvmsubdp"/>
<pathentry kind="mac" name="__builtin_vsx_xxsel" path="" value="__builtin_vec_sel"/>
<pathentry kind="mac" name="__FLT_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__bool" path="" value="__attribute__((altivec(bool__))) unsigned"/>
<pathentry kind="mac" name="__FLT_MAX_10_EXP__" path="" value="38"/>
<pathentry kind="mac" name="__LONG_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__DEC128_SUBNORMAL_MIN__" path="" value="0.000000000000000000000000000000001E-6143DL"/>
<pathentry kind="mac" name="__FLT_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__unix" path="" value="1"/>
<pathentry kind="mac" name="__UINT_FAST16_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__DEC64_MAX__" path="" value="9.999999999999999E384DD"/>
<pathentry kind="mac" name="__INT_FAST32_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__CHAR16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="__PRAGMA_REDEFINE_EXTNAME" path="" value="1"/>
<pathentry kind="mac" name="__SIZE_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST16_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__DEC64_MANT_DIG__" path="" value="16"/>
<pathentry kind="mac" name="__INT64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__UINT_LEAST32_MAX__" path="" value="0xffffffffUL"/>
<pathentry kind="mac" name="__FLT32_DENORM_MIN__" path="" value="1.4012984643248171e-45F32"/>
<pathentry kind="mac" name="__GCC_ATOMIC_LONG_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIG_ATOMIC_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__INT16_TYPE__" path="" value="short int"/>
<pathentry kind="mac" name="__INT_LEAST8_TYPE__" path="" value="signed char"/>
<pathentry kind="mac" name="__STDC_VERSION__" path="" value="201112L"/>
<pathentry kind="mac" name="__DEC32_MAX_EXP__" path="" value="97"/>
<pathentry kind="mac" name="_BIG_ENDIAN" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST8_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__INTPTR_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__FLT64_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__PPC" path="" value="1"/>
<pathentry kind="mac" name="__FLT32_MIN_10_EXP__" path="" value="(-37)"/>
<pathentry kind="mac" name="__FLT32X_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubasp" path="" value="__builtin_vsx_xvmsubsp"/>
<pathentry kind="mac" name="__LDBL_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__svr4__" path="" value="1"/>
<pathentry kind="mac" name="__DBL_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__SIG_ATOMIC_MIN__" path="" value="(-__SIG_ATOMIC_MAX__ - 1)"/>
<pathentry kind="mac" name="__INTPTR_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__UINT16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="__WCHAR_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_FLOAT__" path="" value="4"/>
<pathentry kind="mac" name="__UINTPTR_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__INT_FAST64_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__DEC64_MIN_EXP__" path="" value="(-382)"/>
<pathentry kind="mac" name="__FLT32_DECIMAL_DIG__" path="" value="9"/>
<pathentry kind="mac" name="__INT_FAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__GCC_ATOMIC_TEST_AND_SET_TRUEVAL" path="" value="1"/>
<pathentry kind="mac" name="__FLT_DIG__" path="" value="6"/>
<pathentry kind="mac" name="__FLT32_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__UINT_FAST64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__INT_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__INT64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__FLT_MAX_EXP__" path="" value="128"/>
<pathentry kind="mac" name="__builtin_vsx_xxlor" path="" value="__builtin_vec_or"/>
<pathentry kind="mac" name="__DBL_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__INT_LEAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR16_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__builtin_vsx_xxlxor" path="" value="__builtin_vec_xor"/>
<pathentry kind="mac" name="__DEC64_MIN__" path="" value="1E-383DD"/>
<pathentry kind="mac" name="__WINT_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__UINT_LEAST32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__SIZEOF_SHORT__" path="" value="2"/>
<pathentry kind="mac" name="__LDBL_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT64_MAX__" path="" value="1.7976931348623157e+308F64"/>
<pathentry kind="mac" name="__WINT_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST8_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__FLT32X_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__LDBL_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__ATOMIC_RELAXED" path="" value="0"/>
<pathentry kind="mac" name="__DBL_EPSILON__" path="" value="((double)2.2204460492503131e-16L)"/>
<pathentry kind="mac" name="__UINT8_C(c)" path="" value="c"/>
<pathentry kind="mac" name="PPC" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__INT_LEAST32_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_WCHAR_T__" path="" value="4"/>
<pathentry kind="mac" name="__UINT64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubadp" path="" value="__builtin_vsx_xvnmsubdp"/>
<pathentry kind="mac" name="__INT_FAST8_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__GNUC_STDC_INLINE__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__FLT32_EPSILON__" path="" value="1.1920928955078125e-7F32"/>
<pathentry kind="mac" name="__DBL_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__STDC_UTF_32__" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST8_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__DEC_EVAL_METHOD__" path="" value="2"/>
<pathentry kind="mac" name="__FLT32X_MAX__" path="" value="1.7976931348623157e+308F32x"/>
<pathentry kind="mac" name="__VEC_ELEMENT_REG_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddadp" path="" value="__builtin_vsx_xvmadddp"/>
<pathentry kind="mac" name="__ORDER_BIG_ENDIAN__" path="" value="4321"/>
<pathentry kind="mac" name="__UINT32_C(c)" path="" value="c ## UL"/>
<pathentry kind="mac" name="__INTMAX_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__BYTE_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__FLT_DENORM_MIN__" path="" value="1.4012984643248171e-45F"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubasp" path="" value="__builtin_vsx_xvnmsubsp"/>
<pathentry kind="mac" name="__INT8_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__LONG_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__UINT_FAST32_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__CHAR32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__FLT_MAX__" path="" value="3.4028234663852886e+38F"/>
<pathentry kind="mac" name="__FP_FAST_FMA" path="" value="1"/>
<pathentry kind="mac" name="__INT32_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_DOUBLE__" path="" value="8"/>
<pathentry kind="mac" name="__FLT_MIN_10_EXP__" path="" value="(-37)"/>
<pathentry kind="mac" name="__FLT64_MIN__" path="" value="2.2250738585072014e-308F64"/>
<pathentry kind="mac" name="__INT_LEAST32_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INTMAX_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__DEC128_MAX_EXP__" path="" value="6145"/>
<pathentry kind="mac" name="__FLT32X_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__ATOMIC_CONSUME" path="" value="1"/>
<pathentry kind="mac" name="__GNUC_MINOR__" path="" value="3"/>
<pathentry kind="mac" name="__INT_FAST16_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__UINTMAX_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__DEC32_MANT_DIG__" path="" value="7"/>
<pathentry kind="mac" name="__FLT32X_DENORM_MIN__" path="" value="4.9406564584124654e-324F32x"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddasp" path="" value="__builtin_vsx_xvmaddsp"/>
<pathentry kind="mac" name="__DBL_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__LDBL_DENORM_MIN__" path="" value="4.9406564584124654e-324L"/>
<pathentry kind="mac" name="__INT16_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__STDC__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubmdp" path="" value="__builtin_vsx_xvmsubdp"/>
<pathentry kind="mac" name="__PTRDIFF_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__ATOMIC_SEQ_CST" path="" value="5"/>
<pathentry kind="mac" name="__UINT32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__FLT32X_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__UINTPTR_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__DEC64_SUBNORMAL_MIN__" path="" value="0.000000000000001E-383DD"/>
<pathentry kind="mac" name="__DEC128_MANT_DIG__" path="" value="34"/>
<pathentry kind="mac" name="__LDBL_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__SIZEOF_LONG_LONG__" path="" value="8"/>
<pathentry kind="mac" name="_Bool" path="" value="_Bool"/>
<pathentry kind="mac" name="__GCC_ATOMIC_LLONG_LOCK_FREE" path="" value="1"/>
<pathentry kind="mac" name="__FLT32X_MIN__" path="" value="2.2250738585072014e-308F32x"/>
<pathentry kind="mac" name="__LDBL_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__FLT_DECIMAL_DIG__" path="" value="9"/>
<pathentry kind="mac" name="__UINT_FAST16_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__GCC_ATOMIC_SHORT_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__INT_LEAST64_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__UINT_FAST8_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__ATOMIC_ACQ_REL" path="" value="4"/>
<pathentry kind="mac" name="__ATOMIC_RELEASE" path="" value="3"/>
</storageModule>
</cproject>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://www.ddci.com/DEOS_SHARED_OBJECToptions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ddci:/xsd/DEOS_SHARED_OBJECT.xsd http://www.ddci.com/DEOS_SHARED_OBJECToptions">
<version>26</version>
<targetArch>ppc</targetArch>
<variant>diagnostic</variant>
<depend>kernel</depend>
<depend variant="diagnostic">video</depend>
<depend>ansi</depend>
<depend>math</depend>
<depend>deos-time</depend>
<depend>sal</depend>
<depend>mtl</depend>
<depend>printx</depend>
<depend>gnu-language</depend>
<kernelFile kfs="hypstart">lib$(PROJECT_NAME).so</kernelFile>
<copyToAppbin>$(BINARY)</copyToAppbin>
<copyToAppbin>$(BINARY).dbg</copyToAppbin>
<gccCCompileDirectories targetArch="arm">$(DESK_DIR)/arm/include</gccCCompileDirectories>
<gccCCompileDirectories targetArch="ppc">$(DESK_DIR)/ppc/include</gccCCompileDirectories>
<gccCCompileDirectories targetArch="x86">$(DESK_DIR)/x86/include</gccCCompileDirectories>
<gccCCompileDirectories>$(DESK_DIR)/include</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/../../../..</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/../../../../fips</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/..</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR.printx)/code</gccCCompileDirectories>
<gccCCompileDefinedMacros>WOLFSSL_USER_SETTINGS</gccCCompileDefinedMacros>
<gccCppLinkDirectories targetArch="arm">$(DESK_DIR)/arm/appbin</gccCppLinkDirectories>
<gccCppLinkDirectories targetArch="ppc">$(DESK_DIR)/ppc/appbin</gccCppLinkDirectories>
<gccCppLinkDirectories targetArch="x86">$(DESK_DIR)/x86/appbin</gccCppLinkDirectories>
<gccCppLinkUseIntermediateArchive>true</gccCppLinkUseIntermediateArchive>
<gccCppLinkAdditionalOptions>-L $(PROJECT_DIR.printx)/output/powerpc-motorola-elf/diagnostic</gccCppLinkAdditionalOptions>
<fpuType>none</fpuType>
<ignore>fips.c</ignore>
<ignore>fips_test.c</ignore>
<ignore>selftest.c</ignore>
</project>

View File

@@ -0,0 +1,629 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfssl</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.ddci.common.ide.Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.ddci.common.ide.DdciNature</nature>
<nature>com.ddci.common.ide.ExecutableNature</nature>
<nature>com.ddci.deos.common.deosLoadListNature</nature>
<nature>com.ddci.common.ide.DEOS_SHARED_OBJECT</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
</natures>
<linkedResources>
<link>
<name>deos_malloc.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/deos_malloc.c</locationURI>
</link>
<link>
<name>fips.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/fips.c</locationURI>
</link>
<link>
<name>fips_test.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/fips_test.c</locationURI>
</link>
<link>
<name>selftest.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/selftest.c</locationURI>
</link>
<link>
<name>user_settings.h</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/user_settings.h</locationURI>
</link>
<link>
<name>wolfssl</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfssl</locationURI>
</link>
<link>
<name>src/crl.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/crl.c</locationURI>
</link>
<link>
<name>src/internal.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/internal.c</locationURI>
</link>
<link>
<name>src/keys.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/keys.c</locationURI>
</link>
<link>
<name>src/ocsp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/ocsp.c</locationURI>
</link>
<link>
<name>src/sniffer.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/sniffer.c</locationURI>
</link>
<link>
<name>src/ssl.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/ssl.c</locationURI>
</link>
<link>
<name>src/tls.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/tls.c</locationURI>
</link>
<link>
<name>src/tls13.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/tls13.c</locationURI>
</link>
<link>
<name>src/wolfio.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/wolfio.c</locationURI>
</link>
<link>
<name>wolfcrypt/benchmark</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/benchmark</locationURI>
</link>
<link>
<name>wolfcrypt/test</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/test</locationURI>
</link>
<link>
<name>wolfcrypt/src/aes.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/aes.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/arc4.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/arc4.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/asm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/asn.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asn.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/blake2b.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2b.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/blake2s.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2s.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/camellia.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/camellia.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/chacha.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/chacha20_poly1305.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha20_poly1305.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cmac.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cmac.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/coding.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/coding.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/compress.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/compress.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cpuid.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cpuid.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cryptocb.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cryptocb.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/curve25519.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve25519.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/curve448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/des3.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/des3.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/dh.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dh.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/dsa.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dsa.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ecc.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ecc_fp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc_fp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ed25519.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed25519.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ed448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/error.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/error.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_low_mem.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_low_mem.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_operations.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_operations.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_x25519_128.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_x25519_128.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mont_small.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mont_small.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_12.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_12.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_17.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_17.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_20.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_20.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_24.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_24.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_28.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_28.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_3.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_3.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_32.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_32.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_4.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_4.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_48.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_48.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_6.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_6.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_64.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_64.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_7.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_7.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_8.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_8.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_9.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_9.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_small_set.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_small_set.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_12.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_12.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_17.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_17.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_20.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_20.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_24.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_24.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_28.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_28.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_3.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_3.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_32.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_32.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_4.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_4.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_48.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_48.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_6.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_6.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_64.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_64.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_7.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_7.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_8.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_8.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_9.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_9.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_small_set.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_small_set.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_low_mem.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_low_mem.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_operations.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_operations.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hash.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hash.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hc128.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hc128.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hmac.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hmac.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/idea.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/idea.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/integer.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/integer.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/logging.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/logging.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md2.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md2.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md4.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md4.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md5.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md5.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/memory.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/memory.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pkcs12.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs12.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pkcs7.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs7.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/poly1305.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/poly1305.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pwdbased.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pwdbased.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rabbit.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rabbit.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/random.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/random.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rc2.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rc2.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ripemd.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ripemd.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rsa.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rsa.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha256.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha256.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha3.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha3.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha512.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha512.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/signature.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/signature.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_arm32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_arm64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_armthumb.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_armthumb.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_c32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_c64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_cortexm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_cortexm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_dsp32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_dsp32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_int.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_int.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_x86_64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_x86_64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/srp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/srp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/tfm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/tfm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_dsp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_dsp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_encrypt.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_encrypt.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_pkcs11.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_pkcs11.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_port.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_port.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wolfevent.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfevent.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wolfmath.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfmath.c</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>WOLFSSL_ROOT</name>
<value>$%7BPARENT-4-PROJECT_LOC%7D</value>
</variable>
</variableList>
</projectDescription>

View File

@@ -7,4 +7,7 @@ EXTRA_DIST += \
IDE/ECLIPSE/DEOS/user_settings.h \
IDE/ECLIPSE/DEOS/tls_wolfssl.h \
IDE/ECLIPSE/DEOS/tls_wolfssl.c \
IDE/ECLIPSE/DEOS/deos_malloc.c
IDE/ECLIPSE/DEOS/deos_malloc.c \
IDE/ECLIPSE/DEOS/deos_wolfssl/.cproject \
IDE/ECLIPSE/DEOS/deos_wolfssl/.options \
IDE/ECLIPSE/DEOS/deos_wolfssl/.project

View File

@@ -1,6 +1,6 @@
/* tls_wolfssl.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* tls_wolfssl.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_setting.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -65,6 +65,8 @@ You can get the current time from https://www.unixtimestamp.com/
#define HAVE_ED25519
#define ED25519_SMALL
#define WOLFSSL_DTLS
/* TLS 1.3 */
#if 0
#define WOLFSSL_TLS13
@@ -103,8 +105,6 @@ You can get the current time from https://www.unixtimestamp.com/
#endif
#define printf printx
#ifdef __cplusplus
} /* extern "C" */
#endif

View File

@@ -1,6 +1,6 @@
/* client_wolfssl.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* client_wolfssl.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* server_wolfssl.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* server_wolfssl.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_setting.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolfsslRunTests.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_setting.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolfsslRunTests.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* config.h - dummy
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* helper.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -118,7 +118,7 @@ int construct_argv()
__argv[cnt] = malloc(10);
sprintf(__argv[cnt], "benchmark");
__argv[9] = '\0';
__argv[cnt][9] = '\0';
cnt = 1;
while (*ch != '\0')

View File

@@ -1,6 +1,6 @@
/* client-tls-callback.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wifi_connect.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -51,10 +51,10 @@ static void set_time()
time_t now;
struct tm timeinfo;
char strftime_buf[64];
/* please update the time if seeing unknown failure. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
/* please update the time if seeing unknown failure when loading cert. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
utctime.tv_usec = 0;
tz.tz_minuteswest = 0;
tz.tz_dsttime = 0;

View File

@@ -1,6 +1,6 @@
/* wifi_connect.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* server-tls-callback.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wifi_connect.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -48,10 +48,10 @@ static void set_time()
time_t now;
struct tm timeinfo;
char strftime_buf[64];
/* please update the time if seeing unknown failure. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
/* please update the time if seeing unknown failure when loading cert. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
utctime.tv_usec = 0;
tz.tz_minuteswest = 0;
tz.tz_dsttime = 0;

View File

@@ -32,10 +32,10 @@ xcopy /Y/Q %BASEDIR%\src\*.c %WOLFSSLLIB_TRG_DIR%\src\
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.c %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.i %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\src\port %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src\port\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\test\ %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark\ %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\test %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
xcopy /Y/Q %BASEDIR%\wolfssl\*.h %WOLFSSLLIB_TRG_DIR%\wolfssl\
xcopy /E/Y/Q %BASEDIR%\wolfssl\wolfcrypt\ %WOLFSSLLIB_TRG_DIR%\wolfssl\wolfcrypt\
xcopy /E/Y/Q %BASEDIR%\wolfssl\wolfcrypt %WOLFSSLLIB_TRG_DIR%\wolfssl\wolfcrypt\
rem user_settings.h
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\user_settings.h %WOLFSSLLIB_TRG_DIR%\include\

View File

@@ -666,7 +666,7 @@ TEST_CASE("wolfssl sha crypt-test", "[wolfssl]")
ESP_LOGI(TAG, "sha256_test()");
TEST_ASSERT_EQUAL(0, sha256_test());
#endif
#ifdef WOLSSL_SHA384
#ifdef WOLFSSL_SHA384
ESP_LOGI(TAG, "sha384_test()");
TEST_ASSERT_EQUAL(0, sha384_test());
#endif

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* armtarget.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* benchmark_main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* test_main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* tls_client.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolf_main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
# Makefile
#
# Copyright (C) 2006-2020 wolfSSL Inc.
# Copyright (C) 2006-2021 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
@@ -17,6 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
#/
ENVI=hexagon

View File

@@ -1,6 +1,6 @@
# Makefile
#
# Copyright (C) 2006-2020 wolfSSL Inc.
# Copyright (C) 2006-2021 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
@@ -17,6 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
#/
ENVI=UbuntuARM

View File

@@ -1,6 +1,6 @@
/* ecc-verify-benchmark.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* ecc-verify.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* benchmark-main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* current-time.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* minimum-startup.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* test-main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -14,7 +14,7 @@ extern "C" {
#define INTIME_RTOS
#undef WOLF_EXAMPLES_STACK
#define WOLF_EXAMPLES_STACK 65536
#define WOLF_EXAMPLES_STACK (1<<17)
#undef WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT 4
@@ -27,7 +27,7 @@ extern "C" {
/* disable directory support */
#undef NO_WOLFSSL_DIR
#define NO_WOLFSSL_DIR
//#define NO_WOLFSSL_DIR
/* disable writev */
#undef NO_WRITEV

View File

@@ -66,7 +66,7 @@
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>

View File

@@ -1,6 +1,6 @@
/* lpc_18xx_port.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* lpc_18xx_startup.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* time.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* certs_test.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* config-BEREFOOT.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* config-FS.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* config.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/*shell.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* time-STM32F2.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolfssl_KEIL_RL.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
@@ -197,6 +197,7 @@ FILE * wolfSSL_fopen(const char *name, const char *openmode)
#define PATHSIZE 100
char path[PATHSIZE] ; char *p ;
if (name == NULL) return NULL;
if(strlen(name) > PATHSIZE)return(NULL) ;
for(i = 0; i<= strlen(name); i++) {

View File

@@ -1,6 +1,6 @@
/* wolfssl_KEIL_RL.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* time-STM32F2xx.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* wolfssl_KEIL_ARM.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* main.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/*shell.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* time-STM32F2.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* user_settings.h
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,6 +1,6 @@
/* ssl-dummy.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*

View File

@@ -1,8 +1,8 @@
/* client-tls.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,8 +16,9 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/* wolfSSL */

View File

@@ -1,8 +1,8 @@
/* server-tls.c
*
* Copyright (C) 2006-2020 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,8 +16,9 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/* wolfSSL */
#include <wolfssl/wolfcrypt/settings.h>

View File

@@ -54,7 +54,7 @@
#define USE_FAST_MATH
#define WC_NO_ASYNC_THREADING
#define HAVE_DH_DEFAULT_PARAMS
#define NO_DES
#define NO_DES3
#define WOLFSSL_DH_CONST
/* MQX */

View File

@@ -1,6 +1,6 @@
# CMakeLists.txt
#
# Copyright (C) 2006-2020 wolfSSL Inc.
# Copyright (C) 2006-2021 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
@@ -18,6 +18,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
#/
#/
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include

View File

@@ -1,6 +1,6 @@
# CMakeLists.txt
#
# Copyright (C) 2006-2020 wolfSSL Inc.
# Copyright (C) 2006-2021 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
@@ -18,6 +18,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
#/
#/
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include

View File

@@ -0,0 +1,34 @@
ARTIFACT = wolfCrypt
#Build architecture/variant string, possible values: x86, armv7le, etc...
PLATFORM = armv7le
OUTPUT_DIR = build
TARGET = $(ARTIFACT)
CC = qcc -Vgcc_nto$(PLATFORM)
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
LD = $(CC)
INCLUDES += -I../../../wolfssl/wolfcrypt/port/caam/
CCFLAGS += -O2 -Wall
SRCS = \
../../../wolfcrypt/src/port/caam/caam_driver.c \
../../../wolfcrypt/src/port/caam/caam_error.c \
../../../wolfcrypt/src/port/caam/caam_qnx.c \
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
$(OUTPUT_DIR)/%.o: %.c
@mkdir -p $(dir $@)
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
$(TARGET):$(OBJS)
$(LD) -o $(TARGET) $(LDFLAGS) $(OBJS) $(LIBS)
all: $(TARGET)
clean:
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
rebuild: clean all

28
IDE/QNX/README.md Normal file
View File

@@ -0,0 +1,28 @@
# QNX CAAM Driver And Examples
This directory contains;
- A Makefile for creating the QNX CAAM driver located at IDE/QNX/CAAM-DRIVER/Makefile
- An example TLS server located at IDE/QNX/example-server/
- An example client located at IDE/QNX/example-client
- An example CMAC use located at IDE/QNX/example-cmac
To build either of these, first build wolfSSL with support for use with QNX CAAM. To do this use the configure option --enable-caam=qnx
```
bash
source ~/qnx700/qnxsdp-env.sh
./configure --host=arm-unknown-nto-qnx7.0.0eabi --enable-caam=qnx
make
```
Once the wolfSSL library has been built cd to IDE/QNX/CAAM-DRIVER and run "make". This will produce the wolfCrypt resource manager. It should be started on the device with root permisions. Once wolfCrypt is running on the device with root permisions then any user with access to open a connection to wolfCrypt can make use of the driver.
### Supported Operations By CAAM Driver
- ECC black key creation
- ECC black key sign / verify / ecdh
- Black blob creation and open
- Red blob creation and open
- Cover keys (turn to black key)
- CMAC with and without black keys
- TRNG used by default to seed Hash DRBG

View File

@@ -0,0 +1,33 @@
ARTIFACT = client-tls
#Build architecture/variant string, possible values: x86, armv7le, etc...
PLATFORM = armv7le
OUTPUT_DIR = build
TARGET = $(ARTIFACT)
CC = qcc -Vgcc_nto$(PLATFORM)
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
LD = $(CC)
INCLUDES += -I../../../
LIBS += -L../../../src/.libs/ -lwolfssl
LIBS += -lsocket -lm
CCFLAGS += -O2 -Wall
SRCS = client-tls.c
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
$(OUTPUT_DIR)/%.o: %.c
@mkdir -p $(dir $@)
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
$(TARGET):$(OBJS)
$(LD) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET)
clean:
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
rebuild: clean all

View File

@@ -0,0 +1,266 @@
/* client-tls.c
*
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
/* socket includes */
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <unistd.h>
/* wolfSSL */
#include <wolfssl/options.h>
#include <wolfssl/ssl.h>
/* malloc out buffer and fill it with converted DER to PEM
* returns pem size on success
*/
static int convertDerToPem(int type, char* file, unsigned char **out)
{
int derSz, pemSz;
unsigned char der[4096];
unsigned char *pem;
FILE* f;
f = fopen(file, "rb");
if (f == NULL) {
fprintf(stderr, "unable to open cert file %s\n", file);
return -1;
}
derSz = fread(der, 1, sizeof(der), f);
fclose(f);
pemSz = wc_DerToPemEx(der, derSz, NULL, 0, NULL, type);
if (pemSz <= 0) {
fprintf(stderr, "issue getting pem size needed\n");
return -1;
}
pem = (unsigned char*)malloc(pemSz);
if (pem == NULL) {
fprintf(stderr, "issue malloc'ing pem size needed\n");
return -1;
}
pemSz = wc_DerToPemEx(der, derSz, pem, pemSz, NULL, type);
if (pemSz <= 0) {
fprintf(stderr, "issue %d converting der to pem\n", pemSz);
free(pem);
return -1;
}
*out = pem;
return pemSz;
}
int main(int argc, char** argv)
{
int sockfd;
struct sockaddr_in servAddr;
char buff[256];
size_t len;
int ret;
int port;
int pemSz;
unsigned char *pem;
FILE* f;
/* declare wolfSSL objects */
WOLFSSL_CTX* ctx;
WOLFSSL* ssl;
/* Check for proper calling convention */
if (argc != 6) {
printf("usage: %s <port> <IPv4 address> <CA PEM> <cert DER> <key DER>\n",
argv[0]);
return 0;
}
port = atoi(argv[1]);
/* Create a socket that uses an internet IPv4 address,
* Sets the socket to be stream based (TCP),
* 0 means choose the default protocol. */
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
fprintf(stderr, "ERROR: failed to create the socket\n");
ret = -1;
goto end;
}
/* Initialize the server address struct with zeros */
memset(&servAddr, 0, sizeof(servAddr));
/* Fill in the server address */
servAddr.sin_family = AF_INET; /* using IPv4 */
servAddr.sin_port = htons(port); /* on DEFAULT_PORT */
/* Get the server IPv4 address from the command line call */
if (inet_pton(AF_INET, argv[2], &servAddr.sin_addr) != 1) {
fprintf(stderr, "ERROR: invalid address\n");
ret = -1;
goto end;
}
/* Connect to the server */
if ((ret = connect(sockfd, (struct sockaddr*) &servAddr, sizeof(servAddr)))
== -1) {
fprintf(stderr, "ERROR: failed to connect\n");
goto end;
}
/*---------------------------------*/
/* Start of security */
/*---------------------------------*/
/* Initialize wolfSSL */
if ((ret = wolfSSL_Init()) != WOLFSSL_SUCCESS) {
fprintf(stderr, "ERROR: Failed to initialize the library\n");
goto socket_cleanup;
}
/* Create and initialize WOLFSSL_CTX */
if ((ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())) == NULL) {
fprintf(stderr, "ERROR: failed to create WOLFSSL_CTX\n");
ret = -1;
goto socket_cleanup;
}
/* load cert and convert DER to PEM using dynamic length */
pemSz = convertDerToPem(CERT_TYPE, argv[4], &pem);
if (pemSz <= 0) {
fprintf(stderr, "ERROR: converting DER cert to PEM\n");
ret = -1;
goto socket_cleanup;
}
if (wolfSSL_CTX_use_certificate_buffer(ctx, pem, pemSz,
WOLFSSL_FILETYPE_PEM) != WOLFSSL_SUCCESS) {
fprintf(stderr, "issue loading in pem cert\n");
ret = -1;
free(pem);
goto socket_cleanup;
}
free(pem);
/* load key and convert DER to PEM using dynamic length */
pemSz = convertDerToPem(PRIVATEKEY_TYPE, argv[5], &pem);
if (pemSz <= 0) {
fprintf(stderr, "ERROR: converting DER key to PEM\n");
ret = -1;
goto socket_cleanup;
}
if (wolfSSL_CTX_use_PrivateKey_buffer(ctx, pem, pemSz,
WOLFSSL_FILETYPE_PEM) != WOLFSSL_SUCCESS) {
fprintf(stderr, "issue loading in pem key\n");
ret = -1;
free(pem);
goto socket_cleanup;
}
free(pem);
/* Load client certificates into WOLFSSL_CTX */
f = fopen(argv[3], "rb");
if (f == NULL) {
fprintf(stderr, "unable to open %s\n", argv[3]);
ret = -1;
goto socket_cleanup;
}
fseek(f, 0, SEEK_END);
pemSz = ftell(f);
rewind(f);
pem = malloc(pemSz);
if (pem == NULL) {
fclose(f);
ret = -1;
goto socket_cleanup;
}
pemSz = fread(pem, 1, pemSz, f);
fclose(f);
ret = wolfSSL_CTX_load_verify_buffer(ctx, pem, pemSz, WOLFSSL_FILETYPE_PEM);
if (ret != SSL_SUCCESS) {
fprintf(stderr, "ERROR %d: failed to load %s, please check the file.\n",
ret, argv[3]);
free(pem);
goto ctx_cleanup;
}
free(pem);
/* Create a WOLFSSL object */
if ((ssl = wolfSSL_new(ctx)) == NULL) {
fprintf(stderr, "ERROR: failed to create WOLFSSL object\n");
ret = -1;
goto ctx_cleanup;
}
/* Attach wolfSSL to the socket */
if ((ret = wolfSSL_set_fd(ssl, sockfd)) != WOLFSSL_SUCCESS) {
fprintf(stderr, "ERROR: Failed to set the file descriptor\n");
goto cleanup;
}
/* Connect to wolfSSL on the server side */
if ((ret = wolfSSL_connect(ssl)) != SSL_SUCCESS) {
fprintf(stderr, "ERROR: failed to connect to wolfSSL\n");
goto cleanup;
}
/* Get a message for the server from stdin */
printf("Message for server: ");
memset(buff, 0, sizeof(buff));
if (fgets(buff, sizeof(buff), stdin) == NULL) {
fprintf(stderr, "ERROR: failed to get message for server\n");
ret = -1;
goto cleanup;
}
len = strnlen(buff, sizeof(buff));
/* Send the message to the server */
if ((ret = wolfSSL_write(ssl, buff, len)) != len) {
fprintf(stderr, "ERROR: failed to write entire message\n");
fprintf(stderr, "%d bytes of %d bytes were sent", ret, (int) len);
goto cleanup;
}
/* Read the server data into our buff array */
memset(buff, 0, sizeof(buff));
if ((ret = wolfSSL_read(ssl, buff, sizeof(buff)-1)) == -1) {
fprintf(stderr, "ERROR: failed to read\n");
goto cleanup;
}
/* Print to stdout any data the server sends */
printf("Server: %s\n", buff);
/* Cleanup and return */
cleanup:
wolfSSL_free(ssl); /* Free the wolfSSL object */
ctx_cleanup:
wolfSSL_CTX_free(ctx); /* Free the wolfSSL context object */
wolfSSL_Cleanup(); /* Cleanup the wolfSSL environment */
socket_cleanup:
close(sockfd); /* Close the connection to the server */
end:
return ret; /* Return reporting a success */
}

View File

@@ -0,0 +1,33 @@
ARTIFACT = cmac-test
#Build architecture/variant string, possible values: x86, armv7le, etc...
PLATFORM = armv7le
OUTPUT_DIR = build
TARGET = $(ARTIFACT)
CC = qcc -Vgcc_nto$(PLATFORM)
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
LD = $(CC)
INCLUDES += -I../../../
LIBS += -L../../../src/.libs/ -lwolfssl
LIBS += -lsocket -lm
CCFLAGS += -O2 -Wall
SRCS = cmac-test.c
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
$(OUTPUT_DIR)/%.o: %.c
@mkdir -p $(dir $@)
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
$(TARGET):$(OBJS)
$(LD) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET)
clean:
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
rebuild: clean all

Some files were not shown because too many files have changed in this diff Show More