Compare commits

..

975 Commits

Author SHA1 Message Date
jackctj117
0767cb84bf Removed trailing white space 2025-11-14 09:03:51 -07:00
jackctj117
5e2fd78113 Suppress unused parameter warning 2025-11-13 18:32:00 -07:00
jackctj117
29c2f15a8f Add #ifdef guards to cipher suite checks 2025-11-13 10:06:07 -07:00
jackctj117
c56ea55f89 Fix TLS 1.3 cipher suite selection when TLS 1.2 ciphers precede TLS 1.3 ciphers 2025-11-12 17:03:06 -07:00
David Garske
7cfffd5bbc Merge pull request #9308 from kareem-wolfssl/zd20603
Add IPv6 support to wolfSSL_BIO_new_accept and wolfIO_TcpBind.
2025-11-12 11:09:17 -08:00
David Garske
92fffa166b Merge pull request #9413 from JacobBarthelmeh/lic
update to GPLv3 exception list, add Fetchmail and OpenVPN
2025-11-12 10:12:29 -08:00
David Garske
3fe534e3a2 Merge pull request #9403 from gojimmypi/pr-lms-unary-fix
Fix LMS C4146 unary minus warning in MSVC, new param check
2025-11-12 08:40:33 -08:00
gojimmypi
ca920edbd0 Fix LMS C4146 unary minus warning in MSVC, new param check 2025-11-11 19:26:52 -08:00
Kareem
fbb7ae2257 Add NULL check to wolfSSL_BIO_new_accept. 2025-11-11 16:20:09 -07:00
Kareem
3296e6a1f0 Merge remote-tracking branch 'upstream/master' into zd20603 2025-11-11 16:15:22 -07:00
David Garske
6914f08f5e Merge pull request #9391 from holtrop/check-dup-extensions-fix
Check for duplicate extensions in client hello when HAVE_TLS_EXTENSIONS is not set - fix #9377
2025-11-11 14:05:14 -08:00
Josh Holtrop
798b16dcef Address more code review feedback for PR 9391 2025-11-11 15:36:28 -05:00
Josh Holtrop
32b00fd10b Address code review feedback for PR 9391 2025-11-11 14:06:44 -05:00
David Garske
4c273a6f3f Merge pull request #9404 from cconlon/jniNoQuicEch
Fixes for "--enable-jni --enable-all" with WOLFSSL_TLS13_MIDDLEBOX_COMPAT
2025-11-11 09:42:38 -08:00
David Garske
e323fb9675 Merge pull request #9410 from SparkiDev/multi_arch_opt
Workflow: multiple architectures with different -O levels
2025-11-11 09:42:21 -08:00
David Garske
2db1c7a522 Merge pull request #9395 from SparkiDev/tls12_cv_sig_check
TLS 1.2 CertificateVerify: validate sig alg matches peer key
2025-11-11 09:18:11 -08:00
JacobBarthelmeh
4da365214a Merge pull request #9412 from SparkiDev/regression_fixes_21
Regression testing fixes
2025-11-11 09:32:43 -07:00
Sean Parkinson
d84564217c Regression testing fixes
Fix #ifdef protection for AES tests.
2025-11-11 21:46:04 +10:00
Sean Parkinson
702f6ce94f Workflow: multiple architectures with different -O levels
Test configurations with different optimization levels: -O2, -O3, -O1,
-O0, -Os, -Ofast
2025-11-11 17:50:48 +10:00
Sean Parkinson
f54ca0d481 TLS 1.2 CertificateVerify: req sig alg to have been in CR
The signature algorithm specified in CertificateVerify must have been in
the CertificateRequest. Add check.

The cipher suite test cases, when client auth and RSA are built-in and
use the default client certificate and use the *-ECDSA-* cipher
suites, no longer work. The client certificate must be ECC when the
cipher suite has ECDSA. Don't run them for that build.
2025-11-11 13:20:46 +10:00
David Garske
967f520c28 Merge pull request #9408 from anhu/stateful_integ_deprecate
Deprecate LMS and XMSS integrations.
2025-11-10 15:17:51 -08:00
JacobBarthelmeh
0fa2274a16 Merge pull request #9406 from SparkiDev/sp_label_noinline
SP label noinline: function inlined even when asked not to
2025-11-10 14:52:14 -07:00
Anthony Hu
0771bc42d6 Deprecate LMS and XMSS integrations. 2025-11-10 15:13:06 -05:00
David Garske
2c47675194 Merge pull request #9333 from gojimmypi/pr-msvc-random
Conditional wolfcrypt-only wc_RNG_GenerateBlock for MSVC
2025-11-10 08:33:54 -08:00
Josh Holtrop
3af60ff85d Check for duplicate extensions in client hello when HAVE_TLS_EXTENSIONS is not set - fix #9377 2025-11-10 10:06:07 -05:00
Sean Parkinson
b7ade58c52 SP label noinline: function inlined even when asked not to
The label L_521_mont_reduce_9_nomask is therefore appearing more than
once in the compiled code.
Adding '%=' to the end of the label ensure it has a unique number
appended to it even when inlined.
2025-11-10 20:05:41 +10:00
Daniel Pouzzner
9c1526c90d Merge pull request #9401 from cconlon/jniPublicMp
Add WOLFSSL_PUBLIC_MP to --enable-jni for wolfJCE RSA KeyFactory support
2025-11-08 11:07:54 -06:00
Daniel Pouzzner
f977004dca Merge pull request #9400 from cconlon/ocspStaplingTls13MultiMktemp
Use portable mktemp syntax in ocsp-stapling_tls13multi.test
2025-11-08 11:07:28 -06:00
Daniel Pouzzner
9e9a7392d4 Merge pull request #9373 from julek-wolfssl/WOLFSSL_HOSTNAME_VERIFY_ALT_NAME_ONLY
Add missing WOLFSSL_HOSTNAME_VERIFY_ALT_NAME_ONLY guards
2025-11-08 11:04:43 -06:00
Daniel Pouzzner
ea4311666e Merge pull request #9367 from julek-wolfssl/wolfDTLS_accept_stateless-early-data
wolfDTLS_accept_stateless: Fix handling for early data
2025-11-08 11:04:19 -06:00
Daniel Pouzzner
8b3eaa0eff Merge pull request #9370 from gojimmypi/pr-watcom-update
Update and pin Watcom to 2025-11-03-Build release
2025-11-08 09:31:22 -06:00
Chris Conlon
fdec53c4c9 skip test_tls13_hrr_different_cs() test when WOLFSSL_TLS13_MIDDLEBOX_COMPAT is defined 2025-11-07 17:09:30 -07:00
Chris Conlon
0cf3728ca0 update "--enable-jni --enable-all" combo to exclude QUIC and ECH, not compatible with WOLFSSL_TLS13_MIDDLEBOX_COMPAT 2025-11-07 16:50:41 -07:00
David Garske
b45217db00 Merge pull request #9402 from anhu/stsafe_doc
Correction about how to get interface files.
2025-11-07 13:59:45 -08:00
Anthony Hu
22ab16df97 Correction about how to get interface files. 2025-11-07 16:53:30 -05:00
Chris Conlon
88373d8cb5 add WOLFSSL_PUBLIC_MP to --enable-jni for wolfJCE RSA KeyFactory support 2025-11-07 14:14:51 -07:00
JacobBarthelmeh
4f4826ae92 Merge pull request #9385 from anhu/not_len
Use suites->hashSigAlgoSz when calling TLSX_SignatureAlgorithms_MapPss
2025-11-07 13:49:30 -07:00
gojimmypi
8654599e61 Conditional wolfcrypt-only wc_RNG_GenerateBlock for MSVC 2025-11-07 11:08:44 -08:00
JacobBarthelmeh
0d49df7735 update to GPLv3 exception list, add Fetchmail and OpenVPN 2025-11-07 12:06:29 -07:00
JacobBarthelmeh
4c5bc5f8fe Merge pull request #9387 from SparkiDev/tls12_cr_order
TLS 1.2: client message order check
2025-11-07 10:00:39 -07:00
JacobBarthelmeh
222f6084f8 Merge pull request #9399 from douzzer/20251106-linuxkm-PIE-inline-thunks
20251106-linuxkm-PIE-inline-thunks
2025-11-07 08:33:53 -07:00
Sean Parkinson
58bd6a8d94 TLS 1.2 CertificateVerify: validate sig alg matches peer key
Don't proceed with parsing CertificateVerify message in TLS 1.2 if the
signature algorithm doesn't match the peer's key (key from client
certificate).
2025-11-07 13:26:26 +10:00
JacobBarthelmeh
a96b35c0ff Merge pull request #9398 from toddouska/master
Add GPLv2 exception list to LICENSING
2025-11-06 17:19:59 -07:00
Chris Conlon
f208716b80 use portable mktemp syntax in scripts/ocsp-stapling_tls13multi.test for macOS compatibility 2025-11-06 16:54:23 -07:00
Daniel Pouzzner
53a20f4928 linuxkm/Kbuild: when ENABLED_LINUXKM_PIE, use inline thunks on all objects, not just PIE objects, to resolve false-positive "unpatched thunk" warnings on some kernels/configs. also cleans up flag setup more generally. 2025-11-06 17:37:07 -06:00
Sean Parkinson
f376c8d910 Merge pull request #9388 from lealem47/scan_build
Various fixes for nightly tests
2025-11-07 09:30:08 +10:00
Sean Parkinson
3416a0f70e Merge pull request #9393 from rlm2002/zd20756
Integer overflow and dead code removal
2025-11-07 09:27:05 +10:00
Todd Ouska
e02de78507 Add GPLv2 exception list to LICENSING 2025-11-06 15:18:57 -08:00
Sean Parkinson
98d84eb435 Merge pull request #9396 from julek-wolfssl/fil-c-674
Updates the Fil-C version to 0.674
2025-11-07 08:39:38 +10:00
JacobBarthelmeh
ca51fda3bb Merge pull request #9372 from SparkiDev/curve25519_no_lshift_neg_val
Curve25519: lshift of a negative value is undefined in C
2025-11-06 15:22:38 -07:00
Lealem Amedie
15ecc2e4da Update Rowley settings to define WOLFSSL_NO_SOCK 2025-11-06 15:11:49 -07:00
Ruby Martin
ec60d88f82 remove deadcode else statement when computing kid_type 2025-11-06 15:04:37 -07:00
Ruby Martin
9b2f7a371f remove duplicate keylen check (deadcode)
wrap if statement in macro guard
2025-11-06 15:04:37 -07:00
Ruby Martin
78f2e65da6 add cast to int64_t 2025-11-06 14:58:37 -07:00
Lealem Amedie
2b8f83fd8d Fixes for getrandom detection 2025-11-06 14:16:38 -07:00
Lealem Amedie
d3de6305e8 Exit wolfcrypt test if wolfCrypt_Init fails 2025-11-06 10:24:44 -07:00
Lealem Amedie
eecf82362e Check for getrandom declaration 2025-11-06 10:24:20 -07:00
Juliusz Sosinowicz
bd2cc5ba5c fixup! DTLS: Introduce custom I/O callbacks API and structure 2025-11-06 18:07:18 +01:00
Juliusz Sosinowicz
c2377fd266 DTLS: Clear userSet when peer is set in EmbedReceiveFrom
This allows us to differentiate between the user explicitly setting a peer and wolfio setting it. When wolfio sets the peer, we want to be able to update the peer address while in stateless parsing (governed by the `newPeer` variable).
2025-11-06 17:13:45 +01:00
Juliusz Sosinowicz
975033c64f DTLS: Introduce returnOnGoodCh option for early ClientHello processing return 2025-11-06 17:13:45 +01:00
Juliusz Sosinowicz
6e826583a3 DTLS: Add tests for custom I/O callbacks and stateless handling with wolfio 2025-11-06 17:13:45 +01:00
Juliusz Sosinowicz
0d7fe2f0a4 DTLS: Introduce custom I/O callbacks API and structure 2025-11-06 17:13:45 +01:00
Juliusz Sosinowicz
3ebc0c5f99 Update logs 2025-11-06 16:39:48 +01:00
Juliusz Sosinowicz
ed970e7cd8 Add missing WOLFSSL_HOSTNAME_VERIFY_ALT_NAME_ONLY guards 2025-11-06 16:35:11 +01:00
Juliusz Sosinowicz
0355a31192 Updates the Fil-C version to 0.674 2025-11-06 13:48:32 +01:00
Lealem Amedie
08db159c5d Fixes for minor scan-build warnings 2025-11-05 21:27:06 -07:00
lealem47
9780137962 Merge pull request #9394 from JacobBarthelmeh/caam
avoid warning when building without user_settings.h and options.h
2025-11-05 17:24:19 -07:00
Sean Parkinson
3ec882cd66 Merge pull request #9380 from julek-wolfssl/ip-addr-check
Improve domain and IP address matching in certificate verification
2025-11-06 09:49:07 +10:00
Sean Parkinson
aba0246550 Merge pull request #9389 from holtrop/rust-wc-pbkdf2
Rust wrapper: add PBKDF2 and PKCS #12 PBKDF wrappers
2025-11-06 09:46:04 +10:00
Sean Parkinson
b0a7f5938c Merge pull request #9379 from holtrop/rust-wc-ed448
Rust wrapper: add wolfssl::wolfcrypt::ed448 module
2025-11-06 09:38:32 +10:00
JacobBarthelmeh
8077551ba8 avoid warning when building without user_settings.h and options.h for QNX CAAM 2025-11-05 16:03:09 -07:00
Sean Parkinson
aa0b37a7e5 Merge pull request #9384 from night1rider/crypto-callback-return-fix
Reset Return to Success if fallback to software Copy Callbacks Sha
2025-11-06 08:50:00 +10:00
Sean Parkinson
fe69a7cf5a Merge pull request #9390 from kaleb-himes/test-code-bug-fix
Addressing a bug in the test logic
2025-11-06 08:49:15 +10:00
Sean Parkinson
97e9fa09bd Merge pull request #9330 from rizlik/dtls13_want_write_fix
Dtls13: Fix handshake hangs on WANT_WRITE I/O error
2025-11-06 08:31:29 +10:00
Daniel Pouzzner
3d99090bcb Merge pull request #9374 from philljj/spelling_cleanup
wolfcrypt test: tiny spelling correction.
2025-11-05 13:44:44 -06:00
kaleb-himes
b379de4119 Addressing a bug in the test logic 2025-11-05 10:28:19 -07:00
philljj
d73af7ab77 Merge pull request #9383 from douzzer/20251104-linuxkm-Kbuild-EXPORT_SYMBOL
20251104-linuxkm-Kbuild-EXPORT_SYMBOL
2025-11-05 11:08:49 -06:00
Josh Holtrop
797194f85b Rust wrapper: add PBKDF2 and PKCS #12 PBKDF wrappers 2025-11-05 09:25:52 -05:00
Sean Parkinson
958fa1af60 TLS 1.2: client message order check
Error when client receives CertificateRequest out of order: not after
Certificate and not after ServerKeyExchange if being sent.
2025-11-05 10:00:11 +10:00
Anthony Hu
6e583a01f1 Use suites->hashSigAlgoSz instead of len in call to TLSX_SignatureAlgorithms_MapPss 2025-11-04 15:36:33 -05:00
night1rider
572776e685 Reset return value to success when copy callback requests to use software function instead 2025-11-04 13:25:16 -07:00
Daniel Pouzzner
6885573d3d linuxkm/Kbuild: add helper variable EXPORT_SYMBOL to facilitate export attribute control. 2025-11-04 14:00:58 -06:00
philljj
9fdcd2e72a Merge pull request #9382 from douzzer/20251104-WC_MUTEX_OPS_INLINE
20251104-WC_MUTEX_OPS_INLINE
2025-11-04 13:00:08 -06:00
Josh Holtrop
7f0e575ed7 Rust wrapper: fix ed448 documentation issues from code review 2025-11-04 13:49:06 -05:00
Daniel Pouzzner
54dc060579 implement WC_MUTEX_OPS_INLINE and WC_RWLOCK_OPS_INLINE gates. 2025-11-04 12:01:58 -06:00
philljj
4b93e3ecf7 Merge pull request #9381 from douzzer/20251104-fixes
20251104-fixes
2025-11-04 11:41:23 -06:00
Juliusz Sosinowicz
f95cb4e9bf Improve domain and IP address matching in certificate verification
- Distinguish between domain and IP address checks.
- Update curl action to test with httpd server
2025-11-04 18:36:29 +01:00
Daniel Pouzzner
abec842c59 wolfcrypt/src/asn.c: in wc_Ed25519PublicKeyToDer(), when old FIPS, cast "key" arg to wc_ed25519_export_public(). 2025-11-04 09:38:50 -06:00
Daniel Pouzzner
656fe3da7c linuxkm/{module_hooks.c,linuxkm_wc_port.h}: in wc_lkm_LockMutex(), when interruptible, check for signals, and add __must_check attribute. 2025-11-04 09:37:37 -06:00
Josh Holtrop
b82cccce21 Rust wrapper: add wolfssl::wolfcrypt::ed448 module 2025-11-04 08:34:46 -05:00
Daniel Pouzzner
d47108c97f Merge pull request #9368 from holtrop/rust-wc-ed25519
Rust wrapper: add wolfssl::wolfcrypt::ed25519 module
2025-11-03 22:40:43 -06:00
Sean Parkinson
e4d47fb5c7 Curve25519/448: lshift of negative is undefined in C
Change all left shifts to be of unsigned values.
In some cases the values were negative.

Changed 128-bit variable implementation of Curve25519. (generated)
Changed Ed25519 C implementation.
Changed Curve448 C implementation. (generated)
Changed Ed448 C implementation. (generated)
2025-11-04 10:40:23 +10:00
philljj
e0eac95fc9 Merge pull request #9375 from douzzer/20251103-linuxkm-Makefile-bash-workaround
20251103-linuxkm-Makefile-bash-workaround
2025-11-03 18:13:45 -06:00
gojimmypi
0714c535f1 Update and pin Watcom to 2025-11-03-Build release 2025-11-03 10:42:18 -08:00
Daniel Pouzzner
a43e416f66 linuxkm/Makefile: work around bash pecularity in libwolfssl.ko recipe ( [[ -f foo ]] is true even if foo is a symbolic link). 2025-11-03 12:00:40 -06:00
jordan
720b8e117c wolfcrypt test: tiny spelling correction. 2025-11-03 10:06:47 -06:00
philljj
9a4fa0df2c Merge pull request #9369 from douzzer/20251027-linuxkm-aarch64-fips
20251027-linuxkm-aarch64-fips
2025-11-03 09:45:16 -06:00
Marco Oliverio
33be31aeea test: dtls: add description for WANT_WRITE tests 2025-11-03 13:43:33 +01:00
Marco Oliverio
bb284247b3 test_dtls: change approach in want_write hs testing 2025-11-03 13:43:33 +01:00
Marco Oliverio
412a78261d test_dtls: increase coverage for non-blocking I/O 2025-11-03 13:43:33 +01:00
Marco Oliverio
6855325bf8 test: memio: simulate_want_write: block client on is_client == true 2025-11-03 13:43:33 +01:00
Marco Oliverio
0127571238 dtls13: advance buffer index on error 2025-11-03 13:43:33 +01:00
Marco Oliverio
17a08b9e36 test_dtls: return WANT_WRITE in DTLSv1.3 CH parsing 2025-11-03 13:43:33 +01:00
Sean Parkinson
574067e204 Curve25519: lshift of a negative value is undefined in C
Change all left shifts to be of unsigned values.
In some cases the values were negative.

Added macros to make the code easier to be consistent.
2025-11-03 22:08:52 +10:00
Daniel Pouzzner
5922b5def5 Merge pull request #9363 from julek-wolfssl/refactor-zero-return
Improve TLS 1.3 early data handling.
2025-10-31 17:39:11 -05:00
Daniel Pouzzner
78ff20569e linuxkm:
globally rename+unify:
* HAVE_LINUXKM_PIE_SUPPORT and USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE under gate WC_PIE_RELOC_TABLES
* WC_LKM_INDIRECT_SYM_BY_FUNC_ONLY as WC_PIE_INDIRECT_SYM_BY_FUNC_ONLY
* WC_LKM_INDIRECT_SYM_BY_DIRECT_TABLE_READ as WC_PIE_INDIRECT_SYM_BY_DIRECT_TABLE_READ
* WC_LKM_INDIRECT_SYM() as WC_PIE_INDIRECT_SYM;

linuxkm/linuxkm_wc_port.h:
* implement pointer-caching inline wolfssl_linuxkm_get_pie_redirect_table_local() for the WC_PIE_INDIRECT_SYM_BY_FUNC_ONLY path;
* for FIPS_VERSION3_GE(6,0,0), add wolfCrypt_FIPS_*_ro_sanity pointers to struct wolfssl_linuxkm_pie_redirect_table, and corresponding ad hoc prototypes;

linuxkm/Makefile and linuxkm/module_hooks.c: move wc_linuxkm_pie_reloc_tab into the wolfCrypt PIE container;

linuxkm/module_hooks.c and linuxkm/linuxkm_wc_port.h: harmonize the types of __wc_{text,rodata}_{start,end} with wolfCrypt_FIPS_{first,last,ro_start,ro_end} to allow drop-in use of the all-inclusive ELF fenceposts, activated by WC_USE_PIE_FENCEPOSTS_FOR_FIPS.
2025-10-31 16:03:51 -05:00
Josh Holtrop
7cbcd0b00d Rust wrapper: add wolfssl::wolfcrypt::ed25519 module 2025-10-31 11:03:15 -04:00
David Garske
b6cfdcb758 Merge pull request #9366 from douzzer/20251030-linuxkm-amd64-vec-op-sunrise
20251030-linuxkm-amd64-vec-op-sunrise
2025-10-31 07:32:41 -07:00
David Garske
f07cd264fe Merge pull request #9365 from douzzer/20251030-wc_linuxkm_normalize_relocation-straddle-math
20251030-wc_linuxkm_normalize_relocation-straddle-math
2025-10-31 07:31:50 -07:00
Daniel Pouzzner
9273c00566 Merge pull request #9364 from dgarske/silabs_ecb
Fixed issue with AES ECB offloading to hardware to use full size
2025-10-30 23:55:31 -05:00
Daniel Pouzzner
643cbe127d Merge pull request #9354 from rlm2002/coverity
20251027 Coverity fixes
2025-10-30 23:54:18 -05:00
Daniel Pouzzner
7085421dd0 Merge pull request #9340 from julek-wolfssl/tls13-hrr-cs-change
Validate cipher suite after HelloRetryRequest
2025-10-30 23:46:50 -05:00
Daniel Pouzzner
299257eae9 Merge pull request #9360 from SparkiDev/aarch64_sha256_vreg_fix
Aarch64 ASM: missing push and pop of vector regs
2025-10-30 23:46:11 -05:00
Daniel Pouzzner
bac055dc14 Merge pull request #9357 from holtrop/rust-wc-srtp-kdf
Rust wrapper: add SRTP/SRTCP KDF functions to kdf module
2025-10-30 23:45:48 -05:00
Daniel Pouzzner
a2b3af095d Merge pull request #9339 from effbiae/EcMakeKey
refactor to EcMakeKey
2025-10-30 23:45:22 -05:00
Daniel Pouzzner
9c031608ef Merge pull request #9349 from effbiae/EcExportHsKey
refactor to EcExportHsKey
2025-10-30 23:44:58 -05:00
Daniel Pouzzner
f1f2423f3c linuxkm/x86_vector_register_glue.c: remove static assert on kernel >= 5.4.0 -- current implementation is unaffected by the noted bugs on < 5.4.0. 2025-10-30 18:08:54 -05:00
Daniel Pouzzner
5425894127 linuxkm/module_hooks.c: in wc_linuxkm_normalize_relocation(), when the
relocation straddles the buffer at end, return the exact offset of the next
   relocation, rather than blindly backing up sizeof reloc_buf - 1, otherwise
   byte(s) in a relocation immediately preceding will be denormalized.
2025-10-30 17:38:10 -05:00
David Garske
c5ae76e40d Fixed issue with AES ECB offloading to hardware to use full size, not
just block
2025-10-29 15:52:33 -07:00
Juliusz Sosinowicz
3209d264b8 Improve TLS 1.3 early data handling.
Introduce `clientInEarlyData` to only return when in `wolfSSL_read_early_data`. This makes sure that other API don't return `ZERO_RETURN` when not in `wolfSSL_read_early_data`. Chose `APP_DATA_READY` as it won't result in a false positive return from `wolfSSL_read_early_data`.
2025-10-29 19:04:36 +01:00
David Garske
d45678472d Merge pull request #9361 from douzzer/20251029-NullPointerArithm-fixes
20251029-NullPointerArithm-fixes
2025-10-29 09:12:40 -07:00
Daniel Pouzzner
d260493642 src/internal.c: in HashOutput(), check for null output pointer;
examples/pem/pem.c: in main(), add missing check that ret == 0 in _DER_TO_PEM code path.
2025-10-29 10:04:24 -05:00
Juliusz Sosinowicz
7b7f9a4fe0 dtls: Check PSK ciphersuite against local list 2025-10-29 13:14:50 +01:00
Juliusz Sosinowicz
c14b1a0504 Validate cipher suite after HelloRetryRequest
- Add validation to ensure the cipher suite in the ServerHello matches the one specified in the HelloRetryRequest.
- test_TLSX_CA_NAMES_bad_extension: use the same ciphersuite in HRR and SH
2025-10-29 13:14:50 +01:00
David Garske
df79b1062f Merge pull request #9359 from douzzer/20251028-fixes
20251028 fixes
2025-10-28 16:57:43 -07:00
Sean Parkinson
d7807d39e0 Aarch64 ASM: missing push and pop of vector regs
Generated code wasn't pushing and poping vector registers when they were
64-bit.
Generation code fixed and SHA-256 ASM code fixed.
2025-10-29 09:15:32 +10:00
Daniel Pouzzner
8c60b7b250 src/internal.c and tests/api.c: fix clang-analyzer-core.NullPointerArithms. 2025-10-28 16:42:14 -05:00
Daniel Pouzzner
9b90ea83eb src/x509.c: in wolfSSL_X509_get_ext_by_OBJ() and wolfSSL_X509_load_cert_crl_file(), add local protection from null derefs (fixes -Wnull-dereferences);
wolfcrypt/src/chacha.c and wolfssl/wolfcrypt/chacha.h: implement USE_ARM_CHACHA_SPEEDUP gate;

wolfcrypt/src/kdf.c: in wc_SSH_KDF(), add early return if _HashInit() fails (fixes _HashFree() of uninited _hash);

wolfcrypt/src/sha256.c: initialize sha256->W in ARMASM variant of wc_InitSha256_ex(), and pass sha256->heap to XMALLOC/XFREE consistently.
2025-10-28 16:42:14 -05:00
Daniel Pouzzner
097cd576ff linuxkm/module_hooks.c: in wc_linuxkm_GenerateSeed_IntelRD(), log when RDSEED support is missing, and add verbose logging for generation failures. 2025-10-28 16:42:14 -05:00
Ruby Martin
e546d319c1 Fix Coverity INTEGER_OVERFLOW in sp_to_unsigned_bin, avoid unsigned underflow 2025-10-28 11:12:19 -06:00
Ruby Martin
7aec2a8280 separate BAD_FUNC_ARG error from ASN_NO_PEM_HEADER 2025-10-28 10:01:10 -06:00
David Garske
1d64a4ed8f Merge pull request #9352 from holtrop/rust-wc-cmac
Rust wrapper: add wolfssl::wolfcrypt::cmac module
2025-10-28 08:58:06 -07:00
David Garske
a4be322fd6 Merge pull request #9356 from SparkiDev/sp_asm_add_sub_p384_arm
SP ASM ARM32/Thumb2: inline asm for add and subs
2025-10-28 08:55:54 -07:00
effbiae
1c8e7885b4 refactor to EcMakeKey 2025-10-28 08:46:47 -07:00
Josh Holtrop
bc72ac375e Rust wrapper: fix minor typo in srtcp_kdf_label example 2025-10-28 11:43:06 -04:00
Josh Holtrop
ef92114347 Rust wrapper: cmac: consume CMAC in finalize() 2025-10-28 08:41:28 -04:00
Josh Holtrop
bfa04ca5be Rust wrapper: cmac: fix "success" typo 2025-10-28 08:32:12 -04:00
Josh Holtrop
2e281ae2c6 Rust wrapper: add SRTP/SRTCP KDF functions to kdf module 2025-10-28 07:34:11 -04:00
Sean Parkinson
50521699af SP ASM ARM32/Thumb2: inline asm for add and subs
Implement add, sub, double and triple in assembly for P384.
2025-10-28 17:49:40 +10:00
effbiae
993ecad16a refactor to EcExportHsKey 2025-10-28 16:01:39 +11:00
Daniel Pouzzner
85bfc49711 Merge pull request #9355 from SparkiDev/aes_arm_asm_fix
AES ARM ASM: user data loaded 1 reg at a time
2025-10-27 23:06:17 -05:00
Sean Parkinson
d883a950d2 ML-KEM SHA-3: fix r
Constant r wasn't being loaded into register in all assembly functions
that use it - it just got lucky most of the time.
2025-10-28 12:04:12 +10:00
Sean Parkinson
070923a373 AES ARM ASM: user data loaded 1 reg at a time
User key may not be aligned and need to use instructions that don't
require alignment. Change to use ldr instead of ldp or ldrd.
2025-10-28 11:03:58 +10:00
David Garske
e6af5bcd4f Merge pull request #9353 from embhorn/gh9347
Build errors in memtest config and sniffer
2025-10-27 13:15:00 -07:00
JacobBarthelmeh
a1d000cede Merge pull request #9343 from dgarske/silabs_aesdirect
Fixed issue with SiLibs AES Direct (required by DTLS v1.3)
2025-10-27 13:04:12 -06:00
David Garske
76abc43812 Put unused fix in correct location. 2025-10-27 10:25:31 -07:00
David Garske
c825d0b34c Merge pull request #9345 from JacobBarthelmeh/devid
fix for passing devId from WOLFSSL_CTX down to hash operation
2025-10-27 08:47:51 -07:00
Eric Blankenhorn
7ef560c188 Fix build error with memtest and memorylog 2025-10-27 10:47:13 -05:00
David Garske
594a3bc963 Merge pull request #9350 from SparkiDev/split_ssl_sk
Stack API: Pull out implementation into separate file
2025-10-27 08:46:43 -07:00
David Garske
4669aaeaed Merge pull request #9342 from julek-wolfssl/filc
Adds fil-c workflow for testing
2025-10-27 08:46:31 -07:00
David Garske
7bbe15936d Merge pull request #9290 from effbiae/make-pre-master-secret
refactor to Make(Dhe)PSKPreMasterSecret
2025-10-27 08:39:17 -07:00
Eric Blankenhorn
2f2d5b37fd Fix undeclared var use in sniffer 2025-10-27 10:33:25 -05:00
Josh Holtrop
a6cb6170b6 Rust wrapper: add wolfssl::wolfcrypt::cmac module 2025-10-27 10:41:26 -04:00
Sean Parkinson
91a526c218 fixup 2025-10-27 18:02:49 +10:00
Sean Parkinson
093cc04076 Stack API: Pull out implementation into separate file
General stack APIs pulled out into ssl_sk.c.
Other simple APIs also pulled out into ssl_sk.c.
wolfSSL_lh_retrieve also pulled out into ssl_sk.c.

Added tests of public APIs that weren't already tested.
2025-10-27 17:08:41 +10:00
David Garske
d54f5e7c6a Merge pull request #9346 from douzzer/20251025-fix-clang-tidy-all-crypto-no-sha-1
20251025-fix-clang-tidy-all-crypto-no-sha-1
2025-10-25 08:46:31 -07:00
Daniel Pouzzner
c9cc701097 src/internal.c: suppress clang-analyzer-deadcode.DeadStores in ImportPeerECCKey() introduced by 4964a1760a. 2025-10-25 08:55:23 -05:00
JacobBarthelmeh
1a779b3f73 fix for passing devId from WOLFSSL_CTX down to hash operation 2025-10-24 16:39:25 -06:00
David Garske
7524552b1a Merge pull request #9344 from douzzer/20251024-fixes
20251024-fixes
2025-10-24 14:45:44 -07:00
Daniel Pouzzner
c145b7ee81 wolfcrypt/src/aes.c: define GCM_GMULT_LEN() when WOLFSSL_ARMASM, and fix gating on wolfCrypt_FIPS_AES_sanity (always gate in for FIPS v7+);
wolfcrypt/src/port/af_alg/afalg_aes.c: check for null key arg;

configure.ac: rename BUILD_FIPS_CURRENT to BUILD_FIPS_V2_PLUS (no functional change), and remove unused ARMASM_DIST_SOURCES set up code added in #9332;

src/include.am:
* set up $(ARMASM_SHA256_C), and use it to properly include wolfcrypt/src/sha256.c alongside armasm when appropriate;
* fix gating on Curved25519 armasm (BUILD_FIPS_V6_PLUS, not BUILD_FIPS_V6);

tests/api/test_aes.c and wolfcrypt/test/test.c: gate out incompatible coverage for WOLFSSL_AFALG and WOLFSSL_KCAPI (test_wc_AesCbcEncryptDecrypt_MultiBlocks(), test_wc_AesCtrSetKey*(), test_wc_AesCtrEncrypt*(), test_wc_AesGcmEncryptDecrypt_Sizes()).
2025-10-24 15:08:56 -05:00
David Garske
d62b1068d2 Fixed issue with SiLibs AES Direct (required by DTLS v1.3). ZD 20695 2025-10-24 11:58:56 -07:00
Juliusz Sosinowicz
1ed1b83aa5 Adds fil-c workflow for testing 2025-10-24 20:14:57 +02:00
JacobBarthelmeh
a28e107722 Merge pull request #9336 from holtrop/rust-wc-kdf-prf
Rust wrapper: add wolfssl::wolfcrypt::kdf, wolfssl::wolfcrypt::prf
2025-10-24 09:27:56 -06:00
JacobBarthelmeh
62deeedb52 Merge pull request #9335 from cconlon/jniAesCts
Define HAVE_CTS for JNI build, used by JCE AES/CTS/NoPadding
2025-10-24 09:20:02 -06:00
David Garske
4282ad38ec Merge pull request #9300 from effbiae/ImportPeerECCKey
refactor to ImportPeerECCKey
2025-10-24 08:17:54 -07:00
David Garske
c354202f11 Merge pull request #9341 from holtrop/rust-dh-test-fix
Rust wrapper: fix intermittent test_dh failure
2025-10-24 08:17:35 -07:00
Josh Holtrop
2127365559 Rust wrapper: fix intermittent test_dh failure 2025-10-24 09:05:19 -04:00
effbiae
f087b1300c refactor to MakePSKPreMasterSecret 2025-10-24 12:03:16 +11:00
David Garske
67c2d80470 Merge pull request #9337 from douzzer/20251023-FIPS-autotools-fix
20251023-FIPS-autotools-fix
2025-10-23 15:44:53 -07:00
Daniel Pouzzner
6ff47a7a4c src/include.am: fix gate flub, !BUILD_FIPS_V6 -> !BUILD_FIPS_V6_PLUS, around sp-asm files (covered earlier for FIPS). 2025-10-23 16:57:39 -05:00
Josh Holtrop
61a277c262 Rust wrapper: Use core::ptr instead of std::ptr 2025-10-23 16:30:03 -04:00
Josh Holtrop
b75be94f0d Rust wrapper: use SHA256::DIGEST_SIZE instead of WC_SHA256_DIGEST_SIZE 2025-10-23 16:24:09 -04:00
Josh Holtrop
5b8115ed8f Rust wrapper: add wolfssl::wolfcrypt::kdf, wolfssl::wolfcrypt::prf 2025-10-23 16:05:07 -04:00
JacobBarthelmeh
33b08ed136 Merge pull request #9328 from holtrop/rust-wc-hmac
Rust wrapper: add wolfssl::wolfcrypt::hmac module
2025-10-23 14:02:11 -06:00
Chris Conlon
3e85b572f3 define HAVE_CTS for --enable-jni build, used by JCE AES/CTS/NoPadding mode 2025-10-23 12:46:59 -06:00
JacobBarthelmeh
985a090adc Merge pull request #9334 from julek-wolfssl/wolfSSL_PEM_X509_X509_CRL_X509_PKEY_read_bio-len
x509: make sure pem buffer will be large enough to hold pem header
2025-10-23 09:36:46 -06:00
JacobBarthelmeh
7f5d02c36b Merge pull request #9317 from SparkiDev/benchmark_asym_cc
Benchmark: add cycle counts for asym ops
2025-10-23 09:31:30 -06:00
David Garske
f376512692 Merge pull request #9332 from douzzer/20251022-FIPS-armasm-autotools-fixup
20251022-FIPS-armasm-autotools-fixup
2025-10-23 07:45:32 -07:00
Josh Holtrop
27212312f1 Rust wrapper: Remove unnecessary double casts in hmac 2025-10-23 09:46:05 -04:00
Josh Holtrop
df4a2120c2 Rust wrapper: add wolfssl::wolfcrypt::hkdf module 2025-10-23 09:41:12 -04:00
Josh Holtrop
b801396d52 Rust wrapper: HMAC::get_hmac_size does not need mut ref 2025-10-23 09:32:37 -04:00
Juliusz Sosinowicz
36b64fb5ae x509: make sure pem buffer will be large enough to hold pem header
Found with Fil-C compiler
2025-10-23 13:28:07 +02:00
Daniel Pouzzner
3bd5a30a77 .wolfssl_known_macro_extras: snip out a couple no-longer-needed extras. 2025-10-22 22:54:51 -05:00
Daniel Pouzzner
b1f2ff73ed wolfcrypt/src/sha256.c: in wc_Sha256HashBlock(), use ByteReverseWords() rather than a series of ByteReverseWord32() to get WOLFSSL_USE_ALIGN. 2025-10-22 22:54:20 -05:00
Daniel Pouzzner
be301f93da fixes for autotools config around armasm AES/SHA refactor in #9284: in configure.ac, add BUILD_FIPS_V5_PLUS and BUILD_FIPS_V6_PLUS conditionals, and fix BUILD_FIPS_V6 conditional to match v6 only;
in src/include.am, add LEGACY_ARMASM_foo and NEW_ARMASM_foo helper variables, restore pre-PR9284 armasm clauses, and add or update several FIPS gates as needed;

add empty wolfcrypt/src/port/arm/{armv8-aes.c,armv8-sha256.c,armv8-sha512.c} to mollify autotools, and in wolfcrypt/src/include.am, restore them to EXTRA_DIST if FIPS v5 or v6.
2025-10-22 22:52:24 -05:00
Sean Parkinson
dc45a6f340 Benchmark: add cycle counts for asym ops
Added million of cycles per op information.
Getting cycle count for Aarch64 now too.
2025-10-23 08:43:05 +10:00
JacobBarthelmeh
4daab8a813 Merge pull request #9284 from SparkiDev/aarch64_asm_gen
Aarch64 asm: convert to generated
2025-10-22 11:10:27 -06:00
JacobBarthelmeh
520d9501af Merge pull request #9322 from SparkiDev/crldist_reason_fix
X.509 cert: crl distribution point reasons is IMPLICIT
2025-10-22 09:33:08 -06:00
JacobBarthelmeh
d60e4ddbd1 Merge pull request #9329 from SparkiDev/regression_fixes_20
Regression testing fixes
2025-10-22 09:12:58 -06:00
JacobBarthelmeh
58e37067ef Merge pull request #9315 from SparkiDev/aes_cfb_ofb_improv
AES: Improve CFB and OFB and add tests
2025-10-22 09:06:46 -06:00
Sean Parkinson
821dc5cb13 Regression testing fixes
Adding protection to tests that use RSA and ECC.
2025-10-22 18:33:44 +10:00
Sean Parkinson
8533bc803b AES: Improve CFB and OFB and add tests
Improve performance of CFB and OFB.
Only have one implementation that is used by OFB encrypt and decrypt.

Update AES testing in unit.test.

Update benchmarking of CFB and OFb to include decrypt.
2025-10-22 12:19:56 +10:00
effbiae
4964a1760a refactor to ImportPeerECCKey 2025-10-22 13:03:55 +11:00
Josh Holtrop
ce610db4e8 Rust wrapper: add wolfssl::wolfcrypt::hmac module 2025-10-21 16:59:32 -04:00
philljj
7e6c86a6c3 Merge pull request #9326 from douzzer/20251021-KDF-FIPS-gate-tweaks
20251021-KDF-FIPS-gate-tweaks
2025-10-21 12:49:21 -05:00
David Garske
9c3a0e3a67 Merge pull request #9324 from douzzer/20251020-coverity-WC_SAFE_foo
20251020-coverity-WC_SAFE_foo
2025-10-21 09:41:25 -07:00
JacobBarthelmeh
936e350c63 Merge pull request #9325 from LinuxJedi/zp-fixes
Fix things found with ZeroPath
2025-10-21 10:19:01 -06:00
Brett Nicholas
1134d246f7 Merge pull request #9309 from night1rider/CryptoCbCopy
Add crypto callback support for copy/free operations (SHA-256)
2025-10-21 09:45:18 -06:00
Daniel Pouzzner
b07bc74a71 wolfcrypt/test/test.c: skip nist_sp80056c_kdf_test() and nist_sp800108_cmac() on FIPS <7.0.0. 2025-10-21 10:38:55 -05:00
JacobBarthelmeh
818d1e37eb Merge pull request #9321 from anhu/no_conv_ems
Prevent a conversion warning
2025-10-21 09:38:00 -06:00
David Garske
c1339abc05 Merge pull request #9323 from philljj/fix_coverity_onestep
KDF onestep: hashOutSz err check.
2025-10-21 08:23:05 -07:00
David Garske
6f9ca6cb52 Merge pull request #9294 from LinuxJedi/benchmark-ram
Benchmark memory tracking
2025-10-21 08:15:28 -07:00
David Garske
0eb7ad0ead Merge pull request #9320 from holtrop/rust-wc-sha
Rust wrapper: add wolfssl::wolfcrypt::sha module
2025-10-21 08:15:01 -07:00
Andrew Hutchings
90e0857d2d Validate LinuxKM I/O lengths
Reject negative lengths and normalize to size_t before calling kernel_sendmsg/kernel_recvmsg so the kernel transport can’t be tricked into huge or wrapped iov_len values.
2025-10-21 14:40:36 +01:00
Andrew Hutchings
259670055a Bound buffered HTTP body size
Clamp per-chunk and aggregated HTTP response sizes before allocating in wolfIO_HttpProcessResponseBuf so untrusted Content-Length or chunk headers can’t overflow the arithmetic or force giant buffers.
2025-10-21 14:13:41 +01:00
Andrew Hutchings
be1428d108 Validate AF_ALG RSA inputs
Require the ciphertext length to match the RSA modulus before copying into the AF_ALG Xilinx stack buffer, preventing oversized inputs from overflowing the aligned scratch space.
2025-10-21 13:57:36 +01:00
Andrew Hutchings
11d2f4894e Guard ProcessKeyShare against truncated key shares
Add bounds check before reading named_group so malformed TLS 1.3 key share data cannot read past the supplied buffer.
2025-10-21 13:40:00 +01:00
Andrew Hutchings
8b4f816ae7 BioReceiveInternal: allow NULL write BIO
Some callers, such as the OCSP request context, only supply a read BIO. Guard the write-BIO pending check so a read error or EOF does not dereference NULL.
2025-10-21 13:12:52 +01:00
Andrew Hutchings
e6ca4d15e2 MicriumReceiveFrom: tighten peer validation
Reject DTLS datagrams when the stored peer is missing, the address length changes, or the address bytes differ. The old check required both the length and byte comparisons to fail, letting spoofed peers through when only one mismatch occurred.
2025-10-21 13:10:04 +01:00
Sean Parkinson
9c1462a9ec Aarch64 asm: convert to generated
Algorithms now generated:
  SHA-256
  SHA-512
  ChaCha20
  Poly1305
  AES-ECB
  AES-CBC
  AES-CTR
  AES-GCM + streaming
  AES-XTS
  AES SetKey

ARM32 asm algorithms generated now too:
  SHA-256
  SHA-512
  ChaCha20
  AES-ECB
  AES-CBC
  AES-CTR
  AES-GCM
  AES-XTS
  AES SetKey

Removed use of ARM specific implementations of algorithms. (armv8-aes.c)
2025-10-21 17:03:39 +10:00
Daniel Pouzzner
ca552cc345 src/internal.c: work around false positive "C4701: potentially uninitialized local variable" in GrowOutputBuffer(). 2025-10-20 23:54:15 -05:00
Daniel Pouzzner
279238ce63 wolfssl/wolfcrypt/types.h:
* fix WC_MIN_SINT_OF().
* add outer cast back to target type in WC_MAX_UINT_OF() and WC_MAX_SINT_OF().
* rename WC_SAFE_SUM_*_NO_WUR to WC_SAFE_SUM_*_CLIP().
* remove clipping assignments from failure paths in WC_WUR_INT() variants.
* add WC_SAFE_SUB_UNSIGNED_CLIP(), WC_SAFE_SUB_UNSIGNED(), WC_SAFE_SUB_SIGNED_CLIP(), and WC_SAFE_SUB_SIGNED().
* add Coverity-specific annotations in WC_SAFE_*() to suppress false-positive overflow warnings.

wolfcrypt/test/test.c:
* implement macro_test().
* fix stray uint32_t's in crypto_ecc_verify() and crypto_ecc_sign() arg lists.

wolfssl/wolfcrypt/ext_xmss.h: fix stray uint32_t.
2025-10-20 23:27:09 -05:00
jordan
c1032a8cb6 KDF onestep: hashOutSz err check. 2025-10-20 22:05:41 -05:00
Sean Parkinson
5adf392d56 Merge pull request #9281 from effbiae/tlsx-with-ech
refactor to TLSX_ChangeSNIBegin/End
2025-10-21 10:58:33 +10:00
Sean Parkinson
3f9e2e5baa X.509 cert: crl distribution point reasons is IMPLICIT
The reasons field is IMPLICIT meaning that the value is directly under
the context-specific tag. That is context-specific tag is not
constructed.
2025-10-21 09:30:45 +10:00
Andrew Hutchings
00c936c29e Only change WC_BENCH_MAX_LINE_LEN when we need to 2025-10-20 18:58:16 +01:00
night1rider
f1faefed91 Added callbacks for copy and free to SHA, 224, 384, 512, and SHA3. Also split macros for FREE and COPY Callbacks, and add configure.ac option. 2025-10-20 11:09:35 -06:00
Anthony Hu
26ba17b48e Prevent a conversion warning 2025-10-20 12:20:59 -04:00
David Garske
d86575c766 Merge pull request #9312 from night1rider/FixCallbackRngInit
Refactor wc_rng_new to use wc_rng_new_ex, and to use WC_USE_DEVID as the devId if set at compile time
2025-10-20 09:19:17 -07:00
night1rider
0dca3bc24d Setup to be opt-in for copy callback, and also added a outline for a free callback 2025-10-20 10:07:24 -06:00
night1rider
4d6418f31a Add crypto callback support for copy operations (SHA-256) 2025-10-20 10:06:30 -06:00
David Garske
7fa53c8c71 Merge pull request #9289 from philljj/cmac_kdf
cmac kdf: add NIST SP 800-108, and NIST SP 800-56C two-step.
2025-10-20 08:33:30 -07:00
night1rider
bd4099d2d7 Update test.c tests to use global devId instead of INVALID_DEVID 2025-10-20 09:16:23 -06:00
night1rider
28c78b5c0c Use global devId for RNG initialization in tests: mlkem_test, dilithium_test, xmss_test, lms_test 2025-10-20 09:16:23 -06:00
night1rider
fba8cab200 Refactor wc_rng_new to use wc_rng_new_ex, and to use WC_USE_DEVID as the devId if set at compile time 2025-10-20 09:16:23 -06:00
jordan
525c212d1c cmac kdf: add NIST SP 800-108, and NIST SP 800-56C two-step. 2025-10-20 08:20:23 -05:00
Josh Holtrop
987bf2fe2e Rust wrapper: fix test_ecc sig_to_rs() check 2025-10-20 09:09:53 -04:00
Josh Holtrop
714abfa1c0 Rust wrapper: add wolfssl::wolfcrypt::sha module 2025-10-20 08:44:07 -04:00
philljj
aba9ee4015 Merge pull request #9319 from douzzer/20251018-linuxkm-gdwarf-4-g1
20251018-linuxkm-gdwarf-4-g1
2025-10-18 14:35:46 -05:00
Daniel Pouzzner
9881c95c46 linuxkm/Kbuild: refactor RENAME_PIE_TEXT_AND_DATA_SECTIONS to automatically derive the list of all ELF sections to rename, rather than enumerating them staticly in the objcopy recipe (motivated by changes expected in kernel 6.19). 2025-10-18 12:07:35 -05:00
Daniel Pouzzner
a36dd35e59 linuxkm: rename FIPS container segments from foo.wolfcrypt to foo_wolfcrypt to avoid getting rearranged by kernel scripts/module.lds klp/kpatch clauses expected in kernel 6.19. 2025-10-18 03:23:38 -05:00
Daniel Pouzzner
2bbc3a0ae2 wolfcrypt/test/test.c: fixes for --disable-sha256, --disable-hmac, --disable-rng, and FIPS gating on RSA-PSS. 2025-10-18 02:05:55 -05:00
Daniel Pouzzner
08f5c3e8b9 configure.ac: in linuxkm setup, use -g1 explicitly unless --enable-debug, whereupon use -g3. also, add -gdwarf-4 to AM_CCASFLAGS. 2025-10-18 01:56:48 -05:00
Andrew Hutchings
d87ca70048 Fix mixed declaration / code 2025-10-18 06:18:29 +01:00
Andrew Hutchings
01dc28ad31 Seperate AES alloc / dealloc phases 2025-10-18 06:13:40 +01:00
Andrew Hutchings
65bb68b6c0 Move heap/stack tracking to before init phase
Start tracking during the setup of the algo, so we can capture the
memory usage of the algo init functions.
2025-10-18 06:13:36 +01:00
Andrew Hutchings
036c66c777 Benchmark memory tracking
This adds heap and stack tracking to wolfCrypt bench so that it is
possible to see RAM usage. It also adds support for stack tracking in
microcontrollers (tested on STM32).
2025-10-18 06:09:01 +01:00
philljj
c091c8b7ba Merge pull request #9318 from douzzer/20251017-linuxkm-signal-handling-tweaks
20251017-linuxkm-signal-handling-tweaks
2025-10-17 21:17:20 -05:00
Daniel Pouzzner
69f236be0a linuxkm/linuxkm_wc_port.h: suppress -Wformat-nonliteral while including kernel headers (needed for kernel <=4.9). 2025-10-17 19:31:17 -05:00
Daniel Pouzzner
6a0be6a7f7 configure.ac: remove -g0 from, and always add -DHAVE_REPRODUCIBLE_BUILD to, reproducible-build AM_CFLAGS, and always add -gdwarf-4 to AM_CFLAGS when ENABLED_LINUXKM;
.github/workflows/linuxkm.yml: restore as-was, but change from oldconfig to olddefconfig.
2025-10-17 18:24:32 -05:00
Daniel Pouzzner
d2f819a2f6 linuxkm/module_hooks.c and linuxkm/lkcapi_glue.c: check retval from WC_SIG_IGNORE_BEGIN(). 2025-10-17 18:23:25 -05:00
David Garske
d475985062 Merge pull request #9306 from holtrop/rust-wc-dh
Rust wrapper: add wolfssl::wolfcrypt::dh module
2025-10-17 15:41:58 -07:00
Daniel Pouzzner
e142a9629f linuxkm/linuxkm_wc_port.h and linuxkm/module_hooks.c: tweak gating for verifyCore and my_kallsyms_lookup_name, and use the latter to reach verifyCore on old FIPS. also tweak the In-core integrity hash check failure." message to supply module-update-fips-hash instructions. 2025-10-17 17:12:37 -05:00
Daniel Pouzzner
354c576c96 .github/workflows/linuxkm.yml: comment out --enable-linuxkm-pie config, pending resolution of "dwarf_get_units failed" on Azure kernel 6.14 image. 2025-10-17 15:00:04 -05:00
Daniel Pouzzner
7a43732daa linuxkm/linuxkm_wc_port.h, wolfssl/wolfcrypt/types.h, linuxkm/module_hooks.c, linuxkm/lkcapi_glue.c:
* add WC_SIG_IGNORE_BEGIN(), WC_SIG_IGNORE_END(), wc_linuxkm_sig_ignore_begin(), wc_linuxkm_sig_ignore_end();
* move WC_CHECK_FOR_INTR_SIGNALS() and WC_RELAX_LONG_LOOP() definitions outside the BUILDING_WOLFSSL gate;
* refactor linuxkm_lkcapi_registering_now as a wolfSSL_Atomic_Int and use it as a mutex for linuxkm_lkcapi_register() and linuxkm_lkcapi_unregister();
* add WC_SIG_IGNORE_BEGIN()...WC_SIG_IGNORE_END() wrappers around all relevant critical spans in linuxkm glue.
2025-10-17 14:58:21 -05:00
Josh Holtrop
4faa21a74a Rust wrapper: Fix DH::FFDHE_* constant values 2025-10-17 14:46:15 -04:00
Josh Holtrop
8e7f77db76 Rust wrapper: add wolfssl::wolfcrypt::dh module 2025-10-17 14:46:15 -04:00
lealem47
5280bfb89a Merge pull request #9297 from douzzer/20251011-more-fips-optest-tweaks
20251011-more-fips-optest-tweaks
2025-10-17 12:44:25 -06:00
David Garske
f492abfe9e Merge pull request #9314 from SparkiDev/silabs_no_hash_raw
SHA-2: No hash raw
2025-10-17 10:19:01 -07:00
effbiae
8969e5f36a refactor to TLSX_EchChangeSNI 2025-10-17 13:51:42 +11:00
Daniel Pouzzner
9cf08afbbb fixes for --disable-tls. 2025-10-16 18:50:06 -05:00
Daniel Pouzzner
f508b44f0f configure.ac: in setup for cryptonly, don't set enable_tls13=no or enable_tlsv12=no -- they're needed for crypto-layer KDFs. 2025-10-16 18:50:06 -05:00
Daniel Pouzzner
b924e9a905 linuxkm/module_hooks.c: add sanity check for compiled-in verifyCore, and fix linuxkm_op_test_1() call to use argc==3 arg list. 2025-10-16 18:50:06 -05:00
Daniel Pouzzner
5ee42402ae wolfssl/wolfcrypt/types.h: fix whitespace around WC_SAFE_SUM_*(). 2025-10-16 18:50:06 -05:00
Daniel Pouzzner
6fb547a1ae linuxkm/module_hooks.c: purge fipsMode override (fipsEntry() takes care of this), and add explicit fipsCastStatus[] reset code. 2025-10-16 18:50:06 -05:00
Daniel Pouzzner
e8d9f91868 linuxkm/module_hooks.c and linuxkm/linuxkm_wc_port.h: finish implementation of
FIPS_OPTEST glue code, including /sys/module/libwolfssl/FIPS_optest_run_code
(FIPS_optest_trig_handler(), plus my_kallsyms_lookup_name() helper).
2025-10-16 18:50:05 -05:00
Daniel Pouzzner
581e86c178 wolfcrypt/test/test.c: fix error-path uninitialized access defect in ecc_test_buffers(). 2025-10-16 18:50:05 -05:00
Zackery
0d588b446c Merge pull request #9313 from douzzer/20251016-Wnull-dereference
20251016-Wnull-dereference
2025-10-16 17:47:23 -06:00
Sean Parkinson
d0909991fb SHA-2: No hash raw
Implementation of FinalRaw for SE050 was not usable - TLS_hmac did not
produce valid results.
Removed implementations and defining WOLFSSL_NO_HASH_RAW to compile to
not require FinalRaw APIs.
2025-10-17 07:46:50 +10:00
Daniel Pouzzner
0c4feb0aa6 wolfcrypt/src/asn.c: revert earlier changes in EncodeName(), and add local S390-specific pragma to inhibit false-positive -Wnull-dereference. 2025-10-16 16:10:54 -05:00
Daniel Pouzzner
d6aa157187 fixes for OPENSSL_COEXIST covering OPENSSL_COMPATIBLE_DEFAULTS and WOLFSSL_WPAS:
* src/ssl.c:wolfSSL_CTX_new_ex()
* src/x509.c:wolfSSL_X509_PUBKEY_set()
2025-10-16 15:10:16 -05:00
Daniel Pouzzner
6ee660841b fixes/workarounds for -Wnull-dereferences, some true positive, some false
positive:
* src/pk.c:wolfSSL_RSA_meth_new()
* tests/api.c:test_wolfSSL_PKCS7_certs()
* tests/api.c:test_wolfSSL_X509V3_EXT_get()
* wolfcrypt/src/asn.c:EncodeName()
* wolfcrypt/src/pkcs12.c:wc_i2d_PKCS12()
* wolfcrypt/src/port/af_alg/afalg_aes.c
2025-10-16 15:10:16 -05:00
David Garske
0727bae09e Merge pull request #9310 from SparkiDev/lms_cast_16bit
LMS: Cast constants before shifting left
2025-10-16 12:16:05 -07:00
David Garske
a22d239bfd Merge pull request #9301 from effbiae/set_srp_username
refactor wolfSSL_CTX_set_srp_username
2025-10-16 11:32:24 -07:00
David Garske
d88ab84b9f Merge pull request #9311 from SparkiDev/regression_fixes_19
Regression testing
2025-10-16 10:56:27 -07:00
Daniel Pouzzner
058686b829 Merge pull request #9305 from dgarske/bench_rsapub
Fix for benchmark with key gen and "out" not being allocated
2025-10-16 12:23:23 -05:00
Sean Parkinson
c111c5bacc Regression testing
x509.c: realloc may fail and therefore need to store result in a
temporary so the old pointer is not lost.

tls.c: free the name if it is not pushed on to the stack of peer CA
names. Failure to push can be from memory allocation failure.

aes.c: Don't compile XTS decrypt functions without HAVE_AES_DECRYPT.

Fix tests to have better pre-processor protection.
2025-10-16 12:13:32 +10:00
Sean Parkinson
36c953dd8f LMS: Cast constants before shifting left
Compiling for 16-bit results in some constants type being too small for
shift amount without cast.
2025-10-16 09:24:48 +10:00
Kareem
88a55cdb71 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20603 2025-10-15 15:48:16 -07:00
Kareem
8d41d1ca65 Add IPv6 support to wolfSSL_BIO_new_accept and wolfIO_TcpBind. 2025-10-15 15:47:22 -07:00
lealem47
832e23a5f7 Merge pull request #9307 from douzzer/20251015-linuxkm-fixes
20251015-linuxkm-fixes
2025-10-15 16:26:00 -06:00
Daniel Pouzzner
3746164d60 linuxkm/linuxkm_wc_port.h: don't include wolfssl/wolfcrypt/memory.h (unneeded and out of order). 2025-10-15 17:06:31 -05:00
Zackery
790808b172 Merge pull request #9303 from dgarske/silabs_series2
Support for detecting SILABS ERF32 Series 2 ECDSA support for P384/P521
2025-10-15 12:46:44 -06:00
David Garske
0c4f5879d8 Fix for benchmark with key gen and "out" not being allocated because of typo between WOLFSSL_RSA_VERIFY_INLINE and WOLFSSL_RSA_VERIFY_ONLY.
Reproduced with: `./configure --enable-keygen CFLAGS="-DWOLFSSL_RSA_VERIFY_INLINE" --disable-examples && make && ./wolfcrypt/benchmark/benchmark -rsa`
2025-10-15 11:25:49 -07:00
Daniel Pouzzner
250e19a682 Merge pull request #9299 from dgarske/bench_rsasz
Fix for improper sizing on `bench_rsa_helper`
2025-10-15 11:55:48 -05:00
Eric Blankenhorn
f9b666dd8a Merge pull request #9298 from douzzer/20251014-WC_SAFE_SUM
20251014-WC_SAFE_SUM
2025-10-15 11:44:04 -05:00
David Garske
53bbf7f2d7 Merge pull request #9302 from effbiae/wc_FreeRng
wc_FreeRng called multiple times in wolfSSL_CTX_set_srp_password
2025-10-15 08:48:17 -07:00
David Garske
91bf738025 Support for detecting SILABS ERF32 Series 2 ECDSA support for P384/P521 2025-10-15 08:33:37 -07:00
effbiae
1de2ad48bd wc_FreeRng called multiple times in wolfSSL_CTX_set_srp_password 2025-10-15 17:43:53 +11:00
effbiae
cadea76e43 refactor wolfSSL_CTX_set_srp_username 2025-10-15 17:15:07 +11:00
Daniel Pouzzner
c771167127 add WC_ prefixes to MAX_UINT_OF() and friends, to avoid collision with wolfSentry macros. 2025-10-14 19:16:21 -05:00
Daniel Pouzzner
21a66ec36b wolfssl/wolfcrypt/types.h: add missing static attribute to WC_WUR_INT(). 2025-10-14 19:10:15 -05:00
David Garske
75097f3e09 Fix for improper sizing on bench_rsa_helper 2025-10-14 16:41:27 -07:00
Daniel Pouzzner
1602ed2f3a wolfcrypt/src/asn.c: rearrange check for null cname in EncodeName() to fix false positive -Wnull-dereference.
src/internal.c: suppress -Wnull-dereference locally in ProcessPeerCertParse() to fix false positive.
2025-10-14 18:27:02 -05:00
Daniel Pouzzner
7c7040da24 src/internal.c: fix -Wnull-dereference in LoadCertByIssuer(). 2025-10-14 17:38:12 -05:00
Daniel Pouzzner
204eb96d2f src/ssl.c: fix overflow/overrun defect in wolfSSL_writev(). 2025-10-14 16:29:15 -05:00
Daniel Pouzzner
014f55fe10 wolfssl/wolfcrypt/types.h: add WC_WUR_INT(), MAX_UINT_OF(), MAX_SINT_OF(), MIN_SINT_OF(), WC_SAFE_SUM_UNSIGNED(), and WC_SAFE_SUM_SIGNED(). 2025-10-14 16:28:32 -05:00
David Garske
3534fad3ee Merge pull request #9295 from rizlik/shutdown_nonblocking_fix
wolfSSL_shutdown: handle non-blocking I/O
2025-10-14 12:50:57 -07:00
Marco Oliverio
4280b52bff test: increase coverage for multiple wolfSSL_shutdown test 2025-10-14 10:05:11 +02:00
Marco Oliverio
4b7a2b677b wolfSSL_shutdown: fix non-blocking retry after WANT_WRITE.
1. Send buffered message in case SendAlert_ex returned WANT_WRITE.
2. If pending messages are sent successfully return SHUTDOWN_NOT_DONE as
   current API behavior.
3. Propagate WANT_READ error for ProcessReply if waiting for other peer
   shutdown (when invoking wolfSSL_shutdown for the second time)
2025-10-14 10:05:11 +02:00
Sean Parkinson
77dcbb5603 Merge pull request #9293 from dgpighin/docstrings_update
Some updates to the docstrings
2025-10-14 16:14:15 +10:00
Daniel Pouzzner
b2c105d5f7 Merge pull request #9292 from embhorn/zd20626
Fix GCC warnings
2025-10-13 23:17:13 -05:00
Daniel Pouzzner
6fbd101f7d Merge pull request #9153 from effbiae/wc-small-stack
Small stack compress -- 3000line reduction
2025-10-13 23:12:01 -05:00
David Garske
e877fa747d Merge pull request #9185 from Pushyanth-Infineon/psoc6_sha1_sha2_sha3_support
Enable hardware acceleration for SHA1, SHA384 and SHA3 algorithms on PSoC6
2025-10-13 13:29:52 -07:00
Eric Blankenhorn
dd22fa3243 Fix from testing 2025-10-13 15:27:01 -05:00
Eric Blankenhorn
f3428295f6 Clarify use of static ciphers in readme files (#9283)
embhorn : Clarify use of static ciphers in readme files
2025-10-13 11:38:11 -07:00
David Garske
4f0836eb73 Merge pull request #9291 from JacobBarthelmeh/csharp
Fixes for Ed25519 raw key import with C# wrapper
2025-10-13 11:35:44 -07:00
David Garske
9872207702 Merge pull request #9285 from SparkiDev/sp_small_stack_macros
SP: macros for variables that may be allocated
2025-10-13 11:12:24 -07:00
Eric Blankenhorn
e67b85724e Fix from testing 2025-10-13 12:57:47 -05:00
Eric Blankenhorn
bae25afa40 Fix from testing 2025-10-13 12:42:01 -05:00
Eric Blankenhorn
adc9146035 Fix from testing 2025-10-13 12:33:40 -05:00
Eric Blankenhorn
83336e3436 Fix from testing 2025-10-13 12:15:39 -05:00
Marco Oliverio
6b0e24eed2 test_memio: support WANT_WRITE simulation 2025-10-13 16:27:55 +02:00
David Garske
610d8e5366 Merge pull request #9275 from SparkiDev/xtensa_ct_x25519
Xtensa: mitigate potential non-CT assembly output
2025-10-13 07:13:53 -07:00
effbiae
f4b8f844b2 indent {.*;} macro args 2025-10-13 14:04:06 +11:00
Sean Parkinson
fac53abc14 SP: macros for variables that may be allocated
Add macros to make the code simpler around allocating from dynamic
memory when WOLFSSL_SP_SMALL_STACK is defined.
Change over to using macros where it makes sense.
2025-10-13 11:48:07 +10:00
Sean Parkinson
c161cbd9f3 Xtensa: mitigate potential non-CT assembly output
Compilers for Xtensa have been seen to produce non-constant time code.
Force small code size builds for X25519, Ed25519, X448 and Ed448.
2025-10-13 10:24:01 +10:00
Dario Pighin
a61d79d154 Some updates to the docstrings 2025-10-11 16:43:05 +02:00
effbiae
b5c5854064 fix for cppcheck defect in src/ssl.c 2025-10-11 11:40:30 +11:00
effbiae
6bda10abd0 define WOLFSSL_SMALL_STACK in tests and benchmark for ASYNC 2025-10-11 11:40:30 +11:00
effbiae
3921362250 WC_VAR macros 2025-10-11 11:40:30 +11:00
effbiae
75a6621c63 hand edits for small stack compress 2025-10-11 11:40:30 +11:00
effbiae
7a3db09ddd automated small stack compress 2025-10-11 11:40:30 +11:00
Kamatham Pushyanth
b2c5eb51d8 Enable hardware acceleration for SHA algorithms on PSoC6.
- Introduced conditional compilation for PSoC6 crypto support across SHA1, SHA2, SHA3 implementations.
- Ensured proper mutex locking for concurrent access to hardware resources during hash operations.
- Added public key creation functionality if only private key is provided in ECDSA verify function (psoc6_ecc_verify_hash_ex).
- Updated ECC parameter size handling to fix incorrect endianness conversions in psoc6_ecc_verify_hash_ex().
- Added README for PSOC6 port.
2025-10-11 05:23:40 +05:30
Eric Blankenhorn
e47be2163a Fix buffer warnings in x509 2025-10-10 15:33:53 -05:00
Eric Blankenhorn
f713cdb5e0 Fix evp const warning and pk buffer warning 2025-10-10 15:14:56 -05:00
JacobBarthelmeh
9debdda1fa fix for C# wrapper Ed25519 import raw key and fix Curve25519 private key decode 2025-10-10 12:32:14 -06:00
JacobBarthelmeh
a081a033fd add C# raw public Ed25519 key export/import test 2025-10-10 12:29:05 -06:00
David Garske
e4b7f66927 Merge pull request #9286 from holtrop/rust-wc-ecc
Rust wrapper: add wolfssl::wolfcrypt::ecc module
2025-10-10 10:26:47 -07:00
David Garske
8a6297d42b Merge pull request #9267 from julek-wolfssl/dtls-stricter-ordering
Add message order sanity checks
2025-10-10 10:26:34 -07:00
Eric Blankenhorn
aa56c40d30 Fix / suppress GCC warnings 2025-10-10 11:56:03 -05:00
David Garske
f8c2e9c000 Merge pull request #9134 from JacobBarthelmeh/csharp
update mono build README instructions
2025-10-10 09:21:07 -07:00
Josh Holtrop
dbc1ecc376 Rust wrapper: remove a couple mut ptr casts 2025-10-10 11:07:19 -04:00
David Garske
d9f8e15fff Merge pull request #9288 from mattia-moffa/20251010-python-new-oid-sum
Disable WOLFSSL_OLD_OID_SUM on Python builds
2025-10-10 08:05:17 -07:00
David Garske
46281a2c17 Merge pull request #9287 from douzzer/20251009-more-WOLFSSL_API_PREFIX_MAP
20251009-more-WOLFSSL_API_PREFIX_MAP
2025-10-10 08:05:05 -07:00
Josh Holtrop
a986b03f53 Rust wrapper: Address code review feedback for ECC 2025-10-10 06:56:46 -04:00
Juliusz Sosinowicz
42238c57b7 Improve documentation and add comments to test_memio buffer utilities 2025-10-10 11:52:47 +02:00
JacobBarthelmeh
7502cbaa3e remove trailing white space in mono.yml 2025-10-10 00:50:46 -06:00
Mattia Moffa
490f20d8f8 Disable WOLFSSL_OLD_OID_SUM on Python builds 2025-10-10 01:25:03 +02:00
David Garske
9633248b49 Merge pull request #9276 from SparkiDev/kapi_ecc_init
KCAPI ECC: initialize mp_ints
2025-10-09 15:40:04 -07:00
Daniel Pouzzner
f767bd2851 .github/workflows/symbol-prefixes.yml: add PQC, --enable-acert, and --with-sys-crypto-policy to configuration;
wolfssl/ssl.h: make sure WOLFSSL_NO_TLS12 is defined in the TLS layer when NO_TLS.
2025-10-09 17:33:14 -05:00
Daniel Pouzzner
d1ba8eb9d0 configure.ac: don't add PQC to --enable-all-crypto -- not ready yet.
.github/workflows/symbol-prefixes.yml: count and report total_public_symbols, and use a better pattern to classify refs as defs.
2025-10-09 16:36:14 -05:00
Daniel Pouzzner
f1d014aecd add .github/workflows/symbol-prefixes.yml.
configure.ac:
* add ML-KEM, ML-DSA, XMSS, and LMS to --enable-all-crypto when !ENABLED_FIPS.
* swap order of --enable-kyber and --enable-mlkem handler code to put mlkem first.
* add --enable-mldsa hander code.
* remove setup code that was adding -DWOLFSSL_NO_TLS12 and -DNO_OLD_TLS to
  AM_CFLAGS when ENABLED_CRYPTONLY -- NO_OLD_TLS is already defined earlier for
  when ENABLED_CRYPTONLY, and WOLFSSL_NO_TLS12 breaks wc_PRF_TLS(), which is
  inside-the-FIPS-boundary crypto.

linuxkm/linuxkm_wc_port.h:
* adopt the WC_SANITIZE_DISABLE and WC_SANITIZE_ENABLE setup code from
  settings.h (where it didn't belong).
* fix FIPS remapping of wc_InitMutex&friends to InitMutex&friends -- inhibit
  when WOLFSSL_API_PREFIX_MAP.

wolfcrypt/src/ge_operations.c: add _wc_curve25519_dummy() to fix visibility of
curve25519().

wolfcrypt/src/poly1305.c: fix visibility of several unprefixed helper routines.

wolfcrypt/test/test.c: fix gating on tls12_kdf_test() and prf_test() (both
  require !WOLFSSL_NO_TLS12).

wolfssl/internal.h, wolfssl/wolfio.h: add several WOLFSSL_API_PREFIX_MAPs.

wolfssl/wolfcrypt/ge_operations.h: fix visibility of several internal asm
  functions.

wolfssl/wolfcrypt/settings.h: in WOLFSSL_LINUXKM setup, add gates to avoid redef
  warnings for various settings, and remove the setup for
  WC_SANITIZE_{DISABLE,ENABLE} (moved to linuxkm_wc_port.h as noted above).

wolfssl/wolfcrypt/wc_port.h: add WOLFSSL_API_PREFIX_MAPs for InitMutex() and
  friends.
2025-10-09 15:34:08 -05:00
David Garske
f070ae1024 Merge pull request #9237 from gojimmypi/pr-max-error-sz
Detect if WOLFSSL_MAX_ERROR_SZ is too small
2025-10-09 13:09:51 -07:00
Josh Holtrop
883da3dd35 Rust wrapper: add wolfssl::wolfcrypt::ecc module 2025-10-09 14:58:07 -04:00
Juliusz Sosinowicz
5efdc6b7b6 Make mutual auth side check more robust 2025-10-09 20:23:56 +02:00
gojimmypi
ed506a5e4d Detect if WOLFSSL_MAX_ERROR_SZ is too small 2025-10-09 09:48:10 -07:00
Juliusz Sosinowicz
bd9f7b5b87 Clarify return values in wolfSSL_mutual_auth documentation 2025-10-09 00:57:08 +02:00
David Garske
3f460b40bc Merge pull request #9258 from kareem-wolfssl/zd19563_4
Fix potential memory leak in wolfSSL_X509_verify_cert.
2025-10-08 13:59:58 -07:00
David Garske
29e2f21fff Merge pull request #9224 from kareem-wolfssl/zd20527
Fix swapped WOLFSSL_SILABS_SHA384/SHA512 defines in sha512.c.
2025-10-08 13:19:05 -07:00
David Garske
db4d2af935 Merge pull request #9257 from kareem-wolfssl/zd20595
Fix running tests in FIPS mode with hash DRBG disabled.
2025-10-08 12:57:46 -07:00
Kaleb Himes
38df498db0 Merge pull request #9282 from douzzer/20250926-fips-optest-tweaks
20250926-fips-optest-tweaks
2025-10-08 13:19:27 -06:00
Daniel Pouzzner
f4d929593f add WOLFSSL_API_PREFIX_MAP -- when defined, exported symbols otherwise missing wc_ or wolfSSL_ prefixes are remapped with the appropriate prefix;
define WOLFSSL_API_PREFIX_MAP in WOLFSSL_LINUXKM setup in settings.h;

fix gates on WOLFSSL_HAVE_PRF and WOLFSSL_NO_CT_OPS setup in settings.h;

linuxkm/: add support for FIPS_OPTEST.
2025-10-08 13:15:56 -05:00
David Garske
7c64292851 Merge pull request #9277 from danielinux/pkcs11-aes-ctr
Added support for AES-CTR in PKCS11 driver
2025-10-08 08:32:57 -07:00
Juliusz Sosinowicz
8233d0d8a2 test_memio_move_message: add docs 2025-10-08 16:20:39 +02:00
Juliusz Sosinowicz
13f8f66281 Add docs 2025-10-08 13:43:35 +02:00
Juliusz Sosinowicz
b32c1aa15c fixup! Add message order sanity checks 2025-10-08 13:33:09 +02:00
Juliusz Sosinowicz
10365d6082 Allow clearing group messages flag 2025-10-08 11:11:03 +02:00
Juliusz Sosinowicz
6fbbdf9324 Add message order sanity checks
Reorganize test_dtls tests to use TEST_DECL_GROUP
Reorganize test_tls tests to use TEST_DECL_GROUP
2025-10-08 11:11:03 +02:00
Kaleb Himes
4dbf96b7bc Merge pull request #9280 from douzzer/20251007-linuxkm-fortify-source-sunrise
20251007-linuxkm-fortify-source-sunrise
2025-10-07 17:31:45 -06:00
JacobBarthelmeh
459a4be339 add SNI support by default to user_settings.h with C# wrapper 2025-10-07 16:43:30 -06:00
JacobBarthelmeh
b179f0d267 copy over library since mono CI build is having trouble finding it 2025-10-07 16:38:18 -06:00
JacobBarthelmeh
f5898d5f5d no need to run make check with wolfSSL build, this test is checking C# wrapper tests 2025-10-07 16:31:43 -06:00
JacobBarthelmeh
33030c2862 fix for macro guard in dtls test case 2025-10-07 16:27:18 -06:00
JacobBarthelmeh
5c4801fca1 update mono build README instructions and add test case 2025-10-07 15:51:02 -06:00
David Garske
a3af514b65 Merge pull request #8927 from JacobBarthelmeh/usersettings
Fix for user_settings.h build with configure.ac and HAVE_CURVE25519
2025-10-07 14:41:29 -07:00
David Garske
9d72337a25 Merge pull request #9273 from holtrop/rust-wc-rsa
Rust wrapper: add wolfssl::wolfcrypt::rsa module
2025-10-07 14:39:11 -07:00
Kareem
b564138490 Merge remote-tracking branch 'upstream/master' into zd19563_4 2025-10-07 14:23:45 -07:00
Kareem
233e574f32 Merge remote-tracking branch 'upstream/master' into zd20595 2025-10-07 14:23:21 -07:00
Kareem
8fbc39ea6c Merge branch 'master' into zd20527 2025-10-07 14:22:55 -07:00
Kareem
14e1d2eec3 Merge branch 'master' into zd20527 2025-10-07 14:22:08 -07:00
Kareem
931384a117 Merge branch 'master' into zd20595 2025-10-07 14:21:46 -07:00
David Garske
1d67e5551b Merge pull request #9279 from julek-wolfssl/testsuite_test-ready
testsuite_test: reset `ready` in between uses
2025-10-07 13:26:59 -07:00
Josh Holtrop
4fba5f8679 Rust wrapper: add license comments to Rust source files 2025-10-07 16:02:36 -04:00
Josh Holtrop
cf9014dce5 Rust wrapper: document more directories in README.md 2025-10-07 15:59:54 -04:00
Daniel Pouzzner
e4f0acdc1d linuxkm/linuxkm_wc_port.h: disable CONFIG_FORTIFY_SOURCE module-wide on kernels <5.18 (shim conflicts), and add WC_FORCE_LINUXKM_FORTIFY_SOURCE for future use. 2025-10-07 12:49:54 -05:00
David Garske
b75af93a05 Merge pull request #9278 from JacobBarthelmeh/pkcs7_stream
coverity warnings on test case, CID 549270 and 549271
2025-10-07 10:19:01 -07:00
JacobBarthelmeh
2445af9308 compile both fe_operations.c and low_mem version and rely on macro defines to choose which code gets compiled 2025-10-07 10:42:08 -06:00
Juliusz Sosinowicz
5069d977ed testsuite_test: reset ready in between uses
This should fix the constant intermittent failures in GH CI.
2025-10-07 18:30:36 +02:00
David Garske
b3031d25ca Merge pull request #9255 from SparkiDev/tls13_cookie_hash
TLS 1.3 Cookie Hash: use stronger hash if no SHA-256
2025-10-07 08:51:26 -07:00
JacobBarthelmeh
1237a5468f coverity warnings on test case, CID 549270 and 549271 2025-10-07 09:35:37 -06:00
David Garske
d9b52d832c Merge pull request #9259 from julek-wolfssl/dtls13-timeout
Reset DTLS 1.3 timeout
2025-10-07 07:57:17 -07:00
Daniele Lacamera
ea300985e0 Added support for AES-CTR in PKCS11 driver 2025-10-07 13:03:24 +02:00
Sean Parkinson
abfcb7122c KCAPI ECC: initialize mp_ints
Was not initializing mp_ints and it is needed now.
2025-10-07 20:59:27 +10:00
Sean Parkinson
9d546acd03 Merge pull request #9200 from effbiae/build-msg-or-hash-output
refactor to BuildMsgOrHashOutput()
2025-10-07 08:20:20 +10:00
David Garske
92a47829fa Merge pull request #8674 from JacobBarthelmeh/pkcs7_stream
Fix to advance past multiple recipients
2025-10-06 11:27:03 -07:00
Josh Holtrop
ab5d9ad1b8 Rust wrapper: add wolfssl::wolfcrypt::rsa module 2025-10-06 14:10:53 -04:00
David Garske
d4242fa026 Merge pull request #9272 from julek-wolfssl/cov-20251006
Handle coverity reported errors
2025-10-06 10:57:20 -07:00
JacobBarthelmeh
68eb8b70d1 Merge pull request #9271 from rizlik/cryptocb_sha512_family_fix
cryptocb: sha512_family: try specific digest length hashtype first
2025-10-06 11:38:57 -06:00
Daniel Pouzzner
f854795c02 Merge pull request #9263 from holtrop/rsa-const-pointers
RSA API: use const pointers and clean up some comments
2025-10-06 11:55:04 -05:00
JacobBarthelmeh
7128932eff avoid attempt of key decode and free buffer if incorrect recipient found 2025-10-06 10:48:59 -06:00
David Garske
dcafe9adf2 Add STM32H5 PKA support. 2025-10-06 18:38:09 +02:00
David Garske
fe7b6f1651 Add missing TimeNowInMilliseconds for FreeRTOS 2025-10-06 18:38:09 +02:00
David Garske
c349001d94 Move the STM32 hash options into STM32_HASH. Fix for realloc. Improve docs for hcom_uart. Fix issue with detecting RTC and incorrectly setting NO_ASN_TIME. 2025-10-06 18:38:09 +02:00
David Garske
ee77094dd6 Fixes to get STM32N6 hash and GMAC working 2025-10-06 18:38:09 +02:00
Juliusz Sosinowicz
f6be6c8b6d Add timeout assertions to DTLS test 2025-10-06 18:23:16 +02:00
Juliusz Sosinowicz
cd0d986016 Reset DTLS 1.3 timeout 2025-10-06 18:23:16 +02:00
David Garske
874633da38 Merge pull request #9270 from effbiae/sm3-free-x2
double free -- should be o_hash
2025-10-06 08:41:30 -07:00
Juliusz Sosinowicz
32e24e8199 Suppress Coverity deadcode warning in test_ocsp_tls_cert_cb 2025-10-06 16:26:45 +02:00
Juliusz Sosinowicz
a9ad5181e6 tls13: remove dead code in SetupOcspResp csr assignment 2025-10-06 16:21:47 +02:00
Juliusz Sosinowicz
303401b047 Refactor certificate status handling to use word32 2025-10-06 16:19:54 +02:00
Marco Oliverio
fc348da28f fix: escape error code operands 2025-10-06 14:47:13 +02:00
Marco Oliverio
9cbc3f97e5 cryptocb: sha512_family: try specific digest length hashtype first
If the cryptocb provider supports specific SHA512/224 and SHA512/256
hashtype, this commit allows to:

1. avoid a copy
2. do not touch the output buffer outside of the cryptocb handler

2 might be important for cryptocb provider that needs special handling
of memory buffer (DMA, memory mapping).
2025-10-06 11:42:23 +02:00
effbiae
a53f0cd3fa double free -- should be o_hash 2025-10-05 19:13:50 +11:00
Kaleb Himes
99c983d44f Merge pull request #9269 from douzzer/20251002-linuxkm-fencepost-and-fortify-tweaks
20251002-linuxkm-fencepost-and-fortify-tweaks
2025-10-03 17:01:45 -06:00
JacobBarthelmeh
fca3028395 advance index past recipent set in non stream case too 2025-10-03 15:55:35 -06:00
Daniel Pouzzner
781c9bb990 Merge pull request #9268 from dgarske/cryptocb_only
Remove the `NO_WRITE_TEMP_FILES` test.c logic added in #9194
2025-10-03 16:39:59 -05:00
Daniel Pouzzner
46fd3d60f9 linuxkm/Kbuild: activate linker script with backward-compatible construct (tests good on 4.4);
linuxkm/linuxkm_wc_port.h: completely inhibit CONFIG_FORTIFY_SOURCE across the module when HAVE_LINUXKM_PIE_SUPPORT, for fidget-free backward compat;

linuxkm/module_hooks.c:
* add startup-time sanity check on fenceposts,
* enhance DEBUG_LINUXKM_PIE_SUPPORT with coverage for WOLFSSL_TEXT_SEGMENT_CANONICALIZER on the entire text segment,
* compute and report a hash on the stabilized text segment,
* fix wc_linuxkm_normalize_relocations() to allow span end == __wc_text_end, and
* add numerous verbose pr_err()s when DEBUG_LINUXKM_PIE_SUPPORT.
2025-10-03 15:07:56 -05:00
JacobBarthelmeh
4e92920a7f cast variable to word32 for compare 2025-10-03 13:51:15 -06:00
JacobBarthelmeh
12cfca4060 account for no AES build and add err trace macro 2025-10-03 13:51:15 -06:00
JacobBarthelmeh
328f505702 add pkcs7 test with multiple recipients 2025-10-03 13:51:15 -06:00
JacobBarthelmeh
7a5e97e30e adjustment for recipient index advancement 2025-10-03 13:51:15 -06:00
JacobBarthelmeh
6987304f42 Fix to advance past multiple recipients 2025-10-03 13:51:15 -06:00
David Garske
d2be867b51 Remove the NO_WRITE_TEMP_FILES test.c logic added in #9194 2025-10-03 10:40:11 -07:00
David Garske
ac23b48283 Merge pull request #9144 from julek-wolfssl/ocsp-callbacks
tls ocsp: support lazy cert loading with ocsp stapling
2025-10-03 09:47:55 -07:00
Juliusz Sosinowicz
f9063c406b Enables dynamic TLS cert loading with OCSP
Exposes dynamic TLS certificate loading and OCSP stapling to allow applications to load certs lazily.

The server no longer needs to load the CA to staple OCSP responses.

Adds a certificate setup callback (WOLFSSL_CERT_SETUP_CB)
Adds an OCSP status callback to load OCSP responses directly
Adds `wc_NewOCSP`, `wc_FreeOCSP`, and `wc_CheckCertOcspResponse`
Don't call verify twice on the same error
Send correct alert on status response error
2025-10-03 13:08:11 +02:00
effbiae
2adae90a5d refactor to BuildMsgOrHashOutput 2025-10-03 11:41:57 +10:00
Sean Parkinson
ea4554c941 Merge pull request #9234 from effbiae/TLSX_WriteWithEch
restore inner server name in TLSX_WriteWithEch
2025-10-03 09:20:40 +10:00
Sean Parkinson
d8d3a7a22d Merge pull request #9190 from colmenero/hmacCopy-sm3-issue-9187
Add SM3 in wolfSSL_HmacCopy
2025-10-03 09:10:03 +10:00
Sean Parkinson
e14cc3a34e TLS 1.3 Cookie Hash: use stronger hash if no SHA-256
Order of preference, based on algorithms compiled in, to use with HMAC
for TLS 1.3 cookie:
  1. SHA-256
  2. SHA-384
  3. SHA-512
  4. SM3

Make code compile and unittest pass when SHA-256 not compiled in.
Certificates used for testing require SHA-256 so handshake testing
fails.
2025-10-03 08:28:02 +10:00
Daniel Pouzzner
5804ba759a Merge pull request #9194 from dgarske/cryptocb_only_test
Fixes for crypto callback only (no filesystem and keygen)
2025-10-02 16:52:31 -05:00
David Garske
5501111e77 Merge pull request #9265 from douzzer/20251002-misc-clang-tidy-and-fips-fixes
20251002-misc-clang-tidy-and-fips-fixes
2025-10-02 14:38:14 -07:00
Daniel Pouzzner
408e6f79f9 tests/api/test_dtls.c: add missing ExpectIntEQ() around wolfSSL_connect() in test_dtls_bogus_finished_epoch_zero();
wolfcrypt/test/test.c: fix gate for wc_DhGeneratePublic() test in dh_ffdhe_test() to properly exclude 5.3.0.
2025-10-02 14:38:05 -05:00
Josh Holtrop
c36c39af0a RSA API: use const pointers and clean up some comments 2025-10-02 15:28:43 -04:00
David Garske
db6a4dfedb Merge pull request #9238 from effbiae/X509PrintSubjAltName
refactor X509PrintSubjAltName
2025-10-02 11:53:22 -07:00
David Garske
6de0b93a08 Merge pull request #9262 from julek-wolfssl/ascon-h-comment
ascon.h: Correct the placement of the AsconAEAD API comment
2025-10-02 11:11:01 -07:00
David Garske
6430a123fd Merge pull request #9264 from gojimmypi/pr-espressif-workflow
Update Espressif workflow to pin latest to ESP-IDF v5.5
2025-10-02 11:05:15 -07:00
gojimmypi
b4b9bee950 Update workflow to pin latest to ESP-IDF v5.5 2025-10-02 10:25:25 -07:00
David Garske
36ce93d409 Merge pull request #9225 from gojimmypi/pr-espidf-v6-sha-fix
Add fix for SHA HW on ESP-IDF v6
2025-10-02 09:50:46 -07:00
Juliusz Sosinowicz
31db2b9e08 ascon.h: Correct the placement of the AsconAEAD API comment 2025-10-02 10:22:16 +02:00
effbiae
c3c7b11cfc refactor X509PrintSubjAltName 2025-10-02 15:36:36 +10:00
Kareem
abaf57d049 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20595 2025-10-01 15:53:57 -07:00
Kareem
d53beb0f9d Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd19563_4 2025-10-01 15:53:35 -07:00
Kaleb Himes
018af47f49 Merge pull request #9260 from douzzer/20251001-wc_DhGeneratePublic-ungate
20251001-wc_DhGeneratePublic-ungate
2025-10-01 14:38:39 -06:00
Kareem
992dfecc11 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd19563_4 2025-10-01 11:15:46 -07:00
Daniel Pouzzner
2ca9f66579 wolfcrypt/test/test.c: add FIPS gate around wc_DhGeneratePublic() test in dh_ffdhe_test(). 2025-10-01 10:23:49 -05:00
Daniel Pouzzner
477d7fae54 remove WOLFSSL_DH_GEN_PUB, WOLFSSL_NO_DH_GEN_PUB, and WOLFSSL_DH_EXTRA gating re wc_DhGeneratePublic(), consistent with recent FIPS changes. 2025-10-01 09:38:27 -05:00
Daniel Pouzzner
56524a3169 Merge pull request #9226 from philljj/tiny_curl_config
curl: document tiny-curl config a bit more.
2025-09-30 20:45:15 -05:00
Daniel Pouzzner
b3a5c96c56 Merge pull request #9205 from gasbytes/issue-9188
Prevent replaying ClientHello messages when Finished message are epoch 0
2025-09-30 20:44:09 -05:00
Daniel Pouzzner
88075664dc Merge pull request #9252 from bigbrett/kdf-cryptocb
HKDF cryptocb
2025-09-30 20:37:11 -05:00
Daniel Pouzzner
d5750ac7ca Merge pull request #9250 from gasbytes/issue-9247
Added check in TLX_Parse to check if KeyShare extension is present SupportedGroups must be present too (and viceversa)
2025-09-30 20:36:50 -05:00
Daniel Pouzzner
c893191577 Merge pull request #9253 from julek-wolfssl/gh/9245
DTLS SRTP should also do a cookie exchange since it uses UDP
2025-09-30 20:36:27 -05:00
Daniel Pouzzner
55a19da4c6 Merge pull request #9178 from SparkiDev/ed448_no_large_code
Ed448: No large code option with fast code
2025-09-30 20:36:10 -05:00
Daniel Pouzzner
234ba7780a Merge pull request #9148 from SparkiDev/ct_volatile
Mark variables as volatile
2025-09-30 20:35:52 -05:00
Daniel Pouzzner
b4ee8869c8 Merge pull request #9246 from julek-wolfssl/gh/9240
Abort connection if we are about to send the same CH
2025-09-30 20:35:32 -05:00
Daniel Pouzzner
1932c5a96d Merge pull request #9196 from kareem-wolfssl/zd20038_3
Fix building and running tests and examples with coding/PEM support disabled.
2025-09-30 20:34:46 -05:00
Daniel Pouzzner
2172a4dea9 Merge pull request #9248 from holtrop/rust-wc-aes
Rust wrapper: Add aes module
2025-09-30 20:34:25 -05:00
Daniel Pouzzner
4a176d175a Merge pull request #9137 from kareem-wolfssl/gh8354
Fix documentation typo for wc_ed25519_export_public.
2025-09-30 20:34:06 -05:00
Daniel Pouzzner
c7cd3b6c6d Merge pull request #8543 from JacobBarthelmeh/fsl_caam
handle unsupported fsl algo
2025-09-30 20:33:34 -05:00
Daniel Pouzzner
42d2b81231 Merge pull request #9209 from mattia-moffa/20250910-certauth-clienthello
Add support for certificate_authorities extension in ClientHello
2025-09-30 20:33:16 -05:00
Daniel Pouzzner
f869daafa2 Merge pull request #9037 from night1rider/issue-9009-cmake-options
Updating configure/Cmake to track Apple options for resulting wolfssl.pc file that is generated
2025-09-30 20:32:52 -05:00
Kareem
0efc8118d3 Fix potential memory leak in wolfSSL_X509_verify_cert. 2025-09-30 17:39:33 -07:00
Kareem
a3a08e81a9 Fix running tests in FIPS mode with hash DRBG disabled. 2025-09-30 16:15:21 -07:00
Daniel Pouzzner
b56cafdd25 Merge pull request #8692 from kareem-wolfssl/zd19563_verify
Update wolfSSL_X509_verify_cert to retry all certs until a valid chain is found.
2025-09-30 16:22:41 -05:00
David Garske
50f25c5849 Merge pull request #9254 from douzzer/20250929-WOLFSSL_KERNEL_MODE
20250929-WOLFSSL_KERNEL_MODE
2025-09-30 09:04:13 -07:00
Sean Parkinson
4719fd5e80 Ed448: No large code option with fast code
Make from bytes, to bytes and mod top half use for loops when no large
code.
Make generation script generate casting changes.
2025-09-30 09:38:06 +10:00
Daniel Pouzzner
7ea66aeffe refactor WOLFSSL_LINUXKM gates as generic WOLFSSL_KERNEL_MODE gates where appropriate:
rename WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS to WOLFSSL_USE_SAVE_VECTOR_REGISTERS, and wherever appropriate, replace defined(WOLFSSL_LINUXKM) with defined(WOLFSSL_USE_SAVE_VECTOR_REGISTERS).

rename WC_WANT_FLAG_DONT_USE_AESNI to WC_WANT_FLAG_DONT_USE_VECTOR_OPS.

rename lkm_printf() to wc_km_printf().

replace WOLFSSL_LINUXKM gates on kernel-incompatible includes with header-specific gates NO_STRING_H, NO_STDINT_H, NO_LIMITS_H, NO_CTYPE_H, NO_STDLIB_H

remove low level threading setup section of wolfssl/internal.h, which duplicated existing logic in wc_port.h, except for off-topic WOLFSSL_APACHE_MYNEWT TLS-layer setup, which is preserved, and a defined(__NT__) clause, which is now merged into the existing section in wc_port.h.
2025-09-29 16:59:12 -05:00
David Garske
6698cb7616 Fix for crypto callback only 2025-09-29 12:37:57 -07:00
Brett Nicholas
5121847728 add HAVE_SELFTEST protection 2025-09-29 12:00:41 -06:00
Daniel Pouzzner
1247d2b5ed Merge pull request #9249 from lealem47/wg_enable_encoding
Enable base16 & 64 encoding when wolfGuard is enabled
2025-09-29 12:49:36 -05:00
Brett Nicholas
7b67dbaa31 add FIPS protection to test.c usage of wc_HKDF_ex() 2025-09-29 11:36:18 -06:00
philljj
436a06e864 Merge pull request #9251 from douzzer/20250928-linuxkm-krealloc_node_align_noprof
20250928-linuxkm-krealloc_node_align_noprof
2025-09-29 12:16:10 -05:00
Brett Nicholas
26ed835ca1 fix HKDF test macro protection 2025-09-29 10:52:22 -06:00
Juliusz Sosinowicz
d8fd19feb8 DTLS SRTP should also do a cookie exchange since it uses UDP 2025-09-29 18:27:36 +02:00
Brett Nicholas
3c81fffedd Add HKDF cryptoCb and test 2025-09-29 10:16:01 -06:00
Reda Chouk
be02b1ea72 Added check in TLX_Parse to check if KeyShare extension is present
SupportedGroups must be present too (and viceversa).
From RFC 8446 Section 9.2.
2025-09-29 13:10:32 +02:00
Daniel Pouzzner
97c094f802 linuxkm/: accommodate API change from k[v]realloc_noprof() to k[v]realloc_node_align_noprof() expected in 6.18+ (current linux-next). 2025-09-28 11:46:17 -05:00
David Garske
eda6c184bb Merge pull request #9219 from kareem-wolfssl/zd20538
Fix building with --enable-keygen --enable-rsavfy.
2025-09-26 14:08:33 -07:00
Lealem Amedie
224dbb75d0 Enable base16 & 64 encoding when wolfGuard is enabled 2025-09-26 14:49:51 -06:00
Kareem
ef989a4241 Merge remote-tracking branch 'upstream/master' into zd19563_verify 2025-09-26 11:13:28 -07:00
Kareem
d2537a883f Always add failed certs back to cert store. 2025-09-26 11:13:19 -07:00
Kareem
b302e8edd0 Move CERT_FILETYPE definition, use it in echoserver. 2025-09-26 10:58:51 -07:00
Kareem
28aef2f4dd Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20038_3 2025-09-26 10:56:42 -07:00
Josh Holtrop
f336e8fc5a Rust wrapper: Add aes module 2025-09-26 13:18:51 -04:00
Juliusz Sosinowicz
f798a585d9 Abort connection if we are about to send the same CH 2025-09-26 12:08:53 +02:00
Sean Parkinson
b982f86d2f Merge pull request #8818 from JacobBarthelmeh/tx
fix for threadx warning and add compile test
2025-09-26 08:33:38 +10:00
Kareem
af9a06e9bf Merge remote-tracking branch 'upstream/master' into zd19563_verify 2025-09-25 10:39:11 -07:00
Kareem
3a4472f5da Merge remote-tracking branch 'upstream/master' into zd20527 2025-09-25 10:37:22 -07:00
Kareem
a3b29ed99f Merge remote-tracking branch 'upstream/master' into zd20038_3 2025-09-25 10:32:13 -07:00
Kareem
193e5205ed Fix documentation typo for wc_ed25519_export_public. 2025-09-25 10:31:18 -07:00
Kaleb Himes
cac309d0d8 Merge pull request #9244 from douzzer/20250924-configure-fips-and-linuxkm-and-rdseed-options
20250924-configure-fips-and-linuxkm-and-rdseed-options
2025-09-25 11:03:22 -06:00
JacobBarthelmeh
54a52f0482 remove sed command for -Werror and refactor threadx.yml workflow 2025-09-25 09:27:16 -06:00
JacobBarthelmeh
677eeb31e4 add netxduo compile test 2025-09-25 09:27:16 -06:00
JacobBarthelmeh
50835c14a2 fix warning of const char* passed as char* 2025-09-25 09:27:16 -06:00
JacobBarthelmeh
40b9fc35f9 handle unsupported fsl algo 2025-09-25 09:14:59 -06:00
JacobBarthelmeh
65d4e01ad6 Merge pull request #9212 from holtrop/rust-wc-random
Rust wrapper: add wolfssl::wolfcrypt::random module
2025-09-25 09:10:07 -06:00
Daniel Pouzzner
8516411ff2 configure.ac: add --enable-wolfguard, --enable-intelrdseed, --enable-fips=v5.2.3, and --enable-fips=v5.2.4;
remove obsolete/wrong linuxkm incompatible-feature tests and errors for enable_compkey/ENABLED_COMPKEY/HAVE_COMP_KEY;

tweak ENABLED_ENTROPY_MEMUSE_DEFAULT logic to check for RDRAND/RDSEED.
2025-09-24 22:39:12 -05:00
Sean Parkinson
561fead861 Merge pull request #9235 from anhu/rpi_WC_RESEED_INTERVAL
Fixing up a small documentation omission.
2025-09-25 10:48:37 +10:00
Daniel Pouzzner
b5a914b6c2 Merge pull request #9239 from SKlimaRA/SKlimaRA/zd20556
fixes zd20556.
2025-09-24 13:53:18 -05:00
Stanislav Klima
1cfafc2a52 fixes from zd20556 2025-09-24 12:03:39 +02:00
Sean Parkinson
e168714123 Merge pull request #9236 from douzzer/20250923-wc_XChaCha20Poly1305_crypt_oneshot-empty-message
20250923-wc_XChaCha20Poly1305_crypt_oneshot-empty-message
2025-09-24 11:59:12 +10:00
Sean Parkinson
ae760923e3 Merge pull request #9208 from effbiae/set-cert-type
refactor to WOLFSSL_SET_CERT_TYPE
2025-09-24 10:00:03 +10:00
Sean Parkinson
9cf91e157c Merge pull request #9218 from gojimmypi/pr-server-sm2-cert
Generate server-sm2-cert.der
2025-09-24 09:47:56 +10:00
Sean Parkinson
aa87b35964 Mark variables as volatile
Ensures compiler optimizers don't stop code from being constant time.
2025-09-24 08:47:20 +10:00
Sean Parkinson
51a7531b6a Merge pull request #9232 from LinuxJedi/fix-deb-builds
Cleanup debian build
2025-09-24 08:24:51 +10:00
Mattia Moffa
26c9908504 Use string literals in tests, fix add CA functions 2025-09-24 00:11:55 +02:00
Daniel Pouzzner
4af6eb4f2b wolfcrypt/src/chacha20_poly1305.c: in wc_XChaCha20Poly1305_crypt_oneshot(), allow empty message. 2025-09-23 17:06:22 -05:00
Anthony Hu
93955a2ba7 Fixing up a small documentation omission. 2025-09-23 15:24:50 -04:00
Kareem
0fcfade6a0 Add missing aes NULL check to SI Labs wc_AesSetKey. 2025-09-23 10:16:47 -07:00
Kaleb Himes
7084728482 Merge pull request #9230 from douzzer/20250922-linuxkm-ignore-WOLFSSL_DH_GEN_PUB
20250922-linuxkm-ignore-WOLFSSL_DH_GEN_PUB
2025-09-23 10:07:03 -06:00
gojimmypi
a4d0a777bc Generate server-sm2-cert.der 2025-09-23 08:32:21 -07:00
effbiae
a8fb94b425 restore inner server name in TLSX_WriteWithEch 2025-09-23 23:30:25 +10:00
Mattia Moffa
4535572428 Use memio in tests, fix ifdef, fix typos 2025-09-23 11:50:21 +02:00
effbiae
b20f3dac57 refactor to set_cert_type 2025-09-23 19:27:22 +10:00
Andrew Hutchings
b8df4d84e9 Cleanup debian build
* CFLAGS get pulled in anyway with configure options, or part of the
  env, we don't need to add them
* Path handling went wrong in one specific platform test run
2025-09-23 06:39:04 +01:00
Sean Parkinson
e763dcc33b Merge pull request #9228 from LinuxJedi/stm32-rtc
Fix STM32 benchmark endless loop after 1 hour
2025-09-23 12:05:52 +10:00
Sean Parkinson
e497d28ae1 Merge pull request #9223 from kareem-wolfssl/zd20543_4
Fix non constant compare of TLS 1.3 binder, check for negative dst_len in wc_XChaCha20Poly1305_crypt_oneshot.
2025-09-23 09:09:33 +10:00
Kareem
1c7fe06322 Also gate out wc_Sha512Final for SILabs. 2025-09-22 15:45:37 -07:00
Daniel Pouzzner
006fe05305 linuxkm/lkcapi_dh_glue.c: don't test for WOLFSSL_DH_GEN_PUB -- assume that wc_DhGeneratePublic() will be available when defined(WOLFSSL_DH_EXTRA), and fail at compile time if not. 2025-09-22 14:06:07 -05:00
night1rider
4dfa75fbfa Updating support/wolfssl.pc.in, CMakelist.txt, and configure.ac to track missing apple options in the resulting wolfssl.pc file by adding new PC_LIBS_PRIVATE to track options 2025-09-22 12:00:33 -06:00
Reda Chouk
e3fbb24713 Fix malformed DTLS comment syntax 2025-09-22 12:59:30 +02:00
Andrew Hutchings
504c51f354 Fix STM32 benchmark endless loop after 1 hour
If the STM32 has an RTC, this is used to time the execution of each
benchmark item. It was only multiplying hours by 24 to get seconds, so
after one hour the amount of seconds went to less than 3600. Therefore
the benchmark thought negative time elapsed and would never end.
2025-09-21 08:19:16 +01:00
JacobBarthelmeh
4ca5c315fc Merge pull request #9222 from douzzer/20250919-GetEcDiffieHellmanKea-clang-analyzer-deadcode.DeadStores
20250919-GetEcDiffieHellmanKea-clang-analyzer-deadcode.DeadStores
2025-09-19 22:01:31 -06:00
jordan
fa4312edef curl: document tiny-curl config a bit more. 2025-09-19 15:56:51 -05:00
gojimmypi
d50593834b Add fix for SHA HW on ESP-IDF v6 2025-09-19 12:04:46 -07:00
Kareem
f4d9c90827 Fix swapped WOLFSSL_SILABS_SHA384/SHA512 defines in sha512.c. 2025-09-19 11:45:22 -07:00
Kareem
7afcf20077 Fix non constant compare of TLS 1.3 binder, check for negative dst_len in wc_XChaCha20Poly1305_crypt_oneshot. 2025-09-19 11:39:46 -07:00
Daniel Pouzzner
4174f554be src/internal.c: fix clang-analyzer-deadcode.DeadStores in GetEcDiffieHellmanKea(). 2025-09-19 11:22:19 -05:00
Mattia Moffa
5efc4a7cd0 Fix tests 2025-09-19 16:45:15 +02:00
Josh Holtrop
821758a73c Rust wrapper: set rpath for unit test binaries 2025-09-19 07:48:36 -04:00
Josh Holtrop
ed46357fe1 Rust wrapper: Run unit tests in github workflow 2025-09-19 07:34:37 -04:00
Kareem
23f595586d Fix building with --enable-keygen --enable-rsavfy. 2025-09-18 16:21:08 -07:00
Sean Parkinson
b90720c6be Merge pull request #9176 from effbiae/do-server-key-exchange
refactor parts of DoServerKeyExchange()
2025-09-19 08:36:07 +10:00
JacobBarthelmeh
5d9c608ed6 Merge pull request #9195 from rlm2002/zd20508
address undefined shift behavior and overflow
2025-09-18 15:34:32 -06:00
JacobBarthelmeh
f143dbb858 Merge pull request #9217 from douzzer/20250918-25519-low-mem-gates
20250918-25519-low-mem-gates
2025-09-18 14:34:13 -06:00
JacobBarthelmeh
1f33b9910c Merge pull request #9215 from LinuxJedi/fix-ACVP_VECTOR_TESTING
Fix a test when using `ACVP_VECTOR_TESTING`
2025-09-18 11:47:02 -06:00
JacobBarthelmeh
beaf16b9e8 Merge pull request #9216 from philljj/log_mem_err_msg
ssl internal: log preMasterSecret Memory error msg.
2025-09-18 11:45:03 -06:00
Daniel Pouzzner
d15523a6df fix gating in wolfssl/wolfcrypt/fe_operations.h -- gate out load_3() and load_4() when !(CURVE25519_SMALL || ED25519_SMALL);
harmonize low-mem outer gate in wolfcrypt/src/fe_operations.c with outer gate in wolfcrypt/src/fe_low_mem.c.
2025-09-18 12:27:37 -05:00
jordan
0231f33b2e ssl internal: log preMasterSecret Memory error msg. 2025-09-18 09:26:10 -05:00
Reda Chouk
8f47b4bb08 Prevent DTLS clients from replaying ClientHello
messages when receiving bogus Finished messages in epoch 0 by
ensuring Finished messages are only ignored in encrypted epochs (1).
2025-09-18 14:41:12 +02:00
Andrew Hutchings
b7679dbe96 Fix a test when using ACVP_VECTOR_TESTING
The `ACVP_VECTOR_TESTING` blocks the clearing of the output when an auth
tag check fails. This causes a test for that scenario to fail, so don't
do that test whcn `ACVP_VECTOR_TESTING` is defined.
2025-09-18 11:37:06 +01:00
Josh Holtrop
2819e5c4cc Rust wrapper: add wolfssl::wolfcrypt::random module 2025-09-17 17:11:47 -04:00
philljj
7a0c40ee16 Merge pull request #9210 from douzzer/20250916-linuxkm-fixes
20250916-linuxkm-fixes
2025-09-17 15:50:03 -05:00
JacobBarthelmeh
05bcd82adc Merge pull request #9191 from holtrop/rust-wrapper
Create initial Rust wrapper structure
2025-09-17 14:20:34 -06:00
Daniel Pouzzner
66ee2c2ef3 linuxkm/Makefile and linuxkm/Kbuild:
* refactor .PHONY Kbuild target rename-pie-text-and-data-sections into macro RENAME_PIE_TEXT_AND_DATA_SECTIONS, and execute it conditional on module_exports.c regeneration;

* use .ONESHELL in the wrapper Makefile too, and rework the changes in bf5536d6b8 such that the recursive make is always executed, but will leave the target untouched if it was already up-to-date relative to its dependencies.

these tweaks fix the module build to restore automatic rebuild when dependencies are updated.
2025-09-17 13:10:16 -05:00
Daniel Pouzzner
7ddf263199 linuxkm/Kbuild: add support for FORCE_GLOBAL_OBJTOOL_OFF. 2025-09-17 13:10:16 -05:00
JacobBarthelmeh
72ae012ace Merge pull request #9202 from gojimmypi/pr-apple-workflow-update
Remove missing workflow strategy, run only for wolfssl owner
2025-09-17 11:44:34 -06:00
JacobBarthelmeh
b8b35e25e6 Merge pull request #9204 from gojimmypi/pr-test-order
Change test order: random_test after SHA tests
2025-09-17 10:43:30 -06:00
JacobBarthelmeh
377d238457 Merge pull request #9207 from embhorn/zd20520
Check for NO_THREAD_LS before assigning THREAD_LS_T
2025-09-17 10:38:48 -06:00
JacobBarthelmeh
5b864657b7 Merge pull request #9175 from SparkiDev/sm2_cert_vfy_fix
SM2 TLS1.3: Fix certificate verify
2025-09-17 10:16:44 -06:00
Josh Holtrop
d2c16bacb6 Rust wrapper: add include.am to include files in distribution 2025-09-17 10:44:40 -04:00
Mattia Moffa
3bdb43eb6a Add support for certificate_authorities extension in ClientHello 2025-09-17 15:33:05 +02:00
philljj
5cb2103feb Merge pull request #9206 from douzzer/20250916-linuxkm-module-update-fips-hash
20250916-linuxkm-module-update-fips-hash
2025-09-16 19:06:06 -05:00
JacobBarthelmeh
65108beee8 Merge pull request #9201 from julek-wolfssl/debian-rules
Ignore `debian/rules`
2025-09-16 17:50:57 -06:00
JacobBarthelmeh
b591b52ab2 Merge pull request #9182 from douzzer/20250910-wc_ecc_export_x963-no-PRIVATE_KEY_UNLOCK
20250910-wc_ecc_export_x963-no-PRIVATE_KEY_UNLOCK
2025-09-16 17:15:24 -06:00
Eric Blankenhorn
600058529c Check for NO_THREAD_LS before assigning THREAD_LS_T 2025-09-16 16:17:49 -05:00
Daniel Pouzzner
bf5536d6b8 linuxkm/Makefile:
* add module-update-fips-hash rule, for in-place FIPS hash update without rebuild;
* improve PIE sequence in module build rule to double-check stability of the relocation table after final rebuild;

Makefile.am: add a module-update-fips-hash passthrough target.
2025-09-16 14:38:51 -05:00
gojimmypi
152075848c Change test order: random_test after SHA tests 2025-09-16 10:48:14 -07:00
Ruby Martin
a8fca08b7e add edge case unit test where cost=22, block=8 2025-09-16 11:04:43 -06:00
Ruby Martin
86abe793d7 address undefined shift behavior and overflow 2025-09-16 11:03:21 -06:00
gojimmypi
01178b325e Remove missing strategy, run only for wolfssl owner 2025-09-16 08:50:14 -07:00
Juliusz Sosinowicz
c2a3a37c1e Ignore debian/rules 2025-09-16 16:08:01 +02:00
effbiae
7da0b54d32 refactor DoServerKeyExchange() 2025-09-16 12:02:38 +10:00
JacobBarthelmeh
d4f8c9c754 Merge pull request #9189 from julek-wolfssl/hostap-vm.yml-cache-check
Fix: Avoids hostap checkout on cache hit
2025-09-15 13:21:54 -06:00
Chris Conlon
aa8151dc4b Merge pull request #9186 from miyazakh/fsp_ra6m3_up2
Renesas RA6M3 : Minor README update
2025-09-15 10:10:50 -06:00
Kareem
989a9da65a Move CERT_FILETYPE definition. 2025-09-12 16:33:29 -07:00
Kareem
ec92f76dec Fix tests when building with PEM support disabled by using DER certs/keys. 2025-09-12 16:11:07 -07:00
Kareem
a216ea170c Add test case for --enable-coding=no. 2025-09-12 16:11:07 -07:00
Kareem
5226b1b410 Fix building with --coding=no/WOLFSSL_PEM_TO_DER undefined. 2025-09-12 16:11:07 -07:00
Josh Holtrop
167e76add4 Create initial Rust wrapper structure
Generate bindings to C library with bindgen
Add github CI workflow to build Rust wrapper
2025-09-12 15:49:56 -04:00
Juliusz Sosinowicz
98ac98db9a Fix: Avoids hostap checkout on cache hit
This change prevents the hostap repository from being cloned
unnecessarily when the cache is hit, improving workflow efficiency.
2025-09-12 17:10:13 +02:00
Luis Colmenero
b146c4e417 Add SM3 in wolfSSL_HmacCopy 2025-09-12 16:44:40 +02:00
Hideki Miyazaki
13809256ef minor update README 2025-09-12 17:54:49 +09:00
Sean Parkinson
dc421a0d4c Merge pull request #9164 from dgarske/keytoder
Add support for enabling RSA private key to DER without keygen
2025-09-12 10:36:34 +10:00
Sean Parkinson
a17b10ef10 Merge pull request #9171 from effbiae/ss-callback
refactor SessionSecret_callback*
2025-09-12 08:02:51 +10:00
JacobBarthelmeh
f5a735a184 Merge pull request #9180 from dgarske/stsafe-pad
Fix for ST-Safe issue with ECC signature R/S needing leading zero pad
2025-09-11 14:47:49 -06:00
philljj
a7cb64fcc0 Merge pull request #9184 from douzzer/20250910-linuxkm-even-more-OBJECT_FILES_NON_STANDARD
20250910-linuxkm-even-more-OBJECT_FILES_NON_STANDARD
2025-09-11 15:18:52 -05:00
Daniel Pouzzner
20d7650edf linuxkm/Kbuild: when ENABLED_LINUXKM_PIE, always set "$(WOLFCRYPT_PIE_FILES): OBJECT_FILES_NON_STANDARD := y", as before. completes reversion of 04834680d5. 2025-09-11 13:53:59 -05:00
David Garske
f0b35d18a0 Merge pull request #9174 from philljj/tiny_curl
curl: support --enable-curl=tiny option.
2025-09-11 10:39:56 -07:00
David Garske
3e63bc68d4 Add support for enabling RSA private key to DER without keygen. ( new macro WOLFSSL_KEY_TO_DER) 2025-09-11 10:29:31 -07:00
David Garske
c397a27897 Appease IAR compiler possible use of uninitialized variables 2025-09-11 10:27:01 -07:00
David Garske
88586a5a47 Fix for ST-Safe issue with ECC signature R/S parsing needing leading zero pad (ZD 20504) 2025-09-11 10:27:01 -07:00
philljj
472605fb54 Merge pull request #9183 from douzzer/20250911-linuxkm-dont-undefine-CONFIG_OBJTOOL
20250911-linuxkm-dont-undefine-CONFIG_OBJTOOL
2025-09-11 12:24:05 -05:00
Daniel Pouzzner
de50268dfd linuxkm/Kbuild: don't undefine CONFIG_OBJTOOL (breaks FIPS hash stability on some target kernels/configs);
add config-based gate on "$(WOLFCRYPT_PIE_FILES): OBJECT_FILES_NON_STANDARD := y".
2025-09-11 10:24:53 -05:00
philljj
edf3c3158c Merge pull request #9181 from douzzer/20250910-linuxkm-more-OBJECT_FILES_NON_STANDARD
20250910-linuxkm-more-OBJECT_FILES_NON_STANDARD
2025-09-10 22:03:10 -05:00
effbiae
2332347ca1 refactor SessionSecret_callback* 2025-09-11 11:54:40 +10:00
Daniel Pouzzner
2028d1f0f4 doc/dox_comments/header_files/ecc.h: add docs for wc_ecc_make_pub() and wc_ecc_make_pub_ex(), and update docs for wc_ecc_export_x963() and wc_ecc_export_x963_ex() to reflect that they export the public key, and add see-alsos to wc_ecc_make_pub. 2025-09-10 17:02:57 -05:00
Daniel Pouzzner
04834680d5 linuxkm/Kbuild: when ENABLED_LINUXKM_PIE, use "undefine CONFIG_OBJTOOL" to inhibit false-positive "unannotated intra-function call" due to inline retpolines;
linuxkm/Makefile, linuxkm/include.am, linuxkm/module_hooks.c: remove linuxkm/pie_first.c, linuxkm/pie_last.c, and references to them (replaced by fenceposts in linuxkm/wolfcrypt.lds).
2025-09-10 15:08:41 -05:00
David Garske
484f35244e Merge pull request #9179 from wolfSSL/revert-9145-zd20038_2
Revert "Fix building with --coding=no/WOLFSSL_PEM_TO_DER undefined."
2025-09-10 12:33:31 -07:00
Juliusz Sosinowicz
74c7115cc1 Revert "Fix building with --coding=no/WOLFSSL_PEM_TO_DER undefined." 2025-09-10 18:07:57 +02:00
Daniel Pouzzner
e3423d0922 Merge pull request #9163 from kaleb-himes/Batch2-WinCE
Add the updated WinCE settings for FIPS 140-3 submission
2025-09-10 09:57:59 -05:00
Daniel Pouzzner
92d504f726 Merge pull request #9161 from LinuxJedi/enhance-debian
Make Debian packaging more Debian-like
2025-09-10 09:49:43 -05:00
David Garske
ce5878fb8d Merge pull request #9162 from embhorn/zd18673
Fixes for INTIME RTOS
2025-09-10 07:44:19 -07:00
David Garske
71068a42a9 Merge pull request #9172 from douzzer/20250908-WOLFSSL_TEXT_SEGMENT_CANONICALIZER
20250908-WOLFSSL_TEXT_SEGMENT_CANONICALIZER
2025-09-10 07:44:02 -07:00
David Garske
2a1df11327 Merge pull request #9145 from kareem-wolfssl/zd20038_2
Fix building with --coding=no/WOLFSSL_PEM_TO_DER undefined.
2025-09-09 16:24:21 -07:00
Sean Parkinson
1dc40c5129 Merge pull request #9165 from effbiae/key-present
align two portions of src/internal.c prior to refactor
2025-09-10 07:44:41 +10:00
Eric Blankenhorn
2179dccb1d Fix VS proj 2025-09-09 15:36:55 -05:00
David Garske
f1ef484076 Merge pull request #9150 from miyazakh/update_fsp_v610
Update Renesas FSP version on RA6M4
2025-09-09 12:26:03 -07:00
David Garske
b3aa39ddad Merge pull request #9138 from JacobBarthelmeh/sgx
update for SGX CPU ID to follow atomics refactor
2025-09-09 12:18:51 -07:00
David Garske
5957afb8b5 Merge pull request #9158 from miyazakh/update_fsp_v610_ra6m3
Update Renesas FSP version on RA6M3 example
2025-09-09 12:18:17 -07:00
David Garske
3e3b673ea7 Merge pull request #9123 from gojimmypi/pr-espressif-certs-test
Exclude wolfssl certs_test.h from Espressif user_settings.h
2025-09-09 12:17:00 -07:00
Eric Blankenhorn
a3a21fac3c Fix Makefile 2025-09-09 11:56:10 -05:00
Eric Blankenhorn
b6bb43e9bc Fix Makefile 2025-09-09 11:39:40 -05:00
Sean Parkinson
b4f1abe0f4 SM2 TLS1.3: Fix certificate verify
Code to verify with SM2/SM3 was not able to be reached.
The check of hsType (which was ECC for both ECC and SM2/SM3) was
replaced with a check of peerSigAlgo for ecc_dsa_sa_algo which is
different for ECDSA and SM2/SM3.
2025-09-09 21:30:37 +10:00
Sean Parkinson
342c37d8a3 Merge pull request #9159 from kareem-wolfssl/zd20378
Allow the keyCertSign bit to be asserted specifically for self-signed CAs.
2025-09-09 21:01:21 +10:00
jordan
c60553da66 curl: support --enable-curl=tiny option. 2025-09-08 17:03:35 -05:00
Daniel Pouzzner
ae4b33c997 linuxkm/linuxkm_wc_port.h: when HAVE_LINUXKM_PIE_SUPPORT, map
WOLFSSL_TEXT_SEGMENT_CANONICALIZER() to wc_linuxkm_normalize_relocations(), and
  define WOLFSSL_TEXT_SEGMENT_CANONICALIZER_BUFSIZ to 8192.

linuxkm/module_hooks.c: in wc_linuxkm_normalize_relocations(), add checks for
  out-of-order offsets.
2025-09-08 16:43:34 -05:00
Eric Blankenhorn
5fd5ff89c3 Changes from customer 2025-09-08 13:20:13 -05:00
Kareem
f772aad95a Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20378 2025-09-08 10:16:14 -07:00
philljj
bdc1f890c8 Merge pull request #9168 from douzzer/20250905-linuxkm-pie-cst32
20250905-linuxkm-pie-cst32
2025-09-06 11:25:33 -05:00
Hideki Miyazaki
815f2ce9db Update Renesas FSP version on RA6M3 example 2025-09-06 19:12:24 +09:00
Andrew Hutchings
0a4ce40eb8 Make Debian packaging more Debian-like
When you do `./configure`, the options are stored in the rules file.
This then means you can use the normal Debian packaging methods.

`make deb` also now uses `dpkg-buildpackage`.
2025-09-06 06:22:54 +01:00
effbiae
8e9a04c55f align two portions of src/internal.c prior to refactor 2025-09-06 13:55:44 +10:00
gojimmypi
c22354e2f5 Exclude wolfssl certs_test.h from Espressif user_settings.h 2025-09-05 17:08:04 -07:00
Daniel Pouzzner
8a7331776a linuxkm/Kbuild: for PIE containerization, add .rodata.cst32 to the move list. 2025-09-05 17:55:24 -05:00
kaleb-himes
7c2fc506b5 Fix trailing whitespace in new user_settings.h 2025-09-05 15:36:21 -06:00
kaleb-himes
3f7ba638dd Add the updated WinCE settings for FIPS 140-3 submission
Add the missing README.md
2025-09-05 15:36:21 -06:00
Eric Blankenhorn
c1b4af2dd7 Fix parenthesis issue 2025-09-05 16:35:41 -05:00
Eric Blankenhorn
b4a82877b8 Remove *.filters file 2025-09-05 16:23:26 -05:00
Eric Blankenhorn
53ee6d3a0b Fixes for INTIME RTOS 2025-09-05 16:23:26 -05:00
David Garske
48385884c0 Merge pull request #9167 from gojimmypi/pr-fix-watcom-setld80bit
Pin Watcom compiler in workflow to 2025-09-01-Build
2025-09-05 13:33:31 -07:00
gojimmypi
5c2f90968f Pin Watcom compiler in workflow to 2025-09-01-Build 2025-09-05 12:57:58 -07:00
Kareem
8e7bcfc5c2 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20378 2025-09-04 10:16:53 -07:00
Kareem
562ee21d36 Add ALLOW_SELFSIGNED_INVALID_CERTSIGN to known macros. 2025-09-04 10:16:41 -07:00
David Garske
4d1fa1b012 Merge pull request #9160 from douzzer/20250903-PR8329-rework
20250903-PR8329-rework
2025-09-04 09:43:53 -07:00
Daniel Pouzzner
ee2e63444d wolfcrypt/src/sha512.c: don't remap ByteReverseWords64(), remove ByteReverseWords64_1() inline asm macro, and refactor Sha512FinalRaw() and wc_Sha384FinalRaw() to write directly to the output buffer when possible. 2025-09-03 22:16:15 -05:00
Sean Parkinson
5108dcd0d6 Merge pull request #9157 from rlm2002/coverity
move pathLengthSet assignment
2025-09-04 08:35:16 +10:00
lealem47
e29b65d22b Merge pull request #9140 from dgarske/sniffer_partialoverlap
Improve sniffer detection of partial overlap
2025-09-03 14:12:44 -06:00
Kareem
37fc63ca39 Allow the keyCertSign bit to be asserted specifically for self-signed CAs. 2025-09-03 11:43:15 -07:00
David Garske
095fd88cbe Merge pull request #9091 from gojimmypi/pr-arduino-testing
Improve Arduino Examples
2025-09-03 11:09:13 -07:00
Kareem
183aa7a214 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20038_2 2025-09-02 16:17:18 -07:00
gojimmypi
0065d9a0dd Improve Arduino Examples, add workflow testing 2025-09-02 11:45:28 -07:00
philljj
f33814b377 Merge pull request #9151 from douzzer/20250830-linuxkm-fix-get_drbg
20250830-linuxkm-fix-get_drbg
2025-09-02 11:39:25 -05:00
Ruby Martin
4d5e1d0dfe move pathLegthSet assignment 2025-09-02 10:09:11 -06:00
David Garske
6dd626de0c Improve detection of partial overlap (ZD 20369) 2025-09-02 07:51:30 -07:00
Daniel Pouzzner
aa96c352d4 add !WC_SKIP_INCLUDED_C_FILES gates in indirectly compiled files in linuxkm/, to avoid false positive unknownMacro reports from cppcheck-force-source. 2025-08-30 14:15:55 -05:00
Daniel Pouzzner
f8e4feb633 wolfssl/wolfcrypt/error-crypt.h: in WC_ERR_TRACE() definition, use WOLFSSL_DEBUG_PRINTF_FN(WOLFSSL_DEBUG_PRINTF_FIRST_ARGS, not WOLFSSL_DEBUG_PRINTF(, for compatibility with WOLF_NO_VARIADIC_MACROS. 2025-08-30 12:54:22 -05:00
Daniel Pouzzner
7df8ee4081 linuxkm/linuxkm_wc_port.h: add default setup for LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT, to make visibility in random.c;
linuxkm/lkcapi_sha_glue.c: revert f7c7ac275a (get_drbg() DISABLE_VECTOR_REGISTERS() for crypto_default_rng) -- compiler/inlining bug makes it break on at least one target, so caller needs to retain responsibility;

linuxkm/x86_vector_register_glue.c: in wc_save_vector_registers_x86(), always return WC_ACCEL_INHIBIT_E if already fpu_state & WC_FPU_INHIBITED_FLAG, for safe+correct dynamics on recursive calls.
2025-08-30 12:08:57 -05:00
Hideki Miyazaki
e2fe74502f Add wolfSSL/Debug folder as include
- remove BSP_WarmStart() due to duplicate
2025-08-30 09:28:09 +09:00
Hideki Miyazaki
295a11d0f7 update Readme 2025-08-30 09:24:46 +09:00
David Garske
7ef94284cc Merge pull request #9149 from douzzer/20250829-_mlkem_decompress_5_avx2-movzwq
20250829-_mlkem_decompress_5_avx2-movzwq
2025-08-29 16:23:16 -07:00
Daniel Pouzzner
8ed1ce6a8b wolfcrypt/src/wc_mlkem_asm.S: in _mlkem_decompress_5_avx2, use movzwq, not movzxw, for portability. 2025-08-29 14:42:48 -05:00
David Garske
330d6ad5a6 Merge pull request #9083 from mgrojo/bugfix/ada-overflow-check-error-string
Ada: fix wrapping of `wolfSSL_ERR_error_string_n`
2025-08-29 11:28:16 -07:00
David Garske
24bbb38a9a Merge pull request #9120 from effbiae/print-debug
replace (f)printf with WOLFSSL_DEBUG_PRINTF
2025-08-29 11:26:44 -07:00
David Garske
c2885cf0b9 Merge pull request #9147 from douzzer/20250828-WC_SVR_FLAG_INHIBIT-recursive
20250828-WC_SVR_FLAG_INHIBIT-recursive
2025-08-29 11:25:03 -07:00
mgrojo
cdbad34284 Ada: include use of WolfSSL.Get_Error in the example 2025-08-29 09:57:04 -07:00
mgrojo
a0c8efdffe Ada: fix wrapping of wolfSSL_ERR_error_string_n
Use unchecked conversion instead of type conversion to mimic C style
conversion from int to unsigned long, avoiding the Ada overflow check that is raised when a negative value is converted to an unsigned type.
2025-08-29 09:57:04 -07:00
effbiae
44c403f4c7 replace (f)printf with WOLFSSL_DEBUG_PRINTF 2025-08-29 12:34:22 +10:00
Daniel Pouzzner
f7c7ac275a linuxkm/linuxkm_wc_port.h and linuxkm/x86_vector_register_glue.c: refactor
wc_save_vector_registers_x86() and wc_restore_vector_registers_x86() to allow
  recursive WC_SVR_FLAG_INHIBIT while already in a vector save context;

linuxkm/lkcapi_sha_glue.c: in get_drbg() and put_drbg(),
  DISABLE_VECTOR_REGISTERS()...REENABLE_VECTOR_REGISTERS() if tfm ==
  crypto_default_rng.
2025-08-28 11:02:45 -05:00
Sean Parkinson
0224ef3d2e Merge pull request #9146 from rlm2002/gh9128_MEM_ZERO
ForceZero change for WOLFSSL_CHECK_MEM_ZERO
2025-08-28 22:37:55 +10:00
JacobBarthelmeh
9774e4959f change sgx script to create options.h if none exists 2025-08-27 16:44:47 -06:00
JacobBarthelmeh
ccf8eebc5f update for cpuid atomic refactor 2025-08-27 16:44:46 -06:00
Ruby Martin
8b1422a869 add configuration for WOLFSSL_MEM_CHECK_ZERO 2025-08-27 16:12:57 -06:00
Ruby Martin
11942e774c do not abort MEM_ZERO check if TEST_ALWAYS_RUN_TO_END is defined 2025-08-27 15:04:49 -06:00
Ruby Martin
1ad8b2897a Force zero with bufferSize instead of length. add void prototype to definitions 2025-08-27 14:56:51 -06:00
Kareem
87f99ea824 Add test case for --enable-coding=no. 2025-08-27 12:02:25 -07:00
Kareem
e25bd603ed Fix building with --coding=no/WOLFSSL_PEM_TO_DER undefined. 2025-08-27 11:53:22 -07:00
David Garske
344f127e64 Merge pull request #9129 from effbiae/wolfSSL_read_ex
SSL_read_ex() ... will return 1 for success or 0 for failure
2025-08-27 07:33:29 -07:00
David Garske
dac80aad58 Merge pull request #9142 from SparkiDev/mlkem_dec5_oor_fix
ML-KEM/Kyber: fix out of bouds read
2025-08-27 07:05:29 -07:00
effbiae
934364b8e1 wolfSSL_read_ex returns {0,1} 2025-08-27 15:35:17 +10:00
Sean Parkinson
4ff6f5f10c ML-KEM/Kyber: fix out of bouds read
Decompose 5-bit values: Don't read 15 bytes when only have 10 bytes
available.
2025-08-27 14:49:24 +10:00
David Garske
c78bb1cd42 Merge pull request #9141 from gojimmypi/espressif-latest-debug
Fix workflow for latest ESP-IDF for espressif examples
2025-08-26 15:48:05 -07:00
gojimmypi
797c1d00ac Fix workflow for latest ESP-IDF for espressif examples 2025-08-26 14:38:23 -07:00
Sean Parkinson
02cba85856 Merge pull request #9135 from douzzer/20250825-linuxkm-IntelRDseed64_r-burn-buf
20250825-linuxkm-IntelRDseed64_r-burn-buf
2025-08-27 07:22:25 +10:00
David Garske
71581e321e Merge pull request #9098 from julek-wolfssl/fix-test_wolfSSL_tls_export
Fix test_wolfSSL_tls_export
2025-08-26 12:11:49 -07:00
philljj
00860baddf Merge pull request #9136 from douzzer/20250826-more-wc_linuxkm_normalize_relocations
20250826-more-wc_linuxkm_normalize_relocations
2025-08-26 14:04:14 -05:00
David Garske
1ce13fc3ee Merge pull request #9118 from SparkiDev/api_c_split_tls13
api.c: pull out TLS 1.3 specific tests
2025-08-26 09:23:56 -07:00
Daniel Pouzzner
79a75d1ef2 linuxkm/module_hooks.c: in wc_linuxkm_normalize_relocations(), allow non-text
relocations 1 byte outside the destination segment, and when
  DEBUG_LINUXKM_PIE_SUPPORT, tally the relocation counts by segment for final info
  report;

linuxkm/module_hooks.c and linuxkm/linuxkm_wc_port.h: tweak gating on
  wc_linuxkm_normalize_relocations() and related -- ifdef
  HAVE_LINUXKM_PIE_SUPPORT, not ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE --
  for consistency+clarity.
2025-08-26 11:07:40 -05:00
David Garske
c7d1673948 Merge pull request #9132 from anhu/dup_CKS
Properly detect duplicate CKS extensions.
2025-08-26 09:07:04 -07:00
Juliusz Sosinowicz
d26b2811e0 test_wolfSSL_tls_export_run: silence unused cmpSess warning 2025-08-26 16:40:17 +02:00
Juliusz Sosinowicz
5934c1eece Fix test_wolfSSL_tls_export
- Add TLS_EXPORT_OPT_SZ_4 to specify previous option size
- Actually pick up failures in the tests and propagate them to the top level
- Tests v4 and v5 sessions
Fixes https://github.com/wolfSSL/wolfssl/issues/9081 and https://github.com/wolfSSL/wolfssl/pull/9082
2025-08-26 11:04:54 +02:00
Daniel Pouzzner
fa61187f2e linuxkm/module_hooks.c: in IntelRDseed64_r(), burn buf after each use to protect against info leakage. 2025-08-25 21:59:32 -05:00
Sean Parkinson
115d4d88c0 api.c: pull out TLS 1.3 specific tests 2025-08-26 09:05:46 +10:00
philljj
7aab2f3b47 Merge pull request #9126 from douzzer/20250823-linuxkm-reloc-bikeshedding
20250823-linuxkm-reloc-bikeshedding
2025-08-25 16:53:36 -05:00
lealem47
1c2fb10007 Merge pull request #9124 from dgarske/sniffer_partial_overlap
Fix for sniffer partial segment overlap that can occur when a TCP win…
2025-08-25 15:15:48 -06:00
David Garske
6ae0ecc5f3 Merge pull request #9133 from AlexLanzano/log-fix
Fix value comparison typo in if statement
2025-08-25 14:09:20 -07:00
David Garske
cfee026f98 Merge pull request #9131 from embhorn/zd20429
Fix markdown in docs
2025-08-25 14:08:30 -07:00
JacobBarthelmeh
e0913c47ef Merge pull request #9039 from tamasan238/for-pr-1
Add _new/_delete API for ML-KEM/ML-DSA
2025-08-25 14:47:07 -06:00
Kareem
623c593210 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd19563_verify 2025-08-25 11:36:12 -07:00
Alex Lanzano
8207053636 Fix value comparison typo in if statement 2025-08-25 13:56:35 -04:00
Anthony Hu
2885df68b4 Properly detect duplicate CKS extensions. 2025-08-25 12:01:50 -04:00
Eric Blankenhorn
6ab6634efc Fix markdown in docs 2025-08-25 09:28:08 -05:00
Sean Parkinson
ffbcd4f86c Merge pull request #9125 from douzzer/20250819-linuxkm-fips-v5-wc_GenerateSeed_IntelRD
20250819-linuxkm-fips-v5-wc_GenerateSeed_IntelRD
2025-08-25 21:37:35 +10:00
Daniel Pouzzner
a67d1a84f5 configure.ac: for linuxkm with PIE, don't include enable-fpcc in enable-all-crypto (the compiler generates a weird out-of-bounds bss reference for find_hole());
linuxkm/Makefile: in recipe (awk script) for wc_linuxkm_pie_reloc_tab.c, report and error on unexpected relocation types;

linuxkm/module_hooks.c: in wc_linuxkm_normalize_relocations():
* fix bounds checking on the input,
* recognize references pointing at the first byte after the end of the segment,
* and mask out pad bytes when rendering the 32 bit addresses;

linuxkm/wolfcrypt.lds: add 4k alignment directives just before the segment end fenceposts, to make the fenceposts more inclusive.
2025-08-23 17:21:24 -05:00
Daniel Pouzzner
d9467db007 wolfssl/wolfcrypt/types.h: fix bugprone-macro-parentheses in definition of DISABLE_VECTOR_REGISTERS. 2025-08-22 23:43:36 -05:00
Daniel Pouzzner
e0383b496a linuxkm/module_hooks.c: implement wc_linuxkm_GenerateSeed_IntelRD, gated on WC_LINUXKM_RDSEED_IN_GLUE_LAYER;
add WC_GENERATE_SEED_DEFAULT, which defaults to wc_GenerateSeed if not overridden, and replace wc_GenerateSeed with WC_GENERATE_SEED_DEFAULT in various calls to wc_SetSeed_Cb();

linuxkm/linuxkm_wc_port.h: if FIPS <v6 and RDSEED, define WC_LINUXKM_RDSEED_IN_GLUE_LAYER and define WC_GENERATE_SEED_DEFAULT wc_linuxkm_GenerateSeed_IntelRD;

wolfcrypt/test/test.c: update rng_seed_test() with gating and vectors for FIPS v5 with HAVE_AMD_RDSEED or HAVE_INTEL_RDSEED;

wolfssl/wolfcrypt/types.h: add WC_HAVE_VECTOR_SPEEDUPS helper macro, and enlarge fallthrough definition coverage for DISABLE_VECTOR_REGISTERS.
2025-08-22 21:58:00 -05:00
David Garske
8dd43077fd Fix for sniffer partial segment overlap that can occur when a TCP window is full and a TCP retransmission occurs. 2025-08-22 14:29:18 -07:00
JacobBarthelmeh
6f567bbca2 Merge pull request #9122 from julek-wolfssl/hostap-fix-cert-update
Fix hostap cert update
2025-08-22 15:28:19 -06:00
JacobBarthelmeh
9575c69d3b Merge pull request #9121 from douzzer/20250819-linuxkm-pie-normalize_relocs
20250819-linuxkm-pie-normalize_relocs
2025-08-22 15:11:48 -06:00
Kareem
c2eeeafdbe Merge remote-tracking branch 'upstream/master' into zd19563_verify 2025-08-22 13:56:44 -07:00
JacobBarthelmeh
bc5b297d33 Merge pull request #9046 from kareem-wolfssl/zd20038
Allow setting the CA type when loading into cert manager and unloading specific CA types from the cert manager.
2025-08-22 14:43:46 -06:00
David Garske
1f579afc66 Merge pull request #9117 from SparkiDev/tls13_ks_fix
TLS 1.3 KeyShare: error on duplicate group
2025-08-22 12:54:54 -07:00
David Garske
0d1e9c3264 Fix whitespace issue and known macros list 2025-08-22 12:48:55 -07:00
Kareem
4a067fa1bc Don't enforce test_wolfSSL_X509_STORE_CTX_ex12 return code as it
may be skipped, modifying the return code.
2025-08-22 11:29:21 -07:00
Juliusz Sosinowicz
4043dc2dd0 Fix hostap cert update
Update the `rsa3072-*` certs to get `suite_b_192_*` tests passing
2025-08-22 17:24:49 +02:00
Daniel Pouzzner
af4e2d127f linuxkm/: implement wc_linuxkm_pie_reloc_tab and wc_linuxkm_normalize_relocations(), and integrate with updateFipsHash(). 2025-08-22 00:38:06 -05:00
Kareem
077beaecd8 Fix memory leak in unit test, fix for loop syntax. 2025-08-21 16:33:57 -07:00
Kareem
b53db94f1e x509_verify_cert: Code review feedback. 2025-08-21 15:35:29 -07:00
David Garske
7ab4c6fa14 Merge pull request #9087 from JacobBarthelmeh/dhuk
initial SAES and DHUK support
2025-08-21 14:32:20 -07:00
David Garske
da8ffd5762 Merge pull request #8463 from JacobBarthelmeh/sgx
updating the build with SGX
2025-08-21 11:06:35 -07:00
JacobBarthelmeh
42c5324962 SAES does not have GCM support, added IV option for CBC wrapping of key 2025-08-21 09:26:40 -06:00
Sean Parkinson
d66c69eaec Merge pull request #9079 from holtrop/error-getshortint-on-negative-values
Error from GetShortInt with negative INTEGER values
2025-08-21 08:35:17 +10:00
Sean Parkinson
b3366acdaf Merge pull request #9103 from rlm2002/zd20314-reduce-binary-footprint
Exclude assembly files when WOLFSSL_ARMASM_INLINE is defined
2025-08-21 08:33:39 +10:00
Sean Parkinson
b1cdf0b214 TLS 1.3 KeyShare: error on duplicate group
Don't allow a KeyShare extension from the client to have more
than one entry for any group.
2025-08-21 08:23:31 +10:00
JacobBarthelmeh
658c3d69fb use memset, fix unlock, adjust return value checks 2025-08-20 13:53:27 -06:00
JacobBarthelmeh
993099e47e Merge pull request #9114 from douzzer/20250819-debug-trace-errcodes-dist-artifacts
20250819-debug-trace-errcodes-dist-artifacts
2025-08-20 10:48:38 -06:00
David Garske
79fe6e467b Merge pull request #9112 from SparkiDev/tls13_onlyDhePskKe_fix
TLS 1.3: Fix for onlyDhePskKe
2025-08-20 06:44:08 -07:00
David Garske
596e211a97 Merge pull request #9113 from SparkiDev/tls13_certvfy_sigalg_check
TLS 1.3: CertificateVerify - check sig alg was sent
2025-08-20 06:44:03 -07:00
Josh Holtrop
d2f139c9b0 Error from GetShortInt with negative INTEGER values - Add WORD8 case 2025-08-20 09:34:19 -04:00
Ruby Martin
0e6e040039 formatting remove whitespace
format whitespace so tabs are 4 spaces

format character count to be 80 characters or less per line

remove bracket
2025-08-19 17:08:53 -06:00
Daniel Pouzzner
5f7e2389d9 wolfssl/include.am: include wolfssl/debug-trace-error-codes.h and wolfssl/debug-untrace-error-codes.h in dist archives. 2025-08-19 17:09:58 -05:00
JacobBarthelmeh
8119034555 work around for shellcheck warning 2025-08-19 14:32:34 -06:00
JacobBarthelmeh
23498c293e cpuid dummy call with sgx and fix assembly SP + SGX build 2025-08-19 14:32:33 -06:00
JacobBarthelmeh
44784729c0 touch up clean script and comment out sp-asm for now 2025-08-19 14:32:33 -06:00
JacobBarthelmeh
59ac260ae8 add option for building sgx with assembly optimizations 2025-08-19 14:32:33 -06:00
JacobBarthelmeh
9cdbc03a23 Merge pull request #9111 from douzzer/20250818-configure-linuxkm-fips-v5
20250818-configure-linuxkm-fips-v5
2025-08-19 14:31:08 -06:00
Josh Holtrop
98b6b92a76 Error from GetShortInt with negative INTEGER values 2025-08-19 12:40:48 -04:00
Sean Parkinson
2810656242 TLS 1.3: CertificateVerify - check sig alg was sent
Check that the signature algorithm used in the CertificateVerify message
was one that was sent in the SignatureAlgorithm extension.
2025-08-19 16:27:19 +10:00
Sean Parkinson
cd55fe6135 TLS 1.3: Fix for onlyDhePskKe
Make client enforce onlyDhPskKe flag.
2025-08-19 14:29:30 +10:00
Daniel Pouzzner
b9cc060340 configure.ac: tweaks for ENABLED_LINUXKM_DEFAULTS and FIPS v5. 2025-08-18 18:21:57 -05:00
JacobBarthelmeh
c089abe92f add macro to list 2025-08-18 16:47:30 -06:00
Ruby Martin
27d03fce7a additional check for ARM ASM Inline option
append thumb2 files, append inline c files with BUILD_ARMASM_INLINE

add all asm files. move curve25519 files under BUILD_CURVE25519

include remaining files
2025-08-18 15:41:43 -06:00
David Garske
f114f2cde2 Merge pull request #9093 from kareem-wolfssl/zd20372
Multiple fixes to wolfSSL_CIPHER_description to match documentation.
2025-08-18 13:43:53 -07:00
JacobBarthelmeh
fb6375551b updating unwrap/wrap with use of DHUK 2025-08-18 13:38:26 -06:00
Kareem
aa6f1b231a Fix memory leak in X509StoreRemoveCa. 2025-08-18 10:21:54 -07:00
Kareem
19b778dda0 Protect against exceeding original depth, fix overlong lines. 2025-08-18 10:21:54 -07:00
Kareem
cb985dcfa8 ECC required for newly added unit test. 2025-08-18 10:21:54 -07:00
Kareem
60c84744c8 Fix memory leak in x509_verify_cert itself, the failed certs need a pop_free call so the reference is properly decremented, as they are no longer in the X509_STORE. 2025-08-18 10:21:53 -07:00
Kareem
1e367597b6 Fix memory leak in newly added unit test. 2025-08-18 10:21:53 -07:00
Kareem
6b01053d98 Add test case for new x509_verify_cert retry functionality.
Add CA cert with the same SKI and intentionally invalid AKI as part of x509_verify_cert test case.
2025-08-18 10:21:53 -07:00
Kareem
027f0891f4 Don't fail out if X509StoreRemoveCa fails, since adding the temp CA was optional, it is possible there is no temp CA to remove. 2025-08-18 10:21:53 -07:00
Kareem
aaadb7971d Fix narrowing conversion of type in RemoveCa. 2025-08-18 10:21:53 -07:00
Kareem
7b4a50b701 Add missing XFREE for dCert. 2025-08-18 10:21:53 -07:00
Kareem
d6f603b661 Add X509StoreRemoveCa wrapper around RemoveCa
WOLFSSL_X509's calculated subject key hash is not guaranteed to match the cert's,
ie. in the case that NO_SHA is defined.  Use the same logic as AddCa,
parsing the DER cert and using the decoded cert's subject key hash.
2025-08-18 10:21:53 -07:00
Kareem
15a147d957 Remove incorrectly added NULL check, add debug logging to RemoveCA. 2025-08-18 10:21:53 -07:00
Kareem
f9eda18445 Fix missing cast and correct freeing of certs. 2025-08-18 10:21:53 -07:00
Kareem
946f20ccc7 Add type parameter to RemoveCA to avoid removing CAs of the wrong type. 2025-08-18 10:21:53 -07:00
Kareem
025dbc3454 Retry all certificates passed into wolfSSL_X509_verify_cert until a valid chain is found, rather than failing out on the first invalid chain. This allows for registering multiple certs with the same subject key, ie. alt cert chains. 2025-08-18 10:21:52 -07:00
Sean Parkinson
43f94a5d7d Merge pull request #9107 from douzzer/20250816-cpuid_get_flags_ex-optimize
20250816-cpuid_get_flags_ex-optimize
2025-08-18 22:13:44 +10:00
Sean Parkinson
0ba16a9c5b Merge pull request #9104 from kojiws/export_long_key_orig_asn
Improve original implementation on SetAsymKeyDer() and the test
2025-08-18 22:11:25 +10:00
Daniel Pouzzner
39c6c5af6f wolfcrypt/src/cpuid.c, wolfssl/wolfcrypt/cpuid.h: change cpuid_flags_t to a
regular word32, and use non-atomics for general flag checking, with a new
  implementation of cpuid_get_flags_ex() that is threadsafe by idempotency;

rename strictly-threadsafe cpuid_get_flags_ex() as cpuid_get_flags_atomic()
  (strictly accurate return value), and add cpuid_flags_atomic_t and
  WC_CPUID_ATOMIC_INITIALIZER, used only for internal manipulation of flags in
  cpuid.c where atomicity matters.
2025-08-16 13:04:28 -05:00
lealem47
b096d9b250 Merge pull request #9106 from dgarske/zd20399
Fix sniffer issue handling TLS records with multiple handshake messages to be skipped
2025-08-15 15:57:00 -06:00
David Garske
32b0bd963b Fix issue introduced in PR #9051 causing TLS records with multiple handshake messages to be skipped (ZD 20399) 2025-08-15 10:08:28 -07:00
David Garske
a98006eca9 Merge pull request #9105 from douzzer/20250815-dilithium-dilithium_expand_s-UndefinedBinaryOperatorResult
20250815-dilithium-dilithium_expand_s-UndefinedBinaryOperatorResult
2025-08-15 09:07:38 -07:00
Daniel Pouzzner
10a05ad839 wolfcrypt/src/dilithium.c: fix dilithium_expand_s() to fall through to dilithium_expand_s_c() for s1Len not implemented for USE_INTEL_SPEEDUP. 2025-08-15 09:48:55 -05:00
Juliusz Sosinowicz
ffe3d80f8d Merge pull request #9097 from douzzer/20250812-atomic-cmpxchg
20250812-atomic-cmpxchg
2025-08-15 01:14:45 +02:00
Sean Parkinson
5b1302e4df Merge pull request #9094 from dgarske/zd20369
Fix to better detect sniffer invalid spurious re-transmissions
2025-08-15 09:01:02 +10:00
Sean Parkinson
228ede7495 Merge pull request #9102 from rlm2002/zd20212
Remove dead code and check return values.
2025-08-15 08:21:38 +10:00
Daniel Pouzzner
c5bbf4c7e0 Merge pull request #9085 from effbiae/while-pending
`wolfSSL_AsyncPoll` calls refactor
2025-08-14 14:51:05 -05:00
David Garske
e00fd2fd70 Fix to better detect invalid spurious retransmission. 2025-08-14 12:19:39 -07:00
Kareem
c535e281c6 Skip unit test when using Apple native cert validation. 2025-08-14 11:34:15 -07:00
Kareem
cb3f7de3f7 Fix issues found by CI/CD tests. 2025-08-14 11:34:15 -07:00
Kareem
3bcbbd2924 Fix issue with loading PEM certs. Address code review feedback.
Add tests.
2025-08-14 11:34:15 -07:00
Kareem
a652b733e4 Fix conversion warning. 2025-08-14 11:34:15 -07:00
Kareem
ab342978d7 Fix implicit conversion warning. 2025-08-14 11:34:14 -07:00
Kareem
61ccea55ac Allow setting the CA type when loading into cert manager
and unloading specific CA types from the cert manager.
2025-08-14 11:34:14 -07:00
Kareem
cb623dc9ea Multiple fixes to wolfSSL_CIPHER_description to match documentation.
Add "any" value for TLS 1.3 cipher suites.
Fix key size comparison for enc bits.
Output AEAD as MAC if cipher suite is using it, otherwise output hash MAC.
2025-08-14 11:27:10 -07:00
Koji Takeda
0a9356e645 Improve original implementation on SetAsymKeyDer() and the test 2025-08-15 00:04:01 +09:00
Daniel Pouzzner
cefeb4cd7e atomics/cpuid_flags fixes from peer review:
wolfcrypt/src/cpuid.c: cpuid_set_flag() and cpuid_clear_flag() thread safety;

wolfcrypt/src/wc_port.c: comments re __ATOMIC_SEQ_CST and __ATOMIC_ACQUIRE;

wolfssl/wolfcrypt/wc_port.h: single overrideable definitions for WOLFSSL_ATOMIC_COERCE_[U]INT(), and comment cleanup.

also added WOLFSSL_USER_DEFINED_ATOMICS.
2025-08-14 09:33:14 -05:00
Daniel Pouzzner
bd4e723f9d add cpuid_flags_t, WC_CPUID_INITIALIZER, and cpuid_get_flags_ex();
refactor all static flag initializations to use cpuid_get_flags_ex() for race-free dynamics;

refactor cpuid_set_flags() to be race-free;

wolfssl/wolfcrypt/wc_port.h and wolfcrypt/src/wc_port.c: add
* WOLFSSL_ATOMIC_COERCE_INT()
* WOLFSSL_ATOMIC_COERCE_UINT()
* wolfSSL_Atomic_Uint
* wolfSSL_Atomic_Uint_Init()
* wolfSSL_Atomic_Int_AddFetch()
* wolfSSL_Atomic_Int_SubFetch()
* wolfSSL_Atomic_Int_CompareExchange()
* wolfSSL_Atomic_Uint_FetchAdd()
* wolfSSL_Atomic_Uint_FetchSub()
* wolfSSL_Atomic_Uint_AddFetch()
* wolfSSL_Atomic_Uint_SubFetch()
* wolfSSL_Atomic_Uint_CompareExchange()

wolfcrypt/test/test.c: add to memory_test() tests for all atomic macros and APIs;

.github/workflows/pq-all.yml: don't use -Wpedantic for CC=c++ scenario.
2025-08-14 08:44:28 -05:00
Sean Parkinson
a1dd7dae6f Merge pull request #9095 from miyazakh/add_sha512_typeproperty
Add hashtype property to wc_Sha512 structure
2025-08-14 21:43:06 +10:00
Sean Parkinson
102525c9c9 Merge pull request #9100 from dgarske/cryptocb_only
Improve some of the build cases around crypto callback only
2025-08-14 21:41:26 +10:00
Sean Parkinson
034df3d28f Merge pull request #9101 from dgarske/asm_introspection
Add assembly introspection for RISC-V and PPC32
2025-08-14 21:38:42 +10:00
Daniel Pouzzner
a64c719fd2 Merge pull request #9092 from douzzer/20250812-Base64_Decode-outLen-bounds-fix
20250812-Base64_Decode-outLen-bounds-fix

reviewed+approved by @dgarske and @SparkiDev
2025-08-13 23:15:04 -05:00
effbiae
0e3f877326 WOLFSSL_ASYNC_WHILE_PENDING refactor 2025-08-14 12:03:13 +10:00
JacobBarthelmeh
8458b5ec1d Merge pull request #9053 from rlm2002/sessionTickets
update wolfSSL_get_SessionTicket to be able to return ticket length
2025-08-13 17:19:52 -06:00
Ruby Martin
18f3f22a7e add option for WOLFSSL_ARMASM_INLINE to CMake 2025-08-13 17:05:48 -06:00
Daniel Pouzzner
7fe890d5e7 wolfcrypt/src/coding.c: clean up comment in Base64_Decode(), per peer review. 2025-08-13 18:00:36 -05:00
Daniel Pouzzner
344db9d7f7 wolfcrypt/src/coding.c: in Base64_Decode_nonCT() and Base64_Decode(), remove overly restrictive preamble check on outLen; return BUFFER_E, not BAD_FUNC_ARG, when output buffer is too short (similarly fixed in Base16_Decode());
wolfcrypt/test/test.c: add N_BYTE_TEST() and test vectors to test all input and output length scenarios.
2025-08-13 17:43:33 -05:00
Ruby Martin
dc18f404ca remove dead code in fe_operations.c 2025-08-13 16:34:14 -06:00
Ruby Martin
71c2878780 verify previously unchecked return values 2025-08-13 16:28:36 -06:00
David Garske
53c36f8529 Add assembly introspection for RISC-V and PPC32. 2025-08-13 22:30:15 +01:00
David Garske
d79ca8a746 Improve some of the build cases around crypto callback only 2025-08-13 21:58:53 +01:00
Hideki Miyazaki
b67e063535 add hashtype property to wc_Sha512 2025-08-14 05:37:40 +09:00
Daniel Pouzzner
22b221a8be Merge pull request #9099 from gojimmypi/pr-cert-test-sizeof
Change certs_test sizeof const to define for Watcom
2025-08-13 14:41:21 -05:00
gojimmypi
f279f9cd71 Change certs_test sizeof const to define for Watcom 2025-08-13 11:58:59 -07:00
Ruby Martin
a725f4d7ac update wolfSSL_get_SessionTicket() function dox comment 2025-08-13 08:29:30 -06:00
Ruby Martin
a02025d0c9 add session ticket length return check to api tests 2025-08-13 08:29:30 -06:00
Ruby Martin
31bf1b90b4 update wolfSSL_get_SessionTicket to be able to return ticket length 2025-08-13 08:29:30 -06:00
Daniel Pouzzner
8d24a30996 Merge pull request #9096 from julek-wolfssl/libssh2-tests-fix
Fix libssh2 tests
2025-08-13 08:42:24 -05:00
Juliusz Sosinowicz
c8c93d2218 Fix libssh2 tests 2025-08-13 14:44:40 +02:00
David Garske
3289b6b3da Merge pull request #9089 from douzzer/20250811-linuxkm-and-other-fixes
20250811-linuxkm-and-other-fixes
2025-08-12 11:40:36 -07:00
Daniel Pouzzner
e24f76bb1e Merge pull request #9057 from SparkiDev/mldsa_x64_asm
ML-DSA/Dilithium: Intel x64 ASM
2025-08-11 23:12:44 -05:00
Daniel Pouzzner
2d1c797b64 fixes from cppcheck-force-source: in src/bio.c:wolfSSL_BIO_vprintf() and
wolfcrypt/src/logging.c:WOLFSSL_MSG_CERT_EX(), add missing gating on
  defined(XVSNPRINTF);

in src/crl.c:CRL_Entry_new(), fix true-positive nullPointerRedundantCheck;

in src/pk.c:_DH_compute_key(), add bounds checking to ForceZero(priv).
2025-08-11 18:12:44 -05:00
Daniel Pouzzner
11d84bea86 wolfcrypt/src/rsa.c: fix improperly handled SAVE_VECTOR_REGISTERS() retval in
wc_CheckProbablePrime_ex(), and in wc_MakeRsaKey(), make sure not to
  RESTORE_VECTOR_REGISTERS() if SAVE_VECTOR_REGISTERS() failed.
2025-08-11 16:14:32 -05:00
Daniel Pouzzner
7b077737a9 src/crl.c: fix nullPointerRedundantCheck in CRL_Entry_free(). 2025-08-11 16:14:32 -05:00
Daniel Pouzzner
29dd6cce98 wolfssl/wolfcrypt/logging.h: add WOLFSSL_MSG_CERT_LOG_EX, give
WOLFSSL_DEBUG_CERTS definitions priority when defining WOLFSSL_MSG_CERT_LOG()
  and WOLFSSL_MSG_CERT_LOG_EX, update documentation in preamble, and fix the
  WOLFSSL_ANDROID_DEBUG definition of WOLFSSL_DEBUG_PRINTF_FIRST_ARGS and the
  WOLFSSL_ESPIDF definition of WOLFSSL_DEBUG_PRINTF();

src/ssl_load.c: use WOLFSSL_MSG_CERT_LOG_EX(), not WOLFSSL_DEBUG_PRINTF(), in
  ProcessFile().
2025-08-11 16:14:32 -05:00
Daniel Pouzzner
f4fefcbd5e configure.ac: for linuxkm, don't set ENABLED_ENTROPY_MEMUSE_DEFAULT to yes on FIPS v5-;
linuxkm/linuxkm_wc_port.h: add WC_SVR_FLAG_NONE;

wolfssl/wolfcrypt/settings.h: for WOLFSSL_LINUXKM setup for WC_RESEED_INTERVAL,
  use UINT_MAX if FIPS v5-;

wolfssl/wolfcrypt/types.h: add definitions for SAVE_NO_VECTOR_REGISTERS2, and
  map no-op SAVE_VECTOR_REGISTERS2() to it.
2025-08-11 16:14:32 -05:00
Daniel Pouzzner
6617f2edf8 wolfcrypt/src/memory.c, wolfcrypt/src/misc.c, and wolfssl/wolfcrypt/misc.h: move
the new implementation of wc_ForceZero from wolfcrypt/src/memory.c to inline in
  wolfcrypt/src/misc.c replacing old ForceZero() implementation, and add a wrapper
  wc_ForceZero() to wolfcrypt/src/memory.c.
2025-08-11 16:14:32 -05:00
Albert Ribes
e36daf41a4 Store in extensions the full octet string (#8967)
* Store in extensions the full octet string

Store in WOLFSSL_X509_EXTENSION.value always the full contents of the
OCTET STRING of the extension, instead of different type of data
depending on the type of extension. Previously this was only done for
unknown extensions.

* Avoid local variables in 'DecodeExtKeyUsageInternal'

There is a great performance loss on configs using 'WOLFSSL_NO_MALLOC',
'WOLFSSL_STATIC_MEMORY' and 'USE_FAST_MATH' if function
'DecodeExtKeyUsageInternal' uses intermediate variables. This can be
observed running the Zephyr test 'wolfssl_test/prj-no-malloc.conf'.

Avoid using intermediate variables, and use raw pointers to the final
destination instead.

* Add missing calls to 'FreeDecodedCert'

* Return error code from 'wolfSSL_ASN1_STRING_into_old_ext_fmt'

* Fix lines larger than 80

* Allow NULL parameters for 'DecodeAuthKeyId'

* Add comment explaining build option '--enable-old-extdata-fmt'

* Test full OCTET STRING in tests/api.c

* wolfSSL_X509V3_EXT_d2i: Honor 'WOLFSSL_SMALL_STACK'

* zephyr/wolfssl_test_no_malloc: Increase test timeout

* wolfSSL_X509V3_EXT_d2i: Extract repeated code into common part

* wolfcrypt: Remove 'WOLFSSL_LOCAL' from .c files

* wolfcrypt: Change location of functions to make diff easier
2025-08-11 10:33:15 -07:00
JacobBarthelmeh
9ad7e79dfc initial SAES and DHUK support 2025-08-11 08:46:29 -06:00
Sean Parkinson
55f30adb3e Merge pull request #9077 from douzzer/20250807-wc_ForceZero-and-linuxkm-RHEL9v6
20250807-wc_ForceZero-and-linuxkm-RHEL9v6
2025-08-11 21:06:51 +10:00
Daniel Pouzzner
5a402b2254 Merge pull request #9076 from gojimmypi/pr-fence-atomics
Disallow atomics during fence & WOLFSSL_NO_ATOMIC
2025-08-08 23:46:30 -05:00
Daniel Pouzzner
260fca600a Merge pull request #8902 from gojimmypi/pr-cert-logging
Introduce WOLFSSL_DEBUG_CERTS Certificate Debug Messages
2025-08-08 23:44:03 -05:00
Daniel Pouzzner
9236b81ade Merge pull request #9078 from rlm2002/cppCheck
Changes for cppcheck=force-source errors and warnings
2025-08-08 23:29:30 -05:00
Daniel Pouzzner
46394f3da3 Merge pull request #9075 from gojimmypi/pr-small-oids
Force old OID values: WOLFSSL_OLD_OID_SUM for WC_16BIT_CPU
2025-08-08 23:29:09 -05:00
Daniel Pouzzner
db7702f66c Merge pull request #9065 from rlm2002/zd20212
Update fe_448.c from script
2025-08-08 23:28:52 -05:00
Daniel Pouzzner
b3496a04d6 Merge pull request #9073 from holtrop/fix-inconsistent-prototype-parameter-names-wolfssl
Fix inconsistent function prototype parameter names for wolfssl
2025-08-08 23:28:33 -05:00
Daniel Pouzzner
9dc4b71112 Merge pull request #9069 from holtrop/fix-inconsistent-prototype-parameter-names
Fix inconsistent function prototype parameter names for wolfcrypt
2025-08-08 23:28:10 -05:00
Daniel Pouzzner
e6c6ef64df Merge pull request #9047 from miyazakh/rz_update
Update Renesas RZ examples
2025-08-08 23:27:35 -05:00
Daniel Pouzzner
2960844c3e Merge pull request #9068 from holtrop/fix-misra-3.1-violations
Fix MISRA rule 3.1 violations
2025-08-08 23:27:04 -05:00
Ruby Martin
6070ca8499 remove nested check for ssl->options.dtls
move cidSz declaration
2025-08-08 10:46:35 -06:00
Ruby Martin
e631f2e56e add ret check before assigning row value 2025-08-08 10:40:09 -06:00
Ruby Martin
1cfbc92ce2 initialize info var 2025-08-08 10:40:09 -06:00
Ruby Martin
9e3f726b0e add null checks for function arguments that return BAD_FUNC_ARG
update function comment
2025-08-08 10:40:09 -06:00
Ruby Martin
f5a4b13391 initialize lpMsgBuf 2025-08-08 10:40:09 -06:00
Ruby Martin
35ea769c9f add null check to CRL_Entry_free() 2025-08-08 10:40:09 -06:00
Daniel Pouzzner
a821e4cfa2 wolfcrypt/src/memory.c and wolfssl/wolfcrypt/memory.h: add WOLFSSL_API void wc_ForceZero(). 2025-08-07 21:57:56 -05:00
Ruby Martin
948f90251a clear invalidPrintfArgType warnings. initialize wc_Memory* pt to null 2025-08-07 16:48:46 -06:00
Ruby Martin
cf3f7b9911 modify argument for unsigned int
adjust warning for invalidPrintfArgType
2025-08-07 16:48:46 -06:00
gojimmypi
e6ffbfb601 Disallow atomics during fence & WOLFSSL_NO_ATOMIC 2025-08-07 15:18:42 -07:00
Sean Parkinson
9470668538 Merge pull request #9074 from douzzer/20250807-redo-PR8900
20250807-redo-PR8900
2025-08-08 08:12:42 +10:00
Daniel Pouzzner
a01d4c2d5f linuxkm/module_hooks.c: suppress -Wunused-parameter when including crypto/hash.h (for RHEL 9.6). 2025-08-07 17:09:10 -05:00
Takashi Kojo
8bd4fb52c8 Merge pull request #9072 from julek-wolfssl/dtls-replay-test
Test DTLS replay protection
2025-08-08 06:26:15 +09:00
gojimmypi
256836fe6f Force WOLFSSL_OLD_OID_SUM for WC_16BIT_CPU 2025-08-07 11:23:34 -07:00
Juliusz Sosinowicz
0d532cc3f2 Test DTLS replay protection 2025-08-07 19:52:05 +02:00
Daniel Pouzzner
2dfc7eee89 wolfcrypt/src/sp_int.c: in _sp_exptmod_nct(), use 2 bit window if bits <= 21. 2025-08-07 10:26:34 -05:00
Daniel Pouzzner
40506a6ddf Revert "SP int: modular exponentiation constant time" (fixes regression in benchmark "RSA,2048,public").
This reverts commit 219509d7d9.
2025-08-07 10:14:02 -05:00
David Garske
5a8b86da5d Merge pull request #9054 from gojimmypi/pr-please-use-debug-wolfssl
Please use DEBUG_WOLFSSL not WOLFSSL_DEBUG
2025-08-07 07:42:42 -07:00
Ruby Martin
782d0b9828 remove casts 2025-08-07 08:23:38 -06:00
David Garske
b4d186004c Merge pull request #9070 from miyazakh/cb_sha224
Support sha224 cryptocb
2025-08-07 07:07:05 -07:00
Josh Holtrop
e6eac9b920 Fix inconsistent function prototype parameter names for wolfssl 2025-08-07 09:28:50 -04:00
Josh Holtrop
61f1223f1d Fix inconsistent function prototype parameter names for wolfcrypt 2025-08-07 08:02:56 -04:00
Sean Parkinson
648a057147 ML-DSA/Dilithium: Intel x64 ASM
Optimize code knowing it is for Intel x64.
Change signing to calculate one polynomial at a time so that if it isn't
valid then we fail early.
Other minor improvements.
Move the SHA-3 4 blocks at a time assembly into SHA-3 asm file.
Make constants in assembly the same length (front pad with zeros).
2025-08-07 14:01:50 +10:00
Hideki Miyazaki
07b3695b98 wc_Sha224Final also needs to call cb 2025-08-07 09:50:06 +09:00
Hideki Miyazaki
d1bf35b209 add sha224_test() call to cryptocb test 2025-08-07 08:14:26 +09:00
Hideki Miyazaki
ccdef57e8e add sha224 cryptcb 2025-08-07 07:49:53 +09:00
gojimmypi
d64ef34ef8 Introduce WOLFSSL_DEBUG_CERTS Certificate Debug Messages 2025-08-06 13:57:53 -07:00
Josh Holtrop
33d0e1e51c Fix MISRA rule 3.1 violations 2025-08-06 12:08:15 -04:00
Daniel Pouzzner
339f7efbf4 Merge pull request #9066 from holtrop/fix-misra-8.2-violations
fe_operations.h: fix MISRA rule 8.2 violations by naming function prototype parameters
2025-08-06 11:04:44 -05:00
Daniel Pouzzner
cc137e99fe Merge pull request #8900 from SparkiDev/rsa_mod_exp_nct
SP int: modular exponentiation constant time
2025-08-06 11:04:28 -05:00
Daniel Pouzzner
753a6b1083 Merge pull request #9063 from SparkiDev/sha3_xorbuf
SHA-3 C code: use xorbuf for little-endian builds
2025-08-06 11:04:10 -05:00
Daniel Pouzzner
76c4ee9ff5 Merge pull request #9056 from SparkiDev/asn_orig_decrypt_content_fix
ASN.1 original: Fix DecryptContent to check sequence len
2025-08-06 11:03:49 -05:00
Daniel Pouzzner
b8463dc5c1 Merge pull request #9062 from kareem-wolfssl/gh9059
Fix wolfSSL_i2d_PublicKey not returning SPKI format for ECC keys.
2025-08-06 11:03:28 -05:00
Daniel Pouzzner
8e5e273aca Merge pull request #9044 from JacobBarthelmeh/docs
add static memory doxygen comments for APIs
2025-08-06 11:02:57 -05:00
Daniel Pouzzner
8e77ee5c2a Merge pull request #9064 from SparkiDev/test_api_c_split_2
api.c: split out more tests into separate files
2025-08-06 10:51:25 -05:00
Daniel Pouzzner
53eedd4b38 Merge pull request #9041 from julek-wolfssl/zero-sha->buffer
Zero sha->buffer
2025-08-06 10:50:53 -05:00
David Garske
8ff0f455f8 Merge pull request #9067 from douzzer/20250805-clang-and-linuxkm-fixes
20250805-clang-and-linuxkm-fixes
2025-08-06 05:59:49 -07:00
Hideki Miyazaki
53ae865184 Addressed code review 2025-08-06 19:13:20 +09:00
Masaki Iwai
e9292e301f add _new/_delete API for ML-KEM/ML-DSA 2025-08-06 16:52:15 +09:00
Kareem
36e0e3aa53 Fix wolfSSL_i2d_PublicKey not returning SPKI format for ECC keys. 2025-08-05 17:20:47 -07:00
Daniel Pouzzner
034cbb9b97 tests/api.c: fix -Wuninitialized-const-pointer in test_wolfSSL_CertManagerAPI();
wolfcrypt/benchmark/benchmark.c:

* use WC_RELAX_LONG_LOOP() as default definition of TEST_SLEEP(), and remove WC_RELAX_LONG_LOOP() from bench_stats_sym_finish()/bench_stats_asym_finish_ex();
* when WOLFSSL_LINUXKM but !WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS., properly wrap kernel_fpu_begin...end around floating point ops.
2025-08-05 17:05:36 -05:00
Sean Parkinson
dbb75c46c9 ASN.1 original: Fix DecryptContent to check sequence len
Original ASN.1 code wasn't checking that data in a sequence didn't
exceed the length of the sequence.
In particular, the contents of the parameters and the PKCS#5 parameters.
2025-08-06 07:42:09 +10:00
Sean Parkinson
d0f8493c6a SHA-3 C code: use xorbuf for little-endian builds
Instead of loading 64-bits with alignment protection, use xorbuf which
has built in protection.
Only XOR in as much data as cached and XOR padding and rate bit directly
rather than XORing maximum amount after clearing out rest of array and
adding in padding and rate bit.
2025-08-06 07:39:53 +10:00
Sean Parkinson
219509d7d9 SP int: modular exponentiation constant time
Using a 1-bit window size for small exponentsisn't useful.
2025-08-06 07:38:37 +10:00
gojimmypi
7c9327a36b Please use DEBUG_WOLFSSL not WOLFSSL_DEBUG 2025-08-05 12:19:30 -07:00
Josh Holtrop
90d4efa1e6 fe_operations.h: fix MISRA rule 8.2 violations by naming function prototype parameters 2025-08-05 13:09:42 -04:00
David Garske
1693f72af7 Fixes for issues copilot found. 2025-08-05 07:22:04 -07:00
David Garske
649b6ede69 Merge pull request #9058 from kojiws/fix_cid_535964
Fix CID 535964
2025-08-05 07:08:59 -07:00
Sean Parkinson
b40e3d479f api.c: split out more tests into separate files
wolfCrypt PKCS7
wolfCrypt PKCS12
OpenSSL compat ASN.1
OpenSSL compat BN
OpenSSL comppat BIO
OpenSSL comppat Digest
OpenSSL comppat MAC
OpenSSL comppat Cipher
OpenSSL comppat RSA
OpenSSL comppat DH
OpenSSL comppat EC
OpenSSL comppat ECX
OpenSSL comppat DSA
2025-08-05 19:32:56 +10:00
Koji Takeda
bfb2a817e3 Fix CID 535964 2025-08-05 13:25:42 +09:00
David Garske
8e52978153 Merge pull request #9061 from gojimmypi/pr-fix-haproxy-workflow
Update HAProxy build-vtest: fix v3.1.0 and add v3.2.0
2025-08-04 19:57:15 -07:00
gojimmypi
6e795f149c Update HAProxy build-vtest: fix v3.1.0 and add v3.2,0 2025-08-04 12:38:27 -07:00
JacobBarthelmeh
c22c37df09 Merge pull request #9055 from rlm2002/zd20212
Coverity changes
2025-08-04 10:34:29 -06:00
Ruby Martin
598a3e6232 check return value of wc_DhGetNamedKeyParamSize 2025-08-01 14:56:35 -06:00
JacobBarthelmeh
040e2102a8 Merge pull request #9049 from kojiws/import_mldsa_seed_pkcs8_reapply
Reapply - Import ML-DSA's seed from PKCS8 file
2025-08-01 14:34:09 -06:00
JacobBarthelmeh
367e3e4246 fix for wolfSSL_StaticBufferSz_ex function signature 2025-08-01 10:32:41 -06:00
JacobBarthelmeh
0392ee009f Merge pull request #9033 from anhu/mlkem-hybrid-draft-names-wolfssl
Rename ML-KEM hybrids to match IETF Draft.
2025-08-01 10:21:54 -06:00
Hideki Miyazaki
8e6b13822b fix trailing whitespace, adding files to am and know macro 2025-08-01 17:36:23 +09:00
Hideki Miyazaki
a63bb12f6b Move devId from internal to public
- addressed code review by devin
2025-08-01 16:58:16 +09:00
JacobBarthelmeh
65e7f2c40f Merge pull request #9051 from lealem47/zd20288
Sniffer: Fix infinite recursion caused by an OOO appData packet
2025-07-31 14:50:36 -06:00
JacobBarthelmeh
86adcd6c8e Merge pull request #9048 from douzzer/20250730-linuxkm-tweaks
20250730-linuxkm-tweaks
2025-07-31 14:36:56 -06:00
Daniel Pouzzner
1152d612a6 wolfcrypt/benchmark/benchmark.c: smallstack refactors for bench_mlkem() and bench_dilithiumKeySign(), and globally replace stray uses of fprintf(stderr, ...) with printf(...) for portability. 2025-07-31 11:30:42 -05:00
Daniel Pouzzner
bbd606538a linuxkm/linuxkm_wc_port.h, linuxkm/x86_vector_register_glue.c, linuxkm/Kbuild:
* rename can_save_vector_registers_x86(), save_vector_registers_x86(), and restore_vector_registers_x86(), with wc_ prefix, and properly export them;
* move setup for WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS outside BUILDING_WOLFSSL gate;
* fix !BUILDING_WOLFSSL bindings for DISABLE_VECTOR_REGISTERS() to properly fall through to no-ops in !WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS configs, and properly #error if WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS but !CONFIG_X86;

.github/workflows/linuxkm.yml: --enable-linuxkm-benchmarks for additional coverage.
2025-07-31 10:37:39 -05:00
Lealem Amedie
0e8aab241d Sniffer: Fix infinte recursion caused by an OOO appData packet 2025-07-31 09:31:59 -06:00
Anthony Hu
6f66f4fda3 Use correct string in the unit tests. 2025-07-31 10:35:32 -04:00
Koji Takeda
2891815965 Fix errors on #9000 2025-07-31 16:04:22 +09:00
Koji Takeda
09deacbe8f Revert "Merge pull request #9045 from douzzer/20250730-revert-PR9000"
This reverts commit 70af2be5ab, reversing
changes made to 46347173b2.
2025-07-31 14:14:51 +09:00
Daniel Pouzzner
c353052e54 linuxkm/linuxkm_wc_port.h:
* move enum wc_svr_flags out of BUILDING_WOLFSSL guard;
* add DISABLE_VECTOR_REGISTERS() and REENABLE_VECTOR_REGISTERS() definitions for !BUILDING_WOLFSSL;
* add #include <linux/spinlock.h> to !WOLFSSL_LINUXKM_USE_MUTEXES implementation to fix compilation (and add usability) to caller code;

linuxkm/lkcapi_sha_glue.c: in wc_linuxkm_drbg_ctx_clear(), fix error-path deallocation of locked object;

wolfcrypt/benchmark/benchmark.c:

* in FIPS v6+ builds, and FIPS linuxkm v5+, check retval from wc_AesEncryptDirect() and wc_AesDecryptDirect();
* add WC_RELAX_LONG_LOOP() in bench_stats_sym_finish() and bench_stats_asym_finish_ex();

wolfcrypt/test/test.c: fix rng_seed_test() with correct test vectors for the relevant combinations of features, and gate the test out if there are user override defines for ENTROPY_SCALE_FACTOR or SEED_BLOCK_SZ.
2025-07-30 22:15:05 -05:00
Hideki Miyazaki
9b7caac3ef Update RZ examples
- Use xSPI0 boot mode
 - Update FSP from v1.3 to v2.0.0
 - Simplify UART
 - Migrate new User Ctx
 - Update README
 - Fix SCE TLS on RA6M4
2025-07-31 11:04:06 +09:00
JacobBarthelmeh
ee4e511a01 remove trailing white spaces 2025-07-30 17:02:23 -06:00
JacobBarthelmeh
70af2be5ab Merge pull request #9045 from douzzer/20250730-revert-PR9000
20250730-revert-PR9000
2025-07-30 16:59:19 -06:00
JacobBarthelmeh
6a01122c47 add static memory doxygen comments for APIs 2025-07-30 14:50:44 -06:00
Daniel Pouzzner
26806cda7b Revert "Support importing seed of ML-DSA key"
This reverts commit a82d1a6b12.
2025-07-30 15:39:57 -05:00
Daniel Pouzzner
f6437d3072 Revert "Add test data"
This reverts commit 778dcbaafb.
2025-07-30 15:39:55 -05:00
Daniel Pouzzner
d0bf9c4b3c Revert "Disable exporting dilithium DER tests without WOLFSSL_ASN_TEMPLATE"
This reverts commit bbcdfe92e0.
2025-07-30 15:39:53 -05:00
Daniel Pouzzner
40646964b4 Revert "Follow copilot review"
This reverts commit 189ba201f3.
2025-07-30 15:39:47 -05:00
JacobBarthelmeh
46347173b2 Merge pull request #9034 from holtrop/allow-pkcs7-without-x963-kdf
Allow building with HAVE_PKCS7 set and HAVE_X963_KDF unset
2025-07-30 10:05:09 -06:00
JacobBarthelmeh
09dd519764 Merge pull request #9043 from holtrop/fix-unit-test-coverity-defect
Fix unit test coverity defect in test_wc_PKCS7_SetAESKeyWrapUnwrapCb()
2025-07-30 09:59:39 -06:00
Josh Holtrop
ccb463dd1d Fix unit test coverity defect in test_wc_PKCS7_SetAESKeyWrapUnwrapCb() 2025-07-30 10:37:28 -04:00
Juliusz Sosinowicz
42e2dd9990 Zero sha->buffer
msan reported it as an uninitialized buffer
2025-07-30 14:16:52 +02:00
JacobBarthelmeh
a1e2ba2cd3 Merge pull request #9036 from kareem-wolfssl/zd20239
Fix size used by signature context struct with WOLFSSL_NO_MALLOC.
2025-07-29 17:13:34 -06:00
Sean Parkinson
d7f85c533b Merge pull request #9038 from JacobBarthelmeh/tcp
remove QEMU test host name lookup feature
2025-07-30 08:40:39 +10:00
JacobBarthelmeh
36912c3af8 Merge pull request #9000 from kojiws/import_mldsa_seed_pkcs8
Import ML-DSA's seed from PKCS8 file
2025-07-29 16:02:36 -06:00
Kareem
f130a9d44d Alias MAX_SIG_SZ to MAX_ENCODED_SIG_SZ for backwards compatibility. 2025-07-29 13:58:35 -07:00
Josh Holtrop
df7e105fb7 Allow building with HAVE_PKCS7 set and HAVE_X963_KDF unset 2025-07-29 11:46:44 -04:00
JacobBarthelmeh
26f4c968df Merge pull request #9032 from holtrop/allow-pkcs7-without-aes-keywrap
Allow building with HAVE_PKCS7 set and HAVE_AES_KEYWRAP unset
2025-07-29 09:44:07 -06:00
JacobBarthelmeh
9aace48189 remove QEMU test host name lookup feature 2025-07-28 17:04:33 -06:00
Koji Takeda
189ba201f3 Follow copilot review 2025-07-29 07:15:32 +09:00
Josh Holtrop
26a4ea93eb Allow building with HAVE_PKCS7 set and HAVE_AES_KEYWRAP unset 2025-07-28 12:40:35 -04:00
Koji Takeda
bbcdfe92e0 Disable exporting dilithium DER tests without WOLFSSL_ASN_TEMPLATE 2025-07-28 21:46:28 +09:00
Koji Takeda
778dcbaafb Add test data 2025-07-28 21:46:28 +09:00
Koji Takeda
a82d1a6b12 Support importing seed of ML-DSA key 2025-07-28 21:46:28 +09:00
philljj
cc2f7927ec Merge pull request #9035 from douzzer/20250725-wc_linuxkm_relax_long_loop
20250725-wc_linuxkm_relax_long_loop
2025-07-26 09:22:00 -05:00
Daniel Pouzzner
b0f6829614 20250725-wc_linuxkm_relax_long_loop: improvements from peer review: fix, clarify, and extend comments, improve indentation, and snip out a stray redundant preprocessor definition. 2025-07-26 08:27:43 -05:00
Kareem
5b888f809f Fix size used by signature context struct. This matches the size used by sigCpy/sigSz when building without WOLFSSL_NO_MALLOC. 2025-07-25 15:50:38 -07:00
Daniel Pouzzner
77dccc0c32 linuxkm:
* add wc_linuxkm_check_for_intr_signals(), wc_linuxkm_relax_long_loop(),
  WC_CHECK_FOR_INTR_SIGNALS(), WC_RELAX_LONG_LOOP(), SAVE_NO_VECTOR_REGISTERS(),
  RESTORE_NO_VECTOR_REGISTERS(), and new error code INTERRUPTED_E ("Process
  interrupted");

* update the no-asm remaps in the PK implementations to use
  SAVE_NO_VECTOR_REGISTERS() and RESTORE_NO_VECTOR_REGISTERS(), so that inner
  loops in them are always covered by the new logic.
2025-07-25 15:56:48 -05:00
Anthony Hu
c7e054a7a7 Rename ML-KEM hybrids to match IETF Draft. 2025-07-25 13:27:26 -04:00
David Garske
c347f75b3c Merge pull request #9029 from holtrop/extract-kari-rid
Add wc_PKCS7_GetEnvelopedDataKariRid()
2025-07-25 09:04:11 -07:00
Josh Holtrop
804c4f20b5 Explicitly initialize some unit test variables to avoid warnings 2025-07-24 18:51:58 -04:00
Josh Holtrop
1226dedeb8 Check that we don't run out of space for the RID structure 2025-07-24 15:52:34 -04:00
Josh Holtrop
71bd9e2f6e Make unit test more resilient to earlier errors 2025-07-24 15:46:01 -04:00
Josh Holtrop
6309b241cd Fix some clang-tidy warnings in unit test 2025-07-24 15:42:55 -04:00
David Garske
a06268f705 Merge pull request #9010 from miyazakh/sce_tlsproperties_uc
Make properties related to Renesas FSP Security Module TLS hidden for FSP SM context
2025-07-24 12:35:56 -07:00
David Garske
2db1669713 Merge pull request #8988 from JacobBarthelmeh/visibility
remove WOLFSSL_API in source code when already used in header file
2025-07-24 11:00:55 -07:00
David Garske
e4a9ffd00e Merge pull request #9031 from danielinux/fix-regression-rsa-verify-only
Fix warning with WOLFSSL_RSA_VERIFY_ONLY
2025-07-24 10:29:02 -07:00
JacobBarthelmeh
c25efcee92 Merge pull request #9028 from dgarske/md5_sha1
Fixes for building with MD5 and SHA1 to support Hash `WC_HASH_TYPE_MD5_SHA`
2025-07-24 10:41:22 -06:00
Josh Holtrop
cf843c8b82 Add wc_PKCS7_GetEnvelopedDataKariRid()
Allow access to recipient ID before attempting to decrypt content.
2025-07-24 11:15:30 -04:00
Daniele Lacamera
09de113145 Fix warning with WOLFSSL_RSA_VERIFY_ONLY
PR #8830 introduces a warning when WOLFSSL_NO_CT_OPS is selected.
However, in WOLFSSL_RSA_VERIFY_ONLY mode this is enforced in
wolfssl/wolfcrypt/settings.h:4035, forcing this warning to appear when
this configuration is used.

This PR takes into account the special case, allowing WOLFSSL_NO_CT_OPS
when WOLFSSL_RSA_VERIFY_ONLY, and removing the warning.
2025-07-24 16:13:00 +02:00
philljj
6750c29e67 Merge pull request #9027 from douzzer/20250723-linuxkm-fixes-and-testing-workflow
20250723-linuxkm-fixes-and-testing-workflow
2025-07-23 22:43:51 -05:00
David Garske
6aabc73845 Merge pull request #9018 from holtrop/decode-skp
Add API to decode SymmetricKeyPackage and OneSymmetricKey CMS objects
2025-07-23 16:01:58 -07:00
David Garske
44eba446ec Merge pull request #9002 from holtrop/aes-key-wrap-callbacks
Add callback functions for custom AES key wrap/unwrap operations
2025-07-23 16:01:49 -07:00
David Garske
551ff3f1b6 Fixes for building with MD5 and SHA1 to support Hash WC_HASH_TYPE_MD5_SHA. ZD 20269. 2025-07-23 15:59:08 -07:00
David Garske
e1b3c43a2b Merge pull request #8987 from gojimmypi/pr-espressif-allocators
Add wolfSSL_GetAllocators PSRAM support for Espressif ESP32
2025-07-23 15:33:53 -07:00
Daniel Pouzzner
5e57ec5c93 linuxkm/Kbuild: if ENABLED_LINUXKM_PIE, disable KASAN and UBSAN, to avoid external references (__ubsan_handle_out_of_bounds() etc.). 2025-07-23 17:30:14 -05:00
David Garske
c261bf4452 Merge pull request #9006 from rlm2002/zd20212
Coverity fixes for Zendesk issue
2025-07-23 15:29:20 -07:00
Daniel Pouzzner
ca6a12769f linuxkm/linuxkm_wc_port.h: additional fixes for version gates;
.github/workflows/linuxkm.yml: add a second scenario with --enable-linuxkm-pie.
2025-07-23 16:57:24 -05:00
Daniel Pouzzner
b7b0ab6dbf src/tls.c: fix double free just added to TLSX_KeyShare_GenPqcKeyClient(). 2025-07-23 16:18:22 -05:00
Daniel Pouzzner
53de4a582e add .github/workflows/linuxkm.yml;
linuxkm/Makefile: add support for FORCE_NO_MODULE_SIG.
2025-07-23 14:43:33 -05:00
Daniel Pouzzner
a447a991b0 linuxkm/Kbuild: add KERNEL_EXTRA_CFLAGS_REMOVE;
linuxkm/linuxkm_wc_port.h: fix version threshold for HAVE_KVREALLOC (6.12.0, not 6.11.0), and add manual overrides.
2025-07-23 14:31:52 -05:00
Daniel Pouzzner
8d7009e9de src/tls.c: in TLSX_KeyShare_GenPqcKeyClient(), add smallstack coverage to !WOLFSSL_TLSX_PQC_MLKEM_STORE_OBJ code paths. 2025-07-23 12:02:07 -05:00
Daniel Pouzzner
5360738351 wolfssl/internal.h: don't gate in prototype for sockAddrEqual() if defined(WOLFSSL_NO_SOCK). 2025-07-23 11:17:31 -05:00
Josh Holtrop
2f2f999657 Rework to remove early function returns 2025-07-22 20:35:28 -04:00
Josh Holtrop
0d48911ae4 Update style per code review comments 2025-07-22 20:30:44 -04:00
Josh Holtrop
86d7d42eb6 Comment test ASN DER sequences 2025-07-22 20:29:44 -04:00
Josh Holtrop
7762fa9b14 Update style per code review comments 2025-07-22 20:09:55 -04:00
philljj
65126352a0 Merge pull request #9025 from douzzer/20250721-wolfssl_linuxkm_pie_redirect_table-direct
20250721-wolfssl_linuxkm_pie_redirect_table-direct
2025-07-22 18:08:11 -05:00
Hideki Miyazaki
5e77253577 Addressed code review comments 2025-07-23 07:44:30 +09:00
Daniel Pouzzner
6043274d96 linuxkm/Kbuild: revert change to base PIE_FLAGS -- we need -fno-stack-protector to avoid compiler-generated references to __stack_chk_fail. 2025-07-22 16:45:06 -05:00
David Garske
c7bc6e834e Merge pull request #8996 from lealem47/match_ipv6
Add logic to match IPv6 domain addresses
2025-07-22 13:42:15 -07:00
Josh Holtrop
13fb6b83cd Update style per code review comments 2025-07-22 16:38:13 -04:00
Josh Holtrop
27f0ef8789 Combine AES key wrap/unwrap callbacks 2025-07-22 16:34:37 -04:00
Daniel Pouzzner
c26f6ded14 linuxkm/linuxkm_wc_port.h: use more flexible logic to define WC_LKM_INDIRECT_SYM(), allowing various overrides and orthogonalizing the definitions proper, and add explanatory comments. 2025-07-22 14:40:45 -05:00
Josh Holtrop
7bcb346dd7 Remove early function returns per code review comments 2025-07-22 14:58:26 -04:00
Josh Holtrop
15c8730ef7 Use wc_ prefix for IndexSequenceOf() 2025-07-22 14:50:42 -04:00
Josh Holtrop
77bace5010 Update style per code review comments 2025-07-22 14:47:22 -04:00
gojimmypi
97c2e9f973 Add wolfSSL_GetAllocators PSRAM support for Espressif ESP32 2025-07-22 11:34:47 -07:00
David Garske
357b624ca5 Merge pull request #9024 from JacobBarthelmeh/mldsa
fix mldsa test case for buffer size and expire date
2025-07-22 11:04:41 -07:00
Ruby Martin
29288640ab add additional check so dead code can be reached 2025-07-22 10:48:06 -06:00
David Garske
b0fd0296f3 Merge pull request #9026 from JacobBarthelmeh/readme
fix changelog formatting
2025-07-22 09:34:44 -07:00
Ruby Martin
01fd36b840 set a->length to 0 if old data is not kept 2025-07-22 10:33:12 -06:00
Lealem Amedie
22b01bcda9 Remove unnecessary memset 2025-07-22 10:05:36 -06:00
JacobBarthelmeh
3759c6f1a1 fix changelog formatting 2025-07-22 09:21:26 -06:00
Ruby Martin
828b9b7024 remove mac_alg check, mac_alg is always no_mac on subsequent iterations 2025-07-22 08:49:26 -06:00
Ruby Martin
42b80878d9 str_len check includes any value less than 0 2025-07-22 08:49:26 -06:00
Ruby Martin
dc345553df wrap res assignment in else statement 2025-07-22 08:49:26 -06:00
Josh Holtrop
aa986a2b24 Update doxygen comment style per code review comments 2025-07-22 08:27:00 -04:00
Josh Holtrop
e03fc6858b Update Doxygen comment style per code review comments 2025-07-22 08:24:22 -04:00
Josh Holtrop
525f1cc39e Update style per code review comments 2025-07-22 08:19:01 -04:00
Sean Parkinson
8f00fc2594 Merge pull request #8890 from kareem-wolfssl/zd20022
Allow larger pathLen values in Basic Constraints.
2025-07-22 17:16:27 +10:00
Sean Parkinson
cd7256ae63 Merge pull request #8979 from anhu/abort_on_bad_legacy
Abort TLS connection if legacy version field  is TLS 1.3 or higher
2025-07-22 17:12:39 +10:00
Sean Parkinson
1f72866489 Merge pull request #8993 from miyazakh/tsip_tlsproperties_uc
Make properties related to TLS handshake hidden for TSIP TLS user-context structure
2025-07-22 17:05:44 +10:00
Sean Parkinson
6c847b1870 Merge pull request #9013 from ColtonWilley/fix_cryptocb_rsa_pad_inline
Set out ptr properly for RSA pad crypto cb inline
2025-07-22 16:47:06 +10:00
Sean Parkinson
21f283c143 Merge pull request #9008 from gojimmypi/pr-wolfssl_user_io
Improve WOLFSSL_USER_IO defaults
2025-07-22 16:37:59 +10:00
Sean Parkinson
7417958649 Merge pull request #9015 from philljj/fix_dual_alg_build
dual alg certs: fix dual alg certs build, and asn cleanup.
2025-07-22 16:26:41 +10:00
Sean Parkinson
95768038b9 Merge pull request #9019 from ribes96/word64_literal
wolfcrypt test: Fix build on 32 bit machines
2025-07-22 16:23:02 +10:00
Sean Parkinson
0c4c156893 Merge pull request #9020 from ribes96/oldgcc_uninitialized
Avoid bogus warning on uninitialized variables on old versions of GCC
2025-07-22 16:22:00 +10:00
Sean Parkinson
f034f09bb4 Merge pull request #9021 from ribes96/fix_noshadow_overwrite
Support CFLAGS="-Wno-shadow"
2025-07-22 16:21:07 +10:00
Sean Parkinson
f1175043f3 Merge pull request #9022 from lealem47/check_rsa_u
Check that u value isn't zero in RsaFunctionPrivate
2025-07-22 16:19:12 +10:00
Daniel Pouzzner
0495f2cc20 linuxkm/linuxkm_wc_port.h: add WC_LKM_INDIRECT_SYM() macro; on x86, use wolfssl_linuxkm_pie_redirect_table directly for indirect calls from PIE container, otherwise use wolfssl_linuxkm_get_pie_redirect_table() to avoid e.g. R_AARCH64_LD64_GOT_LO12_NC relocations;
linuxkm/Kbuild: remove -fno-stack-protector from default PIE_FLAGS.
2025-07-21 19:34:00 -05:00
JacobBarthelmeh
98c70fb77e fix mldsa test case for buffer size and expire date 2025-07-21 15:15:31 -06:00
Lealem Amedie
8df20d6966 Check that u value isn't zero in RsaFunctionPrivate 2025-07-21 10:45:43 -06:00
Lealem Amedie
b306e88d1a Guard for WOLFSSL_USER_IO case 2025-07-21 10:06:19 -06:00
Lealem Amedie
f9afdfd8e2 Don't need to initialize with {0} 2025-07-21 10:06:19 -06:00
Lealem Amedie
90bd374c16 Add logic to match IPv6 domain addresses 2025-07-21 10:06:19 -06:00
Albert Ribes
6f8e0f128a Support CFLAGS="-Wno-shadow"
Avoid appending "-Wshadow" in the end of compiler flags if the user
provided CFLAGS="-Wno-shadow"
2025-07-21 12:34:39 +02:00
Albert Ribes
b2463f167c Avoid bogus warning on uninitialized variables on old versions of GCC
gcc-4.3.3 erroneously complains that some variables may be used
uninitialized. Silence it assigning NULL on declaration, as is already
done with many other variables.
2025-07-21 10:57:50 +02:00
Albert Ribes
2e25c65129 wolfcrypt test: Fix build on 32 bit machines
Declare a 64 bit variable using W64LIT to avoid warnings on 32 bit
machines
2025-07-21 10:34:19 +02:00
Josh Holtrop
06d86af67c Add API to decode SymmetricKeyPackage and OneSymmetricKey CMS objects 2025-07-19 18:28:06 -04:00
jordan
8e46687223 dual alg certs: add missing WC_ENABLE_ASYM_KEY_IMPORT guard. 2025-07-18 09:30:17 -05:00
Hideki Miyazaki
7a03b9fea6 fix trailing whitespaces 2025-07-18 07:54:45 +09:00
Hideki Miyazaki
70587dd2d5 Addressed code review by devin 2025-07-18 07:51:04 +09:00
jordan
e571988059 dual alg certs: fix dual alg certs build, and asn cleanup. 2025-07-17 15:15:11 -05:00
Colton Willey
f3ee192a96 Set out ptr properly for RSA pad crypto cb inline 2025-07-17 12:01:39 -07:00
Hideki Miyazaki
ba358b8fb8 Sanity check before free 2025-07-17 18:51:57 +09:00
Hideki Miyazaki
59659ef8fb fix long line and trailing whitespaces 2025-07-17 18:26:55 +09:00
Hideki Miyazaki
cc123d7c3a Make properties related to SCE TLS hidden
- Fix RSA Crypt callback
 - Eliminate WOLFSSL_LOCAL
2025-07-17 18:16:40 +09:00
gojimmypi
a08b93347f Revised sockets for USE_WOLFSSL_IO, USE_WOLFSSL_IO 2025-07-16 15:18:14 -07:00
gojimmypi
66650a95d8 Improve WOLFSSL_USER_IO defaults 2025-07-16 12:04:05 -07:00
Josh Holtrop
af3296a836 wc_PKCS7_KeyWrap(): mark pointers as to const and check for NULL 2025-07-14 17:28:23 -04:00
Josh Holtrop
429ccd5456 Add callback functions for custom AES key wrap/unwrap operations 2025-07-14 15:58:14 -04:00
Hideki Miyazaki
ec252a73e2 fix whitespace and long line 2025-07-12 10:26:28 +09:00
Hideki Miyazaki
eb8a3afe38 Addressed code review comments 2025-07-12 09:49:09 +09:00
Anthony Hu
dc3209b797 Add macro to .wolfssl_known_macro_extras 2025-07-11 14:59:43 -04:00
Kareem
9fa1d2e75f Enforce WOLFSSL_MAX_PATH_LEN for ASN original as well. 2025-07-11 11:53:33 -07:00
Anthony Hu
1a0a3283a0 Add a test. 2025-07-11 14:32:47 -04:00
Hideki Miyazaki
c4a178f029 Remove trailing whitespace 2025-07-11 22:12:49 +09:00
Hideki Miyazaki
e9def03585 Null check before accessing instance 2025-07-11 17:48:36 +09:00
Hideki Miyazaki
0a0b9a3c24 Make properties related to TLS handshake hidden for TSIP TLS user context structure 2025-07-11 14:25:06 +09:00
JacobBarthelmeh
01cd91cbea removing more locations of WOLFSSL_API used with function implementations 2025-07-10 16:44:28 -06:00
JacobBarthelmeh
13b8a972ea remove WOLFSSL_API in source code when already used in header file for function decleration 2025-07-10 13:40:27 -06:00
Kareem
bfacbf9764 Update ASN original to also allow larger pathLen values in Basic Constraints. 2025-07-10 11:47:47 -07:00
Kareem
f0459eb1cf Allow larger pathLen values in Basic Constraints. 2025-07-10 10:37:06 -07:00
Anthony Hu
4bd2835cf1 Change suggested by SparkiDev 2025-07-10 10:40:12 -04:00
Anthony Hu
57e2ae5a21 Abort TLS connection if legacy version field indicates TLS 1.3 or higher. 2025-07-09 12:45:04 -04:00
551 changed files with 250744 additions and 104665 deletions

325
.github/workflows/arduino.yml vendored Normal file
View File

@@ -0,0 +1,325 @@
name: Arduino CI Build (1 of 4) wolfssl
#
# Test fetches wolfssl-examples/Arduino and uses local, latest github master branch wolfssl
#
# These 4 workflows across 3 repos are interdependent for the current $REPO_OWNER:
#
# THIS Arduino CI Build 1: https://github.com/$REPO_OWNER/wolfssl # /.github/workflows/arduino.yml
# - Builds Arduino library from local clone of wolfssl master branch
# - Fetches examples from https://github.com/$REPO_OWNER/wolfssl-examples
#
# Arduino CI Build 2: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino-release.yml
# - Tests examples based on latest published release of Arduino library, NOT latest on wolfssl github.
# - Should be identical to Arduino CI Build 3 in every way but wolfssl install.
# - Copies only compile script from wolfssl-examples
# - Builds local examples
# - No other repos used
#
# Arduino CI Build 3: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino.yml
# - Fetches current wolfSSL from https://github.com/$REPO_OWNER/wolfssl
# - Creates an updated Arduino library
# - Compiles local examples
# - Contains the source of `compile-all-examples.sh` and respective board-list.txt
#
# Arduino CI Build 4: https://github.com/$REPO_OWNER/Arduino-wolfssl # /.github/workflows/arduino.yml
# - Assembles and installs an updated Arduino wolfssl library from LOCAL wolfssl master source
# - Copies only compile script copied from wolfssl-examples
# - Builds local examples
# - No other repos used
#
#
# ** NOTE TO MAINTAINERS **
#
# Consider using winmerge or similar tool to keep the 4 arduino[-release].yml files in relative sync.
# Although there are some specific differences, most of the contents are otherwise identical.
#
# See https://github.com/wolfSSL/Arduino-wolfSSL
#
# To test locally:
# cd [your WOLFSSL_ROOT], e.g. cd /mnt/c/workspace/wolfssl-$USER
# [optional checkout] e.g. git checkout tags/v5.8.2-stable
# pushd ./IDE/ARDUINO
# export ARDUINO_ROOT="$HOME/Arduino/libraries"
# ./wolfssl-arduino.sh INSTALL
# cd [your WOLFSSL_EXAMPLES_ROOT] e.g. /mnt/c/workspace/wolfssl-examples-$USER
#
# START OF COMMON SECTION
on:
push:
branches: [ '**', 'master', 'main', 'release/**' ]
paths:
- '.github/workflows/arduino.yml'
- 'IDE/ARDUINO/**'
- 'src/**'
- 'wolfcrypt/**'
- 'wolfssl/**'
pull_request:
branches: [ '**' ]
paths:
- 'github/workflows/arduino.yml'
- 'IDE/ARDUINO/**'
- 'src/**'
- 'wolfcrypt/**'
- 'wolfssl/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build:
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-latest
env:
REPO_OWNER: ${{ github.repository_owner }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Arduino CLI
run: |
# Script to fetch and run install.sh from arduino/arduino-cli
# The install script will test to see if the recently installed apps in in the path
# So set it up in advance:
mkdir -p "${PWD}/bin"
echo "${PWD}/bin" >> $GITHUB_PATH
# Sets the install directory to a consistent path at the repo root.
ROOT_BIN="$GITHUB_WORKSPACE/bin"
# Ensures that BINDIR exists before the installer runs
mkdir -p "$ROOT_BIN"
# Save as a lobal environment variable
echo "$ROOT_BIN" >> "$GITHUB_PATH"
# Download and run install script from Arduino:
# -S show errors; -L follow redirects; -v Verbose
set +e # don't abort on error
set -o pipefail
curl -vSL --retry 5 --retry-delay 10 \
https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh \
| sh -x
rc=$?
c_rc=${PIPESTATUS[0]} # curl's exit code
s_rc=${PIPESTATUS[1]} # sh's exit code
set -e # restore default abort-on-error
# If there was a curl error, we have our own local copy that is more reliable and can add our own debugging
if [ "$rc" -ne 0 ]; then
echo "Primary install failed: curl=$c_rc, sh=$s_rc. Falling back..." >&2
echo "Using local copy of arduino_install.sh"
pushd ./Arduino/sketches
chmod +x ./arduino_install.sh
# Mimic curl install, does not use current directory:
BINDIR="$ROOT_BIN" sh -x ./arduino_install.sh
popd
else
echo "Alternative install script not needed."
fi
- name: Confirm Arduino CLI install
run: arduino-cli version
- name: Setup Arduino CLI
run: |
arduino-cli config init
arduino-cli core update-index
arduino-cli config add board_manager.additional_urls https://www.pjrc.com/teensy/package_teensy_index.json
arduino-cli core update-index
arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
arduino-cli core update-index
arduino-cli core install esp32:esp32 # ESP32
arduino-cli core install arduino:avr # Arduino Uno, Mega, Nano
arduino-cli core install arduino:sam # Arduino Due
arduino-cli core install arduino:samd # Arduino Zero
arduino-cli core install teensy:avr # PJRC Teensy
arduino-cli core install esp8266:esp8266 # ESP8266
arduino-cli core install arduino:mbed_nano # nanorp2040connect
arduino-cli core install arduino:mbed_portenta # portenta_h7_m7
arduino-cli core install arduino:mbed_edge
# sudo "/home/$USER/.arduino15/packages/arduino/hardware/mbed_nano/4.2.4/post_install.sh"
arduino-cli core install arduino:renesas_uno
arduino-cli lib install "ArduinoJson" # Example dependency
arduino-cli lib install "WiFiNINA" # ARDUINO_SAMD_NANO_33_IOT
arduino-cli lib install "Ethernet" # Install Ethernet library
arduino-cli lib install "Bridge" # Pseudo-network for things like arduino:samd:tian
- name: Set job environment variables
run: |
# Script to assign some common environment variables after everything is installed
ICON_OK=$(printf "\xE2\x9C\x85")
ICON_FAIL=$(printf "\xE2\x9D\x8C")
echo "GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")" >> "$GITHUB_ENV"
echo "ARDUINO_ROOT=$(realpath "$HOME/Arduino/libraries")" >> "$GITHUB_ENV"
# Show predefined summary:
echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE"
# Show assigned build:env values (e.g. "wolfssl", "gojimmpi" or other owners):
echo "REPO_OWNER = $REPO_OWNER"
echo "GITHUB_ENV=$GITHUB_ENV"
# Show our custom values:
echo "GITHUB_WORK = $GITHUB_WORK"
echo "ARDUINO_ROOT = $ARDUINO_ROOT"
# WOLFSSL_EXAMPLES_ROOT is the repo root, not example location
echo "WOLFSSL_EXAMPLES_ROOT = $WOLFSSL_EXAMPLES_ROOT"
- name: Get wolfssl-examples
run: |
# Fetch Arduino examples from the wolfssl-examples repo
echo "Start pwd:"
pwd
# we're typically in $GITHUB_WORKSPACE=/home/runner/work/wolfssl/wolfssl
# goto /home/runner/work to fetch wolfssl-examples
echo "Current pwd for wolfssl-examples clone fetch: $(pwd)"
GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
# Typically /home/runner/work
echo "GITHUB_WORK=$GITHUB_WORK"
pushd "$GITHUB_WORK"
echo "Updated pwd for wolfssl-examples clone fetch: $(pwd)"
git clone --depth 1 https://github.com/$REPO_OWNER/wolfssl-examples.git wolfssl-examples-publish
cd ./wolfssl-examples-publish
echo "WOLFSSL_EXAMPLES_ROOT=$(pwd)"
echo "Path for wolfssl-examples-publish: $(pwd)"
popd # GITHUB_WORK
# ** END ** Get wolfssl-examples
- name: Install wolfSSL Arduino library
run: |
# Run the local wolfssl-arduino.sh install script to install wolfssl Arduino library.
# Methods of installing Arduino library:
# 1) arduino-cli lib install "wolfSSL"
# 2) manual copy of files (typical of the Arduino-wolfssl repo)
# 3) run ./wolfssl-arduino.sh INSTALL (typical of the wolfssl repo)
echo "Current pwd for wolfssl-examples clone fetch: $(pwd)"
GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
# Typically /home/runner/work
echo "GITHUB_WORK=$GITHUB_WORK"
pwd
pushd ./IDE/ARDUINO
# Set default ARDUINO_ROOT to Arduino library.
export ARDUINO_ROOT="$HOME/Arduino/libraries"
export WOLFSSL_EXAMPLES_ROOT="$GITHUB_WORK/wolfssl-examples-publish"
echo "ARDUINO_ROOT: $WOLFSSL_EXAMPLES_ROOT"
echo "WOLFSSL_EXAMPLES_ROOT: $WOLFSSL_EXAMPLES_ROOT"
bash ./wolfssl-arduino.sh INSTALL # Install wolfSSL library
popd
# ** END ** Install wolfSSL Arduino library
- name: List installed Arduino libraries
run: arduino-cli lib list
- name: Get compile-all-examples.sh
run: |
# Fetch compile script FROM THE CURRENT OWNER.
# This repo is Arduino-wolfssl; we'll fetch the script from the wolfssl-examples for the same repository owner.
echo "Repository owner: $REPO_OWNER"
echo "Current directory: $PWD"
echo "Current pwd for wolfssl-examples clone fetch: $PWD"
WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples"
THIS_BOARD_LIST="board_list.txt"
echo "WOLFSSL_EXAMPLES_DIRECTORY=$WOLFSSL_EXAMPLES_DIRECTORY"
# Fetch script and board list into WOLFSSL_EXAMPLES_DIRECTORY
echo "Fetching board_list.txt from REPO_OWNER=$REPO_OWNER"
curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/board_list.txt" -o "$WOLFSSL_EXAMPLES_DIRECTORY/$THIS_BOARD_LIST"
# Check if the first line is "404: Not Found" - which would indicate the curl path above is bad.
FILE="$WOLFSSL_EXAMPLES_DIRECTORY/board_list.txt"
# Ensure the file exists
if [[ ! -f "$FILE" ]]; then
echo "File not found: $FILE"
exit 1
fi
# Check if the first line is "404: Not Found"
if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then
echo "The first line is '404: Not Found'"
exit 1
fi
# Fetch the compile script from repo: https://github.com/[$USER]/wolfssl-examples/
echo "Fetching compile-all-examples.sh from REPO_OWNER=$REPO_OWNER"
curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/compile-all-examples.sh" -o "$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh"
# Check if the first line is "404: Not Found" - which would indicate the curl path above is bad.
FILE="$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh"
# Ensure the file exists
if [[ ! -f "$FILE" ]]; then
echo "File not found: $FILE"
exit 1
fi
# Check if the first line is "404: Not Found"
if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then
echo "The first line is '404: Not Found'"
exit 1
fi
pushd "$WOLFSSL_EXAMPLES_DIRECTORY"
echo "Current directory: $PWD"
echo "Current directory $PWD"
echo "Contents:"
ls -al
find ./ -type f | sort
# ensure we can execute the script here (permissions lost during curl fetch)
chmod +x ./compile-all-examples.sh
echo "Found compile script: $(ls -al ./compile-all-examples.sh ./$THIS_BOARD_LIST)"
popd
# ** END ** Get compile-all-examples.sh
# This will fail with Arduino published wolfSSL v5.7.6 and older
# as the examples moved. See https://github.com/wolfSSL/wolfssl/pull/8514
#
- name: Compile Arduino Sketches for Various Boards
run: |
# Call the compile-all-examples.sh script to compile all the examples for each of the fqbn names in the local copy of board_list.txt
echo "Current directory: $PWD"
echo "ARDUINO_ROOT: $ARDUINO_ROOT"
WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples"
echo "WOLFSSL_EXAMPLES_DIRECTORY: $WOLFSSL_EXAMPLES_DIRECTORY"
echo "Change directory to Arduino examples..."
pushd "$WOLFSSL_EXAMPLES_DIRECTORY"
echo "Current directory: $PWD"
echo "Calling ./compile-all-examples.sh"
bash ./compile-all-examples.sh
popd
# End Compile Arduino Sketches for Various Boards

View File

@@ -52,7 +52,7 @@ jobs:
- name: Install test dependencies
run: |
sudo apt-get update
sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket
sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket apache2 apache2-dev
- name: Download lib
uses: actions/download-artifact@v4
@@ -68,9 +68,9 @@ jobs:
repository: curl/curl
path: curl
ref: ${{ matrix.curl_ref }}
configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir
configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir --with-test-httpd=yes
check: false
- name: Test curl
working-directory: curl
run: make -j $(nproc) test-ci
run: make -j $(nproc) test-nonflaky

View File

@@ -19,7 +19,9 @@ jobs:
# This should be a safe limit for the tests to run.
timeout-minutes: 12
container:
image: espressif/idf:latest
# The latest stable release is v5.5
image: espressif/idf:release-v5.5
# image: espressif/idf:latest # The "latest" has breaking changes for ESP-IDF V6
steps:
- uses: actions/checkout@v4
- name: Initialize Espressif IDE and build examples

47
.github/workflows/fil-c.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: Fil-C Tests
env:
FIL_C_VERSION: v0.674
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
run_fil_c:
strategy:
fail-fast: false
matrix:
config: [
# Add new configs here. Don't use CPPFLAGS.
'',
'--enable-all',
]
# This should be a safe limit for the tests to run.
timeout-minutes: 30
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-22.04
name: ${{ matrix.config }}
steps:
- name: Download fil-c release
run: gh release download ${{ env.FIL_C_VERSION }} --repo pizlonator/fil-c --pattern 'filc-*'
env:
GH_TOKEN: ${{ github.token }}
- name: Extract fil-c tarball
run: mkdir -p filc && tar -xf filc-*.tar* --strip-components=1 -C filc
- name: Build and test wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: ${{ matrix.config }} CC=$GITHUB_WORKSPACE/filc/build/bin/filcc --disable-asm CPPFLAGS=-DWC_NO_CACHE_RESISTANT
check: true

View File

@@ -47,7 +47,7 @@ jobs:
strategy:
fail-fast: false
matrix:
haproxy_ref: [ 'v3.1.0' ]
haproxy_ref: [ 'v3.1.0', 'v3.2.0']
steps:
- name: Install test dependencies
run: |
@@ -82,6 +82,13 @@ jobs:
working-directory: build-dir/haproxy-${{matrix.haproxy_ref}}
run: make clean && make TARGET=linux-glibc USE_OPENSSL_WOLFSSL=1 SSL_LIB=$GITHUB_WORKSPACE/build-dir/lib SSL_INC=$GITHUB_WORKSPACE/build-dir/include ADDLIB=-Wl,-rpath,$GITHUB_WORKSPACE/build-dir/lib CFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address"
# wlallemand/VTest used in v3.1.0 is no longer available
- name: Patch build-vtest.sh for v3.1.0
if: matrix.haproxy_ref == 'v3.1.0'
working-directory: build-dir/haproxy-${{ matrix.haproxy_ref }}/scripts
run: |
sed -i 's|https://github.com/wlallemand/VTest/archive/refs/heads/haproxy-sd_notify.tar.gz|https://github.com/vtest/VTest2/archive/main.tar.gz|' build-vtest.sh
- name: Build haproxy vtest
working-directory: build-dir/haproxy-${{matrix.haproxy_ref}}
run: ./scripts/build-vtest.sh

View File

@@ -79,6 +79,7 @@ jobs:
lookup-only: true
- name: Checkout hostap
if: steps.cache.outputs.cache-hit != 'true'
run: git clone git://w1.fi/hostap.git hostap
build_uml_linux:
@@ -176,9 +177,6 @@ jobs:
key: hostap-linux-${{ env.LINUX_REF }}
fail-on-cache-miss: true
- name: show file structure
run: tree
# No way to view the full strategy in the browser (really weird)
- name: Print strategy
run: |
@@ -232,7 +230,12 @@ jobs:
- name: Update certs
working-directory: hostap/tests/hwsim/auth_serv
run: ./update.sh
run: |
./update.sh
# Force regeneration of rsa3072-ca.key to get rsa3072-generate.sh to
# correctly update all the certs
rm rsa3072-ca.key
./rsa3072-generate.sh
- if: ${{ matrix.config.osp_ref }}
name: Checkout OSP

View File

@@ -76,11 +76,11 @@ jobs:
- name: Update libssh2 test to use a stable version of debian
working-directory: libssh2
run: |
sed -i 's/testing-slim/stable-slim/' tests/openssh_server/Dockerfile
sed -i 's/testing-slim/oldstable-slim/' tests/openssh_server/Dockerfile
- name: Run libssh2 tests
working-directory: libssh2
run: make check
run: make -j check
- name: Confirm libssh2 built with wolfSSL
run: ldd libssh2/src/.libs/libssh2.so | grep wolfssl

54
.github/workflows/linuxkm.yml vendored Normal file
View File

@@ -0,0 +1,54 @@
name: Kernel Module Build
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build_library:
strategy:
matrix:
config: [
'EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-lkcapi-register=all --enable-all --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --enable-dual-alg-certs --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-opensslextra --disable-testcert --enable-intelasm --disable-sp-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS="-DWOLFSSL_LINUXKM_VERBOSE_DEBUG -Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1" --with-max-rsa-bits=16384',
'EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-pie --enable-reproducible-build --enable-linuxkm-lkcapi-register=all --enable-all-crypto --enable-cryptonly --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-opensslextra --disable-testcert --enable-intelasm --disable-sp-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS="-DWOLFSSL_LINUXKM_VERBOSE_DEBUG -Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1" --with-max-rsa-bits=16384'
]
name: build module
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
name: Checkout wolfSSL
- name: Prepare target kernel for module builds
run: |
echo "updating linux-headers"
sudo apt-get update || $(exit 2)
sudo apt-get install linux-headers-$(uname -r) -y || $(exit 3)
echo "preparing target kernel $(uname -r)"
pushd "/lib/modules/$(uname -r)/build" || $(exit 4)
if [ -f /proc/config.gz ]; then gzip -dc /proc/config.gz > /tmp/.config && sudo mv /tmp/.config . || $(exit 5); elif [ -f "/boot/config-$(uname -r)" ]; then sudo cp -p "/boot/config-$(uname -r)" .config || $(exit 6); fi
sudo make -j 4 olddefconfig || $(exit 7)
sudo make M="$(pwd)" modules_prepare || $(exit 8)
popd >/dev/null
- name: autogen.sh
run: |
./autogen.sh || $(exit 9)
- name: Build libwolfssl.ko, targeting GitHub ubuntu-latest, with --enable-all, PQC, and smallstack and stack depth warnings
run: |
echo "running ./configure --with-linux-source=/lib/modules/$(uname -r)/build ${{ matrix.config }}"
./configure --with-linux-source=/lib/modules/$(uname -r)/build ${{ matrix.config }} || $(exit 10)
# try to remove profiling (-pg) because it leads to "_mcleanup: gmon.out: Permission denied"
make -j 4 KERNEL_EXTRA_CFLAGS_REMOVE=-pg FORCE_NO_MODULE_SIG=1 || $(exit 11)
ls -l linuxkm/libwolfssl.ko || $(exit 12)
echo "Successful linuxkm build."

View File

@@ -14,8 +14,7 @@ concurrency:
jobs:
make_check:
strategy:
fail-fast: false
if: github.repository_owner == 'wolfssl'
runs-on: macos-latest
# This should be a safe limit for the tests to run.
timeout-minutes: 5

142
.github/workflows/mono.yml vendored Normal file
View File

@@ -0,0 +1,142 @@
name: Linux Mono C# Build Test
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build_wolfssl:
name: Build wolfSSL C# Wrapper
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
# Build wolfSSL using the user_settings.h from the C# wrapper directory
- name: Build wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: --enable-usersettings CPPFLAGS=-I$GITHUB_WORKSPACE/wolfssl/wrapper/CSharp
install: true
check: false
- name: Install mono-complete
run: |
sudo apt-get update
sudo apt-get install -y mono-complete
- name: Copy wolfSSL.dll to C# wrapper directory
run: |
echo "Copying wolfSSL.dll to C# wrapper directory. $GITHUB_WORKSPACE/build-dir/lib contains:"
ls -la $GITHUB_WORKSPACE/build-dir/lib/*
cp $GITHUB_WORKSPACE/build-dir/lib/libwolfssl.so $GITHUB_WORKSPACE/wolfssl/wrapper/CSharp/wolfssl.dll
cp $GITHUB_WORKSPACE/build-dir/lib/libwolfssl.so $GITHUB_WORKSPACE/wolfssl/wrapper/CSharp/libwolfssl.so
- name: Build and run wolfCrypt test wrapper
working-directory: wolfssl/wrapper/CSharp
run: |
mcs wolfCrypt-Test/wolfCrypt-Test.cs wolfSSL_CSharp/wolfCrypt.cs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs -OUT:wolfcrypttest.exe
mono wolfcrypttest.exe
- name: Build wolfSSL client/server test
working-directory: wolfssl/wrapper/CSharp
env:
LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib
run: |
mcs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs wolfSSL-TLS-Server/wolfSSL-TLS-Server.cs -OUT:server.exe
mcs wolfSSL_CSharp/wolfCrypt.cs wolfSSL-TLS-Client/wolfSSL-TLS-Client.cs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs -OUT:client.exe
- name: Test wolfSSL client/server communication
working-directory: wolfssl/wrapper/CSharp
env:
LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib
run: |
# Start server in background and capture its PID
timeout 10s mono server.exe > server.log 2>&1 &
SERVER_PID=$!
# Wait for server to start
sleep 2
# Run client and capture output
timeout 5s mono client.exe > client.log 2>&1
CLIENT_EXIT_CODE=$?
# Wait a moment for server to process
sleep 1
# Kill server
kill $SERVER_PID 2>/dev/null || true
# Check if client completed successfully (exit code 0)
if [ $CLIENT_EXIT_CODE -eq 0 ]; then
echo "Client completed successfully"
else
echo "Client failed with exit code $CLIENT_EXIT_CODE"
cat client.log
exit 1
fi
# Check for success indicators in logs
if grep -q "SSL version is" client.log && grep -q "SSL cipher suite is" client.log; then
echo "TLS handshake successful - SSL version and cipher suite detected"
else
echo "TLS handshake failed - no SSL version/cipher detected"
echo "Client log:"
cat client.log
echo "Server log:"
cat server.log
exit 1
fi
- name: Test SNI functionality
working-directory: wolfssl/wrapper/CSharp
env:
LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib
run: |
# Start server with SNI support in background
timeout 10s mono server.exe -S > server_sni.log 2>&1 &
SERVER_PID=$!
# Wait for server to start
sleep 2
# Run client with SNI and capture output
timeout 5s mono client.exe -S localhost > client_sni.log 2>&1
CLIENT_EXIT_CODE=$?
# Wait a moment for server to process
sleep 1
# Kill server
kill $SERVER_PID 2>/dev/null || true
# Check if client completed successfully
if [ $CLIENT_EXIT_CODE -eq 0 ]; then
echo "SNI client completed successfully"
else
echo "SNI client failed with exit code $CLIENT_EXIT_CODE"
cat client_sni.log
exit 1
fi
# Check for SNI success indicators
if grep -q "SSL version is" client_sni.log && grep -q "SSL cipher suite is" client_sni.log; then
echo "SNI TLS handshake successful"
else
echo "SNI TLS handshake failed"
echo "Client log:"
cat client_sni.log
echo "Server log:"
cat server_sni.log
exit 1
fi

View File

@@ -37,6 +37,7 @@ jobs:
CFLAGS: -marm -DWOLFSSL_SP_ARM_ARCH=6
ARCH: armel
EXTRA_OPTS: --enable-sp-asm
opts: [ '-O2', '-O3', '-O1 -UFP_ECC', '-O0', '-Os', '-Ofast' ]
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-22.04
# This should be a safe limit for the tests to run.
@@ -47,10 +48,10 @@ jobs:
sudo apt update
sudo apt install -y crossbuild-essential-${{ matrix.ARCH }} qemu-user
- uses: actions/checkout@v4
- name: Build
- name: Build for ${{ matrix.ARCH }} with Opt Level ${{ matrix.opts }}
env:
CC: ${{ matrix.CC }}
CFLAGS: ${{ matrix.CFLAGS }}
CFLAGS: ${{ matrix.CFLAGS }} ${{ matrix.opts }}
QEMU_LD_PREFIX: /usr/${{ matrix.HOST }}
run: ./autogen.sh && ./configure --host=${{ matrix.HOST }} --enable-all --disable-examples CPPFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT" ${{ matrix.EXTRA_OPTS }} && make
- name: Print errors

View File

@@ -57,7 +57,13 @@ jobs:
'--enable-opensslextra=x509small',
'CPPFLAGS=''-DWOLFSSL_EXTRA'' ',
'--enable-lms=small,verify-only --enable-xmss=small,verify-only',
'--disable-sys-ca-certs'
'--disable-sys-ca-certs',
'--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ',
'--enable-all CFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"',
'--enable-coding=no',
'--enable-dtls --enable-dtls13 --enable-ocspstapling --enable-ocspstapling2
--enable-cert-setup-cb --enable-sessioncerts',
'--disable-sni --disable-ecc --disable-tls13 --disable-secure-renegotiation-info',
]
name: make check
if: github.repository_owner == 'wolfssl'

View File

@@ -45,8 +45,8 @@ jobs:
- name: Confirm packages built
run: |
DEB_COUNT=$(find -name 'libwolfssl*.deb' | wc -l)
if [ "$DEB_COUNT" != "2" ]; then
echo Did not find exactly two deb packages!!!
if [ "$DEB_COUNT" != "3" ]; then
echo Did not find exactly three deb packages!!!
exit 1
fi
# disabled 20240919 -- broken target.

View File

@@ -21,7 +21,7 @@ jobs:
'--enable-intelasm --enable-sp-asm --enable-mlkem=yes,kyber,ml-kem CPPFLAGS="-DWOLFSSL_ML_KEM_USE_OLD_IDS"',
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
'--enable-smallstack --enable-smallstackcache --enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" CC=c++'
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" CC=c++'
]
name: make check
if: github.repository_owner == 'wolfssl'

33
.github/workflows/rust-wrapper.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Build Rust Wrapper
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build_wolfssl:
name: Build wolfSSL Rust Wrapper
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-24.04
# This should be a safe limit for the tests to run.
timeout-minutes: 10
steps:
- name: Build wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: --enable-all
- name: Build Rust Wrapper
working-directory: wolfssl
run: make -C wrapper/rust
- name: Run Rust Wrapper Tests
working-directory: wolfssl
run: make -C wrapper/rust test

70
.github/workflows/symbol-prefixes.yml vendored Normal file
View File

@@ -0,0 +1,70 @@
name: WOLFSSL_API_PREFIX_MAP
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
make_and_analyze:
strategy:
matrix:
config: [
'--enable-all --enable-mlkem --enable-mldsa --enable-xmss --enable-lms --enable-acert --with-sys-crypto-policy CFLAGS=-DWOLFSSL_API_PREFIX_MAP'
]
name: make and analyze
if: github.repository_owner == 'wolfssl'
runs-on: ubuntu-22.04
# This should be a safe limit for the tests to run.
timeout-minutes: 6
steps:
- uses: actions/checkout@v4
name: Checkout wolfSSL
- name: Test --enable-opensslcoexist and TEST_OPENSSL_COEXIST
run: |
./autogen.sh || $(exit 2)
./configure ${{ matrix.config }} || $(exit 3)
make -j 4 || $(exit 4)
# ignore properly prefixed symbols, and symbols associated with asm implementations (all internal) regardless of prefix:
readelf --symbols --wide src/.libs/libwolfssl.so | \
awk '
BEGIN {
total_public_symbols = 0;
unprefixed_public_symbols = 0;
}
{
if (($5 == "GLOBAL") && ($6 != "HIDDEN") && ($7 ~ /^[0-9]+$/)) {
++total_public_symbols;
}
}
{
if (($7 !~ /^[0-9]+$/) ||
($8 ~ /^(wc_|wolf|WOLF|__pfx|fe_|sp_[a-zA-Z090-0_]*[0-9])/) ||
($8 ~ /(_avx[12]|_AVX[12]|_sse[12]|_SSE[12]|_aesni|_AESNI|_bmi2|_x64$)/))
{
next;
}
}
{
if (($4 == "FUNC") && ($5 == "GLOBAL") && ($6 == "DEFAULT")) {
++unprefixed_public_symbols;
print;
}
}
END {
if (unprefixed_public_symbols) {
print unprefixed_public_symbols " unprefixed public symbols found, of " total_public_symbols " total." >"/dev/stderr";
exit(1);
} else {
print total_public_symbols " public symbols found in libwolfssl, all OK.";
exit(0);
}
}' || $(exit 5)

57
.github/workflows/threadx.yml vendored Normal file
View File

@@ -0,0 +1,57 @@
name: ThreadXBuild Test
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- name: Cache NetXDuo bundle
id: cache-netxduo
uses: actions/cache@v3
with:
path: ./v6.4.3_rel.tar.gz
key: netxduo-bundle-v6.4.3_rel
- name: Download NetXDuo bundle if not cached
if: steps.cache-netxduo.outputs.cache-hit != 'true'
run: |
wget https://github.com/eclipse-threadx/netxduo/archive/refs/tags/v6.4.3_rel.tar.gz
- name: Extract NetXDuo bundle
run: |
mkdir -p netxduo_src
tar -xzf v6.4.3_rel.tar.gz -C netxduo_src --strip-components=1
- name: Install NetXDuo Dependencies
working-directory: ./netxduo_src
run: |
./scripts/install.sh
- name: Configure NetX with DNS Client Support
working-directory: ./netxduo_src
run: |
cp addons/dns/nxd_dns.h ./common/inc/
cp addons/dns/nxd_dns.c ./common/src/
- name: Build NetXDuo with DNS Support
working-directory: ./netxduo_src
run: |
rm -rf test/cmake/threadx
rm -rf test/cmake/filex
./scripts/build_nxd64.sh
- name: Build wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: --enable-enckeys --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-DTHREADX -DHAVE_NETX -DWOLFSSL_USER_IO -I${{ github.workspace }}/netxduo_src/common/inc -I${{ github.workspace }}/netxduo_src/ports/linux/gnu/inc -I${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/inc" LDFLAGS="-L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/default_build_coverage/netxduo -L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/threadx" LIBS="-lnetxduo -lthreadx"
install: false

View File

@@ -62,6 +62,10 @@ jobs:
uses: open-watcom/setup-watcom@v0
with:
version: ${{ matrix.platform.owimage }}
# Currently fixed to a monthly build because of historical instability with daily releases.
# See https://github.com/wolfSSL/wolfssl/pull/9167
# Pin to monthly release as needed:
tag: 2025-11-03-Build
- name: Checkout wolfSSL
uses: actions/checkout@v4

6
.gitignore vendored
View File

@@ -33,7 +33,7 @@ aclocal.m4
aminclude.am
lt*.m4
Makefile.in
Makefile
/Makefile
depcomp
missing
libtool
@@ -449,6 +449,7 @@ MagicCrypto
# debian packaging
debian/changelog
debian/control
debian/rules
*.deb
# Ada/Alire files
@@ -457,6 +458,9 @@ wrapper/Ada/config/
wrapper/Ada/lib/
wrapper/Ada/obj/
# Rust wrapper files
/wrapper/rust/*/target/
# PlatformIO
/**/.pio
/**/.vscode/.browse.c_cpp.db*

View File

@@ -2,6 +2,7 @@ AES_GCM_GMULT_NCT
AFX_RESOURCE_DLL
AFX_TARG_ENU
ALLOW_BINARY_MISMATCH_INTROSPECTION
ALLOW_SELFSIGNED_INVALID_CERTSIGN
ALLOW_V1_EXTENSIONS
ANDROID
APP_ESP_HTTP_CLIENT
@@ -16,9 +17,14 @@ ARDUINO_ARCH_NRF52
ARDUINO_ARCH_RP2040
ARDUINO_ARCH_SAMD
ARDUINO_ARCH_STM32
ARDUINO_AVR_ETHERNET
ARDUINO_AVR_LEONARDO_ETH
ARDUINO_SAMD_MKR1000
ARDUINO_SAMD_NANO_33_IOT
ARDUINO_SAMD_ZERO
ARDUINO_SAM_DUE
ARDUINO_SEEED_XIAO
ARDUINO_TEENSY40
ARDUINO_TEENSY41
ASN_DUMP_OID
ASN_TEMPLATE_SKIP_ISCA_CHECK
@@ -99,6 +105,7 @@ CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_MULMOD
CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING
CONFIG_FREERTOS_HZ
CONFIG_FREERTOS_UNICORE
CONFIG_HAVE_KPROBES
CONFIG_IDF_TARGET
CONFIG_IDF_TARGET_ARCH_RISCV
CONFIG_IDF_TARGET_ARCH_XTENSA
@@ -127,6 +134,7 @@ CONFIG_POSIX_API
CONFIG_POSIX_THREADS
CONFIG_PREEMPT_COUNT
CONFIG_PTHREAD_IPC
CONFIG_SCHED_INFO
CONFIG_SMP
CONFIG_SNTP_TIME_SYNC_METHOD_SMOOTH
CONFIG_TIMER_TASK_STACK_DEPTH
@@ -193,6 +201,10 @@ DILITHIUM_MUL_QINV_SLOW
DILITHIUM_MUL_Q_SLOW
DILITHIUM_MUL_SLOW
DILITHIUM_USE_HINT_CT
DONT_HAVE_KVMALLOC
DONT_HAVE_KVREALLOC
DONT_USE_KVMALLOC
DONT_USE_KVREALLOC
DTLS_RECEIVEFROM_NO_TIMEOUT_ON_INVALID_PEER
ECCSI_ORDER_MORE_BITS_THAN_PRIME
ECC_DUMP_OID
@@ -201,16 +213,21 @@ ENABLE_SECURE_SOCKETS_LOGS
ESP32
ESP8266
ESP_ENABLE_WOLFSSH
ESP_IDF_VERSION
ESP_IDF_VERSION_MAJOR
ESP_IDF_VERSION_MINOR
ESP_PLATFORM
ESP_TASK_MAIN_STACK
ETHERNET_AVAILABLE
ETHERNET_H
EV_TRIGGER
EXTERNAL_LOADER_APP
FIPS_OPTEST_FULL_RUN_AT_MODULE_INIT
FORCE_FAILURE_GETRANDOM
FP_ECC_CONTROL
FREERTOS_TCP_WINSIM
FREESCALE
FREESCALE_MQX
FREESCALE_RNGB
FREESCALE_USE_MMCAU_CLASSIC
FSL_FEATURE_HAS_L1CACHE
@@ -405,6 +422,7 @@ NO_STDIO_FGETS_REMAP
NO_TKERNEL_MEM_POOL
NO_TLSX_PSKKEM_PLAIN_ANNOUNCE
NO_VERIFY_OID
NO_WC_DHGENERATEPUBLIC
NO_WC_SSIZE_TYPE
NO_WOLFSSL_ALLOC_ALIGN
NO_WOLFSSL_AUTOSAR_CRYIF
@@ -412,6 +430,7 @@ NO_WOLFSSL_AUTOSAR_CRYPTO
NO_WOLFSSL_AUTOSAR_CSM
NO_WOLFSSL_BASE64_DECODE
NO_WOLFSSL_BN_CTX
NO_WOLFSSL_CURVE25519_BLINDING
NO_WOLFSSL_MSG_EX
NO_WOLFSSL_RENESAS_FSPSM_AES
NO_WOLFSSL_RENESAS_FSPSM_HASH
@@ -553,6 +572,7 @@ USE_SECRET_CALLBACK
USE_STSAFE_RNG_SEED
USE_STSAFE_VERBOSE
USE_TLSV13
USE_WINDOWS_API
USE_WOLF_STRNSTR
USS_API
WC_AESXTS_STREAM_NO_REQUEST_ACCOUNTING
@@ -584,7 +604,8 @@ WC_DILITHIUM_CACHE_PUB_VECTORS
WC_DILITHIUM_FIXED_ARRAY
WC_DISABLE_RADIX_ZERO_PAD
WC_ECC_NONBLOCK_ONLY
WC_KDF_NIST_SP_800_56C
WC_FLAG_DONT_USE_AESNI
WC_FORCE_LINUXKM_FORTIFY_SOURCE
WC_LMS_FULL_HASH
WC_NO_RNG_SIMPLE
WC_NO_STATIC_ASSERT
@@ -595,25 +616,31 @@ WC_RSA_DIRECT
WC_RSA_NONBLOCK
WC_RSA_NONBLOCK_TIME
WC_RSA_NO_FERMAT_CHECK
WC_RWLOCK_OPS_INLINE
WC_SHA384
WC_SHA384_DIGEST_SIZE
WC_SHA512
WC_SKIP_INCLUDED_C_FILES
WC_SSIZE_TYPE
WC_STRICT_SIG
WC_WANT_FLAG_DONT_USE_AESNI
WC_USE_PIE_FENCEPOSTS_FOR_FIPS
WC_WANT_FLAG_DONT_USE_VECTOR_OPS
WC_XMSS_FULL_HASH
WIFIESPAT
WIFI_101
WIFI_AVAILABLE
WIFI_NINA
WIN_REUSE_CRYPT_HANDLE
WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
WOLFSENTRY_H
WOLFSENTRY_NO_JSON
WOLFSSL_32BIT_MILLI_TIME
WOLFSSL_AARCH64_PRIVILEGE_MODE
WOLFSSL_AESNI_BY4
WOLFSSL_AESNI_BY6
WOLFSSL_AES_CTR_EXAMPLE
WOLFSSL_AFTER_DATE_CLOCK_SKEW
WOLFSSL_ALGO_HW_MUTEX
WOLFSSL_ALLOW_BAD_TLS_LEGACY_VERSION
WOLFSSL_ALLOW_CRIT_AIA
WOLFSSL_ALLOW_CRIT_AKID
WOLFSSL_ALLOW_CRIT_SKID
@@ -653,13 +680,11 @@ WOLFSSL_CAAM_BLACK_KEY_SM
WOLFSSL_CAAM_NO_BLACK_KEY
WOLFSSL_CALLBACKS
WOLFSSL_CHECK_DESKEY
WOLFSSL_CHECK_MEM_ZERO
WOLFSSL_CHIBIOS
WOLFSSL_CLANG_TIDY
WOLFSSL_CLIENT_EXAMPLE
WOLFSSL_CONTIKI
WOLFSSL_CRL_ALLOW_MISSING_CDP
WOLFSSL_CUSTOM_CONFIG
WOLFSSL_DILITHIUM_ASSIGN_KEY
WOLFSSL_DILITHIUM_MAKE_KEY_SMALL_MEM
WOLFSSL_DILITHIUM_NO_ASN1
@@ -687,6 +712,7 @@ WOLFSSL_ECDHX_SHARED_NOT_ZERO
WOLFSSL_ECDSA_MATCH_HASH
WOLFSSL_ECDSA_SET_K_ONE_LOOP
WOLFSSL_EC_POINT_CMP_JACOBIAN
WOLFSSL_ED448_NO_LARGE_CODE
WOLFSSL_EDDSA_CHECK_PRIV_ON_SIGN
WOLFSSL_EMNET
WOLFSSL_ESPWROOM32
@@ -761,7 +787,6 @@ WOLFSSL_NO_CT_MAX_MIN
WOLFSSL_NO_DECODE_EXTRA
WOLFSSL_NO_DER_TO_PEM
WOLFSSL_NO_DH186
WOLFSSL_NO_DH_GEN_PUB
WOLFSSL_NO_DTLS_SIZE_CHECK
WOLFSSL_NO_ETM_ALERT
WOLFSSL_NO_FENCE
@@ -810,7 +835,6 @@ WOLFSSL_PSK_IDENTITY_ALERT
WOLFSSL_PSK_ID_PROTECTION
WOLFSSL_PSK_MULTI_ID_PER_CS
WOLFSSL_PSK_TLS13_CB
WOLFSSL_PSOC6_CRYPTO
WOLFSSL_PYTHON
WOLFSSL_RENESAS_FSPSM_CRYPT_ONLY
WOLFSSL_RENESAS_RA6M3
@@ -836,6 +860,7 @@ WOLFSSL_SERVER_EXAMPLE
WOLFSSL_SETTINGS_FILE
WOLFSSL_SH224
WOLFSSL_SHA256_ALT_CH_MAJ
WOLFSSL_SHA512_HASHTYPE
WOLFSSL_SHUTDOWNONCE
WOLFSSL_SILABS_TRNG
WOLFSSL_SM4_EBC
@@ -845,6 +870,7 @@ WOLFSSL_SP_FAST_NCT_EXPTMOD
WOLFSSL_SP_INT_SQR_VOLATILE
WOLFSSL_STACK_CHECK
WOLFSSL_STM32F427_RNG
WOLFSSL_STM32U5_DHUK
WOLFSSL_STM32_RNG_NOLIB
WOLFSSL_STRONGEST_HASH_SIG
WOLFSSL_STSAFE_TAKES_SLOT
@@ -868,14 +894,15 @@ WOLFSSL_TLSX_PQC_MLKEM_STORE_PRIV_KEY
WOLFSSL_TRACK_MEMORY_FULL
WOLFSSL_TRAP_MALLOC_SZ
WOLFSSL_UNALIGNED_64BIT_ACCESS
WOLFSSL_USER_DEFINED_ATOMICS
WOLFSSL_USER_FILESYSTEM
WOLFSSL_USER_LOG
WOLFSSL_USER_MUTEX
WOLFSSL_USER_THREADING
WOLFSSL_USE_ESP32C3_CRYPT_HASH_HW
WOLFSSL_USE_FLASHMEM
WOLFSSL_USE_FORCE_ZERO
WOLFSSL_USE_OPTIONS_H
WOLFSSL_USE_POPEN_HOST
WOLFSSL_VALIDATE_DH_KEYGEN
WOLFSSL_WC_LMS_SERIALIZE_STATE
WOLFSSL_WC_XMSS_NO_SHA256
@@ -917,6 +944,7 @@ _NETOS
_POSIX_C_SOURCE
_SDCC_VERSION_PATCHLEVEL
_SH3
_SILICON_LABS_32B_SERIES_3_CONFIG_301
_SILICON_LABS_SECURITY_FEATURE
_SOCKLEN_T
_SYS_DEVCON_LOCAL_H
@@ -942,6 +970,7 @@ __ARM_ARCH_7M__
__ARM_FEATURE_CRYPTO
__ASSEMBLER__
__ATOMIC_RELAXED
__AVR_ARCH__
__AVR__
__BCPLUSPLUS__
__BIG_ENDIAN__
@@ -974,6 +1003,7 @@ __LINUX__
__LP64
__LP64__
__MACH__
__MEGAAVR__
__MICROBLAZE__
__MINGW32__
__MINGW64_VERSION_MAJOR
@@ -996,6 +1026,8 @@ __SAM3X4C__
__SAM3X4E__
__SAM3X8C__
__SAM3X8E__
__SAMD21__
__SAMD51__
__SANITIZE_ADDRESS__
__SDCC_VERSION_MAJOR
__SDCC_VERSION_MINOR
@@ -1050,6 +1082,7 @@ __svr4__
__thumb__
__ti__
__x86_64__
__xtensa__
byte
configTICK_RATE_HZ
fallthrough

View File

@@ -66,6 +66,9 @@ set(WOLFSSL_DEFINITIONS)
set(WOLFSSL_LINK_LIBS)
set(WOLFSSL_INCLUDE_DIRS)
# Initialize pkg-config private variables
set(PC_LIBS_PRIVATE "")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions.cmake)
@@ -281,7 +284,28 @@ add_option("WOLFSSL_DEBUG"
"no" "yes;no")
if(WOLFSSL_DEBUG)
set(CMAKE_C_FLAGS "-g ${CMAKE_C_FLAGS}")
# Optional variable inspection
if (0)
get_cmake_property(_variableNames VARIABLES)
list (SORT _variableNames)
message(STATUS "")
message(STATUS "ALL VARIABLES BEGIN")
message(STATUS "")
foreach (_variableName ${_variableNames})
message(STATUS "${_variableName}=${${_variableName}}")
endforeach()
message(STATUS "")
message(STATUS "ALL VARIABLES END")
message(STATUS "")
endif()
if (CMAKE_C_COMPILER_ID STREQUAL "Watcom" OR CMAKE_C_COMPILER_ID STREQUAL "OpenWatcom" OR CMAKE_GENERATOR STREQUAL "Watcom WMake")
# Open Watcom v2 does not support -g debugging
message(STATUS "Detected Watcom compiler, using CMAKE_C_FLAGS_DEBUG -d2")
set(CMAKE_C_FLAGS_DEBUG "-d2 ${CMAKE_C_FLAGS_DEBUG}")
else()
set(CMAKE_C_FLAGS "-g ${CMAKE_C_FLAGS}")
endif()
list(APPEND WOLFSSL_DEFINITIONS
"-DDEBUG_WOLFSSL"
"-DDEBUG")
@@ -1604,6 +1628,14 @@ if(NOT WOLFSSL_INLINE)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE")
endif()
add_option("WOLFSSL_ARMASM_INLINE"
"Enable ARM assembly inline functions (default: disabled)"
"no" "yes;no")
if (WOLFSSL_ARMASM_INLINE)
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_ARMASM_INLINE")
endif()
# TODO:
# - CRL monitor
# - User crypto
@@ -2647,6 +2679,21 @@ if(WOLFSSL_EXAMPLES)
tests/api/test_tls.c
tests/api/test_x509.c
tests/api/test_asn.c
tests/api/test_pkcs7.c
tests/api/test_pkcs12.c
tests/api/test_ossl_asn1.c
tests/api/test_ossl_bio.c
tests/api/test_ossl_bn.c
tests/api/test_ossl_cipher.c
tests/api/test_ossl_dh.c
tests/api/test_ossl_dgst.c
tests/api/test_ossl_dsa.c
tests/api/test_ossl_ec.c
tests/api/test_ossl_ecx.c
tests/api/test_ossl_mac.c
tests/api/test_ossl_rsa.c
tests/api/test_ossl_sk.c
tests/api/test_tls13.c
tests/srp.c
tests/suites.c
tests/w64wrapper.c
@@ -2926,6 +2973,16 @@ if(WOLFSSL_INSTALL)
endif()
endif()
# Add required frameworks for static linking on Apple platforms
if(APPLE AND NOT BUILD_SHARED_LIBS)
if(WOLFSSL_SYS_CA_CERTS)
list(APPEND PC_LIBS_PRIVATE "-framework CoreFoundation" "-framework Security")
endif()
endif()
# Convert lists to space-separated strings for pkg-config
string(JOIN " " PC_LIBS_PRIVATE ${PC_LIBS_PRIVATE})
configure_file(support/wolfssl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

View File

@@ -9,7 +9,7 @@ NOTE: * wolfSSL is now GPLv3 instead of GPLv2
* MD5 is now disabled by default
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request number where the code change was added.
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added.
## Vulnerabilities
@@ -68,7 +68,8 @@ Blinding enabled by default in PR https://github.com/wolfSSL/wolfssl/pull/8736
* Implemented distro fix for the Linux Kernel Module. (PR #8994)
* Fixed page-flags-h in the Linux Kernel Module. (PR #9001)
* Added MODULE_LICENSE for the Linux Kernel Module. (PR #9005)
* Post-Quantum Cryptography (PQC) & Asymmetric Algorithms
### Post-Quantum Cryptography (PQC) & Asymmetric Algorithms
* Kyber has been updated to the MLKEM ARM file for Zephyr (PR #8781)
* Backward compatibility has been implemented for ML_KEM IDs (PR #8827)
* ASN.1 is now ensured to be enabled when only building PQ algorithms (PR #8884)
@@ -207,7 +208,7 @@ https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assur
NOTE: * --enable-heapmath is deprecated
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
number where the code change was added.
@@ -423,7 +424,7 @@ NOTE:
user_settings.h.
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
number where the code change was added.
@@ -543,7 +544,7 @@ https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assur
NOTE: * --enable-heapmath is being deprecated and will be removed by end of 2024
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
number where the code change was added.

View File

@@ -2,5 +2,4 @@ FROM debian:latest
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y build-essential autoconf gawk debhelper lintian
RUN apt-get install -y build-essential autoconf gawk debhelper lintian dpkg-dev

View File

@@ -1,18 +1,18 @@
# wolfSSL with Arduino
See the [example sketches](./sketches/README.md):
NOTE: Moving; See https://github.com/wolfSSL/wolfssl-examples/pull/499
See the [example sketches](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino):
Bare-bones templates:
- [sketches/wolfssl_version](./sketches/wolfssl_version/README.md) single file.
- [sketches/template](./sketches/template/README.md) multiple file example.
- [sketches/wolfssl_version](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_version/README.md) single file.
- [sketches/template](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/template/README.md) multiple file example.
Functional examples:
- [sketches/wolfssl_AES_CTR](./sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt.
- [sketches/wolfssl_client](./sketches/wolfssl_client/README.md) TLS Client.
- [sketches/wolfssl_server](./sketches/wolfssl_server/README.md) TLS Server.
- [sketches/wolfssl_AES_CTR](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt.
- [sketches/wolfssl_client](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client/README.md) TLS Client.
- [sketches/wolfssl_server](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server/README.md) TLS Server.
- [sketches/wolfssl_client_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client_dtls/README.md) DTLS Client.
- [sketches/wolfssl_server_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server_dtls/README.md) DTLS Server.
Both the `template` and `wolfssl_AES_CTR` examples include VisualGDB project files.

View File

@@ -26,6 +26,9 @@
# The Arduino library include file is "wolfssl.h" (all lower case)
# The Published wolfSSL Arduino Registry is at https://github.com/wolfSSL/Arduino-wolfSSL.git
# See https://downloads.arduino.cc/libraries/logs/github.com/wolfSSL/Arduino-wolfSSL/
#
echo "wolfssl-arduino.sh v5.8.2 rev B"
ROOT_DIR="/wolfssl"
# The Arduino Version will initially have a suffix appended during fine tuning stage.
@@ -70,18 +73,24 @@ if [ "$ROOT_DIR" = "" ]; then
exit 1
fi
if [ "$ARDUINO_ROOT" = "" ]; then
echo "No ARDUINO_ROOT export... detecting..."
ARDUINO_ROOT="$HOME/Arduino/libraries"
ARDUINO_ROOT="$HOME/Arduino/libraries"
# Check environment
if [ -n "$WSL_DISTRO_NAME" ]; then
# we found a non-blank WSL environment distro name
current_path="$(pwd)"
pattern="/mnt/?"
if echo "$current_path" | grep -Eq "^$pattern"; then
# if we are in WSL and shared Windows file system, 'ln' does not work.
ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries"
# Check environment
if [ -n "$WSL_DISTRO_NAME" ]; then
# we found a non-blank WSL environment distro name
echo "Found WSL: $WSL_DISTRO_NAME"
current_path="$(pwd)"
pattern="/mnt/?"
if echo "$current_path" | grep -Eq "^$pattern"; then
# if we are in WSL and shared Windows file system, 'ln' does not work.
ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries"
echo "ARDUINO_ROOT set to $ARDUINO_ROOT"
fi
fi
else
echo "Using export ARDUINO_ROOT"
fi
echo "The Arduino library root is: $ARDUINO_ROOT"
@@ -173,7 +182,7 @@ THIS_DIR=${PWD##*/}
if [ "$THIS_DIR" = "ARDUINO" ]; then
# mkdir ./wolfssl
if [ -d ".${ROOT_DIR}" ]; then
echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty"
echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty; failed prior install? Please remove."
exit 1
else
echo "Step 01: mkdir .${ROOT_DIR}"
@@ -267,6 +276,7 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
echo "Destination EXAMPLES_DIR=.${EXAMPLES_DIR}"
echo "EXAMPLES_DIR_REAL_PATH=${EXAMPLES_DIR_REAL_PATH}"
# Only explicit source code is copied to the Arduino library. Edit with caution, no automation:
if [ -n "$WOLFSSL_EXAMPLES_ROOT" ]; then
echo "Copy template example...."
mkdir -p ".${EXAMPLES_DIR}"/template/wolfssl_library/src
@@ -279,23 +289,33 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
echo "Copy wolfssl_AES_CTR example...."
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_AES_CTR
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1
echo "Copy wolfssl_client example...."
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1
echo "Copy wolfssl_client_dtls example...."
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client_dtls
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/wolfssl_client_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_client_dtls/wolfssl_client_dtls.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_client_dtls/README.md || exit 1
echo "Copy wolfssl_server example...."
mkdir -p .${EXAMPLES_DIR}/wolfssl_server
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1
echo "Copy wolfssl_server_dtls example...."
mkdir -p .${EXAMPLES_DIR}/wolfssl_server_dtls
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/wolfssl_server_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_server_dtls/wolfssl_server_dtls.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_server_dtls/README.md || exit 1
echo "Copy wolfssl_version example...."
mkdir -p .${EXAMPLES_DIR}/wolfssl_version
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1
else
NO_ARDUINO_EXAMPLES=1
fi
@@ -364,27 +384,39 @@ if [ "$THIS_OPERATION" = "INSTALL" ]; then
# Nearly an ordinary copy, but we remove any lines with ">>" (typically edit with caution warning in comments)
grep -v '>>' ../../examples/configs/user_settings_arduino.h > ".${ROOT_SRC_DIR}"/user_settings.h || exit 1
# Show the user_settings.h revision string:
echo "This user_settings.h revision string:"
grep "WOLFSSL_USER_SETTINGS_ID" ."${ROOT_SRC_DIR}/user_settings.h"
echo ""
if [ "$THIS_INSTALL_IS_GITHUB" = "true" ]; then
echo "Installing to GitHub directory: $THIS_INSTALL_DIR"
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
echo "Removing workspace library directory: .$ROOT_DIR"
rm -rf ".$ROOT_DIR"
rm -rf ".$ROOT_DIR" || exit 1
else
echo "Installing to local directory:"
if [ "$THIS_INSTALL_DIR" = "" ]; then
echo "mv .$ROOT_DIR $ARDUINO_ROOT"
mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
if [ -n "$WSL_DISTRO_NAME" ]; then
# setfattr not installed by default
# echo "Set system.wsl_case_sensitive .$ROOT_DIR"
# setfattr -x system.wsl_case_sensitive .$ROOT_DIR
#
# use copy instead of move to avoid possible system.wsl_case_sensitive warnings
echo "cp -r .\"$ROOT_DIR\" \"$ARDUINO_ROOT\""
cp -r ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
echo "rm -rf .\"$ROOT_DIR\""
rm -rf ."$ROOT_DIR" || exit 1
else
echo "mv .$ROOT_DIR $ARDUINO_ROOT"
mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
fi
echo "Arduino wolfSSL Version: $WOLFSSL_VERSION$WOLFSSL_VERSION_ARUINO_SUFFIX"
else
echo "cp -r .\"$ROOT_DIR\"/* \"$THIS_INSTALL_DIR\""
mkdir -p "$THIS_INSTALL_DIR" || exit 1
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
mkdir -p "$THIS_INSTALL_DIR" || exit 1
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
fi
fi
fi

View File

@@ -22,3 +22,4 @@ Updates to Espressif ESP-IDF wolfssl_benchmark and wolfssl_test examples:
- Added optional `time_helper` for wolfssl_test
- Exclude `ssl_misc.c` in component cmake to fix warning: #warning ssl_misc.c does not need to be compiled separately from ssl.c
- Exclude `ssl_crypto.c` in component cmake to fix warning: #warning ssl_crypto.c does not need to be compiled separately from ssl.c
- Exclude `ssl_sk.c` in component cmake to fix warning: #warning ssl_sk.c does not need to be compiled separately from ssl.c

View File

@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
cmake_minimum_required(VERSION 3.16)
# For the main project using ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "Adding mlongcalls")
add_compile_options(-mlongcalls)
add_link_options(-mlongcalls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
endif()
endif()
# Optional no watchdog typically used for test & benchmark
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
@@ -144,5 +157,15 @@ endif()
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "mlongcalls for all components")
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
endif()
endif()
project(wolfssl_template)
message(STATUS "end project")

View File

@@ -845,6 +845,7 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default

View File

@@ -30,7 +30,7 @@
/* This user_settings.h is for Espressif ESP-IDF
*
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
*
* Do not include any wolfssl headers here.
*
@@ -257,11 +257,6 @@
#define WOLFSSL_AES_DIRECT
#endif
/* Pick a cert buffer size: */
/* #define USE_CERT_BUFFERS_2048 */
/* #define USE_CERT_BUFFERS_1024 */
#define USE_CERT_BUFFERS_2048
/* The Espressif sdkconfig will have chipset info.
**
** Some possible values:
@@ -377,10 +372,6 @@
/* #define DEBUG_WOLFSSL */
#define DEBUG_WOLFSSL_MALLOC
/* See test.c that sets cert buffers; we'll set them here: */
#define USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_2048
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
#define RSA_LOW_MEM
@@ -678,9 +669,6 @@
#undef HAVE_AESGCM
#define HAVE_AESGCM
#else
/* default settings */
#define USE_CERT_BUFFERS_2048
#endif
/* Chipset detection from sdkconfig.h
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_2048
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_1024
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
#else
/* Optionally define custom cert arrays, sizes, and types here */
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
#endif
#endif /* Conditional key and cert constant names */

View File

@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
cmake_minimum_required(VERSION 3.16)
# For the main project using ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "Adding mlongcalls")
add_compile_options(-mlongcalls)
add_link_options(-mlongcalls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
endif()
endif()
# Optional no watchdog typically used for test & benchmark
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
@@ -144,5 +157,15 @@ endif()
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "mlongcalls for all components")
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
endif()
endif()
project(wolfssl_benchmark)
message(STATUS "end project")

View File

@@ -845,6 +845,7 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default

View File

@@ -30,7 +30,7 @@
/* This user_settings.h is for Espressif ESP-IDF
*
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
*
* Do not include any wolfssl headers here.
*
@@ -257,11 +257,6 @@
#define WOLFSSL_AES_DIRECT
#endif
/* Pick a cert buffer size: */
/* #define USE_CERT_BUFFERS_2048 */
/* #define USE_CERT_BUFFERS_1024 */
#define USE_CERT_BUFFERS_2048
/* The Espressif sdkconfig will have chipset info.
**
** Some possible values:
@@ -377,10 +372,6 @@
/* #define DEBUG_WOLFSSL */
#define DEBUG_WOLFSSL_MALLOC
/* See test.c that sets cert buffers; we'll set them here: */
#define USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_2048
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
#define RSA_LOW_MEM
@@ -678,9 +669,6 @@
#undef HAVE_AESGCM
#define HAVE_AESGCM
#else
/* default settings */
#define USE_CERT_BUFFERS_2048
#endif
/* Chipset detection from sdkconfig.h
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_2048
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_1024
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
#else
/* Optionally define custom cert arrays, sizes, and types here */
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
#endif
#endif /* Conditional key and cert constant names */

View File

@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
cmake_minimum_required(VERSION 3.16)
# For the main project using ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "Adding mlongcalls")
add_compile_options(-mlongcalls)
add_link_options(-mlongcalls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
endif()
endif()
# Optional no watchdog typically used for test & benchmark
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
@@ -144,5 +157,15 @@ endif()
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "mlongcalls for all components")
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
endif()
endif()
project(wolfssl_client)
message(STATUS "end project")

View File

@@ -845,6 +845,7 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default

View File

@@ -30,7 +30,7 @@
/* This user_settings.h is for Espressif ESP-IDF
*
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
*
* Do not include any wolfssl headers here.
*
@@ -257,11 +257,6 @@
#define WOLFSSL_AES_DIRECT
#endif
/* Pick a cert buffer size: */
/* #define USE_CERT_BUFFERS_2048 */
/* #define USE_CERT_BUFFERS_1024 */
#define USE_CERT_BUFFERS_2048
/* The Espressif sdkconfig will have chipset info.
**
** Some possible values:
@@ -377,10 +372,6 @@
/* #define DEBUG_WOLFSSL */
#define DEBUG_WOLFSSL_MALLOC
/* See test.c that sets cert buffers; we'll set them here: */
#define USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_2048
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
#define RSA_LOW_MEM
@@ -678,9 +669,6 @@
#undef HAVE_AESGCM
#define HAVE_AESGCM
#else
/* default settings */
#define USE_CERT_BUFFERS_2048
#endif
/* Chipset detection from sdkconfig.h
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_2048
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_1024
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
#else
/* Optionally define custom cert arrays, sizes, and types here */
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
#endif
#endif /* Conditional key and cert constant names */

View File

@@ -21,8 +21,23 @@
#ifndef _CLIENT_TLS_H_
#define _CLIENT_TLS_H_
/* Local project, auto-generated configuration */
#include "sdkconfig.h"
/* This example uses wolfssl test certificates */
#if 1
/* See wolfssl/certs_test.h */
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
defined(CONFIG_IDF_TARGET_ESP8684) || \
defined(CONFIG_IDF_TARGET_ESP8266)
/* Use smaller certs for low-memory devices */
#define USE_CERT_BUFFERS_1024
#else
#define USE_CERT_BUFFERS_2048
#endif
/* always include smallest testing 32 byte RSA/ECC keys */
#define USE_CERT_BUFFERS_256
#else
/* define your own certificate macros; see user_settings.h */
#endif
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>

View File

@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
cmake_minimum_required(VERSION 3.16)
# For the main project using ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "Adding mlongcalls")
add_compile_options(-mlongcalls)
add_link_options(-mlongcalls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
endif()
endif()
# Optional no watchdog typically used for test & benchmark
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
@@ -144,5 +157,15 @@ endif()
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "mlongcalls for all components")
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
endif()
endif()
project(wolfssl_server)
message(STATUS "end project")

View File

@@ -845,6 +845,7 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default

View File

@@ -30,7 +30,7 @@
/* This user_settings.h is for Espressif ESP-IDF
*
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
*
* Do not include any wolfssl headers here.
*
@@ -257,11 +257,6 @@
#define WOLFSSL_AES_DIRECT
#endif
/* Pick a cert buffer size: */
/* #define USE_CERT_BUFFERS_2048 */
/* #define USE_CERT_BUFFERS_1024 */
#define USE_CERT_BUFFERS_2048
/* The Espressif sdkconfig will have chipset info.
**
** Some possible values:
@@ -377,10 +372,6 @@
/* #define DEBUG_WOLFSSL */
#define DEBUG_WOLFSSL_MALLOC
/* See test.c that sets cert buffers; we'll set them here: */
#define USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_2048
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
#define RSA_LOW_MEM
@@ -678,9 +669,6 @@
#undef HAVE_AESGCM
#define HAVE_AESGCM
#else
/* default settings */
#define USE_CERT_BUFFERS_2048
#endif
/* Chipset detection from sdkconfig.h
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_2048
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_1024
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
#else
/* Optionally define custom cert arrays, sizes, and types here */
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
#endif
#endif /* Conditional key and cert constant names */

View File

@@ -21,6 +21,24 @@
#ifndef _SERVER_TLS_
#define _SERVER_TLS_
/* This example uses wolfssl test certificates */
#if 1
/* See wolfssl/certs_test.h */
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
defined(CONFIG_IDF_TARGET_ESP8684) || \
defined(CONFIG_IDF_TARGET_ESP8266)
/* Use smaller certs for low-memory devices */
#define USE_CERT_BUFFERS_1024
#else
#define USE_CERT_BUFFERS_2048
#endif
/* always include smallest testing 32 byte RSA/ECC keys */
#define USE_CERT_BUFFERS_256
#else
/* define your own certificate macros; see user_settings.h */
#endif
#include <wolfssl/wolfcrypt/settings.h> /* includes wolfSSL user-settings.h */
#include <wolfssl/ssl.h>
#include "sdkconfig.h"

View File

@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
cmake_minimum_required(VERSION 3.16)
# For the main project using ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "Adding mlongcalls")
add_compile_options(-mlongcalls)
add_link_options(-mlongcalls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
endif()
endif()
# Optional no watchdog typically used for test & benchmark
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
@@ -144,5 +157,15 @@ endif()
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
message(STATUS "mlongcalls for all components")
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
endif()
endif()
project(wolfssl_test)
message(STATUS "end project")

View File

@@ -845,6 +845,7 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default

View File

@@ -30,7 +30,7 @@
/* This user_settings.h is for Espressif ESP-IDF
*
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
*
* Do not include any wolfssl headers here.
*
@@ -257,11 +257,6 @@
#define WOLFSSL_AES_DIRECT
#endif
/* Pick a cert buffer size: */
/* #define USE_CERT_BUFFERS_2048 */
/* #define USE_CERT_BUFFERS_1024 */
#define USE_CERT_BUFFERS_2048
/* The Espressif sdkconfig will have chipset info.
**
** Some possible values:
@@ -377,10 +372,6 @@
/* #define DEBUG_WOLFSSL */
#define DEBUG_WOLFSSL_MALLOC
/* See test.c that sets cert buffers; we'll set them here: */
#define USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_2048
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
#define RSA_LOW_MEM
@@ -678,9 +669,6 @@
#undef HAVE_AESGCM
#define HAVE_AESGCM
#else
/* default settings */
#define USE_CERT_BUFFERS_2048
#endif
/* Chipset detection from sdkconfig.h
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_2048
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
#endif
/* Be sure to include in app when using example certs: */
#include <wolfssl/certs_test.h>
/* Be sure to include in app, not here, when using example certs: */
/* #include <wolfssl/certs_test.h> */
#define USE_CERT_BUFFERS_256
#define CTX_CA_CERT ca_cert_der_1024
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
#else
/* Optionally define custom cert arrays, sizes, and types here */
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
#endif
#endif /* Conditional key and cert constant names */

View File

@@ -79,6 +79,7 @@ set(COMPONENT_SRCEXCLUDE
"./src/ssl_misc.c" # included by ssl.c
"./src/ssl_p7p12.c" # included by ssl.c
"./src/ssl_sess.c" # included by ssl.c
"./src/ssl_sk.c" # included by ssl.c
"./src/x509.c"
"./src/x509_str.c"
"./wolfcrypt/src/evp.c"

View File

@@ -521,7 +521,7 @@ extern unsigned int my_rng_seed_gen(void);
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

516
IDE/INTIME-RTOS/Makefile Normal file
View File

@@ -0,0 +1,516 @@
# Makefile for the INtime wolfSSL library component
#
SWENGENV := $(RMX_SRC_BASE)/tools/swenghg
#
# makefile -- defines the macros, directives and rules necessary to build the
# wolfSSL library.
#
# NOTES:
# 1. This makefile is a "wrapper" makefile for the Visual Studio 80
# INtime package project. The makefile provides RCS and component
# release support not provided by the project's native visual Studio
# makefile.
#
# 2. The SWENG environment assumes makefile execution from a Windows NT
# environment.
#
# 3. The SWENG environment assumes that a user has Microsoft Network
# access to the ESO server directories.
#
# 4. A SWENG makefile makes no assumptions concerning a user's command
# path. All command pathnames are explicit. Furthermore, the
# directory component of a pathname is defined by a macro that can be
# overridden at makefile invocation.
#
# The same cannot be said for MS Developer Studio makefiles -- they
# assume MSVC and Windows NT commands are in the user's path.
#
# 5. A SWENG makefile makes no assumptions concerning a user's environment
# variable definitions.
#
# The same cannot be said for MS Developer Studio makefiles -- they
# assume various environment variables are set properly to build their
# components.
#
# 6. A SWENG makefile executes standard MKS and MSVC tools. Other tool
# sets require additional macro and rule definition.
#
# Default macros and directives.
#
# NOTES:
# 1. These files must always be included before all component-specific
# macros and directives.
.INCLUDE:$(SWENGENV)/macros.wnt
.INCLUDE:$(SWENGENV)/intimemacros.wnt
# Component and version number macros:
#
# COMPONENT: The name of the product component built by this makefile.
# DUE TO THE IDIOSYNCRATIC NATURE OF RCS, THIS MACRO MUST NOT
# CONTAIN ANY SPECIAL CHARACTERS, INCLUDING " " AND "."! For
# example, the macro for the Real-Time Application Loader
# could be defined as:
#
# COMPONENT := Real_Time_Application_Loader
#
# In the SWENG environment, a PRODUCT is the complete software
# package sent to a customer (e.g., INtime V1.00). A PRODUCT
# is composed of one or more COMPONENTs (e.g., Real-Time
# Application Loader, NTX Library, etc.)
#
# When choosing names for new components, ensure that they
# are unique.
#
# VERSION: The version number associated with the component(s) built
# by this makefile. DUE TO THE IDIOSYNCRATIC NATURE OF RCS,
# THIS MACRO MUST NOT CONTAIN ANY SPECIAL CHARACTERS,
# INCLUDING " " AND "."! For example, the macro for version
# 1.00 is defined:
#
# VERSION := 100
#
# NAME: A string used to name both the engineering version of the
# component built by this makefile and the source files used
# to build it.
#
# NOTES:
# 1. These macros must not be deleted or renamed. Their values should be
# modified to match the components built by this makefile.
#
# 2. The "engineer" target will not complete unless the COMPONENT,
# VERSION, and NAME macros are defined.
COMPONENT := wolfssl_intime
VERSION := 572
NAME := $(COMPONENT)_$(VERSION)
# MS Developer Studio project name and directory macros.
#
# PROJECT: The project name for this component.
#
# SUB_PROJECTS: The sub-project name(s) for this component.
#
# TARG_DIR: The target directory for component files, relative to the
# project and sub-project directories (generally, "Debug" or
# "Release").
#
# TARG_TYPE: The target type for the project and sub-projects
# (generally, "Debug" or "Release").
#
# NOTES:
# 1. These macros must not be deleted or renamed. Their values should be
# modified to match the project/directory structure of the component(s)
# built by this makefile. Unused macros values should be defined as
# $(NULL).
PROJECT := wolfssl
SUB_PROJECTS := $(NULL)
.IF $(DEBUG)
TARG_DIR := Debug
TARG_TYPE := Debug
.ELSE
TARG_DIR := Release
TARG_TYPE := Release
.END
# MKS make search path for machine-generated files.
#
# NOTES:
# 1. All machine-generated target files that do not reside in the current
# working directory require a .SOURCE directive. Otherwise, a .SOURCE
# directive is optional (but will improve makefile performance).
.SOURCE.lib: $(TARG_DIR)
# File list macros:
#
# TARGETS: The component(s) built by this makefile. These are the files
# built by the default rule ("make" or "make all").
# LOGFILE: A log file containing revision data for the project members
# (files) used to build the TARGETS. The file is built by the
# "engineer" rule.
# MAKEFILE: Makefile used to build the TARGETS (this file).
# ASM: Assembly source code files used to build the TARGETS (.asm).
# C: C source code files used to build the TARGETS (.c)
# CPP: C++ source code files used to build the TARGETS (.cpp).
# SRCS: The concatenation of ASM, C, and CPP.
# HDRS: Header files used to build the TARGETS (.h, .hpp, .inc).
# OBJ: Object files used to build the TARGETS (.obj).
# DEBRIS: Machine-generated files to be deleted by the "clean" rule.
#
# NOTES:
# 1. These macros must not be deleted or renamed. Their values may be
# modified to match the files used to build the component(s) associated
# with this makefile.
#
# 2. The "engineer" rule will not complete unless the LOGFILE macro is
# defined.
EXEC_TARGS := libwolfssl572.lib
SRC_TARGS := user_settings.h
TARGETS := $(EXEC_TARGS)
LOGFILE := $(PROJECT).txt
MAKEFILE := makefile
ASM :=
C :=
CPP :=
RCFILE :=
SRCS :=
OBJ :=
CFGS :=
DEBRIS := $(LOGFILE) release* debug* *.sdf *.user *.aps *.bak *~
INCL_TARGS := wolfssl/callbacks.h \
wolfssl/certs_test.h \
wolfssl/crl.h \
wolfssl/error-ssl.h \
wolfssl/include.am \
wolfssl/internal.h \
wolfssl/ocsp.h \
wolfssl/options.h \
wolfssl/options.h.in \
wolfssl/quic.h \
wolfssl/sniffer.h \
wolfssl/sniffer_error.h \
wolfssl/sniffer_error.rc \
wolfssl/ssl.h \
wolfssl/test.h \
wolfssl/version.h \
wolfssl/version.h.in \
wolfssl/wolfio.h \
wolfssl/openssl/aes.h \
wolfssl/openssl/asn1.h \
wolfssl/openssl/asn1t.h \
wolfssl/openssl/bio.h \
wolfssl/openssl/bn.h \
wolfssl/openssl/buffer.h \
wolfssl/openssl/camellia.h \
wolfssl/openssl/cmac.h \
wolfssl/openssl/cms.h \
wolfssl/openssl/compat_types.h \
wolfssl/openssl/conf.h \
wolfssl/openssl/crypto.h \
wolfssl/openssl/des.h \
wolfssl/openssl/dh.h \
wolfssl/openssl/dsa.h \
wolfssl/openssl/ec.h \
wolfssl/openssl/ec448.h \
wolfssl/openssl/ec25519.h \
wolfssl/openssl/ecdh.h \
wolfssl/openssl/ecdsa.h \
wolfssl/openssl/ecdh.h \
wolfssl/openssl/ecdsa.h \
wolfssl/openssl/ed448.h \
wolfssl/openssl/ed25519.h \
wolfssl/openssl/engine.h \
wolfssl/openssl/err.h \
wolfssl/openssl/evp.h \
wolfssl/openssl/fips_rand.h \
wolfssl/openssl/hmac.h \
wolfssl/openssl/include.am \
wolfssl/openssl/kdf.h \
wolfssl/openssl/lhash.h \
wolfssl/openssl/md4.h \
wolfssl/openssl/md5.h \
wolfssl/openssl/modes.h \
wolfssl/openssl/obj_mac.h \
wolfssl/openssl/objects.h \
wolfssl/openssl/ocsp.h \
wolfssl/openssl/opensslconf.h \
wolfssl/openssl/opensslv.h \
wolfssl/openssl/ossl_typ.h \
wolfssl/openssl/pem.h \
wolfssl/openssl/pkcs7.h \
wolfssl/openssl/pkcs12.h \
wolfssl/openssl/rand.h \
wolfssl/openssl/rc4.h \
wolfssl/openssl/ripemd.h \
wolfssl/openssl/rsa.h \
wolfssl/openssl/sha.h \
wolfssl/openssl/sha3.h \
wolfssl/openssl/srp.h \
wolfssl/openssl/ssl.h \
wolfssl/openssl/ssl23.h \
wolfssl/openssl/stack.h \
wolfssl/openssl/tls1.h \
wolfssl/openssl/txt_db.h \
wolfssl/openssl/ui.h \
wolfssl/openssl/x509.h \
wolfssl/openssl/x509_vfy.h \
wolfssl/openssl/x509v3.h \
wolfssl/wolfcrypt/aes.h \
wolfssl/wolfcrypt/arc4.h \
wolfssl/wolfcrypt/asn.h \
wolfssl/wolfcrypt/asn_public.h \
wolfssl/wolfcrypt/async.h \
wolfssl/wolfcrypt/blake2.h \
wolfssl/wolfcrypt/blake2-impl.h \
wolfssl/wolfcrypt/blake2-int.h \
wolfssl/wolfcrypt/camellia.h \
wolfssl/wolfcrypt/chacha.h \
wolfssl/wolfcrypt/chacha20_poly1305.h \
wolfssl/wolfcrypt/cmac.h \
wolfssl/wolfcrypt/coding.h \
wolfssl/wolfcrypt/compress.h \
wolfssl/wolfcrypt/cpuid.h \
wolfssl/wolfcrypt/cryptocb.h \
wolfssl/wolfcrypt/curve448.h \
wolfssl/wolfcrypt/curve25519.h \
wolfssl/wolfcrypt/des3.h \
wolfssl/wolfcrypt/dh.h \
wolfssl/wolfcrypt/dilithium.h \
wolfssl/wolfcrypt/dsa.h \
wolfssl/wolfcrypt/ecc.h \
wolfssl/wolfcrypt/eccsi.h \
wolfssl/wolfcrypt/ed448.h \
wolfssl/wolfcrypt/ed25519.h \
wolfssl/wolfcrypt/error-crypt.h \
wolfssl/wolfcrypt/ext_kyber.h \
wolfssl/wolfcrypt/ext_lms.h \
wolfssl/wolfcrypt/ext_xmss.h \
wolfssl/wolfcrypt/falcon.h \
wolfssl/wolfcrypt/fe_448.h \
wolfssl/wolfcrypt/fe_operations.h \
wolfssl/wolfcrypt/fips.h \
wolfssl/wolfcrypt/fips_test.h \
wolfssl/wolfcrypt/ge_448.h \
wolfssl/wolfcrypt/ge_operations.h \
wolfssl/wolfcrypt/hash.h \
wolfssl/wolfcrypt/hmac.h \
wolfssl/wolfcrypt/hpke.h \
wolfssl/wolfcrypt/include.am \
wolfssl/wolfcrypt/integer.h \
wolfssl/wolfcrypt/kdf.h \
wolfssl/wolfcrypt/kyber.h \
wolfssl/wolfcrypt/lms.h \
wolfssl/wolfcrypt/logging.h \
wolfssl/wolfcrypt/md2.h \
wolfssl/wolfcrypt/md4.h \
wolfssl/wolfcrypt/md5.h \
wolfssl/wolfcrypt/mem_track.h \
wolfssl/wolfcrypt/memory.h \
wolfssl/wolfcrypt/misc.h \
wolfssl/wolfcrypt/mpi_class.h \
wolfssl/wolfcrypt/mpi_superclass.h \
wolfssl/wolfcrypt/pkcs7.h \
wolfssl/wolfcrypt/pkcs11.h \
wolfssl/wolfcrypt/pkcs12.h \
wolfssl/wolfcrypt/poly1305.h \
wolfssl/wolfcrypt/pwdbased.h \
wolfssl/wolfcrypt/random.h \
wolfssl/wolfcrypt/rc2.h \
wolfssl/wolfcrypt/ripemd.h \
wolfssl/wolfcrypt/rsa.h \
wolfssl/wolfcrypt/sakke.h \
wolfssl/wolfcrypt/selftest.h \
wolfssl/wolfcrypt/settings.h \
wolfssl/wolfcrypt/sha.h \
wolfssl/wolfcrypt/sha3.h \
wolfssl/wolfcrypt/sha256.h \
wolfssl/wolfcrypt/sha512.h \
wolfssl/wolfcrypt/signature.h \
wolfssl/wolfcrypt/siphash.h \
wolfssl/wolfcrypt/sm2.h \
wolfssl/wolfcrypt/sm3.h \
wolfssl/wolfcrypt/sm4.h \
wolfssl/wolfcrypt/sp.h \
wolfssl/wolfcrypt/sp_int.h \
wolfssl/wolfcrypt/sphincs.h \
wolfssl/wolfcrypt/srp.h \
wolfssl/wolfcrypt/tfm.h \
wolfssl/wolfcrypt/types.h \
wolfssl/wolfcrypt/visibility.h \
wolfssl/wolfcrypt/wc_encrypt.h \
wolfssl/wolfcrypt/wc_kyber.h \
wolfssl/wolfcrypt/wc_pkcs11.h \
wolfssl/wolfcrypt/wc_port.h \
wolfssl/wolfcrypt/wolfevent.h \
wolfssl/wolfcrypt/wolfmath.h \
wolfssl/wolfcrypt/xmss.h \
wolfssl/wolfcrypt/port/nrf51.h \
wolfssl/wolfcrypt/port/af_alg/afalg_hash.h \
wolfssl/wolfcrypt/port/af_alg/wc_afalg.h \
wolfssl/wolfcrypt/port/aria/aria-crypt.h \
wolfssl/wolfcrypt/port/aria/aria-cryptocb.h \
wolfssl/wolfcrypt/port/arm/cryptoCell.h \
wolfssl/wolfcrypt/port/atmel/atmel.h \
wolfssl/wolfcrypt/port/autosar/CryIf.h \
wolfssl/wolfcrypt/port/autosar/Crypto.h \
wolfssl/wolfcrypt/port/autosar/Csm.h \
wolfssl/wolfcrypt/port/autosar/StandardTypes.h \
wolfssl/wolfcrypt/port/caam/caam_driver.h \
wolfssl/wolfcrypt/port/caam/caam_error.h \
wolfssl/wolfcrypt/port/caam/caam_qnx.h \
wolfssl/wolfcrypt/port/caam/wolfcaam.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_aes.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_cmac.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_ecdsa.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_fsl_nxp.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_hash.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_qnx.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_rsa.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_seco.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_sha.h \
wolfssl/wolfcrypt/port/caam/wolfcaam_x25519.h \
wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h \
wolfssl/wolfcrypt/port/cavium/cavium_octeon_sync.h \
wolfssl/wolfcrypt/port/cypress/psoc6_crypto.h \
wolfssl/wolfcrypt/port/devcrypto/wc_devcrypto.h \
wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h \
wolfssl/wolfcrypt/port/Espressif/esp-sdk-lib.h \
wolfssl/wolfcrypt/port/intel/quickassist.h \
wolfssl/wolfcrypt/port/intel/quickassist_mem.h \
wolfssl/wolfcrypt/port/intel/quickassist_sync.h \
wolfssl/wolfcrypt/port/iotsafe/iotsafe.h \
wolfssl/wolfcrypt/port/kcapi/kcapi_dh.h \
wolfssl/wolfcrypt/port/kcapi/kcapi_ecc.h \
wolfssl/wolfcrypt/port/kcapi/kcapi_hash.h \
wolfssl/wolfcrypt/port/kcapi/kcapi_hmac.h \
wolfssl/wolfcrypt/port/kcapi/kcapi_rsa.h \
wolfssl/wolfcrypt/port/kcapi/wc_kcapi.h \
wolfssl/wolfcrypt/port/liboqs/liboqs.h \
wolfssl/wolfcrypt/port/maxim/maxq10xx.h \
wolfssl/wolfcrypt/port/nxp/dcp_port.h \
wolfssl/wolfcrypt/port/nxp/ksdk_port.h \
wolfssl/wolfcrypt/port/nxp/se050_port.h \
wolfssl/wolfcrypt/port/pic32/pic32mz-crypt.h \
wolfssl/wolfcrypt/port/psa/psa.h \
wolfssl/wolfcrypt/port/Renesas/renesas_cmn.h \
wolfssl/wolfcrypt/port/Renesas/renesas_sync.h \
wolfssl/wolfcrypt/port/Renesas/renesas_tsip_types.h \
wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h \
wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h \
wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h \
wolfssl/wolfcrypt/port/riscv/riscv-64-asm.h \
wolfssl/wolfcrypt/port/silabs/silabs_aes.h \
wolfssl/wolfcrypt/port/silabs/silabs_ecc.h \
wolfssl/wolfcrypt/port/silabs/silabs_hash.h \
wolfssl/wolfcrypt/port/silabs/silabs_random.h \
wolfssl/wolfcrypt/port/st/stm32.h \
wolfssl/wolfcrypt/port/st/stsafe.h \
wolfssl/wolfcrypt/port/ti/ti-ccm.h \
wolfssl/wolfcrypt/port/ti/ti-hash.h \
wolfssl/wolfcrypt/port/xilinx/xil-sha3.h \
wolfssl/wolfcrypt/port/xilinx/xil-versal-glue.h \
wolfssl/wolfcrypt/port/xilinx/xil-versal-trng.h
# Default rules.
#
# NOTES:
# 1. These files must always be included after the macro definitions and
# before the component-specific rules.
.INCLUDE:$(SWENGENV)/rules.wnt
.INCLUDE:$(SWENGENV)/intimerules.wnt
# Component-specific rules, including:
#
# prodeng: checks TARGETS into an engineering release directory using the
# "puttarg.ksh" script.
#
# NOTES:
# 1. The "prodeng" rule must not be renamed or deleted! It should,
# however, be modified to reflect the engineering release requirements
# of the TARGETS.
#
# 2. Rules for each of the TARGETS should be added here.
#
# 3. Additional rules may be added as necessary. Care should be taken so
# that rules defined in the rules.wnt file are not redefined here.
prodeng: "$(PROD_ENG)/rt/include/wolfssl572/wolfssl" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/af_alg" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \
"$(PROD_ENG)/rt/lib"
[@
for f in $(EXEC_TARGS); do
$(SWENGENV)/puttarg $(PROD_ENG)/rt/lib $(TARG_DIR)/$$f Engineer $(NAME) "$(MESSAGE)"
done
for f in $(SRC_TARGS); do
$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572 $$f Engineer $(NAME) "$(MESSAGE)"
done
for f in $(INCL_TARGS); do
dir=`dirname $$f | gres "wolfssl(.*)" "\1"`
if [ ! -d $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ] ; then
mkdir $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir
fi
$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ../../$$f Engineer $(NAME) "$(MESSAGE)"
done
]
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfcrypt/port/af_alg" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" \
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \
"$(PROD_ENG)/rt/lib":
$(MKSBIN)/mkdir -p $@
# Build project binaries, project help files, and sub-project binaries.
#
# NOTES:
# 1. To ensure that the correct environment is present when invoking a MS
# Developer Studio makefile, the rule initializes the required
# environment variables in a sub-shell before invoking the makefile.
#
# 2. Path vectors are converted to Microsoft-style pathname slashes
# via 'redmond.ksh' before passing them as environment variables to
# Microsoft tools.
SOLUTIONFILE = wolfssl-lib.sln
.INCLUDE: $(SWENGENV)/vs2019.wnt
$(EXEC_TARGS) .PROLOG: rt_tree
[@
rm -f msbuild.log
msbuild $(SOLUTIONFILE) /t:Rebuild /p:Configuration=$(TARG_TYPE) /fileLogger
ec=$$?
if [ $$ec -ne 0 ]; then
echo Failed to build $(@)
else
echo Success!
fi
exit $$ec
]

View File

@@ -10,4 +10,7 @@ EXTRA_DIST += \
IDE/INTIME-RTOS/wolfExamples.c \
IDE/INTIME-RTOS/wolfExamples.h \
IDE/INTIME-RTOS/wolfExamples.vcxproj \
IDE/INTIME-RTOS/wolfExamples.sln
IDE/INTIME-RTOS/wolfExamples.sln \
IDE/INTIME-RTOS/wolfssl-lib.sln \
IDE/INTIME-RTOS/wolfssl-lib.vcxproj \
IDE/INTIME-RTOS/Makefile

444
IDE/INTIME-RTOS/libwolfssl.vcxproj Executable file → Normal file
View File

@@ -1,210 +1,234 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|INtime">
<Configuration>Debug</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|INtime">
<Configuration>Release</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="README.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="libwolfssl.c" />
<ClCompile Include="..\..\src\crl.c" />
<ClCompile Include="..\..\src\internal.c" />
<ClCompile Include="..\..\src\wolfio.c" />
<ClCompile Include="..\..\src\keys.c" />
<ClCompile Include="..\..\src\ocsp.c" />
<ClCompile Include="..\..\src\sniffer.c" />
<ClCompile Include="..\..\src\ssl.c" />
<ClCompile Include="..\..\src\tls.c" />
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
<ClInclude Include="..\..\wolfssl\callbacks.h" />
<ClInclude Include="..\..\wolfssl\certs_test.h" />
<ClInclude Include="..\..\wolfssl\crl.h" />
<ClInclude Include="..\..\wolfssl\error-ssl.h" />
<ClInclude Include="..\..\wolfssl\internal.h" />
<ClInclude Include="..\..\wolfssl\ocsp.h" />
<ClInclude Include="..\..\wolfssl\options.h" />
<ClInclude Include="..\..\wolfssl\sniffer.h" />
<ClInclude Include="..\..\wolfssl\sniffer_error.h" />
<ClInclude Include="..\..\wolfssl\ssl.h" />
<ClInclude Include="..\..\wolfssl\test.h" />
<ClInclude Include="..\..\wolfssl\version.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\aes.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\arc4.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn_public.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\async.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-impl.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-int.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\camellia.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha20_poly1305.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\cmac.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\coding.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\compress.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\curve25519.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\des3.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\dh.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\dsa.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ecc.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ed25519.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\error-crypt.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\fe_operations.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\fips_test.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ge_operations.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\hash.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\hmac.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\integer.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\logging.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md2.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md4.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md5.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\memory.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mem_track.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\misc.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_class.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_superclass.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs12.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs7.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\poly1305.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pwdbased.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\random.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ripemd.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\rsa.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\settings.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha256.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha512.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\signature.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\srp.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\tfm.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\types.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\visibility.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_encrypt.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_port.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfevent.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfmath.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1731767D-573F-45C9-A466-191DA0D180CF}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20052</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20052</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|INtime">
<Configuration>Debug</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|INtime">
<Configuration>Release</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="README.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="libwolfssl.c" />
<ClCompile Include="..\..\src\crl.c" />
<ClCompile Include="..\..\src\dtls13.c" />
<ClCompile Include="..\..\src\dtls.c" />
<ClCompile Include="..\..\src\internal.c" />
<ClCompile Include="..\..\src\wolfio.c" />
<ClCompile Include="..\..\src\keys.c" />
<ClCompile Include="..\..\src\ocsp.c" />
<ClCompile Include="..\..\src\sniffer.c" />
<ClCompile Include="..\..\src\ssl.c" />
<ClCompile Include="..\..\src\tls.c" />
<ClCompile Include="..\..\src\tls13.c" />
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
<ClCompile Include="..\..\wolfcrypt\src\blake2s.c" />
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\cpuid.c" />
<ClCompile Include="..\..\wolfcrypt\src\cryptocb.c" />
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
<ClCompile Include="..\..\wolfcrypt\src\dilithium.c" />
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\ed448.c" />
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
<!--ClCompile Include="..\..\wolfcrypt\src\ext_kyber.c" /-->
<ClCompile Include="..\..\wolfcrypt\src\falcon.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_448.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_448.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
<!--ClCompile Include="..\..\wolfcrypt\src\wc_kyber.c" /-->
<!--ClCompile Include="..\..\wolfcrypt\src\wc_kyber_poly.c" /-->
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
<ClCompile Include="..\..\wolfcrypt\src\rc2.c" />
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
<ClCompile Include="..\..\wolfcrypt\src\sphincs.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_c32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_c64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_int.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_x86_64.c" />
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_pkcs11.c" />
<ClCompile Include="..\..\wolfcrypt\src\port\liboqs\liboqs.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
<ClInclude Include="..\..\wolfssl\callbacks.h" />
<ClInclude Include="..\..\wolfssl\certs_test.h" />
<ClInclude Include="..\..\wolfssl\crl.h" />
<ClInclude Include="..\..\wolfssl\error-ssl.h" />
<ClInclude Include="..\..\wolfssl\internal.h" />
<ClInclude Include="..\..\wolfssl\ocsp.h" />
<ClInclude Include="..\..\wolfssl\options.h" />
<ClInclude Include="..\..\wolfssl\sniffer.h" />
<ClInclude Include="..\..\wolfssl\sniffer_error.h" />
<ClInclude Include="..\..\wolfssl\ssl.h" />
<ClInclude Include="..\..\wolfssl\test.h" />
<ClInclude Include="..\..\wolfssl\version.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\aes.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\arc4.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn_public.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\async.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-impl.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-int.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\camellia.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha20_poly1305.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\cmac.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\coding.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\compress.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\curve25519.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\des3.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\dh.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\dsa.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ecc.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ed25519.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\error-crypt.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\fe_operations.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\fips_test.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ge_operations.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\hash.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\hmac.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\integer.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\logging.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md2.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md4.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\md5.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\memory.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mem_track.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\misc.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_class.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_superclass.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs12.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs7.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\poly1305.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\pwdbased.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\random.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\ripemd.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\rsa.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\settings.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha256.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha512.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\signature.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\srp.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\tfm.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\types.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\visibility.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_encrypt.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_port.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfevent.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfmath.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1731767D-573F-45C9-A466-191DA0D180CF}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20052</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20052</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -284,6 +284,9 @@ extern "C" {
#undef OPENSSL_EXTRA
#define OPENSSL_EXTRA
#undef OPENSSL_ALL
#define OPENSSL_ALL
#undef WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE

186
IDE/INTIME-RTOS/wolfExamples.vcxproj Executable file → Normal file
View File

@@ -1,93 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|INtime">
<Configuration>Debug</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|INtime">
<Configuration>Release</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="README.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="wolfExamples.c" />
<ClCompile Include="..\..\wolfcrypt\test\test.c" />
<ClCompile Include="..\..\wolfcrypt\benchmark\benchmark.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
<ClInclude Include="wolfExamples.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{557A7EFD-2627-478A-A855-50F518DD13EE}</ProjectGuid>
<ProjectName>wolfExamples</ProjectName>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20053</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20053</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|INtime">
<Configuration>Debug</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|INtime">
<Configuration>Release</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="README.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="wolfExamples.c" />
<ClCompile Include="..\..\wolfcrypt\test\test.c" />
<ClCompile Include="..\..\wolfcrypt\benchmark\benchmark.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
<ClInclude Include="wolfExamples.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{557A7EFD-2627-478A-A855-50F518DD13EE}</ProjectGuid>
<ProjectName>wolfExamples</ProjectName>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20053</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<ClCompile>
</ClCompile>
<Link>
<Version>21076.20053</Version>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<ExceptionHandling>Async</ExceptionHandling>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl-lib", "wolfssl-lib.vcxproj", "{3BBA3633-A077-4A57-A242-0A22328E5CF6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|INtime = Debug|INtime
Release|INtime = Release|INtime
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.ActiveCfg = Debug|INtime
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.Build.0 = Debug|INtime
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.ActiveCfg = Release|INtime
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.Build.0 = Release|INtime
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,367 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|INtime">
<Configuration>Debug</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|INtime">
<Configuration>Release</Configuration>
<Platform>INtime</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="README.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\bio.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\conf.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\dtls.c" />
<ClCompile Include="..\..\src\dtls13.c" />
<ClCompile Include="..\..\src\pk.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\quic.c" />
<ClCompile Include="..\..\src\ssl_asn1.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_bn.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_certman.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_crypto.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_load.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_misc.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_p7p12.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_sess.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ssl_sk.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\tls13.c" />
<ClCompile Include="..\..\src\x509.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\x509_str.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\wolfcrypt\src\async.c" />
<ClCompile Include="..\..\wolfcrypt\src\blake2s.c" />
<ClCompile Include="..\..\wolfcrypt\src\cpuid.c" />
<ClCompile Include="..\..\wolfcrypt\src\cryptocb.c" />
<ClCompile Include="..\..\wolfcrypt\src\curve448.c" />
<ClCompile Include="..\..\wolfcrypt\src\dilithium.c" />
<ClCompile Include="..\..\wolfcrypt\src\eccsi.c" />
<ClCompile Include="..\..\wolfcrypt\src\ed448.c" />
<ClCompile Include="..\..\wolfcrypt\src\evp.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\wolfcrypt\src\ext_kyber.c" />
<ClCompile Include="..\..\wolfcrypt\src\ext_lms.c" />
<ClCompile Include="..\..\wolfcrypt\src\ext_xmss.c" />
<ClCompile Include="..\..\wolfcrypt\src\falcon.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_448.c" />
<ClCompile Include="..\..\wolfcrypt\src\fips.c" />
<ClCompile Include="..\..\wolfcrypt\src\fips_test.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_448.c" />
<ClCompile Include="..\..\wolfcrypt\src\hpke.c" />
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
<ClCompile Include="..\..\wolfcrypt\src\misc.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\wolfcrypt\src\rc2.c" />
<ClCompile Include="..\..\wolfcrypt\src\sakke.c" />
<ClCompile Include="..\..\wolfcrypt\src\selftest.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
<ClCompile Include="..\..\wolfcrypt\src\siphash.c" />
<ClCompile Include="..\..\wolfcrypt\src\sm2.c" />
<ClCompile Include="..\..\wolfcrypt\src\sm3.c" />
<ClCompile Include="..\..\wolfcrypt\src\sm4.c" />
<ClCompile Include="..\..\wolfcrypt\src\sphincs.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_arm32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_arm64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_armthumb.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_c32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_c64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_cortexm.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_dsp32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_int.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_arm32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_arm64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_armthumb.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_c32.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_c64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_cortexm.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_x86_64.c" />
<ClCompile Include="..\..\wolfcrypt\src\sp_x86_64.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_dsp.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_kyber.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_kyber_poly.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_lms.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_lms_impl.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_pkcs11.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_xmss.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_xmss_impl.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_first.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_last.c" />
<ClCompile Include="libwolfssl.c" />
<ClCompile Include="..\..\src\crl.c" />
<ClCompile Include="..\..\src\internal.c" />
<ClCompile Include="..\..\src\wolfio.c" />
<ClCompile Include="..\..\src\keys.c" />
<ClCompile Include="..\..\src\ocsp.c" />
<ClCompile Include="..\..\src\sniffer.c" />
<ClCompile Include="..\..\src\ssl.c" />
<ClCompile Include="..\..\src\tls.c" />
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
<ClCompile Include="..\..\wolfcrypt\src\ecc_fp.c" />
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\wolfcrypt\src\chacha_asm.asm" />
<None Include="..\..\wolfcrypt\src\chacha_asm.S" />
<None Include="..\..\wolfcrypt\src\fe_x25519_asm.S" />
<None Include="..\..\wolfcrypt\src\fp_mont_small.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_12.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_17.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_20.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_24.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_28.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_3.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_32.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_4.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_48.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_6.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_64.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_7.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_8.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_9.i" />
<None Include="..\..\wolfcrypt\src\fp_mul_comba_small_set.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_12.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_17.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_20.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_24.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_28.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_3.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_32.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_4.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_48.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_6.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_64.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_7.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_8.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_9.i" />
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_small_set.i" />
<None Include="..\..\wolfcrypt\src\include.am" />
<None Include="..\..\wolfcrypt\src\poly1305_asm.asm" />
<None Include="..\..\wolfcrypt\src\poly1305_asm.S" />
<None Include="..\..\wolfcrypt\src\sha256_asm.S" />
<None Include="..\..\wolfcrypt\src\sha3_asm.S" />
<None Include="..\..\wolfcrypt\src\sha512_asm.S" />
<None Include="..\..\wolfcrypt\src\sm3_asm.S" />
<None Include="..\..\wolfcrypt\src\sp_sm2_x86_64_asm.S" />
<None Include="..\..\wolfcrypt\src\sp_x86_64_asm.asm" />
<None Include="..\..\wolfcrypt\src\sp_x86_64_asm.S" />
<None Include="..\..\wolfcrypt\src\wc_kyber_asm.S" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\wolfcrypt\src\fe_x25519_128.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3BBA3633-A077-4A57-A242-0A22328E5CF6}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<INtimeDseg>0</INtimeDseg>
<INtimeNode>Local</INtimeNode>
<INtimeOdir>0</INtimeOdir>
<TargetName>libwolfssl572</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<INtimeDseg>0</INtimeDseg>
<INtimeNode>Local</INtimeNode>
<INtimeOdir>0</INtimeOdir>
<TargetName>libwolfssl572</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>DEBUG_WOLFSSL;_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_DEBUG;INTIME_RTOS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<BufferSecurityCheck>true</BufferSecurityCheck>
<FunctionLevelLinking>false</FunctionLevelLinking>
<FloatingPointExceptions>false</FloatingPointExceptions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<ErrorReporting>Prompt</ErrorReporting>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<HeapReserveSize>0</HeapReserveSize>
<Version>21076.20052</Version>
<DelayLoadDLLs>
</DelayLoadDLLs>
<GenerateManifest>false</GenerateManifest>
<AssemblyDebug>false</AssemblyDebug>
<HeapCommitSize>0</HeapCommitSize>
<StackReserveSize>0</StackReserveSize>
<StackCommitSize>0</StackCommitSize>
<TurnOffAssemblyGeneration>false</TurnOffAssemblyGeneration>
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
</Link>
<Lib>
<OutputFile>$(SolutionDir)$(Configuration)\$(TargetName).lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;INTIME_RTOS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<BufferSecurityCheck>false</BufferSecurityCheck>
<FloatingPointExceptions>false</FloatingPointExceptions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<ErrorReporting>Prompt</ErrorReporting>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>None</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
<HeapReserveSize>0</HeapReserveSize>
<Version>21076.20052</Version>
<DelayLoadDLLs>
</DelayLoadDLLs>
<GenerateManifest>false</GenerateManifest>
<AssemblyDebug>false</AssemblyDebug>
<HeapCommitSize>0</HeapCommitSize>
<StackReserveSize>0</StackReserveSize>
<StackCommitSize>0</StackCommitSize>
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
</Link>
<Lib>
<OutputFile>$(SolutionDir)$(Configuration)\$(TargetName).lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,9 +1,22 @@
#!/bin/sh
CFLAGS_NEW="-DDEBUG_WOLFSSL"
CFLAGS_NEW="-DDEBUG_WOLFSSL -I/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include"
export CFLAGS="${CFLAGS} ${CFLAGS_NEW}"
echo ${CFLAGS}
make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1
# create an empty options.h file if none exist
if [ ! -f ../../wolfssl/options.h ]; then
touch ../../wolfssl/options.h
fi
NEW_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include"
export C_INCLUDE_PATH="$NEW_INCLUDE_PATH"
# Build without assembly optimizations
#make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1
# Build with assembly optimizations
make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 HAVE_WOLFSSL_ASSEMBLY=1

View File

@@ -1,3 +1,4 @@
#!/bin/sh
make -f sgx_t_static.mk clean
make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 HAVE_WOLFSSL_ASSEMBLY=1 clean

View File

@@ -44,7 +44,8 @@ endif
Crypto_Library_Name := sgx_tcrypto
Wolfssl_C_Extra_Flags := -DWOLFSSL_SGX
Wolfssl_C_Extra_Flags := -DWOLFSSL_SGX\
-DWOLFSSL_CUSTOM_CONFIG
Wolfssl_C_Files :=$(WOLFSSL_ROOT)/wolfcrypt/src/aes.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/arc4.c\
@@ -52,6 +53,7 @@ Wolfssl_C_Files :=$(WOLFSSL_ROOT)/wolfcrypt/src/aes.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/blake2b.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/camellia.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/coding.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/cpuid.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/chacha.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/chacha20_poly1305.c\
$(WOLFSSL_ROOT)/src/crl.c\
@@ -88,11 +90,40 @@ Wolfssl_C_Files :=$(WOLFSSL_ROOT)/wolfcrypt/src/aes.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/signature.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_c32.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_c64.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_int.c\
$(WOLFSSL_ROOT)/src/ssl.c\
$(WOLFSSL_ROOT)/src/tls.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/wc_encrypt.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/wolfevent.c\
$(WOLFSSL_ROOT)/wolfcrypt/src/wolfevent.c
ifeq ($(HAVE_WOLFSSL_ASSEMBLY), 1)
Wolfssl_ASM_Files := $(WOLFSSL_ROOT)/wolfcrypt/src/aes_asm.asm\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64_asm.asm
Wolfssl_S_Files := $(WOLFSSL_ROOT)/wolfcrypt/src/aes_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/aes_gcm_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/poly1305_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/sha256_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/aes_xts_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/sha3_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/wc_mlkem_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/chacha_asm.S\
$(WOLFSSL_ROOT)/wolfcrypt/src/sha512_asm.S
Wolfssl_C_Extra_Flags += -DWOLFSSL_X86_64_BUILD\
-DWOLFSSL_AESNI\
-maes -mavx -mavx2 -msse4.2
ifeq ($(HAVE_WOLFSSL_SP), 1)
Wolfssl_C_Extra_Flags += -DWOLFSSL_SP_X86_64_ASM\
-DWOLFSSL_SP_X86_64\
-DWOLFSSL_SP_ASM
endif
endif
Wolfssl_Include_Paths := -I$(WOLFSSL_ROOT)/ \
-I$(WOLFSSL_ROOT)/wolfcrypt/ \
@@ -111,7 +142,8 @@ endif
ifeq ($(HAVE_WOLFSSL_SP), 1)
Wolfssl_C_Extra_Flags += -DWOLFSSL_HAVE_SP_RSA \
-DWOLFSSL_HAVE_SP_DH \
-DWOLFSSL_HAVE_SP_ECC
-DWOLFSSL_HAVE_SP_ECC \
-DWOLFSSL_SP_MATH_ALL
endif
@@ -128,6 +160,8 @@ Wolfssl_Link_Flags := $(SGX_COMMON_CFLAGS) -Wl,--no-undefined -nostdlib -nodefau
-Wl,--version-script=trusted/wolfcrypt.lds
Wolfssl_C_Objects := $(Wolfssl_C_Files:.c=.o)
Wolfssl_C_Objects += $(Wolfssl_S_Files:.S=.o)
Wolfssl_C_Objects += $(Wolfssl_ASM_Files:.asm=.o)
ifeq ($(SGX_MODE), HW)
ifneq ($(SGX_DEBUG), 1)
@@ -137,17 +171,17 @@ endif
endif
endif
override CFLAGS += $(Wolfssl_C_Flags)
override CPPFLAGS += $(Wolfssl_C_Flags)
.PHONY: all run
all: libwolfssl.sgx.static.lib.a
######## WolfSSL Objects ########
libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects)
ar rcs libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)
@echo "LINK => $@"
@echo "Built with AES-NI ? $(HAVE_WOLFSSL_ASSEMBLY)"
clean:
@rm -f $(WOLFSSL_ROOT)/wolfcrypt/benchmark/*.o $(WOLFSSL_ROOT)/wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)

View File

@@ -45,6 +45,7 @@ list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_load.c )
list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_misc.c )
list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_p7p12.c )
list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_sess.c )
list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_sk.c )
aux_source_directory( ${CRYPTO_SRC_DIR} CRYPTO_SOURCES )
list( REMOVE_ITEM CRYPTO_SOURCES ../../../wolfcrypt/src/evp.c )
list( REMOVE_ITEM CRYPTO_SOURCES ../../../wolfcrypt/src/misc.c )

View File

@@ -30,6 +30,9 @@ CCFLAGS += -O2 -Wall
# For IMX6Q devices
CCFLAGS += -DWOLFSSL_CAAM_IMX6Q
# wolfSSL header included for version number
CCFLAGS += -DWOLFSSL_CUSTOM_CONFIG
#Compiler flags for build profiles
CCFLAGS_release += -O2
CCFLAGS_debug += -g -O0 -fno-builtin

View File

@@ -18,6 +18,9 @@ extern "C" {
#undef SINGLE_THREADED
#define SINGLE_THREADED
#undef WOLFSSL_NO_SOCK
#define WOLFSSL_NO_SOCK
#undef WOLFSSL_SMALL_STACK
//#define WOLFSSL_SMALL_STACK

View File

@@ -21,25 +21,25 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|Board|EK-RA6M3|
|Device|R7FA6M3AH3CFC|
|Toolchain|GCC ARM Embedded|
|FSP Version|3.5.0|
|FSP Version|6.1.0|
#### Selected software components
|Components|Version|
|:--|:--|
|Board Support Package Common Files|v3.5.0|
|Arm CMSIS Version 5 - Core (M)|v5.8.0+renesas.0.fsp.3.5.0|
|FreeRTOS|v10.4.3-LTS.Patch.2+fsp.3.5.0|
|RA6M3-EK Board Support Files|v3.5.0|
|Board support package for R7FA6M3AH3CFC|v3.5.0|
|Board support package for RA6M3|v3.5.0|
|Board support package for RA6M3 - FSP Data|v3.5.0|
|FreeRTOS - Memory Management - Heap 4|v10.4.3-LTS.Patch.2+fsp.3.5.0|
|r_ether to FreeRTOS+TCP Wrapper|v3.5.0|
|Ethernet|v3.5.0|
|Ethernet PHY|v3.5.0|
|FreeRTOS+TCP|v2.3.2-LTS.Patch.1+fsp.3.5.0|
|FreeRTOS - Buffer Allocation 2|v2.3.2-LTS.Patch.1+fsp.3.5.0|
|Board Support Package Common Files|v6.1.0|
|Arm CMSIS Version 5 - Core (M)|v6.1.0+renesas.0.fsp.6.1.0|
|FreeRTOS|v11.1.0+fsp.6.1.0|
|RA6M3-EK Board Support Files|v6.1.0|
|Board support package for R7FA6M3AH3CFC|v6.1.0|
|Board support package for RA6M3|v6.1.0|
|Board support package for RA6M3 - FSP Data|v6.1.0|
|FreeRTOS - Memory Management - Heap 4|v11.1.0+fsp.6.1.0|
|r_ether to FreeRTOS+TCP Wrapper|v6.1.0|
|Ethernet|v6.1.0|
|Ethernet PHY|v6.1.0|
|FreeRTOS+TCP|v4.3.3+fsp.6.1.0|
|FreeRTOS - Buffer Allocation 2|v4.3.3+fsp.6.1.0|
## Setup Steps
@@ -51,11 +51,11 @@ The following steps explain how to generate the missing files and where to place
1.) Create a 'dummy' Renesas RA C Library Project.
+ Click File->New->`RA C/C++ Project`
+ Click `Renesas RA C Library Project`. Click Next
+ Enter `dummy_library` as the project name. Click Next.
+ Under `Board: Custom User Board`, select `EK-RA6M3`.
+ Under `RTOS: No RTOS`, select `FreeRTOS`.
+ Click Next. Select `FreeRTOS - Minimal - Static Allocation`
+ Select `None`. Click Next.
+ Select `Static Library`. Under `RTOS: No RTOS`, select `FreeRTOS`. Click Next
+ Select `FreeRTOS - Minimal - Static Allocation`
+ Click Finish.
+ Open Smart Configurator by clicking configuration.xml in the project
+ Go to `BSP` tab and increase Heap Size under `RA Common` on Properties page, e.g. 0x1000
@@ -64,17 +64,18 @@ The following steps explain how to generate the missing files and where to place
|Property|Value|
|:--|:--|
|Thread Symbol|wolfssl_tst_thread|
|Thread Name|wolf_tst_thread|
|Thread Symbol|wolfssl_tst_thd|
|Thread Name|wolf_tst_thd|
|Thread Stack size|increase depending on your environment<br> e.g. 0xA000|
|Thread MemoryAllocation|Dynamic|
|Thread Memory Allocation Support Dynamic Allocation|Enabled|
|Memory Allocation Total Heap Size|increase depending on your environment<br> e.g. 0x20000|
|Common General Use Mutexes|Enabled|
|Common General Enable Backward Compatibility|Enabled|
|Common Memory Allocation Support Dynamic Allocation|Enabled|
|Common Memory Allocation Total Heap Size|increase depending on your environment<br> e.g. 0x20000|
+ Add `Heap 4` stack to sce_tst_thread from `New Stack` -> `RTOS` -> `FreeRTOS Heap 4`
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties. Go to `Add Ethernet Driver` box, and click the box to select `New` -> `Ethernet (r_ether)`
. Set properties.
|Property|Value|
|:--|:--|
@@ -84,9 +85,10 @@ The following steps explain how to generate the missing files and where to place
2.) Create a 'dummy' Renesas RA C Project Using RA Library.
+ Click File->New->`RA C/C++ Project`
+ Click `Renesas RA C Project Using RA Library`. Click Next
+ Enter `dummy_app` as the project name. Click Next.
+ Under `Executable Using an RA Static library`
+ Under `Board: Custom User Board`, select `EK-RA6M3`.
+ Select `None`. Click Next.
+ Select `Executable Using an RA Static library`, and `No RTOS`. Click Finish
+ Enter `dummy_app` as the project name. Click Next
+ Select `dummy_library` from Select Renesas RA library project.
+ Click Finish.
@@ -125,6 +127,7 @@ The following steps explain how to generate the missing files and where to place
+ Select and Copy the following folder inside dummy_app\
`script/`
`Debug/`
+ Paste the copied folders into each executable projects which are Crypt test, benchmark, client and server projects\
+ The `dummy_app` project can now be deleted.

View File

@@ -54,7 +54,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1066354393" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1749606599" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1387289429" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.101353899" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.101353899" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.117420076" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1915546252" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.541441314" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
@@ -93,6 +93,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/Debug}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.2089894925" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
@@ -205,7 +209,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.860211730" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1408755248" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.836244175" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1745155981" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1745155981" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1499452602" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1733850904" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.121988378" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">

View File

@@ -23,7 +23,7 @@
int benchmark_test(void *args);
void wolfssl_thread_entry(void *pvParameters) {
void wolfssl_tst_thd_entry(void *pvParameters) {
FSP_PARAMETER_NOT_USED(pvParameters);
initialise_monitor_handles();
benchmark_test(0);

View File

@@ -54,7 +54,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.944256802" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1728690592" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.847055546" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.2111237750" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.2111237750" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1877074676" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1521871638" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1475977607" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
@@ -99,6 +99,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/Debug}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.11889101" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
@@ -206,7 +210,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1224145047" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.850599989" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.171223350" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.8777288" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.8777288" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.342148693" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1084564839" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1173403640" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">

View File

@@ -34,20 +34,7 @@
#include <stdio.h>
#include "hal_data.h"
/* the function is called just before main() to set up pins */
/* this needs to be called to setup IO Port */
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
if (BSP_WARM_START_POST_C == event) {
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
}
}
void wolfssl_thread_entry(void *pvParameters) {
void wolfssl_tst_thd_entry(void *pvParameters) {
FSP_PARAMETER_NOT_USED(pvParameters);
/* FreeRTOS+TCP Objects */

View File

@@ -54,7 +54,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.971503214" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.580641031" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.213566214" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.967969835" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.967969835" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.79325762" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1806607058" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.828777158" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
@@ -99,6 +99,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/Debug}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.924310622" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
@@ -207,7 +211,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.284360640" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.534529996" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.683276783" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.606246866" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.606246866" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.399996946" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.617058558" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1734515939" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">

View File

@@ -32,20 +32,8 @@
#include <stdio.h>
#include "hal_data.h"
/* the function is called just before main() to set up pins */
/* this needs to be called to setup IO Port */
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
if (BSP_WARM_START_POST_C == event) {
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
}
}
void wolfssl_thread_entry(void *pvParameters) {
void wolfssl_tst_thd_entry(void *pvParameters) {
FSP_PARAMETER_NOT_USED(pvParameters);
/* FreeRTOS+TCP parameters and objects */

View File

@@ -54,7 +54,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1533237073" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1986600717" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.330510769" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.381371815" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.381371815" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.563593978" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.9644899" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1207837318" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">
@@ -78,6 +78,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.97449013" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1182988840" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../common&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/Debug}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/fsp/inc}&quot;"/>
@@ -91,6 +92,9 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/aws}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1484906637" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
@@ -199,7 +203,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.226581298" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1814264128" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1908205217" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1012539774" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1012539774" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1216775450" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1297918163" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.228561926" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">

View File

@@ -22,7 +22,7 @@
#include <wolfssl/wolfcrypt/settings.h>
#include "wolfcrypt/test/test.h"
void wolfssl_thread_entry(void* pvParameters)
void wolfssl_tst_thd_entry(void* pvParameters)
{
FSP_PARAMETER_NOT_USED (pvParameters);
/* Benchmark output is displayed to Renesas Debug Virtual Console */

View File

@@ -67,6 +67,8 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.816669574" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1258533267" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1781159522" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/fsp/inc}&quot;"/>
@@ -84,6 +86,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1944945543" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
@@ -92,6 +98,8 @@
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RA6M3G"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
</option>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.1681064330" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.891615582" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
@@ -113,6 +121,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M3G/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/source/portable}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1304089417" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
@@ -151,6 +163,116 @@
</tool>
</toolChain>
</folderInfo>
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.debug.1761706989./ra/aws" name="aws" resourcePath="ra/aws">
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug.91030017" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug" unusedChildren="">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505.1108024184" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243.1900454493" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735.165034946" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455.752800906" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729.1450135011" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944.1219290554" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576.473553102" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835.1042603563" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679.202628566" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944.794330601" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237.1688476763" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303.979675815" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886.1415411329" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466.1385698993" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284.293508603" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818.1218186697" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856.2065255469" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825.1167692129" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995.1511521612" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130.426559080" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133.1442105199" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657.667334624" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654.108668343" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133.884135613" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565.389236246" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720.573498222" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467.1653210091" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107.2053737810" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457.1328782573" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170.1594918566" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678.1050407566" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971.2040735761" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269.1758863180" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928.58240205" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701.414810561" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1540347333" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1937788536">
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1964016942" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1440201808" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1195007717">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.1444318747" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1814244990" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1435664558" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1212762249">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.1974426833" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.880285696" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1185911797"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.12606855" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.311751680"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1475653493" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.273078254"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1416259339" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.227390892"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.282020455" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.545796882"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1865404358" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.699161355"/>
</toolChain>
</folderInfo>
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.debug.1761706989./ra/arm" name="arm" resourcePath="ra/arm">
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug.343535006" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug" unusedChildren="">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505.1450147824" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243.1675348043" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735.835209035" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455.344641597" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729.2035890685" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944.2063211290" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576.1819176375" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835.777780299" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679.1925510550" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944.943958585" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237.1145217310" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303.640847764" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886.1322257809" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466.1442097510" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284.839224690" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818.1097605179" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856.1579147089" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825.480644907" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995.166049991" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130.119724110" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133.318895847" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657.669835270" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654.1469939414" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133.955906304" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565.497506214" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720.1949570024" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467.1484626281" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107.747698365" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457.547912405" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170.1779195624" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678.1810713340" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971.1147375845" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269.1851840902" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928.2104300534" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701.1410330719" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1683495442" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1937788536">
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1845970605" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1652269700" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1195007717">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.953419839" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.331909678" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.735151687" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1212762249">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.2121414228" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.232454180" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1185911797"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1276557083" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.311751680"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1705617811" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.273078254"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.909620799" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.227390892"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1096946542" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.545796882"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.510843886" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.699161355"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="common|wolfcrypt|src|src/crl.c|src/bio.c|ra|ra_gen" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="ra"/>
@@ -230,6 +352,8 @@
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.564659763" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RA6M3G"/>
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.373460777" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/fsp/inc}&quot;"/>
@@ -248,6 +372,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1333795089" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
@@ -260,6 +388,8 @@
<listOptionValue builtIn="false" value="configUSE_MUTEXES=1"/>
<listOptionValue builtIn="false" value="configSUPPORT_STATIC_ALLOCATION=1"/>
<listOptionValue builtIn="false" value="configMEMORY_DYNAMIC_ALLOCATION=1"/>
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
</option>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.4825216" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.947802473" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
@@ -278,6 +408,10 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.179918099" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
@@ -316,6 +450,116 @@
</tool>
</toolChain>
</folderInfo>
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.release.764611173./ra/aws" name="aws" resourcePath="ra/aws">
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release.841262386" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release" unusedChildren="">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741.268489898" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718.595308363" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687.185182196" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115.1754931245" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481.222621468" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339.38834977" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593.953158158" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395.688900980" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095.1559633018" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360.105365571" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652.1806828881" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856.1777921757" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203.1029662828" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071.623619160" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456.669770466" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790.999346301" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294.309178141" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324.1502596531" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333.412791702" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091.1732565883" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920.101713400" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829.880634767" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071.676068018" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921.1992175329" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347.2002697044" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983.543790376" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543.70059659" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850.977893998" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596.481834515" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649.2070603189" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077.1946313977" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808.290542154" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177.1021894556" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558.1691638130" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611.1736056155" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.174676040" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.315036765">
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.746965816" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1200455962" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1007215142">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.453274674" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.99032971" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1968377712" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.619807753">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.470700972" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.851780040" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.918399890"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1866494507" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1156606973"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1864013800" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.219033935"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.408871102" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.840367062"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1594321218" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1457763339"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1270950787" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.993906098"/>
</toolChain>
</folderInfo>
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.release.764611173./ra/arm" name="arm" resourcePath="ra/arm">
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release.1304302803" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release" unusedChildren="">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741.724359540" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718.409707622" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687.223231316" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115.1425950636" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481.1840680707" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339.156648222" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593.703235600" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395.1067049168" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095.469915089" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360.824278182" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652.1981233456" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856.1327471490" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203.1783964207" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071.1509550005" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456.971576282" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790.1186674688" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294.1087918809" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324.1065544037" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333.1694531840" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091.1609130535" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920.2023387958" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829.2036079893" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071.1379940229" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921.101483448" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347.1969593843" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983.601301996" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543.520690415" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850.278085474" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596.989240394" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649.990632019" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077.1488784842" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808.1452456768" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177.239403668" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558.1096318820" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611.777405987" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.815468667" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.315036765">
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1447635171" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.423579013" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1007215142">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.1744967881" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.333027275" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.930430993" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.619807753">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.1898228441" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.220065215" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.918399890"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.921229835" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1156606973"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1275848948" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.219033935"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.2073472652" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.840367062"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1016269343" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1457763339"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.354014570" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.993906098"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="ra"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="ra_gen"/>

View File

@@ -24,29 +24,29 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|Board|EK-RA6M4|
|Device|R7FA6M4AF3CFB|
|Toolchain|GCC ARM Embedded|
|FSP Version|5.4.0|
|FSP Version|6.1.0|
#### Selected software components
|Components|Version|
|:--|:--|
|Board Support Package Common Files|v5.4.0|
|Secure Cryptography Engine on RA6 Protected Mode|v5.4.0|
|I/O Port|v5.4.0|
|Arm CMSIS Version 5 - Core (M)|v6.1.0+fsp.5.4.0|
|RA6M4-EK Board Support Files|v5.4.0|
|Board support package for R7FA6M4AF3CFB|v5.4.0|
|Board support package for RA6M4 - Events|v5.4.0|
|Board support package for RA6M4|v5.4.0|
|Board support package for RA6M4 - FSP Data|v5.4.0|
|FreeRTOS|v10.6.1+fsp.5.4.0|
|FreeRTOS - Memory Management - Heap 4|v10.6.1+fsp.5.4.0|
|r_ether to FreeRTOS+TCP Wrapper|v5.4.0|
|Ethernet|v5.4.0|
|Ethernet PHY|v5.4.0|
|FreeRTOS+TCP|v4.0.0+fsp.5.4.0|
|FreeRTOS - Buffer Allocation 2|v4.0.0+fsp.5.4.0|
|FreeRTOS Port|v5.4.0|
|Board Support Package Common Files|v6.1.0|
|Secure Cryptography Engine on RA6 Protected Mode|v6.1.0|
|I/O Port|v6.1.0|
|Arm CMSIS Version 5 - Core (M)|v6.1.0+fsp.6.1.0|
|RA6M4-EK Board Support Files|v6.1.0|
|Board support package for R7FA6M4AF3CFB|v6.1.0|
|Board support package for RA6M4 - Events|v6.1.0|
|Board support package for RA6M4|v6.1.0|
|Board support package for RA6M4 - FSP Data|v6.1.0|
|FreeRTOS|v11.1.0+fsp.6.1.0|
|FreeRTOS - Memory Management - Heap 4|v11.1.0+fsp.6.1.0|
|r_ether to FreeRTOS+TCP Wrapper|v6.1.0|
|Ethernet|v6.1.0|
|Ethernet PHY|v6.1.0|
|FreeRTOS+TCP|v4.3.3+fsp.6.1.0|
|FreeRTOS - Buffer Allocation 2|v4.3.3+fsp.6.1.0|
|FreeRTOS Port|v6.1.0|
## Setup Steps and Build wolfSSL Library
@@ -58,10 +58,11 @@ The wolfssl Project Summary is listed below and is relevant for every project.
2.) Create a `dummy_library` Static Library.
+ Click File->New->`RA C/C++ Project`.
+ Select `EK-RA6M4` from Drop-down list.
+ Check `Static Library`.
+ Select FreeRTOS from RTOS selection. Click Next.
+ Click File->New->`RA C/C++ Project`. Select `EK-RA6M4` from Drop-down list.
+ Select `Flat(Non-TrustZone) Project`. Click Next.
+ Select `None`. Click Next.
+ Check `Static Library`. Click Next.
+ Select `FreeRTOS` from RTOS selection. Click Next.
+ Check `FreeRTOS minimal - Static Allocation`. Click Finish.
+ Open Smart Configurator by clicking configuration.xml in the project
+ Go to `BSP` tab and increase Heap Size under `RA Common` on Properties page, e.g. 0x1000
@@ -82,7 +83,8 @@ The wolfssl Project Summary is listed below and is relevant for every project.
+ Add `Heap 4` stack to sce_tst_thread from `New Stack` -> `RTOS` -> `FreeRTOS Heap 4`
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties
+ Add Ethernet Driver by clicking `Add Ethernet Driver` element and select `New` -> `Ethernet(r_ether)`
+ Increase Heap size of `RA Common`. Go to `BSP` tab and inclease `RA Common` -> `Heap size (bytes)` to 0x2000
|Property|Value|
|:--|:--|
|Network Events call vApplicationIPNetworkEventHook|Disable|
@@ -97,15 +99,15 @@ The wolfssl Project Summary is listed below and is relevant for every project.
4.) Create a 'dummy_application' Renesas RA C Project Using RA Library.
+ Click File->New->`RA C/C++ Project`.
+ Select `EK-RA6M4` from Drop-down list.
+ Check `Executable Using an RA Static Library`.
+ Select FreeRTOS from RTOS selection. Click Finish.
+ Click File->New->`RA C/C++ Project`. Select `EK-RA6M4` from Drop-down list. Click Next.
+ Select `Flat(Non-TrustZone) Project`. Click Next
+ Select `None`. Click Next
+ Check `Executable Using an RA Static Library`. Select FreeRTOS from RTOS selection. Click Finish.
+ Enter `dummy_application` as the project name. Click Next.
+ Under `RA library project`, select `wolfSSL_RA6M4`.
+ Click Finish.
+ Under `RA library project`, select `wolfSSL_RA6M4`. Click Finish.
+ Copy the following folder and file at `dummy_application` to `test_RA6M4`\
script/\
Debug/\
src/sce_tst_thread_entry.c
+ Add `sce_test()` call under /* TODO: add your own code here */ line at sce_tst_thread_entry.c
@@ -131,29 +133,33 @@ The wolfssl Project Summary is listed below and is relevant for every project.
+ To place RTT block specific area, you can add the following line to `fsp.ld`:
```
.bss :
__ram_from_flash$$ :
{
. = ALIGN(4);
__bss_start__ = .;
*(.bss*)
*(COMMON)
KEEP(*(.rtt_block)) /* <-- for SEGGER_RTT control block */
. = ALIGN(4);
__bss_end__ = .;
} > RAM
__ram_from_flash$$Base = .;__ram_from_flash$$Load = LOADADDR(__ram_from_flash$$);
/* section.ram.from_flash */
*(.ram_from_flash)
/* section.ram.code_from_flash */
*(.txt.rtt_block) /* <-- for SEGGER_RTT control block */
*(.ram_code_from_flash)
*(.data*)
*(vtable)
__ram_from_flash$$Limit = .;
}> RAM AT > FLASH
```
Also, adding the following line to `SEGGER_RTT.c`:
```
SEGGER_RTT_CB _SEGGER_RTT __attribute__((section(".rtt_block")));
SEGGER_RTT_CB _SEGGER_RTT __attribute__((section(".txt.rtt_block")));
```
As the result, you can find the following similar line in the map file.
e.g.
[test_RA6M4.map]
```
.rtt_block 0x20023648 0xa8 ./src/SEGGER_RTT/SEGGER_RTT.o
0x20023648 _SEGGER_RTT
*(.txt.rtt_block)
.txt.rtt_block
0x20000000 0xa8 ./src/SEGGER_RTT/SEGGER_RTT.o
0x20000000 _SEGGER_RTT
````
you can specify "RTT control block" to 0x20023648 by Address
OR

View File

@@ -108,10 +108,10 @@
#define WC_USE_DEVID 7890
#define NO_AES_192
#define NO_SW_BENCH
#endif
#if defined(WOLFSSL_RENESAS_SCEPROTECT_CRYPTONLY)
/* Use SCE RSAES-PKCS1-V1_5 RSA Function */
#define WOLF_CRYPTO_CB_RSA_PAD
#define WOLFSSL_KEY_GEN
#define RSA_MIN_SIZE 512
#endif
#define CUSTOM_RAND_GENERATE_BLOCK wc_fspsm_GenerateRandBlock

View File

@@ -87,6 +87,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.1084991557" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.2023903025" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/key_data}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M4/Debug}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../common&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfSSL_RA6M4/src}&quot;"/>

View File

@@ -50,19 +50,6 @@ void abort(void);
int sce_crypt_test();
#endif
void R_BSP_WarmStart(bsp_warm_start_event_t event);
/* the function is called just before main() to set up pins */
/* this needs to be called to setup IO Port */
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
if (BSP_WARM_START_POST_C == event) {
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
}
}
#if defined(TLS_CLIENT)
@@ -150,18 +137,27 @@ void Clr_CallbackCtx(FSPSM_ST *g)
{
(void) g;
#if defined(WOLFSSL_RENESAS_SCEPROTECT_CRYPTONLY)
XFREE(g->wrapped_key_rsapri2048, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (g == NULL) return;
XFREE(g->wrapped_key_rsapub2048, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (g->wrapped_key_aes256 != NULL)
g->wrapped_key_aes256 = NULL;
XFREE(g->wrapped_key_rsapri1024, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (g->wrapped_key_aes128 != NULL)
g->wrapped_key_aes128 = NULL;
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
if (g->wrapped_key_rsapri2048 != NULL)
g->wrapped_key_rsapri2048 = NULL;
if (g->wrapped_key_rsapub2048 != NULL)
XFREE(g->wrapped_key_rsapub1024,
NULL, DYNAMIC_TYPE_TMP_BUFFER);
g->wrapped_key_rsapub2048 = NULL;
if (g->wrapped_key_rsapri1024 != NULL)
g->wrapped_key_rsapri1024 = NULL;
if (g->wrapped_key_rsapub2048 != NULL)
g->wrapped_key_rsapub2048 = NULL;
#endif
XMEMSET(g, 0, sizeof(FSPSM_ST));
}
#endif
@@ -262,9 +258,6 @@ void sce_test(void)
benchmark_test(NULL);
printf("End wolfCrypt Benchmark\n");
/* free */
Clr_CallbackCtx(&guser_PKCbInfo);
#elif defined(TLS_CLIENT)
#include "hal_data.h"
#include "r_sce.h"

View File

@@ -28,6 +28,7 @@
#include "wolfssl/wolfcrypt/settings.h"
#include "wolfssl/ssl.h"
#include "wolfssl/certs_test.h"
#include "wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h"
uint32_t g_encrypted_root_public_key[140];
WOLFSSL_CTX *client_ctx = NULL;
@@ -198,7 +199,6 @@ int wolfSSL_TLS_client_do(void *pvParam)
#if !defined(TLS_MULTITHREAD_TEST)
XMEMSET(&guser_PKCbInfo, 0, sizeof(FSPSM_ST));
guser_PKCbInfo.devId = 0;
wc_sce_set_callback_ctx(ssl, (void*)&guser_PKCbInfo);
#else

View File

@@ -37,8 +37,6 @@
#include "FreeRTOS.h"
static const int devId = 7890;
#ifndef NO_SHA
int sha_test();
#endif
@@ -63,10 +61,9 @@ static byte Aes256_Cbc_multTst_rslt = 0;
static byte Aes128_Gcm_multTst_rslt = 0;
static byte Aes256_Gcm_multTst_rslt = 0;
int sce_crypt_AesCbc_multitest();
int sce_crypt_AesGcm_multitest();
int sce_crypt_Sha_AesCbcGcm_multitest();
int sce_crypt_sha_multitest();
int sce_crypt_AesCbc_multitest(int devId);
int sce_crypt_AesGcm_multitest(int devId);
int sce_crypt_Sha_AesCbcGcm_multitest(int devId);
int sce_crypt_test();
int sce_crypt_sha256_multitest();
void tskSha256_Test1(void *pvParam);
@@ -97,12 +94,13 @@ FSPSM_ST gCbInfo_a; /* for multi testing */
#endif
typedef struct tagInfo
{
int devId;
sce_aes_wrapped_key_t aes_key;
} Info;
#if defined(HAVE_AES_CBC) && defined(WOLFSSL_AES_128)
static int sce_aes_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
static int sce_aes_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key, int devId)
{
Aes aes[1];
@@ -171,7 +169,7 @@ static void tskAes128_Cbc_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = sce_aes_cbc_test(0, &p->aes_key);
ret = sce_aes_cbc_test(0, &p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). sce_aes_cbc_test\n", ret);
@@ -186,7 +184,7 @@ static void tskAes128_Cbc_Test(void *pvParam)
#endif
#ifdef WOLFSSL_AES_256
static int sce_aes256_test(int prnt, FSPSM_AES_PWKEY aes_key)
static int sce_aes256_test(int prnt, FSPSM_AES_PWKEY aes_key, int devId)
{
Aes enc[1];
byte cipher[WC_AES_BLOCK_SIZE];
@@ -269,7 +267,7 @@ static void tskAes256_Cbc_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = sce_aes256_test(0, &p->aes_key);
ret = sce_aes256_test(0, &p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). sce_aes256_test\n", ret);
@@ -284,7 +282,7 @@ static void tskAes256_Cbc_Test(void *pvParam)
#endif /* WOLFSSL_AES_256 */
#if defined(WOLFSSL_AES_256)
static int sce_aesgcm256_test(int prnt, FSPSM_AES_PWKEY aes256_key)
static int sce_aesgcm256_test(int prnt, FSPSM_AES_PWKEY aes256_key, int devId)
{
Aes enc[1];
Aes dec[1];
@@ -451,7 +449,7 @@ static void tskAes256_Gcm_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = sce_aesgcm256_test(0, &p->aes_key);
ret = sce_aesgcm256_test(0, &p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). sce_aesgcm256_test\n", ret);
@@ -466,7 +464,7 @@ static void tskAes256_Gcm_Test(void *pvParam)
#if defined(WOLFSSL_AES_128)
static int sce_aesgcm128_test(int prnt, FSPSM_AES_PWKEY aes128_key)
static int sce_aesgcm128_test(int prnt, FSPSM_AES_PWKEY aes128_key, int devId)
{
Aes enc[1];
Aes dec[1];
@@ -597,7 +595,7 @@ static void tskAes128_Gcm_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = sce_aesgcm128_test(0, &p->aes_key);
ret = sce_aesgcm128_test(0, &p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). sce_aesgcm128_test\n", ret);
@@ -619,7 +617,7 @@ static void tskAes128_Gcm_Test(void *pvParam)
#define TEST_STRING_SZ 25
#define RSA_TEST_BYTES 256 /* up to 2048-bit key */
static int sce_rsa_test(int prnt, int keySize)
static int sce_rsa_test(int prnt, int keySize, int devId)
{
int ret = 0;
@@ -654,7 +652,7 @@ static int sce_rsa_test(int prnt, int keySize)
XMEMSET(out, 0, outSz);
XMEMSET(out2, 0, outSz);
ret = wc_InitRsaKey_ex(key, NULL, 7890/* fixed devid for TSIP/SCE*/);
ret = wc_InitRsaKey_ex(key, NULL, devId);
if (ret != 0) {
goto out;
}
@@ -699,7 +697,7 @@ out:
return ret;
}
static int sce_rsa_SignVerify_test(int prnt, int keySize)
static int sce_rsa_SignVerify_test(int prnt, int keySize, int devId)
{
int ret = 0;
@@ -730,7 +728,7 @@ static int sce_rsa_SignVerify_test(int prnt, int keySize)
XMEMCPY(in, inStr, inLen);
XMEMCPY(in2, inStr2, inLen);
ret = wc_InitRsaKey_ex(key, NULL, 7890/* fixed devid for TSIP/SCE*/);
ret = wc_InitRsaKey_ex(key, NULL, devId);
if (ret != 0) {
goto out;
}
@@ -781,6 +779,7 @@ static int sce_rsa_SignVerify_test(int prnt, int keySize)
int sce_crypt_test()
{
int ret = 0;
int devId = INVALID_DEVID;
fsp_err_t err;
Clr_CallbackCtx(&gCbInfo);
@@ -798,10 +797,8 @@ int sce_crypt_test()
/* sets wrapped rsa 1024 bits key */
gCbInfo.wrapped_key_rsapri1024 =
&g_wrapped_pair_1024key.priv_key;
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 1;
gCbInfo.wrapped_key_rsapub1024 =
&g_wrapped_pair_1024key.pub_key;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 1;
}
err = R_SCE_RSA2048_WrappedKeyPairGenerate(&g_wrapped_pair_2048key);
@@ -809,11 +806,8 @@ int sce_crypt_test()
/* sets wrapped rsa 1024 bits key */
gCbInfo.wrapped_key_rsapri2048 =
&g_wrapped_pair_2048key.priv_key;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 1;
gCbInfo.wrapped_key_rsapub2048 =
&g_wrapped_pair_2048key.pub_key;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 1;
}
/* Key generation for multi testing */
@@ -822,37 +816,46 @@ int sce_crypt_test()
SCE_KeyGeneration(&gCbInfo_a);
ret = wc_CryptoCb_CryptInitRenesasCmn(NULL, &gCbInfo);
if ( ret > 0)
ret = 0;
if ( ret > 0) {
devId = ret;
ret = 0;
}
if (ret == 0) {
printf(" sce_rsa_test(512)(this will be done"
" by SW because SCE doesn't support 512 bits key size.)");
ret = sce_rsa_test(1, 512);
ret = sce_rsa_test(1, 512, devId);
RESULT_STR(ret)
}
if (ret == 0) {
printf(" sce_rsa_test(1024)");
ret = sce_rsa_test(1, 1024);
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 0;
ret = sce_rsa_test(1, 1024, devId);
RESULT_STR(ret)
}
if (ret == 0) {
printf(" sce_rsa_SignVerify_test(1024)");
ret = sce_rsa_SignVerify_test(1, 1024);
ret = sce_rsa_SignVerify_test(1, 1024, devId);
RESULT_STR(ret)
}
if (ret == 0) {
printf(" sce_rsa_test(2048)");
ret = sce_rsa_test(1, 2048);
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 1;
ret = sce_rsa_test(1, 2048, devId);
RESULT_STR(ret)
}
if (ret == 0 && err == FSP_SUCCESS) {
printf(" sce_rsa_SignVerify_test(2048)");
ret = sce_rsa_SignVerify_test(1, 2048);
ret = sce_rsa_SignVerify_test(1, 2048, devId);
RESULT_STR(ret)
}
@@ -861,16 +864,16 @@ int sce_crypt_test()
ret = sha256_test();
RESULT_STR(ret)
#endif
ret = sce_aes_cbc_test(1, &g_user_aes128_key_index1);
ret = sce_aes_cbc_test(1, &g_user_aes128_key_index1, devId);
if (ret == 0) {
ret = sce_aes256_test(1, &g_user_aes256_key_index1);
ret = sce_aes256_test(1, &g_user_aes256_key_index1, devId);
}
if (ret == 0) {
ret = sce_aesgcm128_test(1, &g_user_aes128_key_index1);
ret = sce_aesgcm128_test(1, &g_user_aes128_key_index1, devId);
}
if (ret == 0) {
ret = sce_aesgcm256_test(1, &g_user_aes256_key_index1);
ret = sce_aesgcm256_test(1, &g_user_aes256_key_index1, devId);
}
printf(" \n");
if (ret == 0) {
@@ -879,22 +882,21 @@ int sce_crypt_test()
}
if (ret == 0) {
printf(" multi Aes cbc thread test\n");
ret = sce_crypt_AesCbc_multitest();
ret = sce_crypt_AesCbc_multitest(devId);
}
if (ret == 0) {
printf(" multi Aes Gcm thread test\n");
ret = sce_crypt_AesGcm_multitest();
ret = sce_crypt_AesGcm_multitest(devId);
}
if (ret == 0) {
printf(" multi sha aescbc aesgcm thread test\n");
sce_crypt_Sha_AesCbcGcm_multitest();
sce_crypt_Sha_AesCbcGcm_multitest(devId);
} else
ret = -1;
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
Clr_CallbackCtx(&gCbInfo);
Clr_CallbackCtx(&gCbInfo_a);
#endif
wc_CryptoCb_CleanupRenesasCmn(&devId);
Clr_CallbackCtx(&gCbInfo);
Clr_CallbackCtx(&gCbInfo_a);
return ret;
}
@@ -952,7 +954,7 @@ int sce_crypt_sha256_multitest()
sha256_multTst_rslt1 = 0;
sha256_multTst_rslt2 = 0;
exit_semaph = xSemaphoreCreateCounting(num, 0);
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
#ifndef NO_SHA256
@@ -991,7 +993,7 @@ int sce_crypt_sha256_multitest()
}
int sce_crypt_AesCbc_multitest()
int sce_crypt_AesCbc_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -1012,8 +1014,12 @@ int sce_crypt_AesCbc_multitest()
Aes128_Cbc_multTst_rslt = 0;
Aes256_Cbc_multTst_rslt = 0;
exit_semaph = xSemaphoreCreateCounting(num, 0);
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes1.devId = devId;
info_aes2.devId = devId;
info_aes256_1.devId = devId;
info_aes256_2.devId = devId;
#if defined(HAVE_AES_CBC) && defined(WOLFSSL_AES_128)
XMEMCPY(&info_aes1.aes_key, &g_user_aes128_key_index1,
@@ -1072,7 +1078,7 @@ int sce_crypt_AesCbc_multitest()
}
int sce_crypt_AesGcm_multitest()
int sce_crypt_AesGcm_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -1094,9 +1100,12 @@ int sce_crypt_AesGcm_multitest()
Aes128_Gcm_multTst_rslt = 0;
Aes256_Gcm_multTst_rslt = 0;
exit_semaph = xSemaphoreCreateCounting(num, 0);
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes1.devId = devId;
info_aes2.devId = devId;
info_aes256_1.devId = devId;
info_aes256_2.devId = devId;
#if defined(WOLFSSL_AES_128)
XMEMCPY(&info_aes1.aes_key, &g_user_aes128_key_index1,
sizeof(sce_aes_wrapped_key_t));
@@ -1155,7 +1164,7 @@ int sce_crypt_AesGcm_multitest()
return ret;
}
int sce_crypt_Sha_AesCbcGcm_multitest()
int sce_crypt_Sha_AesCbcGcm_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -1185,9 +1194,12 @@ int sce_crypt_Sha_AesCbcGcm_multitest()
Aes128_Gcm_multTst_rslt = 0;
Aes256_Gcm_multTst_rslt = 0;
exit_semaph = xSemaphoreCreateCounting(num, 0);
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes128cbc.devId = devId;
info_aes128gcm.devId = devId;
info_aes256cbc.devId = devId;
info_aes256gcm.devId = devId;
#ifndef NO_SHA256
xRet = xTaskCreate(tskSha256_Test1, "sha256_test1",
STACK_SIZE, NULL, 3, NULL);

View File

@@ -32,7 +32,7 @@
#endif
#if defined(SIMPLE_TLS_TSIP_CLIENT) || defined(SIMPLE_TLS_CLIENT)
#define SIMPLE_TLSSEVER_IP "192.168.11.11"
#define SIMPLE_TLSSEVER_IP "192.168.11.6"
#define SIMPLE_TLSSERVER_PORT "11111"
ER t4_tcp_callback(ID cepid, FN fncd , VP p_parblk);
@@ -308,10 +308,10 @@ void wolfSSL_TLS_client( )
#else
if (ret == 0) {
err = wolfSSL_use_PrivateKey_buffer(ssl, client_key_der_2048,
ret = wolfSSL_use_PrivateKey_buffer(ssl, client_key_der_2048,
sizeof_client_key_der_2048, WOLFSSL_FILETYPE_ASN1);
if (err != SSL_SUCCESS) {
if (ret != SSL_SUCCESS) {
printf("ERROR wolfSSL_use_PrivateKey_buffer: %d\n",
wolfSSL_get_error(ssl, 0));
ret = -1;

View File

@@ -1132,9 +1132,9 @@
<configuration inuse="true" name="r_bsp">
<component description="依存モジュール: なし&#10;The r_bsp package provides a foundation for code to be built on top of. It provides startup code, iodefines, and MCU information for different boards. There are 2 folders that make up the r_bsp package. The 'mcu' folder contains files that are common to a MCU group. These files provide functionality such as easy register access, CPU functions, and a file named 'mcu_info.h' for each MCU group. The 'mcu_info.h' file has information about the MCU on the board and is configured based on the information given in r_bsp_config.h. The information in 'mcu_info.h' is used to help configure Renesas middleware that uses the r_bsp package. The 'board' folder has a folder with startup code for each supported board. Which MCU and board is chosen is decided by the settings in 'platform.h'. The user can choose which board they are using by uncommenting the include path that applies to their board. For example, if you are using the RSK+RX64M then you would uncomment the #include &quot;./board/generic_rx64m/r_bsp.h&quot; include path. Users are encouraged to add their own boards to the 'board' directory. BSPs are configured by using the r_bsp_config.h file. Each board will have a reference configuration file named r_bsp_config_reference.h. The user should copy this file to their project, rename it to r_bsp_config.h, and use the options inside the file to configure the BSP for their project." detailDescription="Board Support Packages." display="r_bsp" id="r_bsp7.51" version="7.51">
<gridItem id="BSP_CFG_USER_STACK_ENABLE" selectedIndex="1"/>
<gridItem id="BSP_CFG_USTACK_BYTES" selectedIndex="0x4000"/>
<gridItem id="BSP_CFG_USTACK_BYTES" selectedIndex="0x2000"/>
<gridItem id="BSP_CFG_ISTACK_BYTES" selectedIndex="0x400"/>
<gridItem id="BSP_CFG_HEAP_BYTES" selectedIndex="0xf000"/>
<gridItem id="BSP_CFG_HEAP_BYTES" selectedIndex="0xff00"/>
<gridItem id="BSP_CFG_IO_LIB_ENABLE" selectedIndex="1"/>
<gridItem id="BSP_CFG_USER_CHARGET_ENABLED" selectedIndex="0"/>
<gridItem id="BSP_CFG_USER_CHARGET_FUNCTION" selectedIndex="my_sw_charget_function"/>

View File

@@ -21,37 +21,49 @@ The example project summary is listed below and is relevant for every project.
### Project Summary
|Item|Name/Version|
|:--|:--|
|e2Studio|2025-04.1 (25.4.1)|
|Board|RZN2L|
|Device|R9A07G084M08GBG|
|Toolchain|GCC for Renesas RZ|
|Toolchain Version|10.3.1.20210824|
|FSP Version|1.2.0|
|FSP Version|2.0.0|
#### Selected software components
|Components|Version|Note|
|:--|:--|:--|
|Board Support Package Common Files|v1.20||
|I/O Port|v1.2.0||
|Arm CMSIS Version 5 - Core (M)|v5.7.0+renesas.1||
|Board support package for R9A07G084M04GBG|v1.2.0|Note1|
|Board support package for RZN2L|v1.2.0||
|Board support package for RZN2L - FSP Data|v1.2.0||
|RSK+RZN2L Board Support Files (RAM execution without flash memory)|v1.2.0||
|FreeRTOS - Buffer Allocation 2|v1.2.0||
|FreeRTOS - Memory Management - Heap 4|v1.2.0||
|FreeRTOS+TCP|v1.2.0||
|Ethernet PHY |v1.2.0||
|Ethernet Selector|v1.2.0||
|Ethernet|v1.2.0||
|Ethernet Switch|v1.2.0||
|SCI UART|v1.2.0||
|r_ether to FreeRTOS+TCP Wrapper|v1.2.0||
|Renesas Secure IP Driver|v1.3.0+fsp.1.2.0|Need to contact Renesas to get RSIP module|
|RSIP Engine for RZ/N2L|v1.3.0+fsp.1.2.0|Need to contact Renesas to get RSIP module|
|Board Support Package Common Files|v2.0.0||
|I/O Port|v2.0.0||
|Arm CMSIS Version 5 - Core (M)|v5.7.0+renesas.1.fsp.2.0.0||
|Board support package for R9A07G084M04GBG|v2.0.0|Note1|
|Board support package for RZN2L|v2.0.0||
|Board support package for RZN2L - FSP Data|v2.0.0||
|RSK+RZN2L Board Support Files (xSPI0 x1 boot mode)|v2.0.0||
|FreeRTOS - Buffer Allocation 2|v2.0.0||
|FreeRTOS - Memory Management - Heap 4|v2.0.0||
|FreeRTOS+TCP|v2.0.0||
|Ethernet PHY |v2.0.0||
|Ethernet Selector|v2.0.0||
|Ethernet|v2.0.0||
|Ethernet Switch|v2.0.0||
|SCI UART|v2.0.0||
|r_ether to FreeRTOS+TCP Wrapper|v2.0.0||
|Renesas Secure IP Driver|v1.5.0+fsp.1.3.0||
|RSIP Engine for RZ/N2L|v1.5.0+fsp.1.3.0||
Note1:\
To use RSIP driver, a device type should be `R9A07G084M04GBG`. However, choosing `R9A07G084M04GBG` won't allow to select `RSK+RZN2L` board. This example uses LED and external flash memory on `RSK + RZN2L` board. Therefore, the example temporary `R9A07G084M04GBG` for the device type. Updating e2studio or fsp could resolve the issue.
To use RSIP driver, a device type should be `R9A07G084M08GBG`. However, choosing `R9A07G084M04GBG` won't allow to select `RSK+RZN2L` board. This example uses LED and external flash memory on `RSK + RZN2L` board. Therefore, the example temporary `R9A07G084M04GBG` for the device type. Updating e2studio or fsp could resolve the issue.
## Board Settings
This example program uses `xSPI0 boot`. Therefore, the board's switch and jumper settings required to run the sample program from external flash are shown below. For details on each setting, see the Renesas Starter Kit+ for RZN2L User's Manual.
|Project|SW4-1|SW4-2|SW4-3|SW4-4|SW4-7|
|:--|:--|:--|:--|:--|:--|
|xSPI0 boot mode|ON|ON|ON|ON|OFF|
|Project|CN8|CN24|
|:--|:--|:--|
|xSPI0 boot mode|Short 2-3|Short2-3|
## Setup Steps and Build wolfSSL Library
@@ -63,7 +75,7 @@ Note1:\
+ Click File->New->`RZ/N C/C++ FSP Project`.
+ Enter project name `dummy_application`.
+ Select Board: to `RSK+RZN2L (RAM execution without flash memory)`.
+ Select Board: to `RSK+RZN2L (xSPI0 x1 boot mode)`.
+ Select Device: to `R9A07G084M04GBG`. Click Next.
+ Check to `Executable`
+ Select FreeRTOS from RTOS selection. Click Finish.
@@ -93,31 +105,125 @@ Note1:\
+ Click `Generate Project Content` on FSP configuration GUI
3.) Prepare UART to logging
+ Download Sample package from [BACnet Start-Up](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/bacnet-start-rzn2l-rsk)
+ Download Example packages from [RZ/N2L Group Example program](https://www.renesas.com/us/en/document/scd/rzn2l-group-example-program?r=1622651) and unzip the archived file.
+ unzip RZN2L_RSK_sci_uart_Rev200.zip
+ unzip RZN2L_RSK_sci_uart_Rev200/basis/gcc/RZN2L_RSK_sci_uart_Rev200a.zip
+
+ Copy the following C source files from the project to src/serial_io folder of `test_RZN2L`\
um_serial_io_uart.c\
um_serial_io_task_writer.c\
um_serial_io_cfg.h\
um_common_api.h\
um_common_cfg.h\
um_serial_io.c\
um_serial_io.h\
um_serial_io_api.h\
um_serial_io_internal.h
sio_char.h\
siochar.c
4.) Prepare loader project
+ Download Example packages from [RZ/N2L Group Example of separating loader program and application program projects](https://www.renesas.com/en/document/scd/11691006?language=en&r=1622651) and unzip the archived file.
+ Unzip `RZN2L_loader_application\gcc\xspi0bootx1\Loader_application_projects.zip
+ Copy `RZN2L_bsp_xspi0bootx1_loader` and `RZN2L_bsp_xspi0bootx1_app` to `<wolfSSL>\IDE\Renesas\e2studio\RZN2L` folder
+ Import `RZN2L_bsp_xspi0bootx1_loader` from `e2studio`
+ Open um_serial_io_task_writer.c and re-name printf to uart_printf
## Build `test_RZN2L`
1). Modify `fsp/src/bsp/cmsis/Device/RENESAS/Source/cr/startup_core.c`:
ORIGINAL
```
BSP_TARGET_ARM BSP_ATTRIBUTE_STACKLESS void __Vectors (void)
{
__asm volatile (
" ldr pc,=Reset_Handler \n"
```
==>
3.) Build `test_RZN2L` project
MODIFIED
```
BSP_TARGET_ARM BSP_ATTRIBUTE_STACKLESS void __Vectors (void)
{
__asm volatile (
#if 0
" ldr pc,=Reset_Handler \n"
#else
" ldr pc,=local_system_init \n"
#endif
```
1). Modify `fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c`:
## Run `test_RZN2L`
ORIGINAL
```
void SystemInit (void)
{
#if BSP_CFG_EARLY_INIT
...
#if BSP_CFG_C_RUNTIME_INIT
1). Right click the project and Select menu `Debug` -> `Renesas GDB Hardware debugging`
/* Copy the loader data from external Flash to internal RAM. */
bsp_loader_data_init();
2). Select J-Link ARM and R9A07G084M04
/* Clear loader bss section in internal RAM. */
bsp_loader_bss_init();
#endif
...
#if !(BSP_CFG_RAM_EXECUTION)
3). Break at Entry point. Change `cpsr` register value from 0xXXXXX1yy to 0xXXXXX1da
/* Copy the application program from external Flash to internal RAM. */
bsp_copy_to_ram();
/* Clear bss section in internal RAM. */
bsp_application_bss_init();
#endif
...
}
```
==>
MODIFIED
```
BSP_TARGET_ARM void mpu_cache_init (void)
{
...
if BSP_CFG_C_RUNTIME_INIT && !defined(EXTERNAL_LOADER_APP)
/* Copy the loader data from external Flash to internal RAM. */
bsp_loader_data_init();
/* Clear loader bss section in internal RAM. */
bsp_loader_bss_init();
#endif
...
#if !(BSP_CFG_RAM_EXECUTION) && !defined(EXTERNAL_LOADER_APP)
/* Copy the application program from external Flash to internal RAM. */
/* bsp_copy_to_ram(); */
/* Clear bss section in internal RAM. */
bsp_application_bss_init();
#endif
...
}
```
2). Copy contenst of `fsp_xspi0_boot_app.ld` of `RZN2L_bsp_xspi0bootx1_app\script\` to `test_RZN2L\script\fsp_xspi0_boot.ld`
3). Right click the project and Select menu `Debug` -> `Renesas GDB Hardware debugging`
4). Select J-Link ARM and R9A07G084M04
5). Build `test_RZN2L`
## Build loader project
+ Modify `src/Flash_section.s`:
ORIGINAL
```
.incbin "../../RZN2L_bsp_xspi0bootx1_app/Debug/RZN2L_bsp_xspi0bootx1_app.bin"
```
==>
MODIFIED
```
.incbin "../../test/Debug/test_RZN2L.bin"
```
+ Modify `Load Image and Symbol`. Open `Debug Configuration` -> Open `Startup` tab -> Replace `RZN2L_bsp_xspi0bootx1_app.elf` to `test_RZN2L.elf`
## Run loader and `test_RZN2L`
+ Run the loader project
+ Loader download `test_RZN2L` binary from flash to system ram and execute it.
+ Note: It recommends to re-build the loader project when re-building `test_RZN2L`
## Run TLS 1.3 Client
1.) Enable `WOLFSSL_TLS13` macro in `user_settings.h`

View File

@@ -20,6 +20,7 @@
*/
/* Operating Environment and Threading */
#if defined(WOLFSSL_RENESAS_RSIP)
#define WOLFSSL_RENESAS_RZFSP_VER 200
/* FSP SM stands for Flexible Software Package Security Module
* WOLFSSL_RENESAS_FSPSM enables fundamental code when it uses.
* e.g. Open/Close/Random generator
@@ -104,7 +105,9 @@
#endif
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
#define WOLF_CRYPTO_CB_RSA_PAD
#define WOLFSSL_KEY_GEN
#define RSA_MIN_SIZE 512
#endif
int uart_printf (const char *__restrict format, ...);
@@ -112,4 +115,7 @@ int uart_printf (const char *__restrict format, ...);
#define printf uart_printf
#define TEST_SLEEP() vTaskDelay(50)
#if defined(WOLFSSL_RENESAS_RSIP)
#define CUSTOM_RAND_GENERATE_BLOCK wc_fspsm_GenerateRandBlock
#endif

View File

@@ -7,10 +7,11 @@ EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/.cproject
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/.project
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/rzn2l_tst_thread_entry.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfssl_dummy.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/local_system_init.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_client.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_server.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolfssl_rsip_unit_test.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/serial_io/.gitignore
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/serial_io/app_print.c
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfCrypt/.gitignore
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfSSL/.gitignore
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/common/wolfssl_demo.h

View File

@@ -43,7 +43,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.2133049482" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1476755314" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1180377769" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.385566364" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M04GBG" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.385566364" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M08GBG" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.85130646" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.438363043" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.734485543" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
@@ -66,6 +66,7 @@
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.878213280" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1404470165" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
@@ -96,17 +97,32 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.920863118" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC.15728131" name="Cross ARM C Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.2054256250" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.737680653" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
<listOptionValue builtIn="false" value="EXTERNAL_LOADER_APP"/>
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RSIP"/>
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RZN2L"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1392028571" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate&quot;"/>
@@ -142,6 +158,20 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1188589179" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
@@ -154,7 +184,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.1707323954" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2121320154" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.35544828" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;fsp_ram_execution.ld&quot;"/>
<listOptionValue builtIn="false" value="&quot;fsp_xspi0_boot.ld&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1169036561" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/script&quot;"/>
@@ -436,6 +466,7 @@
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles.1438841261" name="Standard archive (library) files (-l)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles" valueType="stringList"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys.1028106860" name="Do not use syscalls (--specs=nosys.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys" value="false" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat.584424940" name="Use float with nano printf (-u _printf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano.2085931869" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano" value="true" valueType="boolean"/>
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.1165207646" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
@@ -448,12 +479,16 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1744364271" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.1291406965" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.310553223" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;fsp_ram_execution.ld&quot;"/>
<listOptionValue builtIn="false" value="&quot;fsp_xspi0_boot.ld&quot;"/>
</option>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano.803193311" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano" value="true" valueType="boolean"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1683309259" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.495323055" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice.1427749577" name="Output file format (-O)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.srec" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice.1427749577" name="Output file format (-O)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.other.182390017" name="Other flags" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.other" valueType="stringList">
<listOptionValue builtIn="false" value="--gap-fill 0xff"/>
</option>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.listing.1833581304" name="Cross ARM GNU Create Listing" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.listing">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.421010994" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
@@ -784,7 +819,7 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.926371065" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1328296477" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1500121997" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.1664475593" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M04GBG" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.1664475593" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M08GBG" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.75533497" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.349814325" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.2115333421" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
@@ -807,6 +842,7 @@
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.305259748" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1749182888" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
@@ -837,6 +873,20 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.456671311" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
@@ -845,6 +895,7 @@
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.856881917" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1411892430" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate&quot;"/>
@@ -877,6 +928,20 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;.&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.179835817" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
@@ -889,11 +954,12 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.2140522055" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2072792159" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.1599876065" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;fsp_ram_execution.ld&quot;"/>
<listOptionValue builtIn="false" value="&quot;fsp_xspi0_boot.ld&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1202803303" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/script&quot;"/>
</option>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano.885232888" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano" value="true" valueType="boolean"/>
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.899703779" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
@@ -906,8 +972,9 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1225392189" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.827697822" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.963403495" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;fsp_ram_execution.ld&quot;"/>
<listOptionValue builtIn="false" value="&quot;fsp_xspi0_boot.ld&quot;"/>
</option>
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano.1785719899" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano" value="true" valueType="boolean"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1356408537" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.1736780445" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">

View File

@@ -1,243 +0,0 @@
/*
Linker File for Renesas RZ/N2L FSP
*/
MEMORY
{
ATCM : ORIGIN = 0x00000000, LENGTH = 0x00020000
BTCM : ORIGIN = 0x00100000, LENGTH = 0x00020000
SYSTEM_RAM : ORIGIN = 0x10000000, LENGTH = 0x00180000
SYSTEM_RAM_MIRROR : ORIGIN = 0x30000000, LENGTH = 0x00180000
xSPI0_CS0_SPACE_MIRROR : ORIGIN = 0x40000000, LENGTH = 0x04000000
xSPI0_CS1_SPACE_MIRROR : ORIGIN = 0x44000000, LENGTH = 0x04000000
xSPI1_CS0_SPACE_MIRROR : ORIGIN = 0x48000000, LENGTH = 0x04000000
xSPI1_CS1_SPACE_MIRROR : ORIGIN = 0x4C000000, LENGTH = 0x04000000
CS0_SPACE_MIRROR : ORIGIN = 0x50000000, LENGTH = 0x04000000
CS2_SPACE_MIRROR : ORIGIN = 0x54000000, LENGTH = 0x04000000
CS3_SPACE_MIRROR : ORIGIN = 0x58000000, LENGTH = 0x04000000
CS5_SPACE_MIRROR : ORIGIN = 0x5C000000, LENGTH = 0x04000000
xSPI0_CS0_SPACE : ORIGIN = 0x60000000, LENGTH = 0x04000000
xSPI0_CS1_SPACE : ORIGIN = 0x64000000, LENGTH = 0x04000000
xSPI1_CS0_SPACE : ORIGIN = 0x68000000, LENGTH = 0x04000000
xSPI1_CS1_SPACE : ORIGIN = 0x6C000000, LENGTH = 0x04000000
CS0_SPACE : ORIGIN = 0x70000000, LENGTH = 0x04000000
CS2_SPACE : ORIGIN = 0x74000000, LENGTH = 0x04000000
CS3_SPACE : ORIGIN = 0x78000000, LENGTH = 0x04000000
CS5_SPACE : ORIGIN = 0x7C000000, LENGTH = 0x04000000
}
SECTIONS
{
.loader_text 0x00102000 : AT (0x00102000)
{
*(.loader_text)
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.text*)
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.text*)
*/fsp/src/bsp/mcu/all/bsp_irq.o(.text*)
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.text*)
*/fsp/src/r_ioport/r_ioport.o(.text*)
KEEP(*(.warm_start))
} > BTCM
.loader_data :
{
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.data*)
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.data*)
*/fsp/src/bsp/mcu/all/bsp_irq.o(.data*)
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.data*)
*/fsp/src/r_ioport/r_ioport.o(.data*)
__loader_bss_start = .;
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.bss*)
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.bss*)
*/fsp/src/bsp/mcu/all/bsp_irq.o(.bss*)
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.bss*)
*/fsp/src/r_ioport/r_ioport.o(.bss*)
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(COMMON)
*/fsp/src/bsp/mcu/all/bsp_clocks.o(COMMON)
*/fsp/src/bsp/mcu/all/bsp_irq.o(COMMON)
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.COMMON)
*/fsp/src/r_ioport/r_ioport.o(.COMMON)
__loader_bss_end = . ;
} > BTCM
.intvec 0x00000000 : AT (0x00000000)
{
_fvector_start = .;
KEEP(*(.intvec))
_fvector_end = .;
} > ATCM
.text 0x30000000 : AT (0x30000000)
{
_text_start = .;
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
_ctor_end = .;
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
_dtor_end = .;
*(.rodata*)
_erodata = .;
KEEP(*(.eh_frame*))
} > SYSTEM_RAM_MIRROR
.rvectors :
{
_rvectors_start = .;
KEEP(*(.rvectors))
_rvectors_end = .;
} > SYSTEM_RAM_MIRROR
.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > SYSTEM_RAM_MIRROR
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} > SYSTEM_RAM_MIRROR
__exidx_end = .;
.got :
{
*(.got)
*(.got.plt)
_text_end = .;
} > SYSTEM_RAM_MIRROR
.data :
{
_data_start = .;
*(vtable)
*(.data.*)
*(.data)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
KEEP(*(.jcr*))
. = ALIGN(4);
/* All data end */
_data_end = .;
} > SYSTEM_RAM_MIRROR
.bss :
{
. = ALIGN(4);
__bss_start__ = .;
_bss = .;
*(.bss*)
*(COMMON)
. = ALIGN(4);
__bss_end__ = .;
_ebss = .;
_end = .;
} > SYSTEM_RAM_MIRROR
.heap (NOLOAD) :
{
. = ALIGN(8);
__HeapBase = .;
/* Place the STD heap here. */
KEEP(*(.heap))
__HeapLimit = .;
} > SYSTEM_RAM_MIRROR
.thread_stack (NOLOAD):
{
. = ALIGN(8);
__ThreadStackBase = .;
/* Place the Thread stacks here. */
KEEP(*(.stack*))
__ThreadStackLimit = .;
} > SYSTEM_RAM_MIRROR
.sys_stack (NOLOAD) :
{
. = ALIGN(8);
__SysStackBase = .;
/* Place the sys_stack here. */
KEEP(*(.sys_stack))
__SysStackLimit = .;
} > BTCM
.svc_stack (NOLOAD) :
{
. = ALIGN(8);
__SvcStackBase = .;
/* Place the svc_stack here. */
KEEP(*(.svc_stack))
__SvcStackLimit = .;
} > BTCM
.irq_stack (NOLOAD) :
{
. = ALIGN(8);
__IrqStackBase = .;
/* Place the irq_stack here. */
KEEP(*(.irq_stack))
__IrqStackLimit = .;
} > BTCM
.fiq_stack (NOLOAD) :
{
. = ALIGN(8);
__FiqStackBase = .;
/* Place the fiq_stack here. */
KEEP(*(.fiq_stack))
__FiqStackLimit = .;
} > BTCM
.und_stack (NOLOAD) :
{
. = ALIGN(8);
__UndStackBase = .;
/* Place the und_stack here. */
KEEP(*(.und_stack))
__UndStackLimit = .;
} > BTCM
.abt_stack (NOLOAD) :
{
. = ALIGN(8);
__AbtStackBase = .;
/* Place the abt_stack here. */
KEEP(*(.abt_stack))
__AbtStackLimit = .;
} > BTCM
.shared_noncache_buffer 0x300C0000 : AT (0x300C0000)
{
. = ALIGN(32);
_sncbuffer_start = .;
KEEP(*(.shared_noncache_buffer*))
_sncbuffer_end = .;
} > SYSTEM_RAM_MIRROR
.noncache_buffer 0x30100000 : AT (0x30100000)
{
. = ALIGN(32);
_ncbuffer_start = .;
KEEP(*(.noncache_buffer*))
_ncbuffer_end = .;
} > SYSTEM_RAM_MIRROR
}

View File

@@ -0,0 +1,54 @@
/* local_system_init.c
*
* Custom configuration for wolfCrypt/wolfSSL.
* Enabled via WOLFSSL_USER_SETTINGS.
*
*
* Copyright (C) 2024 wolfSSL Inc.
*
* This file is part of wolfBoot.
*
* wolfBoot 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 3 of the License, or
* (at your option) any later version.
*
* wolfBoot 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 "bsp_api.h"
void local_system_init (void);
BSP_TARGET_ARM void local_system_init (void)
{
#if 1
/* This software loops are only needed when debugging. */
__asm volatile (
" mov r0, #0 \n"
" movw r1, #0xf07f \n"
" movt r1, #0x2fa \n"
"software_loop: \n"
" adds r0, #1 \n"
" cmp r0, r1 \n"
" bne software_loop \n"
::: "memory");
#endif
__asm volatile (
"set_vbar: \n"
" LDR r0, =__Vectors \n"
" MCR p15, #0, r0, c12, c0, #0 \n" /* Write r0 to VBAR */
::: "memory");
__asm volatile (
"jump_stack_init: \n"
" ldr r0, =stack_init \n"
" blx r0 \n" /* Jump to stack_init */
);
}

View File

@@ -20,13 +20,10 @@
*/
#include "rzn2l_tst_thread.h"
#include "um_common_cfg.h"
#include "um_common_api.h"
#include "um_serial_io_api.h"
#include "um_serial_io.h"
#include "wolfssl_demo.h"
#include "user_settings.h"
#include "sio_char.h"
#include <stdio.h>
typedef struct func_args {
int argc;
@@ -34,23 +31,20 @@ typedef struct func_args {
int return_code;
} func_args;
static serial_io_instance_ctrl_t g_serial_io0_ctrl;
static serial_io_cfg_t const g_serial_io0_cfg =
{
.p_uart_instance = &g_uart0,
};
serial_io_instance_t const g_serial_io0 =
{
.p_ctrl = &g_serial_io0_ctrl,
.p_cfg = &g_serial_io0_cfg,
.p_api = &g_serial_io_on_serial_io,
};
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event)
BSP_PLACE_IN_SECTION(".warm_start");
FSP_CPP_FOOTER
void user_uart_callback (uart_callback_args_t * p_args);
void Clr_CallbackCtx(FSPSM_ST *g);
void RSIP_KeyGeneration(FSPSM_ST *g);
uint32_t volatile g_tx_complete = 0;
uint32_t volatile g_rx_complete = 0;
uint32_t g_ofband_index = 0;
uint8_t g_ofband_received[TRANSFER_LENGTH];
void R_BSP_WarmStart(bsp_warm_start_event_t event)
{
if (BSP_WARM_START_RESET == event) {
@@ -61,8 +55,47 @@ void R_BSP_WarmStart(bsp_warm_start_event_t event)
}
}
#if defined(TLS_CLIENT) || \
defined(TLS_SERVER)
void user_uart_callback (uart_callback_args_t* p_args)
{
/* Handle the UART event */
switch (p_args->event)
{
/* Received a character */
case UART_EVENT_RX_CHAR:
/* Only put the next character in the receive
* buffer if there is space for it
*/
if (sizeof(g_ofband_received) > g_ofband_index)
{
/* Write either the next one or two bytes
* depending on the receive data size
*/
if ((UART_DATA_BITS_7 == g_uart0_cfg.data_bits) ||
(UART_DATA_BITS_8 == g_uart0_cfg.data_bits))
{
g_ofband_received[g_ofband_index++] =
(uint8_t) p_args->data;
} else {
uint16_t * p_dest =
(uint16_t *)&g_ofband_received[g_ofband_index];
*p_dest = (uint16_t) p_args->data;
g_ofband_index += 2;
}
}
break;
/* Receive complete */
case UART_EVENT_RX_COMPLETE:
g_rx_complete = 1;
break;
/* Transmit complete */
case UART_EVENT_TX_COMPLETE:
g_tx_complete = 1;
break;
default:break;
}
}
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
extern uint8_t g_ether0_mac_address[6];
const byte ucIPAddress[4] = { 192, 168, 11, 241 };
const byte ucNetMask[4] = { 255, 255, 255, 0 };
@@ -82,9 +115,6 @@ void R_BSP_WarmStart(bsp_warm_start_event_t event)
FSPSM_ST guser_PKCbInfo;
#endif
void Clr_CallbackCtx(FSPSM_ST *g);
void RSIP_KeyGeneration(FSPSM_ST *g);
void RSIP_KeyGeneration(FSPSM_ST *g)
{
fsp_err_t rsip_error_code = FSP_SUCCESS;
@@ -201,39 +231,16 @@ void wolfSSL_TLS_cleanup()
#endif
serial_io_instance_t const * gp_serial_io0 = &g_serial_io0;
static void serial_init()
{
usr_err_t usr_err;
/** Open Serial I/O module. */
usr_err = gp_serial_io0->p_api->open
(gp_serial_io0->p_ctrl, gp_serial_io0->p_cfg );
if( USR_SUCCESS != usr_err )
{
USR_DEBUG_BLOCK_CPU();
}
/** Start Serial I/O module. */
usr_err = gp_serial_io0->p_api->start( gp_serial_io0->p_ctrl );
if( USR_SUCCESS != usr_err )
{
USR_DEBUG_BLOCK_CPU();
}
printf( " Started Serial I/O interface." );
}
/* rzn2l_tst_thread entry function */
/* pvParameters contains TaskHandle_t */
void rzn2l_tst_thread_entry(void *pvParameters)
{
FSP_PARAMETER_NOT_USED (pvParameters);
serial_init();
/* Open the transfer instance with initial configuration. */
R_SCI_UART_Open(&g_uart0_ctrl, &g_uart0_cfg);
#if defined(UNIT_TEST)
int ret;
printf("\n");
@@ -368,8 +375,7 @@ void rzn2l_tst_thread_entry(void *pvParameters)
TCPInit();
int TCP_connect_retry = 0;
printf("\n Start TLS Connection to %s port(%d)\n", SERVER_IP, DEFAULT_PORT);
printf("Start TLS Connection to %s port(%d)\n", SERVER_IP, DEFAULT_PORT);
wolfSSL_TLS_client_init();
do {
@@ -403,7 +409,7 @@ void rzn2l_tst_thread_entry(void *pvParameters)
int TCP_connect_retry = 0;
printf("\n Start TLS Accept at %03d.%03d.%03d.%03d port(%d)\n",
printf("Start TLS Accept at %03d.%03d.%03d.%03d port(%d)\n",
ucIPAddress[0],
ucIPAddress[1],
ucIPAddress[2],

View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -0,0 +1,83 @@
/* app_print.c
*
* Copyright (C) 2006-2025 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 3 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 <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include "hal_data.h"
static char g_uart_buf[256]; ///< uart tx buffer
extern volatile uint32_t g_tx_complete;
void uart_printf( const char *format, ... );
void uart_printf( const char *format, ... )
{
va_list va;
uint32_t bytes;
uint32_t offset, len, skip;
char chara;
const char ch = '\r';
char* p;
va_start( va, format );
bytes = (uint32_t)vsprintf(g_uart_buf, format, va);
va_end( va );
if (bytes > 0) {
p = &g_uart_buf[0];
offset = 0;
skip = 0;
do {
len = 0;
skip = 0;
for (;offset < bytes; offset++, len++) {
chara = g_uart_buf[offset];
if ('\n' == chara) {
skip = 1;
len += 1;
break;
}
if ('\r' == chara && (offset + 1) < bytes &&
'\n' == g_uart_buf[offset + 1]){
skip = 2;
len += 2;
break;
}
}
/* write buffer without LF */
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*)p, len);
while(!g_tx_complete);
g_tx_complete = 0;
if (skip > 0) {
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*)&ch, 1);
while(!g_tx_complete);
}
p += (len + skip);
offset += skip;
} while(offset < bytes);
}
g_tx_complete = 0;
}

View File

@@ -37,7 +37,6 @@
#include "FreeRTOS.h"
extern FSPSM_INSTANCE gFSPSM_ctrl;
int devId1 = INVALID_DEVID;
#ifndef NO_SHA
int sha_test();
@@ -74,14 +73,14 @@ static byte Aes256_Cbc_multTst_rslt = 0;
static byte Aes128_Gcm_multTst_rslt = 0;
static byte Aes256_Gcm_multTst_rslt = 0;
int rsip_crypt_AesCbc_multitest();
int rsip_crypt_AesGcm_multitest();
int rsip_crypt_Sha_AesCbcGcm_multitest();
int rsip_crypt_AesCbc_multitest(int devId);
int rsip_crypt_AesGcm_multitest(int devId);
int rsip_crypt_Sha_AesCbcGcm_multitest(int devId);
int rsip_crypt_sha_multitest();
int rsip_crypt_test();
void Clr_CallbackCtx(FSPSM_ST *g);
void RSIP_KeyGeneration(FSPSM_ST *g);
FSPSM_ST gCbInfo;
FSPSM_ST gCbInfo_a; /* for multi testing */
@@ -124,12 +123,13 @@ FSPSM_ST gCbInfo_a; /* for multi testing */
#endif
typedef struct tagInfo
{
int devId;
FSPSM_AES_PWKEY aes_key;
} Info;
#if defined(HAVE_AES_CBC) && defined(WOLFSSL_AES_128)
static int rsip_aes128_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
static int rsip_aes128_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key, int devId)
{
Aes aes[1];
@@ -154,7 +154,7 @@ static int rsip_aes128_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
printf(" rsip_aes_cbc_test() ");
}
ret = wc_AesInit(aes, NULL, devId1);
ret = wc_AesInit(aes, NULL, devId);
if (ret == 0) {
ret = wc_AesSetKey(aes, (byte*)aes_key, keySz,
iv, AES_ENCRYPTION);
@@ -169,7 +169,7 @@ static int rsip_aes128_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
ret = -1;
#ifdef HAVE_AES_DECRYPT
ret = wc_AesInit(aes, NULL, devId1);
ret = wc_AesInit(aes, NULL, devId);
if (ret == 0) {
ret = wc_AesSetKey(aes, (byte*)aes_key, keySz,
iv, AES_DECRYPTION);
@@ -199,7 +199,7 @@ static void tskAes128_Cbc_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = rsip_aes128_cbc_test(0, p->aes_key);
ret = rsip_aes128_cbc_test(0, p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). rsip_aes_cbc_test\n", ret);
@@ -214,7 +214,7 @@ static void tskAes128_Cbc_Test(void *pvParam)
#endif
#ifdef WOLFSSL_AES_256
static int rsip_aes256_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
static int rsip_aes256_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key, int devId)
{
Aes enc[1];
byte cipher[WC_AES_BLOCK_SIZE];
@@ -237,12 +237,12 @@ static int rsip_aes256_cbc_test(int prnt, FSPSM_AES_PWKEY aes_key)
if (prnt)
printf(" rsip_aes256_test() ");
if (wc_AesInit(enc, NULL, devId1) != 0) {
if (wc_AesInit(enc, NULL, devId) != 0) {
ret = -1;
goto out;
}
if (wc_AesInit(dec, NULL, devId1) != 0){
if (wc_AesInit(dec, NULL, devId) != 0){
ret = -2;
goto out;
}
@@ -298,7 +298,7 @@ static void tskAes256_Cbc_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = rsip_aes256_cbc_test(0, p->aes_key);
ret = rsip_aes256_cbc_test(0, p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). rsip_aes256_test\n", ret);
@@ -313,7 +313,7 @@ static void tskAes256_Cbc_Test(void *pvParam)
#endif /* WOLFSSL_AES_256 */
#if defined(WOLFSSL_AES_256)
static int rsip_aesgcm256_test(int prnt, FSPSM_AES_PWKEY aes256_key)
static int rsip_aesgcm256_test(int prnt, FSPSM_AES_PWKEY aes256_key, int devId)
{
Aes enc[1];
Aes dec[1];
@@ -384,11 +384,11 @@ static int rsip_aesgcm256_test(int prnt, FSPSM_AES_PWKEY aes256_key)
XMEMSET(resultP, 0, sizeof(resultP));
XMEMSET(&userContext, 0, sizeof(FSPSM_ST));
if (wc_AesInit(enc, NULL, devId1) != 0) {
if (wc_AesInit(enc, NULL, devId) != 0) {
ret = -1;
goto out;
}
if (wc_AesInit(dec, NULL, devId1) != 0) {
if (wc_AesInit(dec, NULL, devId) != 0) {
ret = -2;
goto out;
}
@@ -478,7 +478,7 @@ static void tskAes256_Gcm_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = rsip_aesgcm256_test(0, p->aes_key);
ret = rsip_aesgcm256_test(0, p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). rsip_aesgcm256_test\n", ret);
@@ -493,7 +493,7 @@ static void tskAes256_Gcm_Test(void *pvParam)
#if defined(WOLFSSL_AES_128)
static int rsip_aesgcm128_test(int prnt, FSPSM_AES_PWKEY aes128_key)
static int rsip_aesgcm128_test(int prnt, FSPSM_AES_PWKEY aes128_key, int devId)
{
Aes enc[1];
Aes dec[1];
@@ -570,12 +570,12 @@ static int rsip_aesgcm128_test(int prnt, FSPSM_AES_PWKEY aes128_key)
XMEMSET(resultP, 0, sizeof(resultP));
XMEMSET(&userContext, 0, sizeof(FSPSM_ST));
if (wc_AesInit(enc, NULL, devId1) != 0) {
if (wc_AesInit(enc, NULL, devId) != 0) {
ret = -1;
goto out;
}
if (wc_AesInit(dec, NULL, devId1) != 0) {
if (wc_AesInit(dec, NULL, devId) != 0) {
ret = -2;
goto out;
}
@@ -624,7 +624,7 @@ static void tskAes128_Gcm_Test(void *pvParam)
Info *p = (Info*)pvParam;
while (exit_loop == 0) {
ret = rsip_aesgcm128_test(0, p->aes_key);
ret = rsip_aesgcm128_test(0, p->aes_key, p->devId);
vTaskDelay(10/portTICK_PERIOD_MS);
if (ret != 0) {
printf(" result was not good(%d). rsip_aesgcm128_test\n", ret);
@@ -646,7 +646,7 @@ static void tskAes128_Gcm_Test(void *pvParam)
#define TEST_STRING_SZ 25
#define RSA_TEST_BYTES 256 /* up to 2048-bit key */
static int rsip_rsa_test(int prnt, int keySize)
static int rsip_rsa_test(int prnt, int keySize, int devId)
{
int ret = 0;
@@ -656,7 +656,6 @@ static int rsip_rsa_test(int prnt, int keySize)
const char inStr2[] = TEST_STRING2;
const word32 inLen = (word32)TEST_STRING_SZ;
const word32 outSz = RSA_TEST_BYTES;
word32 out_actual_len = 0;
byte *in = NULL;
byte *in2 = NULL;
byte *out= NULL;
@@ -680,7 +679,7 @@ static int rsip_rsa_test(int prnt, int keySize)
XMEMSET(out, 0, outSz);
XMEMSET(out2, 0, outSz);
ret = wc_InitRsaKey_ex(key, NULL, 7890/* fixed devid for TSIP/SCE*/);
ret = wc_InitRsaKey_ex(key, NULL, devId);
if (ret != 0) {
goto out;
}
@@ -727,13 +726,12 @@ out:
return ret;
}
static int rsip_rsa_SignVerify_test(int prnt, int keySize)
static int rsip_rsa_SignVerify_test(int prnt, int keySize, int devId)
{
int ret = 0;
RsaKey *key = (RsaKey *)XMALLOC(sizeof *key, NULL, DYNAMIC_TYPE_TMP_BUFFER);
WC_RNG rng;
word32 sigSz;
const char inStr [] = TEST_STRING;
const char inStr2[] = TEST_STRING2;
const word32 inLen = (word32)TEST_STRING_SZ;
@@ -760,7 +758,7 @@ static int rsip_rsa_SignVerify_test(int prnt, int keySize)
XMEMCPY(in, inStr, inLen);
XMEMCPY(in2, inStr2, inLen);
ret = wc_InitRsaKey_ex(key, NULL, 7890/* fixed devid for TSIP/SCE*/);
ret = wc_InitRsaKey_ex(key, NULL, devId);
if (ret != 0) {
goto out;
}
@@ -781,7 +779,7 @@ static int rsip_rsa_SignVerify_test(int prnt, int keySize)
if (ret < 0) {
goto out;
}
sigSz = (word32)ret;
//* this should fail */
ret = wc_RsaSSL_Verify(in2, inLen, out, (word32)(keySize/8), key);
if (ret != FSP_ERR_CRYPTO_RSIP_FAIL) {
@@ -902,7 +900,7 @@ int rsip_crypt_sha256_multitest()
}
int rsip_crypt_AesCbc_multitest()
int rsip_crypt_AesCbc_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -925,7 +923,10 @@ int rsip_crypt_AesCbc_multitest()
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes1.devId = devId;
info_aes2.devId = devId;
info_aes256_1.devId = devId;
info_aes256_2.devId = devId;
#if defined(HAVE_AES_CBC) && defined(WOLFSSL_AES_128)
XMEMCPY(&info_aes1.aes_key, &g_user_aes128_key_index1,
sizeof(FSPSM_AES_PWKEY));
@@ -983,7 +984,7 @@ int rsip_crypt_AesCbc_multitest()
}
int rsip_crypt_AesGcm_multitest()
int rsip_crypt_AesGcm_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -1007,7 +1008,10 @@ int rsip_crypt_AesGcm_multitest()
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes1.devId = devId;
info_aes2.devId = devId;
info_aes256_1.devId = devId;
info_aes256_2.devId = devId;
#if defined(WOLFSSL_AES_128)
XMEMCPY(&info_aes1.aes_key, &g_user_aes128_key_index1,
sizeof(FSPSM_AES_PWKEY));
@@ -1066,7 +1070,7 @@ int rsip_crypt_AesGcm_multitest()
return ret;
}
int rsip_crypt_Sha_AesCbcGcm_multitest()
int rsip_crypt_Sha_AesCbcGcm_multitest(int devId)
{
int ret = 0;
int num = 0;
@@ -1098,7 +1102,10 @@ int rsip_crypt_Sha_AesCbcGcm_multitest()
exit_semaph = xSemaphoreCreateCounting((UBaseType_t)num, 0);
xRet = pdPASS;
info_aes128cbc.devId = devId;
info_aes128gcm.devId = devId;
info_aes256cbc.devId = devId;
info_aes256gcm.devId = devId;
#ifndef NO_SHA256
xRet = xTaskCreate(tskSha256_Test1, "sha256_test1",
STACK_SIZE, NULL, 3, NULL);
@@ -1174,12 +1181,13 @@ int rsip_crypt_Sha_AesCbcGcm_multitest()
int rsip_crypt_test()
{
int ret = 0;
int devId = INVALID_DEVID;
fsp_err_t rsip_error_code = FSP_SUCCESS;
/* Generate AES sce Key */
if (rsip_error_code == FSP_SUCCESS) {
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
/* set up Crypt Call back */
Clr_CallbackCtx(&gCbInfo);
Clr_CallbackCtx(&gCbInfo_a);
@@ -1204,43 +1212,54 @@ int rsip_crypt_test()
ret = wc_CryptoCb_CryptInitRenesasCmn(NULL, &gCbInfo);
if ( ret > 0) {
devId1 = ret;
devId = ret;
ret = 0;
}
#if RSA_MIN_SIZE < 1024
if (ret == 0) {
printf(" rsip_rsa_test(512)(this will be done"
" by SW because RSIP doesn't support 512 bits key size.)");
ret = rsip_rsa_test(1, 512);
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 0;
ret = rsip_rsa_test(1, 512, devId);
RESULT_STR(ret)
}
#endif
#if RSA_MIN_SIZE <= 1024
if (ret == 0) {
printf(" rsip_rsa_test(1024)");
ret = rsip_rsa_test(1, 1024);
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 0;
ret = rsip_rsa_test(1, 1024, devId);
RESULT_STR(ret)
}
if (ret == 0) {
printf(" rsip_rsa_test(2048)");
ret = rsip_rsa_test(1, 2048);
RESULT_STR(ret)
}
if (ret == 0) {
gCbInfo.hash_type = RSIP_HASH_TYPE_SHA256 ;
printf(" rsip_rsa_SignVerify_test(1024)");
ret = rsip_rsa_SignVerify_test(1, 1024);
ret = rsip_rsa_SignVerify_test(1, 1024, devId);
RESULT_STR(ret)
}
#endif
if (ret == 0) {
printf(" rsip_rsa_test(2048)");
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 0;
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 1;
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 1;
ret = rsip_rsa_test(1, 2048, devId);
RESULT_STR(ret)
}
if (ret == 0 && rsip_error_code == FSP_SUCCESS) {
printf(" rsip_rsa_SignVerify_test(2048)");
ret = rsip_rsa_SignVerify_test(1, 2048);
ret = rsip_rsa_SignVerify_test(1, 2048, devId);
RESULT_STR(ret)
}
#endif /* WOLFSSL_RENESAS_RSIP_CRYPTONLY */
#endif /* WOLFSSL_RENESAS_RSIP_CRYPTONLY */
#ifndef NO_SHA256
printf(" sha256_test()");
@@ -1263,18 +1282,18 @@ int rsip_crypt_test()
RESULT_STR(ret)
#endif
ret = rsip_aes128_cbc_test(1, g_user_aes128_key_index1);
ret = rsip_aes128_cbc_test(1, g_user_aes128_key_index1, devId);
if (ret == 0) {
ret = rsip_aes256_cbc_test(1, g_user_aes256_key_index1);
ret = rsip_aes256_cbc_test(1, g_user_aes256_key_index1, devId);
}
if (ret == 0) {
ret = rsip_aesgcm128_test(1, g_user_aes128_key_index1);
ret = rsip_aesgcm128_test(1, g_user_aes128_key_index1, devId);
}
if (ret == 0) {
ret = rsip_aesgcm256_test(1, g_user_aes256_key_index1);
ret = rsip_aesgcm256_test(1, g_user_aes256_key_index1, devId);
}
if (ret == 0) {
@@ -1284,20 +1303,25 @@ int rsip_crypt_test()
if (ret == 0) {
printf(" multi Aes cbc thread test\n");
ret = rsip_crypt_AesCbc_multitest();
ret = rsip_crypt_AesCbc_multitest(devId);
}
if (ret == 0) {
printf(" multi Aes Gcm thread test\n");
ret = rsip_crypt_AesGcm_multitest();
ret = rsip_crypt_AesGcm_multitest(devId);
}
if (ret == 0) {
printf("rsip_crypt_Sha_AesCbcGcm_multitest\n");
ret = rsip_crypt_Sha_AesCbcGcm_multitest();
printf(" multi Sha AesCbcGcm thread test\n");
ret = rsip_crypt_Sha_AesCbcGcm_multitest(devId);
}
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
/*
* Need to be cleaned up before context clear
* for internal instance
*/
wc_CryptoCb_CleanupRenesasCmn(&devId);
Clr_CallbackCtx(&gCbInfo);
Clr_CallbackCtx(&gCbInfo_a);
#endif

View File

@@ -21,13 +21,30 @@
#include <wolfssl/wolfcrypt/wc_port.h>
#define YEAR 2023
#define MON 9
static int tick = 0;
#define YEAR ( \
((__DATE__)[7] - '0') * 1000 + \
((__DATE__)[8] - '0') * 100 + \
((__DATE__)[9] - '0') * 10 + \
((__DATE__)[10] - '0') * 1 \
)
#define MONTH ( \
__DATE__[2] == 'n' ? (__DATE__[1] == 'a' ? 1 : 6) \
: __DATE__[2] == 'b' ? 2 \
: __DATE__[2] == 'r' ? (__DATE__[0] == 'M' ? 3 : 4) \
: __DATE__[2] == 'y' ? 5 \
: __DATE__[2] == 'l' ? 7 \
: __DATE__[2] == 'g' ? 8 \
: __DATE__[2] == 'p' ? 9 \
: __DATE__[2] == 't' ? 10 \
: __DATE__[2] == 'v' ? 11 \
: 12 \
)
time_t time(time_t *t)
{
(void)t;
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
return ((YEAR-1970)*365+30*MONTH)*24*60*60 + tick++;
}

View File

@@ -100,6 +100,7 @@ The section for "Hardware platform" may need to be adjusted depending on your pr
* To enable STM32U5 support define `WOLFSSL_STM32U5`.
* To enable STM32H5 support define `WOLFSSL_STM32H5`.
* To enable STM32MP13 support define `WOLFSSL_STM32MP13`.
* To enable STM32N6 support define `WOLFSSL_STM32N6`.
To use the STM32 Cube HAL support make sure `WOLFSSL_STM32_CUBEMX` is defined.
@@ -195,7 +196,9 @@ Note: The Benchmark example uses float. To enable go to "Project Properties" ->
## STM32 Printf
In main.c make the following changes:
Generation of code for a NUCLEO board provides a BSP option for generating printf support for the virtual com port. To use this set `#define HAL_CONSOLE_UART hcom_uart`.
If setting the printf support manually make the following changes in `main.c`.
This section needs to go below the `UART_HandleTypeDef` line, otherwise `wolfssl/wolfcrypt/settings.h` will error.

View File

@@ -13,6 +13,7 @@
* [STM32WB55](#stm32wb55)
* [STM32WBA52](#stm32wba52)
* [STM32WL55](#stm32wl55)
* [STM32N657](#stm32n657)
## STM32H753ZI
@@ -1248,51 +1249,75 @@ Benchmark Test: Return code 0
## STM32H563ZI
Cortex-M33 at 150MHz
Cortex-M33 at 250MHz with STM32 RNG, Hash and PKA
### STM32H563ZI (No STM HW Crypto, SP Math ASM Cortex M)
### STM32H563ZI (STM32 RNG and Hash, SP Math ASM Cortex M)
```
------------------------------------------------------------------------------
wolfSSL version 5.6.0
wolfSSL version 5.8.2
------------------------------------------------------------------------------
Running wolfCrypt Benchmarks...
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 2 MB took 1.011 seconds, 1.950 MB/s
AES-128-CBC-enc 4 MB took 1.000 seconds, 3.686 MB/s
AES-128-CBC-dec 4 MB took 1.004 seconds, 3.723 MB/s
AES-192-CBC-enc 3 MB took 1.004 seconds, 3.187 MB/s
AES-192-CBC-dec 3 MB took 1.000 seconds, 3.046 MB/s
AES-256-CBC-enc 3 MB took 1.000 seconds, 2.816 MB/s
AES-256-CBC-dec 3 MB took 1.004 seconds, 2.728 MB/s
AES-128-GCM-enc 2 MB took 1.000 seconds, 2.048 MB/s
AES-128-GCM-dec 2 MB took 1.004 seconds, 2.091 MB/s
AES-192-GCM-enc 2 MB took 1.008 seconds, 1.879 MB/s
AES-192-GCM-dec 2 MB took 1.011 seconds, 1.874 MB/s
AES-256-GCM-enc 2 MB took 1.000 seconds, 1.741 MB/s
AES-256-GCM-dec 2 MB took 1.012 seconds, 1.745 MB/s
AES-128-GCM-enc-no_AAD 2 MB took 1.008 seconds, 2.057 MB/s
AES-128-GCM-dec-no_AAD 2 MB took 1.008 seconds, 2.108 MB/s
AES-192-GCM-enc-no_AAD 2 MB took 1.000 seconds, 1.894 MB/s
AES-192-GCM-dec-no_AAD 2 MB took 1.000 seconds, 1.894 MB/s
AES-256-GCM-enc-no_AAD 2 MB took 1.004 seconds, 1.759 MB/s
AES-256-GCM-dec-no_AAD 2 MB took 1.004 seconds, 1.759 MB/s
GMAC Table 4-bit 4 MB took 1.000 seconds, 4.400 MB/s
CHACHA 8 MB took 1.000 seconds, 8.448 MB/s
CHA-POLY 6 MB took 1.000 seconds, 5.683 MB/s
POLY1305 26 MB took 1.000 seconds, 25.574 MB/s
SHA-256 5 MB took 1.004 seconds, 4.972 MB/s
HMAC-SHA256 5 MB took 1.000 seconds, 4.941 MB/s
RSA 2048 public 122 ops took 1.000 sec, avg 8.197 ms, 122.000 ops/sec
RSA 2048 private 4 ops took 1.231 sec, avg 307.750 ms, 3.249 ops/sec
DH 2048 key gen 7 ops took 1.000 sec, avg 142.857 ms, 7.000 ops/sec
DH 2048 agree 8 ops took 1.141 sec, avg 142.625 ms, 7.011 ops/sec
ECC [ SECP256R1] 256 key gen 204 ops took 1.000 sec, avg 4.902 ms, 204.000 ops/sec
ECDHE [ SECP256R1] 256 agree 94 ops took 1.007 sec, avg 10.713 ms, 93.347 ops/sec
ECDSA [ SECP256R1] 256 sign 136 ops took 1.012 sec, avg 7.441 ms, 134.387 ops/sec
ECDSA [ SECP256R1] 256 verify 66 ops took 1.012 sec, avg 15.333 ms, 65.217 ops/sec
RNG 400 KiB took 1.015 seconds, 394.089 KiB/s
AES-128-CBC-enc 3 MiB took 1.000 seconds, 2.881 MiB/s
AES-128-CBC-dec 3 MiB took 1.004 seconds, 2.723 MiB/s
AES-192-CBC-enc 3 MiB took 1.000 seconds, 2.515 MiB/s
AES-192-CBC-dec 2 MiB took 1.004 seconds, 2.286 MiB/s
AES-256-CBC-enc 2 MiB took 1.004 seconds, 2.237 MiB/s
AES-256-CBC-dec 2 MiB took 1.004 seconds, 2.116 MiB/s
AES-128-GCM-enc 2 MiB took 1.008 seconds, 1.695 MiB/s
AES-128-GCM-dec 2 MiB took 1.008 seconds, 1.671 MiB/s
AES-192-GCM-enc 2 MiB took 1.004 seconds, 1.556 MiB/s
AES-192-GCM-dec 2 MiB took 1.004 seconds, 1.532 MiB/s
AES-256-GCM-enc 1 MiB took 1.008 seconds, 1.405 MiB/s
AES-256-GCM-dec 1 MiB took 1.015 seconds, 1.419 MiB/s
AES-128-GCM-enc-no_AAD 2 MiB took 1.000 seconds, 1.709 MiB/s
AES-128-GCM-dec-no_AAD 2 MiB took 1.004 seconds, 1.678 MiB/s
AES-192-GCM-enc-no_AAD 2 MiB took 1.000 seconds, 1.562 MiB/s
AES-192-GCM-dec-no_AAD 2 MiB took 1.000 seconds, 1.538 MiB/s
AES-256-GCM-enc-no_AAD 1 MiB took 1.004 seconds, 1.410 MiB/s
AES-256-GCM-dec-no_AAD 1 MiB took 1.007 seconds, 1.430 MiB/s
GMAC Table 4-bit 4 MiB took 1.000 seconds, 3.897 MiB/s
AES-128-CFB 950 KiB took 1.008 seconds, 942.460 KiB/s
AES-192-CFB 3 MiB took 1.008 seconds, 2.495 MiB/s
AES-256-CFB 2 MiB took 1.000 seconds, 2.222 MiB/s
CHACHA 9 MiB took 1.000 seconds, 9.009 MiB/s
CHA-POLY 6 MiB took 1.000 seconds, 5.591 MiB/s
MD5 20 MiB took 1.000 seconds, 20.312 MiB/s
POLY1305 24 MiB took 1.000 seconds, 23.584 MiB/s
SHA 21 MiB took 1.000 seconds, 21.045 MiB/s
SHA-224 21 MiB took 1.000 seconds, 20.752 MiB/s
SHA-256 21 MiB took 1.000 seconds, 20.703 MiB/s
SHA-384 22 MiB took 1.000 seconds, 21.729 MiB/s
SHA-512 22 MiB took 1.000 seconds, 21.631 MiB/s
SHA-512/224 22 MiB took 1.000 seconds, 21.655 MiB/s
SHA-512/256 22 MiB took 1.000 seconds, 21.655 MiB/s
SHA3-224 2 MiB took 1.000 seconds, 2.026 MiB/s
SHA3-256 2 MiB took 1.008 seconds, 1.913 MiB/s
SHA3-384 1 MiB took 1.008 seconds, 1.477 MiB/s
SHA3-512 1 MiB took 1.016 seconds, 1.033 MiB/s
HMAC-MD5 20 MiB took 1.000 seconds, 20.068 MiB/s
HMAC-SHA 20 MiB took 1.000 seconds, 20.288 MiB/s
HMAC-SHA224 20 MiB took 1.000 seconds, 19.751 MiB/s
HMAC-SHA256 20 MiB took 1.000 seconds, 19.727 MiB/s
HMAC-SHA384 20 MiB took 1.000 seconds, 20.435 MiB/s
HMAC-SHA512 20 MiB took 1.000 seconds, 20.361 MiB/s
PBKDF2 320 bytes took 1.043 seconds, 306.807 bytes/s
RSA 2048 public 186 ops took 1.000 sec, avg 5.376 ms, 186.000 ops/sec
RSA 2048 private 6 ops took 1.024 sec, avg 170.667 ms, 5.859 ops/sec
DH 2048 key gen 13 ops took 1.040 sec, avg 80.000 ms, 12.500 ops/sec
DH 2048 agree 14 ops took 1.118 sec, avg 79.857 ms, 12.522 ops/sec
ECC [ SECP256R1] 256 key gen 330 ops took 1.000 sec, avg 3.030 ms, 330.000 ops/sec
ECDHE [ SECP256R1] 256 agree 174 ops took 1.004 sec, avg 5.770 ms, 173.307 ops/sec
ECDSA [ SECP256R1] 256 sign 192 ops took 1.000 sec, avg 5.208 ms, 192.000 ops/sec
ECDSA [ SECP256R1] 256 verify 116 ops took 1.015 sec, avg 8.750 ms, 114.286 ops/sec
CURVE 25519 key gen 5 ops took 1.047 sec, avg 209.400 ms, 4.776 ops/sec
CURVE 25519 agree 6 ops took 1.251 sec, avg 208.500 ms, 4.796 ops/sec
ED 25519 key gen 5 ops took 1.058 sec, avg 211.600 ms, 4.726 ops/sec
ED 25519 sign 6 ops took 1.294 sec, avg 215.667 ms, 4.637 ops/sec
ED 25519 verify 4 ops took 1.769 sec, avg 442.250 ms, 2.261 ops/sec
Benchmark complete
Benchmark Test: Return code 0
```
@@ -1340,3 +1365,218 @@ RSA 2048 public 14 ops took 1.016 sec, avg 72.571 ms, 13.780 ops/se
RSA 2048 private 2 ops took 5.447 sec, avg 2723.500 ms, 0.367 ops/sec
```
## STM32N657
Cortex-M55 at 600MHz (part is capable of 800MHz in overdrive mode)
Tests are run with ICACHE enabled. Enable CPU I-Cache and D-Cache by calling:
```c
SCB_EnableICache();
SCB_EnableDCache();
```
### STM32N657 Benchmarks (STM RNG/SHA1/SHA2/AES/PKA-ECC and SP Math Cortex-M Small for RSA/DH)
```
#undef NO_STM32_HASH
#undef NO_STM32_CRYPTO
#define WOLFSSL_STM32_PKA
#define WOLF_CONF_ARMASM 0
```
```
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 925 KiB took 1.012 seconds, 914.032 KiB/s
AES-128-CBC-enc 18 MiB took 1.000 seconds, 17.627 MiB/s
AES-128-CBC-dec 17 MiB took 1.000 seconds, 17.432 MiB/s
AES-192-CBC-enc 18 MiB took 1.000 seconds, 17.603 MiB/s
AES-192-CBC-dec 17 MiB took 1.000 seconds, 17.432 MiB/s
AES-256-CBC-enc 18 MiB took 1.000 seconds, 17.603 MiB/s
AES-256-CBC-dec 17 MiB took 1.000 seconds, 17.383 MiB/s
AES-128-GCM-enc 17 MiB took 1.000 seconds, 16.626 MiB/s
AES-128-GCM-dec 17 MiB took 1.000 seconds, 16.577 MiB/s
AES-192-GCM-enc 17 MiB took 1.000 seconds, 16.602 MiB/s
AES-192-GCM-dec 17 MiB took 1.000 seconds, 16.553 MiB/s
AES-256-GCM-enc 17 MiB took 1.000 seconds, 16.602 MiB/s
AES-256-GCM-dec 17 MiB took 1.000 seconds, 16.553 MiB/s
AES-128-GCM-enc-no_AAD 17 MiB took 1.000 seconds, 16.699 MiB/s
AES-128-GCM-dec-no_AAD 17 MiB took 1.000 seconds, 16.626 MiB/s
AES-192-GCM-enc-no_AAD 17 MiB took 1.000 seconds, 16.650 MiB/s
AES-192-GCM-dec-no_AAD 17 MiB took 1.000 seconds, 16.602 MiB/s
AES-256-GCM-enc-no_AAD 17 MiB took 1.000 seconds, 16.675 MiB/s
AES-256-GCM-dec-no_AAD 17 MiB took 1.000 seconds, 16.602 MiB/s
GMAC Table 4-bit 63 MiB took 1.000 seconds, 62.878 MiB/s
CHACHA 20 MiB took 1.000 seconds, 19.678 MiB/s
CHA-POLY 12 MiB took 1.000 seconds, 12.451 MiB/s
MD5 51 MiB took 1.000 seconds, 51.392 MiB/s
POLY1305 53 MiB took 1.000 seconds, 53.442 MiB/s
SHA 48 MiB took 1.000 seconds, 47.632 MiB/s
SHA-224 47 MiB took 1.000 seconds, 46.997 MiB/s
SHA-256 47 MiB took 1.000 seconds, 46.973 MiB/s
SHA-384 49 MiB took 1.000 seconds, 48.779 MiB/s
SHA-512 49 MiB took 1.000 seconds, 48.779 MiB/s
SHA-512/224 49 MiB took 1.000 seconds, 48.877 MiB/s
SHA-512/256 49 MiB took 1.000 seconds, 48.877 MiB/s
SHA3-224 5 MiB took 1.000 seconds, 4.614 MiB/s
SHA3-256 4 MiB took 1.000 seconds, 4.370 MiB/s
SHA3-384 3 MiB took 1.004 seconds, 3.356 MiB/s
SHA3-512 2 MiB took 1.000 seconds, 2.344 MiB/s
HMAC-MD5 51 MiB took 1.000 seconds, 50.806 MiB/s
HMAC-SHA 46 MiB took 1.000 seconds, 45.703 MiB/s
HMAC-SHA224 45 MiB took 1.000 seconds, 44.604 MiB/s
HMAC-SHA256 45 MiB took 1.000 seconds, 44.580 MiB/s
HMAC-SHA384 46 MiB took 1.000 seconds, 45.801 MiB/s
HMAC-SHA512 46 MiB took 1.000 seconds, 45.728 MiB/s
PBKDF2 640 bytes took 1.000 seconds, 640.000 bytes/s
RSA 2048 public 430 ops took 1.000 sec, avg 2.326 ms, 430.000 ops/sec
RSA 2048 private 14 ops took 1.059 sec, avg 75.643 ms, 13.220 ops/sec
DH 2048 key gen 29 ops took 1.019 sec, avg 35.138 ms, 28.459 ops/sec
DH 2048 agree 30 ops took 1.051 sec, avg 35.033 ms, 28.544 ops/sec
ECC [ SECP256R1] 256 key gen 924 ops took 1.000 sec, avg 1.082 ms, 924.000 ops/sec
ECDHE [ SECP256R1] 256 agree 466 ops took 1.000 sec, avg 2.146 ms, 466.000 ops/sec
ECDSA [ SECP256R1] 256 sign 180 ops took 1.004 sec, avg 5.578 ms, 179.283 ops/sec
ECDSA [ SECP256R1] 256 verify 168 ops took 1.000 sec, avg 5.952 ms, 168.000 ops/sec
CURVE 25519 key gen 11 ops took 1.020 sec, avg 92.727 ms, 10.784 ops/sec
CURVE 25519 agree 12 ops took 1.114 sec, avg 92.833 ms, 10.772 ops/sec
ED 25519 key gen 11 ops took 1.027 sec, avg 93.364 ms, 10.711 ops/sec
ED 25519 sign 12 ops took 1.137 sec, avg 94.750 ms, 10.554 ops/sec
ED 25519 verify 6 ops took 1.177 sec, avg 196.167 ms, 5.098 ops/sec
```
### STM32N657 Benchmarks (No STM hardware crypto, ARM Thumb Assembly, SP Math Cortex-M ASM Small)
```
#define WOLF_CONF_ARMASM 1 /* WOLF_CONF_ARMASM */
//#define WOLFSSL_STM32_PKA
#define WOLF_CONF_MATH 4 /* (sp_cortexm.c) */
```
```
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 5 MiB took 1.004 seconds, 4.766 MiB/s
AES-128-CBC-enc 16 MiB took 1.000 seconds, 15.991 MiB/s
AES-128-CBC-dec 16 MiB took 1.000 seconds, 15.747 MiB/s
AES-192-CBC-enc 13 MiB took 1.000 seconds, 13.477 MiB/s
AES-192-CBC-dec 13 MiB took 1.000 seconds, 13.330 MiB/s
AES-256-CBC-enc 12 MiB took 1.000 seconds, 11.646 MiB/s
AES-256-CBC-dec 12 MiB took 1.000 seconds, 11.572 MiB/s
AES-128-GCM-enc 7 MiB took 1.000 seconds, 7.397 MiB/s
AES-128-GCM-dec 7 MiB took 1.000 seconds, 7.397 MiB/s
AES-192-GCM-enc 7 MiB took 1.000 seconds, 6.836 MiB/s
AES-192-GCM-dec 7 MiB took 1.000 seconds, 6.812 MiB/s
AES-256-GCM-enc 6 MiB took 1.000 seconds, 6.323 MiB/s
AES-256-GCM-dec 6 MiB took 1.000 seconds, 6.323 MiB/s
AES-128-GCM-enc-no_AAD 7 MiB took 1.000 seconds, 7.495 MiB/s
AES-128-GCM-dec-no_AAD 7 MiB took 1.000 seconds, 7.495 MiB/s
AES-192-GCM-enc-no_AAD 7 MiB took 1.000 seconds, 6.909 MiB/s
AES-192-GCM-dec-no_AAD 7 MiB took 1.000 seconds, 6.885 MiB/s
AES-256-GCM-enc-no_AAD 6 MiB took 1.000 seconds, 6.372 MiB/s
AES-256-GCM-dec-no_AAD 6 MiB took 1.000 seconds, 6.372 MiB/s
GMAC Table 4-bit 14 MiB took 1.000 seconds, 14.010 MiB/s
CHACHA 29 MiB took 1.000 seconds, 29.102 MiB/s
CHA-POLY 20 MiB took 1.000 seconds, 19.580 MiB/s
MD5 51 MiB took 1.000 seconds, 51.416 MiB/s
POLY1305 126 MiB took 1.000 seconds, 125.635 MiB/s
SHA 22 MiB took 1.000 seconds, 21.802 MiB/s
SHA-224 13 MiB took 1.000 seconds, 13.135 MiB/s
SHA-256 13 MiB took 1.000 seconds, 13.110 MiB/s
SHA-384 7 MiB took 1.000 seconds, 7.129 MiB/s
SHA-512 7 MiB took 1.000 seconds, 7.129 MiB/s
SHA-512/224 7 MiB took 1.000 seconds, 7.129 MiB/s
SHA-512/256 7 MiB took 1.000 seconds, 7.129 MiB/s
SHA3-224 7 MiB took 1.000 seconds, 6.665 MiB/s
SHA3-256 6 MiB took 1.000 seconds, 6.274 MiB/s
SHA3-384 5 MiB took 1.000 seconds, 4.858 MiB/s
SHA3-512 3 MiB took 1.004 seconds, 3.404 MiB/s
HMAC-MD5 50 MiB took 1.000 seconds, 50.439 MiB/s
HMAC-SHA 21 MiB took 1.000 seconds, 21.460 MiB/s
HMAC-SHA224 13 MiB took 1.000 seconds, 12.988 MiB/s
HMAC-SHA256 13 MiB took 1.000 seconds, 12.988 MiB/s
HMAC-SHA384 7 MiB took 1.000 seconds, 7.007 MiB/s
HMAC-SHA512 7 MiB took 1.000 seconds, 7.031 MiB/s
PBKDF2 2 KiB took 1.016 seconds, 1.476 KiB/s
RSA 2048 public 494 ops took 1.000 sec, avg 2.024 ms, 494.000 ops/sec
RSA 2048 private 14 ops took 1.027 sec, avg 73.357 ms, 13.632 ops/sec
DH 2048 key gen 30 ops took 1.020 sec, avg 34.000 ms, 29.412 ops/sec
DH 2048 agree 30 ops took 1.019 sec, avg 33.967 ms, 29.441 ops/sec
ECC [ SECP256R1] 256 key gen 966 ops took 1.000 sec, avg 1.035 ms, 966.000 ops/sec
ECDHE [ SECP256R1] 256 agree 462 ops took 1.000 sec, avg 2.165 ms, 462.000 ops/sec
ECDSA [ SECP256R1] 256 sign 532 ops took 1.000 sec, avg 1.880 ms, 532.000 ops/sec
ECDSA [ SECP256R1] 256 verify 306 ops took 1.004 sec, avg 3.281 ms, 304.781 ops/sec
CURVE 25519 key gen 11 ops took 1.015 sec, avg 92.273 ms, 10.837 ops/sec
CURVE 25519 agree 12 ops took 1.110 sec, avg 92.500 ms, 10.811 ops/sec
ED 25519 key gen 11 ops took 1.027 sec, avg 93.364 ms, 10.711 ops/sec
ED 25519 sign 12 ops took 1.138 sec, avg 94.833 ms, 10.545 ops/sec
ED 25519 verify 6 ops took 1.180 sec, avg 196.667 ms, 5.085 ops/sec
```
### STM32N657 Benchmarks (Pure C - SP C32 / No ASM / No STM hardware)
```
#define WOLF_CONF_MATH 3 /* sp_c32.c */
#define WOLFSSL_NO_ASM
#define NO_STM32_HASH
#define NO_STM32_CRYPTO
//#define WOLFSSL_STM32_PKA
```
```
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 3 MiB took 1.000 seconds, 3.442 MiB/s
AES-128-CBC-enc 10 MiB took 1.000 seconds, 10.303 MiB/s
AES-128-CBC-dec 10 MiB took 1.000 seconds, 10.132 MiB/s
AES-192-CBC-enc 9 MiB took 1.000 seconds, 8.936 MiB/s
AES-192-CBC-dec 9 MiB took 1.000 seconds, 8.838 MiB/s
AES-256-CBC-enc 8 MiB took 1.000 seconds, 7.935 MiB/s
AES-256-CBC-dec 8 MiB took 1.000 seconds, 7.812 MiB/s
AES-128-GCM-enc 5 MiB took 1.000 seconds, 5.054 MiB/s
AES-128-GCM-dec 5 MiB took 1.000 seconds, 5.029 MiB/s
AES-192-GCM-enc 5 MiB took 1.000 seconds, 4.688 MiB/s
AES-192-GCM-dec 5 MiB took 1.000 seconds, 4.688 MiB/s
AES-256-GCM-enc 4 MiB took 1.000 seconds, 4.370 MiB/s
AES-256-GCM-dec 4 MiB took 1.004 seconds, 4.377 MiB/s
AES-128-GCM-enc-no_AAD 5 MiB took 1.000 seconds, 5.078 MiB/s
AES-128-GCM-dec-no_AAD 5 MiB took 1.000 seconds, 5.078 MiB/s
AES-192-GCM-enc-no_AAD 5 MiB took 1.004 seconds, 4.717 MiB/s
AES-192-GCM-dec-no_AAD 5 MiB took 1.004 seconds, 4.717 MiB/s
AES-256-GCM-enc-no_AAD 4 MiB took 1.000 seconds, 4.419 MiB/s
AES-256-GCM-dec-no_AAD 4 MiB took 1.000 seconds, 4.419 MiB/s
GMAC Table 4-bit 10 MiB took 1.000 seconds, 9.939 MiB/s
CHACHA 20 MiB took 1.000 seconds, 19.678 MiB/s
CHA-POLY 12 MiB took 1.000 seconds, 12.378 MiB/s
MD5 51 MiB took 1.000 seconds, 51.489 MiB/s
POLY1305 53 MiB took 1.000 seconds, 53.442 MiB/s
SHA 23 MiB took 1.000 seconds, 22.949 MiB/s
SHA-224 9 MiB took 1.000 seconds, 8.740 MiB/s
SHA-256 9 MiB took 1.000 seconds, 8.740 MiB/s
SHA-384 5 MiB took 1.000 seconds, 4.541 MiB/s
SHA-512 5 MiB took 1.000 seconds, 4.541 MiB/s
SHA-512/224 5 MiB took 1.004 seconds, 4.523 MiB/s
SHA-512/256 5 MiB took 1.000 seconds, 4.517 MiB/s
SHA3-224 5 MiB took 1.004 seconds, 4.620 MiB/s
SHA3-256 4 MiB took 1.000 seconds, 4.346 MiB/s
SHA3-384 3 MiB took 1.004 seconds, 3.356 MiB/s
SHA3-512 2 MiB took 1.000 seconds, 2.344 MiB/s
HMAC-MD5 51 MiB took 1.000 seconds, 50.659 MiB/s
HMAC-SHA 23 MiB took 1.000 seconds, 22.632 MiB/s
HMAC-SHA224 9 MiB took 1.000 seconds, 8.667 MiB/s
HMAC-SHA256 9 MiB took 1.000 seconds, 8.691 MiB/s
HMAC-SHA384 4 MiB took 1.000 seconds, 4.468 MiB/s
HMAC-SHA512 4 MiB took 1.004 seconds, 4.450 MiB/s
PBKDF2 1 KiB took 1.016 seconds, 1.046 KiB/s
RSA 2048 public 216 ops took 1.008 sec, avg 4.667 ms, 214.286 ops/sec
RSA 2048 private 4 ops took 1.024 sec, avg 256.000 ms, 3.906 ops/sec
DH 2048 key gen 10 ops took 1.086 sec, avg 108.600 ms, 9.208 ops/sec
DH 2048 agree 10 ops took 1.086 sec, avg 108.600 ms, 9.208 ops/sec
ECC [ SECP256R1] 256 key gen 44 ops took 1.035 sec, avg 23.523 ms, 42.512 ops/sec
ECDHE [ SECP256R1] 256 agree 44 ops took 1.031 sec, avg 23.432 ms, 42.677 ops/sec
ECDSA [ SECP256R1] 256 sign 40 ops took 1.036 sec, avg 25.900 ms, 38.610 ops/sec
ECDSA [ SECP256R1] 256 verify 22 ops took 1.043 sec, avg 47.409 ms, 21.093 ops/sec
CURVE 25519 key gen 11 ops took 1.020 sec, avg 92.727 ms, 10.784 ops/sec
CURVE 25519 agree 12 ops took 1.114 sec, avg 92.833 ms, 10.772 ops/sec
ED 25519 key gen 11 ops took 1.027 sec, avg 93.364 ms, 10.711 ops/sec
ED 25519 sign 12 ops took 1.141 sec, avg 95.083 ms, 10.517 ops/sec
ED 25519 verify 6 ops took 1.177 sec, avg 196.167 ms, 5.098 ops/sec
```

View File

@@ -221,6 +221,7 @@ extern ${variable.value} ${variable.name};
#define WOLFSSL_STM32H5
#define STM32_HAL_V2
#undef NO_STM32_HASH
#define WOLFSSL_STM32_PKA
#ifndef HAL_CONSOLE_UART
#define HAL_CONSOLE_UART huart3
#endif
@@ -299,6 +300,7 @@ extern ${variable.value} ${variable.name};
/* ------------------------------------------------------------------------- */
#if defined(WOLF_CONF_RTOS) && WOLF_CONF_RTOS == 2
#define FREERTOS
#define WOLFSSL_NO_REALLOC
#else
#define SINGLE_THREADED
#endif
@@ -789,12 +791,6 @@ extern ${variable.value} ${variable.name};
/* Base16 / Base64 encoding */
//#define NO_CODING
/* bypass certificate date checking, due to lack of properly configured RTC source */
#ifndef HAL_RTC_MODULE_ENABLED
#define NO_ASN_TIME
#endif
#ifdef __cplusplus
}
#endif

View File

@@ -1830,7 +1830,7 @@ double current_time(void)
(void) date;
/* return seconds.milliseconds */
return ((double) time.Hours * 24) + ((double) time.Minutes * 60)
return ((double) time.Hours * 3600) + ((double) time.Minutes * 60)
+ (double) time.Seconds + ((double) subsec / 1000);
}
#endif /* HAL_RTC_MODULE_ENABLED */

View File

@@ -438,7 +438,7 @@ extern "C" {
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

View File

@@ -515,7 +515,7 @@ extern unsigned int my_rng_seed_gen(void);
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

10
IDE/WINCE/README.md Normal file
View File

@@ -0,0 +1,10 @@
Use this file for FIPS 140-3 upcoming UPDT+OEUP and module v5.2.3, not intended
for use with any other module version, v5.2.3 exclusive (certificate # will be
add here upon issuance):
user_settings.h
This is now a legacy file used under the 140-2 program for module v4.6.2 under
now historical certificate #3389:
user_settings.h.140-2-deprecated

View File

@@ -3,3 +3,5 @@
# All paths should be given relative to the root
EXTRA_DIST+= IDE/WINCE/user_settings.h
EXTRA_DIST+= IDE/WINCE/README.md
EXTRA_DIST+= IDE/WINCE/user_settings.h.140-2-deprecated

View File

@@ -1,63 +1,780 @@
/* user_settings.h
*
* Copyright (C) 2006-2025 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 3 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
*/
#if 1
#define OPENSSL_COEXIST
/* HKDF for engine */
#undef HAVE_HKDF
#if 1
#define HAVE_HKDF
#define HAVE_X963_KDF
#endif
#undef WOLFSSL_PUBLIC_MP
#define WOLFSSL_PUBLIC_MP
#undef NO_OLD_RNGNAME
#define NO_OLD_RNGNAME
#undef NO_OLD_WC_NAMES
#define NO_OLD_WC_NAMES
#undef NO_OLD_SSL_NAMES
#define NO_OLD_SSL_NAMES
#undef NO_OLD_SHA_NAMES
#define NO_OLD_SHA_NAMES
#undef NO_OLD_MD5_NAME
#define NO_OLD_MD5_NAME
#undef NO_OLD_SHA256_NAMES
#define NO_OLD_SHA256_NAMES
#endif
#undef WOLFSSL_SYS_CA_CERTS
#define WOLFSSL_SYS_CA_CERTS
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#undef HAVE_SERVER_RENEGOTIATION_INFO
#define HAVE_SERVER_RENEGOTIATION_INFO
* Copyright (C) 2006-2025 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
*/
/* Custom wolfSSL user settings for GCC ARM */
#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* ------------------------------------------------------------------------- */
/* Platform */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT 4
/* Multi-threaded support */
#undef SINGLE_THREADED
#if 0
#define SINGLE_THREADED
#else
#define ERROR_QUEUE_PER_THREAD /* if applicable otherwise comment out */
#endif
#ifdef SINGLE_THREADED
#undef NO_THREAD_LS
#define NO_THREAD_LS
#endif
#undef WOLFSSL_USER_IO
//#define WOLFSSL_USER_IO
#undef NO_WRITE_TEMP_FILES
#define NO_WRITE_TEMP_FILES
/* FIPS 140-3 OE specific section(s) */
/* Uncomment for Android devices */
#undef ANDROID_V454
/* #define ANDROID_V454 */
#ifdef ANDROID_V454
#if 1
/* To have all printouts go to the app view on the device use: */
extern int appendToTextView(const char* fmt, ...);
#undef printf
#define printf(format, ...) appendToTextView(format, ## __VA_ARGS__)
#else
#include <android/log.h>
#define WOLFLOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "wolfCrypt_android", __VA_ARGS__)
#undef printf
#define printf WOLFLOGV
#endif
#endif
/* Uncomment for WINCE 6.0 devices. NOTE: _WIN32_WCE defined by system */
#if 1
#define NO_WOLFSSL_DIR
#define WOLFSSL_NO_ATOMICS
#define WC_NO_ASYNC_THREADING
#define USE_WINDOWS_API
#define WOLFSSL_SMALL_STACK
#define MAX_SUPPORTED_THREADS 1024
#define MAX_SUPPORTED_PRIV_KEYS 1024
#define MAX_CONFIGURED_THREAD 512
#endif
/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef USE_FAST_MATH
#if 1
#define USE_FAST_MATH
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#undef TFM_NO_ASM
#define TFM_NO_ASM
/* Optimizations */
//#define TFM_ARM
/* Maximum math bits (Max RSA key bits * 2) */
#undef FP_MAX_BITS
#define FP_MAX_BITS 16384
#else
#define WOLFSSL_SP_MATH_ALL
#define WOLFSSL_SP_INT_NEGATIVE
/* Maximum math bits (largest supported key bits) */
#undef SP_INT_BITS
#define SP_INT_BITS 8192
#endif
/* Wolf Single Precision Math */
#undef WOLFSSL_SP
#if 0 /* SP Assembly Speedups (wPAA) */
//#define WOLFSSL_SP
//#define WOLFSSL_SP_SMALL /* use smaller version of code */
//#define WOLFSSL_SP_1024
//#define WOLFCRYPT_HAVE_SAKKE /* Note: Sakke can be enabled with 1024-bit support */
//#define WOLFSSL_SP_4096 /* Explicitly enable 4096-bit support (2048/3072 on by default) */
//#define WOLFSSL_SP_384 /* Explicitly enable 384-bit support (others on by default) */
//#define WOLFSSL_SP_521 /* Explicitly enable 521-bit support (others on by default) */
//#define WOLFSSL_HAVE_SP_RSA
//#define WOLFSSL_HAVE_SP_DH
//#define WOLFSSL_HAVE_SP_ECC
/* If no PAA, leave out */
//#define WOLFSSL_ARMASM
//#define WOLFSSL_SP_ARM64_ASM
#endif
/* ------------------------------------------------------------------------- */
/* FIPS - Requires eval or license from wolfSSL */
/* ------------------------------------------------------------------------- */
#undef HAVE_FIPS
#if 1
#define WOLFCRYPT_FIPS_CORE_HASH_VALUE \
C149F3285397DFBD0C6720E14818475C3A50B10880EF9619463173A6D5ED15E7
/* 0F3FB6F60279949E88901E852EADF3746E92162EB3D279E4C1052FB145FB04B6 */ /* Primary Run */
/* F952A96D70E630665F11D9933C46546063FD70108E39AB62C0886F0888B656ED */ /* Cases 206, 208 and 209 */
/* BADBADBADBADBADBADBADDEADBEEFDEADBEEFDEADBEEFDEADBEEFBADBADBADBD */ /* TE05.05.07 */
/* D371272290903FB9EB78FACD3504306EC8F12342CC195950E0F516A03AA51A39 */ /* harness */
#ifdef _WIN32_WCE
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#include <windows.h>
/* Inline function for WOLFLOGV */
static int wolf_logv_internal(const char* fmt, ...) {
int n;
va_list args;
Sleep(1); /* Sleep for 1 millisecond before printing */
/* Ensure all previous buffered output is flushed */
fflush(stdout);
fflush(stderr);
va_start(args, fmt);
/* Use vfprintf for va_list arguments */
n = vfprintf(stdout, fmt, args);
va_end(args);
/* Flush immediately after printing */
fflush(stdout);
fflush(stderr);
Sleep(1); /* Sleep for 1 millisecond before printing */
return n;
}
/* Ensure printf is not defined before redefining it */
#ifdef printf
#undef printf
#endif
/* Define WOLFLOGV as the wrapper */
#define WOLFLOGV wolf_logv_internal
/* Redirect printf to WOLFLOGV (effectively wolf_logv_internal) */
#define printf WOLFLOGV
#endif
#define HAVE_FIPS
#undef HAVE_FIPS_VERSION
#define HAVE_FIPS_VERSION 5
#define HAVE_FIPS_VERSION_MAJOR HAVE_FIPS_VERSION
#undef HAVE_FIPS_VERSION_MINOR
#define HAVE_FIPS_VERSION_MINOR 2
#define HAVE_FIPS_VERSION_PATCH 3
#undef WOLFSSL_WOLFSSH
#define WOLFSSL_WOLFSSH
#undef WC_RNG_SEED_CB
#define WC_RNG_SEED_CB
#if 0
#undef NO_ATTRIBUTE_CONSTRUCTOR
#define NO_ATTRIBUTE_CONSTRUCTOR
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */
/* RSA */
#undef NO_RSA
#if 1
/* half as much memory but twice as slow */
#undef RSA_LOW_MEM
//#define RSA_LOW_MEM
/* Enables blinding mode, to prevent timing attacks */
#if 1
#undef WC_RSA_BLINDING
#define WC_RSA_BLINDING
#else
#undef WC_NO_HARDEN
#define WC_NO_HARDEN
#endif
/* RSA PSS Support */
#if 1
#undef WC_RSA_PSS
#define WC_RSA_PSS
#undef WOLFSSL_PSS_LONG_SALT
#define WOLFSSL_PSS_LONG_SALT
#undef WOLFSSL_PSS_SALT_LEN_DISCOVER
#define WOLFSSL_PSS_SALT_LEN_DISCOVER
#endif
#if 1
#define WC_RSA_NO_PADDING
#endif
#else
#define NO_RSA
#endif
/* ECC */
#undef HAVE_ECC
#if 1
#define HAVE_ECC
/* Manually define enabled curves */
#undef ECC_USER_CURVES
//#define ECC_USER_CURVES
#ifdef ECC_USER_CURVES
/* Manual Curve Selection */
#define HAVE_ECC192
#define HAVE_ECC224
#undef NO_ECC256
#define HAVE_ECC256
#define HAVE_ECC384
#define HAVE_ECC521
#endif
/* Fixed point cache (speeds repeated operations against same private key) */
#undef FP_ECC
//#define FP_ECC
#ifdef FP_ECC
/* Bits / Entries */
#undef FP_ENTRIES
#define FP_ENTRIES 2
#undef FP_LUT
#define FP_LUT 4
#endif
/* Optional ECC calculation method */
/* Note: doubles heap usage, but slightly faster */
#undef ECC_SHAMIR
#define ECC_SHAMIR
/* Reduces heap usage, but slower */
#undef ECC_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#ifdef HAVE_FIPS
#undef HAVE_ECC_CDH
#define HAVE_ECC_CDH /* Enable cofactor support */
#undef NO_STRICT_ECDSA_LEN
#define NO_STRICT_ECDSA_LEN /* Do not force fixed len w/ FIPS */
#undef WOLFSSL_VALIDATE_ECC_IMPORT
#define WOLFSSL_VALIDATE_ECC_IMPORT /* Validate import */
#undef WOLFSSL_VALIDATE_ECC_KEYGEN
#define WOLFSSL_VALIDATE_ECC_KEYGEN /* Validate generated keys */
#undef WOLFSSL_ECDSA_SET_K
#define WOLFSSL_ECDSA_SET_K
#endif
/* Compressed Key Support */
#undef HAVE_COMP_KEY
//#define HAVE_COMP_KEY
/* Use alternate ECC size for ECC math */
#ifdef USE_FAST_MATH
/* MAX ECC BITS = ROUND8(MAX ECC) * 2 */
#ifdef NO_RSA
/* Custom fastmath size if not using RSA */
#undef FP_MAX_BITS
#define FP_MAX_BITS (256 * 2)
#else
#undef ALT_ECC_SIZE
#define ALT_ECC_SIZE
/* wolfSSL will compute the FP_MAX_BITS_ECC, but it can be overridden */
//#undef FP_MAX_BITS_ECC
//#define FP_MAX_BITS_ECC (256 * 2)
#endif
/* Speedups specific to curve */
#ifndef NO_ECC256
#undef TFM_ECC256
#define TFM_ECC256
#endif
#endif
#endif
/* DH */
#undef NO_DH
#if 1
/* Use table for DH instead of -lm (math) lib dependency */
#if 1
#define HAVE_DH_DEFAULT_PARAMS
#define WOLFSSL_DH_CONST
#define HAVE_FFDHE_2048
#define HAVE_FFDHE_3072
#define HAVE_FFDHE_4096
#define HAVE_FFDHE_6144
#define HAVE_FFDHE_8192
#endif
#ifdef HAVE_FIPS
#define WOLFSSL_VALIDATE_FFC_IMPORT
#define HAVE_FFDHE_Q
#endif
#else
#define NO_DH
#endif
/* AES */
#undef NO_AES
#if 1
#undef HAVE_AES_CBC
#define HAVE_AES_CBC
#undef HAVE_AESGCM
#define HAVE_AESGCM
/* GCM Method (slowest to fastest): GCM_SMALL, GCM_WORD32, GCM_TABLE or
* GCM_TABLE_4BIT */
#define GCM_TABLE_4BIT
#undef WOLFSSL_AES_DIRECT
#define WOLFSSL_AES_DIRECT
#undef HAVE_AES_ECB
#define HAVE_AES_ECB
#undef WOLFSSL_AES_COUNTER
#define WOLFSSL_AES_COUNTER
#undef HAVE_AESCCM
#define HAVE_AESCCM
#undef WOLFSSL_AES_OFB
#define WOLFSSL_AES_OFB
#else
#define NO_AES
#endif
/* DES3 */
#undef NO_DES3
#if 0
#if 1
#undef WOLFSSL_DES_ECB
#define WOLFSSL_DES_ECB
#endif
#else
#define NO_DES3
#endif
/* ChaCha20 / Poly1305 */
#undef HAVE_CHACHA
#undef HAVE_POLY1305
#if 0
#define HAVE_CHACHA
#define HAVE_POLY1305
/* Needed for Poly1305 */
#undef HAVE_ONE_TIME_AUTH
#define HAVE_ONE_TIME_AUTH
#endif
/* Ed25519 / Curve25519 */
#undef HAVE_CURVE25519
#undef HAVE_ED25519
#if 0
#define HAVE_CURVE25519
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
/* Optionally use small math (less flash usage, but much slower) */
#if 1
#define CURVED25519_SMALL
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Hashing */
/* ------------------------------------------------------------------------- */
/* Sha */
#undef NO_SHA
#if 1
/* 1k smaller, but 25% slower */
//#define USE_SLOW_SHA
#else
#define NO_SHA
#endif
/* Sha256 */
#undef NO_SHA256
#if 1
/* not unrolled - ~2k smaller and ~25% slower */
//#define USE_SLOW_SHA256
/* Sha224 */
#if 1
#define WOLFSSL_SHA224
#endif
#else
#define NO_SHA256
#endif
/* Sha512 */
#undef WOLFSSL_SHA512
#if 1
#define WOLFSSL_SHA512
#undef WOLFSSL_NOSHA512_224 /* Not in FIPS mode */
#undef WOLFSSL_NOSHA512_256 /* Not in FIPS mode */
/* Sha384 */
#undef WOLFSSL_SHA384
#if 1
#define WOLFSSL_SHA384
#endif
/* over twice as small, but 50% slower */
//#define USE_SLOW_SHA512
#endif
/* Sha3 */
#undef WOLFSSL_SHA3
#if 1
#define WOLFSSL_SHA3
#define Sha3 wc_Sha3
#endif
/* MD5 */
#undef NO_MD5
#if 1
#else
#define NO_MD5
#endif
/* HKDF / PRF */
#undef HAVE_HKDF
#if 1
#define HAVE_HKDF
#define WOLFSSL_HAVE_PRF
#endif
/* CMAC */
#undef WOLFSSL_CMAC
#if 1
#define WOLFSSL_CMAC
#endif
/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
/* Use reduced benchmark / test sizes */
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_2048
#undef USE_CERT_BUFFERS_1024
//#define USE_CERT_BUFFERS_1024
#undef USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_256
/* ------------------------------------------------------------------------- */
/* Debugging */
/* ------------------------------------------------------------------------- */
#undef DEBUG_WOLFSSL
#undef NO_ERROR_STRINGS
#if 1
#define DEBUG_WOLFSSL
#else
#if 0
#define NO_ERROR_STRINGS
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Memory */
/* ------------------------------------------------------------------------- */
/* Override Memory API's */
#if 0
#undef XMALLOC_OVERRIDE
#define XMALLOC_OVERRIDE
/* prototypes for user heap override functions */
/* Note: Realloc only required for normal math */
/* Note2: XFREE(NULL) must be properly handled */
#include <stddef.h> /* for size_t */
extern void *myMalloc(size_t n, void* heap, int type);
extern void myFree(void *p, void* heap, int type);
extern void *myRealloc(void *p, size_t n, void* heap, int type);
#define XMALLOC(n, h, t) myMalloc(n, h, t)
#define XFREE(p, h, t) myFree(p, h, t)
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
#endif
#if 0
/* Static memory requires fast math */
#define WOLFSSL_STATIC_MEMORY
/* Disable fallback malloc/free */
#define WOLFSSL_NO_MALLOC
#if 1
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
#endif
#endif
/* Memory callbacks */
#if 1
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
/* Use this to measure / print heap usage */
#if 0
#undef WOLFSSL_TRACK_MEMORY
// #define WOLFSSL_TRACK_MEMORY
#undef WOLFSSL_DEBUG_MEMORY
//#define WOLFSSL_DEBUG_MEMORY
#undef WOLFSSL_DEBUG_MEMORY_PRINT
//#define WOLFSSL_DEBUG_MEMORY_PRINT
#endif
#else
#ifndef WOLFSSL_STATIC_MEMORY
#define NO_WOLFSSL_MEMORY
/* Otherwise we will use stdlib malloc, free and realloc */
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Port */
/* ------------------------------------------------------------------------- */
/* Override Current Time */
/* Allows custom "custom_time()" function to be used for benchmark */
//#define WOLFSSL_USER_CURRTIME
//#define WOLFSSL_GMTIME
//#define USER_TICKS
//extern unsigned long my_time(unsigned long* timer);
//#define XTIME my_time
/* ------------------------------------------------------------------------- */
/* RNG */
/* ------------------------------------------------------------------------- */
/* Seed Source */
/* Seed Source */
// extern int my_rng_generate_seed(unsigned char* output, int sz);
// #undef CUSTOM_RAND_GENERATE_SEED
// #define CUSTOM_RAND_GENERATE_SEED my_rng_generate_seed
/* Choose RNG method */
#if 1
/* Use built-in P-RNG (SHA256 based) with HW RNG */
/* P-RNG + HW RNG (P-RNG is ~8K) */
//#define WOLFSSL_GENSEED_FORTEST
#undef HAVE_HASHDRBG
#define HAVE_HASHDRBG
#else
#undef WC_NO_HASHDRBG
#define WC_NO_HASHDRBG
/* Bypass P-RNG and use only HW RNG */
extern int my_rng_gen_block(unsigned char* output, unsigned int sz);
#undef CUSTOM_RAND_GENERATE_BLOCK
#define CUSTOM_RAND_GENERATE_BLOCK my_rng_gen_block
#endif
/* ------------------------------------------------------------------------- */
/* Custom Standard Lib */
/* ------------------------------------------------------------------------- */
/* Allows override of all standard library functions */
#undef STRING_USER
#if 0
#define STRING_USER
#include <string.h>
#undef USE_WOLF_STRSEP
#define USE_WOLF_STRSEP
#define XSTRSEP(s1,d) wc_strsep((s1),(d))
#undef USE_WOLF_STRTOK
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))
#define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n))
#define XMEMMOVE(d,s,l) memmove((d),(s),(l))
#define XSTRLEN(s1) strlen((s1))
#define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
#define XSTRSTR(s1,s2) strstr((s1),(s2))
#define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n))
#define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n))
#define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n))
#define XSNPRINTF snprintf
#endif
/* ------------------------------------------------------------------------- */
/* Enable Features */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_ASN_TEMPLATE
#define WOLFSSL_ASN_TEMPLATE
#undef WOLFSSL_ASN_PRINT
#define WOLFSSL_ASN_PRINT
#undef WOLFSSL_TLS13
#if 1
#define WOLFSSL_TLS13
#endif
#undef WOLFSSL_KEY_GEN
#if 1
#define WOLFSSL_KEY_GEN
#endif
#undef KEEP_PEER_CERT
//#define KEEP_PEER_CERT
#undef HAVE_TLS_EXTENSIONS
#define HAVE_TLS_EXTENSIONS
#undef HAVE_EXTENDED_MASTER
#define HAVE_EXTENDED_MASTER
#undef HAVE_SUPPORTED_CURVES
#define HAVE_SUPPORTED_CURVES
#undef WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE
#undef WOLFSSL_NO_HASH_RAW
#define WOLFSSL_NO_HASH_RAW
/* TLS Session Cache */
#if 0
#define SMALL_SESSION_CACHE
#else
#define NO_SESSION_CACHE
#endif
#undef OPENSSL_EXTRA
//#define OPENSSL_EXTRA
#undef WOLFSSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#undef HAVE_SESSION_TICKET
#define HAVE_SESSION_TICKET
#undef HAVE_EX_DATA
#define HAVE_EX_DATA
#undef HAVE_ENCRYPT_THEN_MAC
#define HAVE_ENCRYPT_THEN_MAC
#undef WOLFSSL_CERT_GEN
//#define WOLFSSL_CERT_GEN
#undef ATOMIC_USER
#define ATOMIC_USER
#undef HAVE_SECRET_CALLBACK
#define HAVE_SECRET_CALLBACK
/* wolfEngine */
#if 1
#define OPENSSL_COEXIST
/* HKDF for engine */
#undef HAVE_HKDF
#if 1
#define HAVE_HKDF
#define HAVE_X963_KDF
#endif
#undef WOLFSSL_PUBLIC_MP
#define WOLFSSL_PUBLIC_MP
#undef NO_OLD_RNGNAME
#define NO_OLD_RNGNAME
#undef NO_OLD_WC_NAMES
#define NO_OLD_WC_NAMES
#undef NO_OLD_SSL_NAMES
#define NO_OLD_SSL_NAMES
#undef NO_OLD_SHA_NAMES
#define NO_OLD_SHA_NAMES
#undef NO_OLD_MD5_NAME
#define NO_OLD_MD5_NAME
#undef NO_OLD_SHA256_NAMES
#define NO_OLD_SHA256_NAMES
#endif
#undef WOLFSSL_SYS_CA_CERTS
#define WOLFSSL_SYS_CA_CERTS
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#undef HAVE_SERVER_RENEGOTIATION_INFO
#define HAVE_SERVER_RENEGOTIATION_INFO
/* ------------------------------------------------------------------------- */
/* Disable Features */
@@ -135,27 +852,26 @@
#define WOLFSSL_NO_SHAKE256
/* wolfSSL engineering ACVP algo and operational testing only (Default: Off) */
#if 1
#undef WOLFSSL_PUBLIC_MP
#if 0
#define WOLFSSL_PUBLIC_MP
#undef OPTEST_LOGGING_ENABLED
//#define OPTEST_LOGGING_ENABLED
#undef OPTEST_INVALID_LOGGING_ENABLED
//#define OPTEST_INVALID_LOGGING_ENABLED
#undef NO_MAIN_OPTEST_DRIVER
#define NO_MAIN_OPTEST_DRIVER
#undef DEBUG_FIPS_VERBOSE
#define NO_WRITE_TEMP_FILES
#define WORKING_WITH_AEGISOLVE
#define USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_256
#define OPTEST_LOGGING_ENABLED
#define DEBUG_FIPS_VERBOSE
#undef HAVE_FORCE_FIPS_FAILURE
#define OPTEST_RUNNING_ORGANIC
#define OPTEST_INVALID_LOGGING_ENABLED
#define HAVE_FORCE_FIPS_FAILURE
#undef NO_WRITE_TEMP_FILES
#define NO_WRITE_TEMPT_FILES
#define DEEPLY_EMBEDDED
#define OPTEST_LOG_TE_MAPPING
#define OEUP_V523
#define FULL_SUBMISSION
#define NO_MAIN_DRIVER
#define WC_DECLARE_NOTOK
#define PRINTING_ZS_CRASHES
#define WOLFSSL_SMALL_STACK
#endif
#ifdef __cplusplus

View File

@@ -0,0 +1,166 @@
/* user_settings.h
*
* Copyright (C) 2006-2025 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 3 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
*/
#if 1
#define OPENSSL_COEXIST
/* HKDF for engine */
#undef HAVE_HKDF
#if 1
#define HAVE_HKDF
#define HAVE_X963_KDF
#endif
#undef WOLFSSL_PUBLIC_MP
#define WOLFSSL_PUBLIC_MP
#undef NO_OLD_RNGNAME
#define NO_OLD_RNGNAME
#undef NO_OLD_WC_NAMES
#define NO_OLD_WC_NAMES
#undef NO_OLD_SSL_NAMES
#define NO_OLD_SSL_NAMES
#undef NO_OLD_SHA_NAMES
#define NO_OLD_SHA_NAMES
#undef NO_OLD_MD5_NAME
#define NO_OLD_MD5_NAME
#undef NO_OLD_SHA256_NAMES
#define NO_OLD_SHA256_NAMES
#endif
#undef WOLFSSL_SYS_CA_CERTS
#define WOLFSSL_SYS_CA_CERTS
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
#undef HAVE_SERVER_RENEGOTIATION_INFO
#define HAVE_SERVER_RENEGOTIATION_INFO
/* ------------------------------------------------------------------------- */
/* Disable Features */
/* ------------------------------------------------------------------------- */
#undef NO_WOLFSSL_SERVER
//#define NO_WOLFSSL_SERVER
#undef NO_WOLFSSL_CLIENT
//#define NO_WOLFSSL_CLIENT
#undef NO_CRYPT_TEST
//#define NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
//#define NO_CRYPT_BENCHMARK
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY
/* In-lining of misc.c functions */
/* If defined, must include wolfcrypt/src/misc.c in build */
/* Slower, but about 1k smaller */
#undef NO_INLINE
//#define NO_INLINE
#undef NO_FILESYSTEM
//#define NO_FILESYSTEM
#undef NO_WRITEV
//#define NO_WRITEV
#undef NO_MAIN_DRIVER
#define NO_MAIN_DRIVER
#undef NO_DEV_RANDOM
//#define NO_DEV_RANDOM
#undef NO_DSA
#define NO_DSA
#undef NO_RC4
#define NO_RC4
#undef NO_OLD_TLS
#define NO_OLD_TLS
#undef NO_PSK
#define NO_PSK
#undef NO_MD4
#define NO_MD4
#undef NO_PWDBASED
//#define NO_PWDBASED
#undef NO_CODING
//#define NO_CODING
#undef NO_ASN_TIME
//#define NO_ASN_TIME
#undef NO_CERTS
//#define NO_CERTS
#undef NO_SIG_WRAPPER
//#define NO_SIG_WRAPPER
#undef NO_DO178
#define NO_DO178
#undef WOLFSSL_NO_SHAKE128
#define WOLFSSL_NO_SHAKE128
#undef WOLFSSL_NO_SHAKE256
#define WOLFSSL_NO_SHAKE256
/* wolfSSL engineering ACVP algo and operational testing only (Default: Off) */
#if 1
#undef WOLFSSL_PUBLIC_MP
#define WOLFSSL_PUBLIC_MP
#undef OPTEST_LOGGING_ENABLED
//#define OPTEST_LOGGING_ENABLED
#undef OPTEST_INVALID_LOGGING_ENABLED
//#define OPTEST_INVALID_LOGGING_ENABLED
#undef NO_MAIN_OPTEST_DRIVER
#define NO_MAIN_OPTEST_DRIVER
#undef DEBUG_FIPS_VERBOSE
#define DEBUG_FIPS_VERBOSE
#undef HAVE_FORCE_FIPS_FAILURE
#define HAVE_FORCE_FIPS_FAILURE
#undef NO_WRITE_TEMP_FILES
#define NO_WRITE_TEMPT_FILES
#endif
#ifdef __cplusplus
}
#endif
#endif /* WOLFSSL_USER_SETTINGS_H */

View File

@@ -512,7 +512,7 @@ extern "C" {
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

View File

@@ -523,7 +523,7 @@ extern "C" {
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

View File

@@ -524,7 +524,7 @@ extern "C" {
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))

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